Obsah:
- Krok 1: Získejte SIM800l do práce
- Krok 2: Získejte RTC DS1307 se snímačem DS18B20, aby fungoval
- Krok 3: Začněte pracovat s termistorem NTC MF52AT
- Krok 4: Nechte všechny spolupracovat
- Krok 5: Fungovalo to
Video: Odesílá sms s teplotou na čas: 5 kroků (s obrázky)
2024 Autor: John Day | [email protected]. Naposledy změněno: 2024-01-30 08:24
Cílem je získat SMS o teplotě z domu mých otců.
Nic efektního, jen rychlé skládání dílů dohromady.
Díly jsou:
- Arduino kompatibilní s Geekcreit® ATmega328P Nano V3 Controller Board
- Rozšiřující deska DIY NANO IO Shield V1. O pro Arduino
- Hodinový modul RTC IIC / I2C v reálném čase založený na DS1307 a DS18b20
- SIM800L Quad-band GSM / GPRS
- LM2596 Mini DC-DC Converter nastavitelný krokový napájecí modul
- Teplota termistoru NTC MF52AT
Nejprve hodně mimo čtení a hledání.
Než konečně použiji Geekcreit® Nano, testuji všechny díly pomocí Arduino Uno.
Krok 1: Získejte SIM800l do práce
Jedním z hlavních bodů je výkon Sim800L.
Používám převodník LM2596 Mini DC-DC, upravený na 3,7 voltů a samostatné napájení.
Pro testování připojení pomocí AT+ příkazů je tato strana velmi použitelná:
Quickstart SIM800 (SIM800L) s Arduino
S Disable pin code using gsm modem at commands I got ride of the sim pin code.
Další úvaha, která knihovna. Internet nabízí jiná řešení.
Moje řešení je knihovna od Mattias Aabmets: AspenSIM800
Jeho zkouška: Send_SMS.ino použil I jako základní program a jeden po druhém spojil všechny ostatní části dohromady.
Pin Tx a Rx pin kódují:
RX_PIN 10 Arduina. Musí být připojen k TX pinu modulu SIM800. TX_PIN 11 Arduina. Musí být připojen ke kolíku RX modulu SIM800
Vždy je dobré přečíst si *.ccp a *.h soubory v knihovnách.
Obsahují mnoho zajímavých rad a znalostí.
Krok 2: Získejte RTC DS1307 se snímačem DS18B20, aby fungoval
Použil jsem tuto stranu: simtronyx - blog pro DS1307 a DS18B20.
Hodiny mají připojení I2C sběrnice a to je pro Arduino Uno: A4 (SDA) - A5 (SCL)
DS18B20 jsem připojil k D3.
Dočetl jsem se, že v SMS nemůžete posílat pouze plováky String, takže jsem musel překládat plováky na řetězec.
To, co dělám s tímto fragmentem kódu, který jsem našel:
n
MyString1 = String (currentTemp, 2); // Převést float na String
MyString1 = (MyString1 + "C - teplota místnosti:)");
// zde začíná převod řetězce na char
// Délka (s jedním znakem navíc pro null terminátor)
int str_len1 = MyString1.length () + 1; // Připravte pole znaků (vyrovnávací paměť)
char char_array1 [str_len1]; // Zkopírujte to
MyString1.toCharArray (char_array1, str_len1); // konvertovat řetězec na char ji ukončí
Budu upřímný, nevím, jak to funguje, ale funguje to.
Krok 3: Začněte pracovat s termistorem NTC MF52AT
Pracoval jsem předtím s termistorem, takže to byla snadná část.
Ale také zde můžete najít jiné řešení.
Ve finálním kódu můžete najít můj.
Můžete také najít překlad Plováky na řetězec.
K termistoru připájejte nějaký drát a odpor 10 kOhm.
Krok 4: Nechte všechny spolupracovat
Napsal jsem tedy všechny části programu dohromady.
Nyní jsem musel zjistit, jak posílat jednu SMS každý den ve stejnou dobu.
Četl jsem o různých nápadech, některé s TimerAlarm a jiným přístupem.
Ale našel jsem jednoduché řešení někde na fóru arduino:
if (now.hour () == 8 && now.minute () == 00 && now.second () == 59)
{
SIM.smsSend (addr, char_array); // termistor
zpoždění (500); SIM.smsSend (addr, char_array1); // DS18B20}
Ale proč právě teď. Sekunda = 59, protože odesílá celou minutovou SMS. Mně ano, ale zkuste to sami.
Po nějakém testu jsem nahrál program do Geekcreit® Nano.
Možná to není nejlepší psaní programu:), ale dělá to požadované.
Protože Geekcreit® ATmega328P Nano má nějaké problémy s Arduino IDE, nahrál jsem pomocí terminálu (Linux Mint) USBtinyisp pomocí tohoto: avrdude -c usbtiny -p atmega328p -U flash: w: SomeHexFile.hex
Krok 5: Fungovalo to
Ano, to fungovalo a je umístěno v domě.
Každý den v 6:00 mi přijde SMS s teplotou.
Doporučuje:
Save My Child: chytré sedadlo, které odesílá textové zprávy, pokud zapomenete dítě v autě: 8 kroků
Save My Child: chytrá sedačka, která odesílá textové zprávy, pokud zapomenete dítě v autě: Je nainstalováno v autech a díky detektoru umístěnému na dětské sedačce nás varuje - prostřednictvím SMS nebo telefonního hovoru - pokud dostaneme pryč, aniž bychom s sebou vzali dítě
Postavte si kutil s vlastním zavlažováním pomocí WiFi - zavlažuje rostliny automaticky a odesílá upozornění, když je vody málo: 19 kroků
Postavte si vlastní zavlažovací květináč pomocí WiFi - zavlažuje rostliny automaticky a odesílá upozornění, když je vody málo: Tento tutoriál vám ukáže, jak vytvořit přizpůsobený samozavlažovací květináč připojený přes WiFi pomocí starého zahradního secího stroje, odpadkového koše, lepidla a Sada podsestavy zavlažovacího hrnce od společnosti Adosia
Nodemcu odesílá údaje o teplotě a vlhkosti do programu Thingspeak: 7 kroků
Nodemcu odesílá data o teplotě a vlhkosti na Thingspeak: Zde v tomto tutoriálu jsme propojili nodemcu se snímačem dht11 a odesíláním údajů o teplotě a vlhkosti na server thingspeak. Zde jsme také vykreslili graf teploty a vlhkosti na server thingspeak
Arduino odesílá data Dht11 na server MySQL (PHPMYADMIN) pomocí Pythonu: 5 kroků
Arduino odesílá data Dht11 na server MySQL (PHPMYADMIN) pomocí Pythonu: V tomto projektu jsem propojil DHT11 s arduino a poté posílám data dht11, což je vlhkost a teplota, do databáze phpmyadmin. Na rozdíl od našeho předchozího projektu v tomto případě nepoužíváme žádný ethernetový štít, zde právě čteme t
Arduino odesílá údaje o teplotě a vlhkosti na server MySQL (PHPMYADMIN): 5 kroků
Arduino odesílá data o teplotě a vlhkosti na server MySQL (PHPMYADMIN): V tomto projektu jsem propojil DHT11 s arduino a poté posílám data dht11, což je vlhkost a teplota, do databáze phpmyadmin. Zde používáme jeden skript PHP k odesílání dat do databáze phpmyadmin