Cuprins:
- Pasul 1: Puneți SIM800l să funcționeze
- Pasul 2: Porniți RTC DS1307 cu senzorul DS18B20
- Pasul 3: Puneți Thermistor NTC MF52AT să funcționeze
- Pasul 4: Lucrați toți împreună
- Pasul 5: A funcționat
Video: Trimite un SMS cu Temperatura la timp: 5 pași (cu imagini)
2024 Autor: John Day | [email protected]. Modificat ultima dată: 2024-01-30 11:46
Ideea este să primesc un sms de temperatură de la casa taților mei.
Nimic nu-ți place doar să pui rapid piesele împreună.
Părțile sunt:
- Placă de control Geekcreit® ATmega328P Nano V3 compatibilă Arduino
- Placă de expansiune DIY NANO IO Shield V1. O pentru Arduino
- Modulul de ceas în timp real RTC IIC / I2C bazat pe DS1307 și DS18b20
- SIM800L Quad-band GSM / GPRS
- LM2596 Mini DC-DC Converter Modul reglabil de alimentare cu putere redusă
- Temperatura termistorului NTC MF52AT
În primul rând, o mulțime de lectură și căutare.
Înainte de a folosi Geekcreit® Nano, testez toate piesele cu un Arduino Uno.
Pasul 1: Puneți SIM800l să funcționeze
Un punct principal este puterea pentru Sim800L.
Folosesc un convertor Mini DC-DC LM2596, reglat la 3,7 volți și o sursă de alimentare separată.
Pentru a testa conexiunea cu comenzile AT +, această latură este foarte utilizabilă:
Porniți rapid SIM800 (SIM800L) cu Arduino
Cu Dezactivați codul PIN folosind modemul gsm la comenzi, am obținut codul pin SIM.
Următoarea considerație care bibliotecă. Internetul oferă soluții diferite.
Soluția mea este biblioteca de la Mattias Aabmets: AspenSIM800
Exemplul său: Send_SMS.ino l-a folosit pe I ca program de bază și conectez una câte una toate celelalte părți împreună.
Pinul Tx și pinul Rx sunt codul pentru:
RX_PIN 10 din Arduino. Trebuie conectat la pinul TX al modulului SIM800. TX_PIN 11 din Arduino. Trebuie conectat la pinul RX al modulului SIM800
Este întotdeauna o idee bună să citiți fișierele *.ccp și *.h din biblioteci.
Acestea conțin multe indicii și cunoștințe interesante.
Pasul 2: Porniți RTC DS1307 cu senzorul DS18B20
Am folosit această latură: simtronyx - blogul pentru DS1307 și DS18B20.
Ceasul are o conexiune de autobuz I2C și este pentru Arduino Uno: A4 (SDA) - A5 (SCL)
DS18B20 l-am conectat la D3.
Am citit că într-un SMS nu poți trimite float doar șir, așa că a trebuit să traduc floats în șir.
Asta fac cu acest fragment de cod pe care l-am găsit:
n
MyString1 = String (currentTemp, 2); // Convertiți float în șir
MyString1 = (MyString1 + "C - RoomTemperatur:)");
// converti șirul în caractere începe aici
// Lungime (cu un caracter suplimentar pentru terminatorul nul)
int str_len1 = MyString1.length () + 1; // Pregătiți matricea de caractere (tamponul)
char char_array1 [str_len1]; // Copiați-l
MyString1.toCharArray (char_array1, str_len1); // convertește șirul în caractere o termină
Voi fi sincer, nu fac cum funcționează, dar funcționează.
Pasul 3: Puneți Thermistor NTC MF52AT să funcționeze
Am lucrat înainte cu un termistor, așa că a fost partea ușoară.
Dar și aici puteți găsi o soluție diferită.
În codul final îl puteți găsi pe al meu.
Puteți găsi și traducerea Floats to String.
S-au lipit niște fire și rezistorul de 10 k ohm la termistor.
Pasul 4: Lucrați toți împreună
Așa că am scris împreună toate părțile programului.
Acum a trebuit să-mi dau seama cum să trimit un SMS în fiecare zi, în același timp.
Am citit despre idei diferite, unele cu o abordare TimerAlarm și altele.
Dar am găsit o soluție simplă în forumul arduino:
if (now.hour () == 8 && now.minute () == 00 && now.second () == 59)
{
SIM.smsSend (addr, char_array); // termistor
întârziere (500); SIM.smsSend (addr, char_array1); // DS18B20}
Dar de ce acum.second = 59 pentru că trimite un SMS întreg de minut. Pentru mine, dar încearcă-te singur.
După un test, am încărcat programul pe Geekcreit® Nano.
Poate că acesta nu este cel mai bun program de scriere:), dar face ceea ce doriți.
Deoarece Geekcreit® ATmega328P Nano are unele probleme Arduino IDE, încărc prin terminal (Linux Mint) arunc USBtinyisp cu acest: avrdude -c usbtiny -p atmega328p -U flash: w: SomeHexFile.hex
Pasul 5: A funcționat
Da, a funcționat și este plasat în casă.
În fiecare zi la ora 6:00 primesc un SMS cu temperatura.
Recomandat:
„Alexa, Trimite-mi versurile lui _____”: 9 pași (cu imagini)
„Alexa, Trimite-mi versurile lui _____”: Ascultă o melodie cu care vrei să cânți împreună? În mod normal, va trebui să treceți prin sarcina dificilă de a introduce numele melodiei în google, urmat de cuvântul „versuri”. De asemenea, în mod normal ați face o cantitate mare de greșeli de tipar, faceți clic greșit
Cum se folosește SIM800L pentru a trimite SMS și a controla releu prin SMS: 3 pași
Cum se utilizează SIM800L pentru a trimite SMS și a controla releu prin SMS: Descriere: Acest tutorial arată cum să utilizați SIM800L pentru a trimite sms și a primi sms pentru a controla releu. Modulul SIM800L are dimensiuni reduse și poate fi utilizat pentru interfața cu Arduino pentru a trimite sms-uri, a primi sms-uri, a apela, a primi apeluri și altele. În acest tutorial
Nodemcu trimite date de temperatură și umiditate către Thingspeak: 7 pași
Nodemcu trimite date de temperatură și umiditate către Thingspeak: Aici în acest tutorial am interfațat nodemcu cu senzorul dht11 și trimitem date de temperatură și umiditate către serverul Thingspeak. Aici am trasat și graficul temperaturii și umidității către serverul thingspeak
ZIUA VALENTINULUI Dragostea păsărilor: o cutie pentru a trimite și a primi mesaj audio Telegram: 9 pași (cu imagini)
ZIUA VALENTINULUI Dragostea păsărilor: o cutie pentru trimiterea și primirea mesajului audio Telegramă: verificați videoclipul aici Ce este dragostea (păsările)? Oh Baby, nu mă răni, nu mă mai răni Este un dispozitiv autonom care primește mesaje vocale către iubirea, familia sau prietenul tău. Deschideți cutia, apăsați butonul în timp ce vorbiți, eliberați pentru a trimite
Arduino trimite date de temperatură și umiditate către serverul MySQL (PHPMYADMIN): 5 pași
Arduino trimite date de temperatură și umiditate către serverul MySQL (PHPMYADMIN): în acest proiect am interfațat DHT11 cu arduino și apoi trimit date de dht11, care este umiditatea și temperatura, la baza de date phpmyadmin. Aici folosim un script PHP pentru a împinge datele către baza de date phpmyadmin