Sommario:
- Passaggio 1: far funzionare la SIM800l
- Passaggio 2: far funzionare l'RTC DS1307 con il sensore DS18B20
- Passaggio 3: far funzionare il termistore NTC MF52AT
- Passaggio 4: fare in modo che tutti lavorino insieme
- Passaggio 5: ha funzionato
Video: Invia un Sms con Temperatur in tempo: 5 passaggi (con immagini)
2024 Autore: John Day | [email protected]. Ultima modifica: 2024-01-30 10:04
L'idea è di ricevere un sms a temperatura ambiente dalla casa di mio padre.
Niente di speciale, solo un rapido assemblaggio delle parti.
Le parti sono:
- Scheda controller Geekcreit® ATmega328P Nano V3 compatibile Arduino
- Scheda di espansione fai-da-te NANO IO Shield V1. O per Arduino
- Modulo orologio in tempo reale RTC IIC / I2C basato su DS1307 e DS18b20
- SIM800L Quad-band GSM / GPRS
- LM2596 Modulo di alimentazione step-down regolabile con convertitore mini DC-DC
- Termistore NTC MF52AT temperatura
Prima di tutto molto fuori dalla lettura e dalla ricerca.
Prima di utilizzare finalmente Geekcreit® Nano, provo tutte le parti con un Arduino Uno.
Passaggio 1: far funzionare la SIM800l
Un punto principale è la potenza del Sim800L.
Uso un mini convertitore DC-DC LM2596, regolato a 3,7 volt e un alimentatore separato.
Per testare la connessione con i comandi AT+ questo lato è molto utile:
Avvio rapido SIM800 (SIM800L) con Arduino
Con Disabilita codice pin usando il modem gsm ai comandi ho ottenuto il codice pin della sim.
La prossima considerazione quale libreria. Internet offre soluzioni diverse.
La mia soluzione è la libreria di Mattias Aabmets: AspenSIM800
Il suo esempio: Send_SMS.ino ha usato I come programma di base e uno per uno ha collegato tutte le altre parti insieme.
Il pin Tx e il pin Rx sono il codice per:
RX_PIN 10 di Arduino. Deve essere collegato al pin TX del modulo SIM800. TX_PIN 11 di Arduino. Deve essere collegato al pin RX del modulo SIM800
È sempre una buona idea leggere i file *.ccp e *.h nelle librerie.
Contengono molti suggerimenti e conoscenze interessanti.
Passaggio 2: far funzionare l'RTC DS1307 con il sensore DS18B20
Ho usato questo lato: simtronyx - il blog per DS1307 e DS18B20.
L'orologio ha una connessione bus I2C e cioè per Arduino Uno: A4 (SDA) - A5 (SCL)
Il DS18B20 l'ho collegato a D3.
Ho letto che in un SMS non puoi inviare Floats only String, quindi ho dovuto tradurre float in string.
Quello che faccio con questo frammento di codice che ho trovato:
n
MyString1 = String(currentTemp, 2); //Converti float in String
MyString1 = (MyString1 + " C - RoomTemperatur:) ");
// convert string in char inizia qui
// Lunghezza (con un carattere in più per il terminatore nullo)
int str_len1 = MyString1.length() + 1; // Prepara l'array di caratteri (il buffer)
char char_array1[str_len1]; // Copialo
MyString1.toCharArray(char_array1, str_len1); // converte la stringa in char la finisce
Sarò onesto, non so come funziona, ma funziona.
Passaggio 3: far funzionare il termistore NTC MF52AT
Ho lavorato prima con un termistore, quindi è stata la parte facile.
Ma anche qui puoi trovare diverse soluzioni.
Nel codice finale puoi trovare il mio.
Qui puoi anche trovare la traduzione Floats to String.
Saldare del filo e la resistenza da 10 k ohm al termistore.
Passaggio 4: fare in modo che tutti lavorino insieme
Così ho scritto tutte le parti del programma insieme.
Ora dovevo capire come inviare un SMS ogni giorno, alla stessa ora.
Ho letto di diverse idee, alcune con un TimerAlarm e un altro approccio.
Ma ho trovato una soluzione semplice da qualche parte nel forum di arduino:
if (now.hour() == 8 && now.minute() == 00 && now.second () == 59)
{
SIM.smsSend(addr, char_array); // termistore
ritardo (500); SIM.smsSend(addr, char_array1); //DS18B20}
Ma perché now.second = 59 perché invia un intero minuto di SMS. Lo fa per me, ma prova tu stesso.
Dopo alcuni test ho caricato il programma su Geekcreit® Nano.
Questo forse non è il miglior programma di scrittura:) ma fa il desiderato.
Poiché Geekcreit® ATmega328P Nano ha alcuni problemi con l'IDE Arduino, carico tramite terminale (Linux Mint) e lancio USBtinyisp con questo: avrdude -c usbtiny -p atmega328p -U flash: w: SomeHexFile.hex
Passaggio 5: ha funzionato
Sì, ha funzionato ed è stato messo in casa.
Ogni giorno alle 6:00 ricevo un SMS con la temperatura.
Consigliato:
Invia un SMS utilizzando un ESP8266: 5 passaggi
Invia un SMS utilizzando un ESP8266: questa istruzione ti guida attraverso i passaggi per inviare messaggi SMS su Internet da una scheda del modulo NodeMCU ESP8266 a un telefono cellulare. Per poter inviare il messaggio dovrai seguire i passaggi per ottenere un numero di telefono virtuale da
Tracker Covid19 in tempo reale che utilizza ESP8266 e OLED - Dashboard Covid19 in tempo reale: 4 passaggi
Tracker Covid19 in tempo reale che utilizza ESP8266 e OLED | Dashboard Covid19 in tempo reale: visita il sito Web Techtronic Harsh: http://techtronicharsh.com Ovunque c'è un enorme focolaio del Novel Corona Virus (COVID19). È diventato necessario tenere d'occhio l'attuale scenario di COVID-19 nel mondo. Quindi, essendo a casa, questo è stato il p
Cattura e invia immagini con ESP32-Cam utilizzando ESP8266 WeMos D1 R1 Wifi Processor con Uno: 7 passaggi
Cattura e invia immagini con ESP32-Cam utilizzando ESP8266 WeMos D1 R1 Wifi Processor con Uno: acquisisci l'immagine utilizzando ESP32-Cam (OV2640) utilizzando ESP8266 WeMos D1 R1 WiFI Processor con Uno e invialo a e-mail, salva su Google Drive e invialo a Whatsapp utilizzando Twilio. Requisiti: Processore WiFI ESP8266 WeMos D1 R1 con Uno (https://protosupplies
Invia temperatura e umidità all'app Blynk (Wemos D1 Mini Pro).: 15 passaggi (con immagini)
Invia temperatura e umidità all'app Blynk (Wemos D1 Mini Pro).: Questo Instructable esamina l'utilizzo di Wemos D1 Mini Pro per inviare dati (temperatura e umidità) all'APP Blynk
Come cambiare la batteria in un tag Tempo Tempo: 12 passaggi
Come sostituire la batteria in un tag Tempo Time: I tag Tempo Time di Vessel sono un ottimo sostituto per un orologio, che si attacca ai vestiti, alle cinghie delle borse o ai bordi delle tasche. La batteria si esaurisce alla fine, quindi ecco come sostituirla. È una batteria a bottone standard 364 / AG1 / LR621 / SR621W / 164 che