Taula de continguts:
- Pas 1: feu funcionar el SIM800l
- Pas 2: feu funcionar el RTC DS1307 amb el sensor DS18B20
- Pas 3: feu funcionar el termistor NTC MF52AT
- Pas 4: Feu que tots treballin junts
- Pas 5: va funcionar
Vídeo: Envia un SMS amb temperatura a temps: 5 passos (amb imatges)
2024 Autora: John Day | [email protected]. Última modificació: 2024-01-30 08:16
La idea és obtenir un sms de temperatura de casa dels meus pares.
Res de fantàstic, simplement posar peces juntes ràpidament.
Les parts són:
- Placa de control Geekcreit® ATmega328P Nano V3 compatible Arduino
- Taula d’expansió DIY NANO IO Shield V1. O per a Arduino
- Mòdul de rellotge en temps real RIC IIC / I2C basat en DS1307 i DS18b20
- SIM800L de quatre bandes GSM / GPRS
- LM2596 Mini convertidor CC-CC Mòdul ajustable de font d'alimentació
- Temperatura del termistor NTC MF52AT
Primer de tot, molt de llegir i buscar.
Abans d’utilitzar finalment el Geekcreit® Nano, provo totes les parts amb un Arduino Uno.
Pas 1: feu funcionar el SIM800l
Un punt principal és la potència del Sim800L.
Faig servir un convertidor Mini DC-DC LM2596, ajustat a 3,7 volts i una font d'alimentació independent.
Per provar la connexió amb ordres AT +, aquest costat és molt útil:
Inici ràpid SIM800 (SIM800L) amb Arduino
Amb Desactiva el codi pin utilitzant el mòdem gsm a les ordres, vaig obtenir el codi pin sim.
La propera consideració de quina biblioteca. Internet ofereix diferents solucions.
La meva solució és la biblioteca de Mattias Aabmets: AspenSIM800
El seu exemple: Send_SMS.ino va utilitzar I com a programa bàsic i connectar una per una totes les altres parts juntes.
El pin Tx i el pin Rx són codis per:
RX_PIN 10 d'Arduino. S’ha de connectar al pin TX del mòdul SIM800. TX_PIN 11 d’Arduino. Cal connectar-lo al pin RX del mòdul SIM800
Sempre és bona idea llegir els fitxers *.ccp i *.h a les biblioteques.
Contenen molts suggeriments i coneixements interessants.
Pas 2: feu funcionar el RTC DS1307 amb el sensor DS18B20
He utilitzat aquest costat lateral: simtronyx: el bloc de DS1307 i DS18B20.
El rellotge té una connexió de bus I2C i és per a l’Arduino Uno: A4 (SDA) - A5 (SCL)
El DS18B20 el vaig connectar a D3.
He llegit que en un SMS no es pot enviar només Floats String, així que vaig haver de traduir floats a string.
Això que faig amb aquest fragment de codi que he trobat:
n
MyString1 = String (currentTemp, 2); // Converteix el float en cadena
MyString1 = (MyString1 + "C - RoomTemperatur:)");
// converteix la cadena en caràcters comença aquí
// Longitud (amb un caràcter addicional per al terminador nul)
int str_len1 = MyString1.length () + 1; // Prepareu la matriu de caràcters (la memòria intermèdia)
char char_array1 [str_len1]; // Copieu-lo
MyString1.toCharArray (char_array1, str_len1); // converteix la cadena en caràcter que la posa al final
Seré sincer, no sé com funciona, però funciona.
Pas 3: feu funcionar el termistor NTC MF52AT
Vaig treballar abans amb un termistor, de manera que era la part més fàcil.
Però també aquí podeu trobar una solució diferent.
Al codi final podeu trobar el meu.
També podeu trobar la traducció Floats to String.
S'ha soldat una mica de filferro i la resistència de 10 k ohm al termistor.
Pas 4: Feu que tots treballin junts
Així que vaig escriure totes les parts del programa juntes.
Ara havia d’esbrinar com enviar un SMS cada dia, a la mateixa hora.
He llegit sobre idees diferents, algunes amb un enfocament TimerAlarm i altres.
Però he trobat una solució senzilla al fòrum arduino:
if (now.hour () == 8 && now.minute () == 00 && now.second () == 59)
{
SIM.smsSend (addr, char_array); // termistor
retard (500); SIM.smsSend (addr, char_array1); // DS18B20}
Però per què now.second = 59 perquè envia un SMS complet de minut. Ho fa per mi, però proveu-ho vosaltres mateixos.
Després d'una prova, vaig penjar el programa al Geekcreit® Nano.
Això potser no és el millor programa d'escriptura:), però sí el que desitgeu.
Com que el Geekcreit® ATmega328P Nano té alguns problemes IDE Arduino, pujo per terminal (Linux Mint) llanço el USBtinyisp amb això: avrdude -c usbtiny -p atmega328p -U flash: w: SomeHexFile.hex
Pas 5: va funcionar
Sí, va funcionar i es col·loca a la casa.
Tots els dies a les 6:00 am rebo un SMS amb la temperatura.
Recomanat:
Mesurador de temperatura, conductivitat i nivell de l'aigua del pou en temps real: 6 passos (amb imatges)
Un mesurador de temperatura, conductivitat i nivell d’aigua de pou en temps real: aquestes instruccions descriuen com construir un comptador d’aigua de baix cost en temps real per controlar la temperatura, la conductivitat elèctrica (CE) i els nivells d’aigua en pous excavats. El mesurador està dissenyat per penjar dins d'un pou excavat, mesurar la temperatura de l'aigua, EC i
"Alexa, envia'm les lletres de _____": 9 passos (amb imatges)
"Alexa, envia'm les lletres de _____": escoltes una cançó amb la qual vols cantar? Normalment hauríeu de passar per l’àrdua tasca d’escriure el nom de la cançó a google, seguit de la paraula "lletra". Normalment, també faria una gran quantitat d’errors tipogràfics, faria clic malament
Captura i envia imatges amb ESP32-Cam mitjançant el processador Wifi ESP8266 WeMos D1 R1 amb Uno: 7 passos
Captureu i envieu imatges amb ESP32-Cam mitjançant el processador Wifi ESP8266 WeMos D1 R1 amb Uno: Captureu la imatge mitjançant el processador ESP32-Cam (OV2640) mitjançant el processador Wi-Fi ESP8266 WeMos D1 R1 amb Uno i envieu-la al correu electrònic, deseu-la a Google Drive i envieu-la a Whatsapp mitjançant Twilio.Requisits: ESP8266 WeMos D1 R1 WiFI Processor with Uno (https: // protosupplies
Nodemcu envia dades de temperatura i humitat a Thingspeak: 7 passos
Nodemcu està enviant dades de temperatura i humitat a Thingspeak: aquí, en aquest tutorial, hem interfaçat nodemcu amb el sensor dht11 i enviant dades de temperatura i humitat al servidor de Thingspeak. Aquí també hem representat el gràfic de temperatura i humitat al servidor Thingspeak
Arduino envia dades de temperatura i humitat al servidor MySQL (PHPMYADMIN): 5 passos
Arduino envia dades de temperatura i humitat al servidor MySQL (PHPMYADMIN): en aquest projecte he interfaçat DHT11 amb arduino i després envio dades de dht11, que és la humitat i la temperatura, a la base de dades phpmyadmin. Aquí estem utilitzant un script PHP per enviar dades a la base de dades phpmyadmin