Բովանդակություն:
- Քայլ 1: Աշխատանքի բերեք SIM800l- ը
- Քայլ 2. Աշխատեք RTC DS1307 DS18B20 տվիչով աշխատելու համար
- Քայլ 3. Գործարկեք Thermistor NTC MF52AT- ը
- Քայլ 4: Բոլորին աշխատեք միասին
- Քայլ 5: Աշխատեց
Video: Peratամանակին SMS է ուղարկում ջերմաստիճանի հետ ՝ 5 քայլ (նկարներով)
2024 Հեղինակ: John Day | [email protected]. Վերջին փոփոխված: 2024-01-30 09:51
Գաղափարը իմ հայրական տնից ջերմաստիճանի sms ստանալն է:
Ոչ մի շքեղ բան չկա, պարզապես դետալների արագ հավաքում:
Մասերն են.
- Geekcreit® ATmega328P Nano V3 Controller Board Համատեղելի Arduino
- DIY NANO IO Shield V1. O ընդլայնման տախտակ Arduino- ի համար
- DS1307 Հիմնված RTC IIC / I2C Իրական ժամանակի ժամացույցի մոդուլ և DS18b20
- SIM800L Քառագոտի GSM / GPRS
- LM2596 Mini DC-DC փոխարկիչ, կարգավորելի քայլ առ քայլ սնուցման մոդուլ
- Թերմիստոր NTC MF52AT ջերմաստիճան
Ամենից առաջ շատ բան կարդալուց և որոնելուց:
Եթե վերջապես օգտագործեմ Geekcreit® Nano- ն, բոլոր մասերը փորձարկում եմ Arduino Uno- ով:
Քայլ 1: Աշխատանքի բերեք SIM800l- ը
Հիմնական կետը Sim800L- ի հզորությունն է:
Ես օգտագործում եմ LM2596 Mini DC-DC փոխարկիչ, ճշգրտված 3.7 վոլտ և առանձին սնուցման աղբյուր:
AT+ հրամանների հետ կապը ստուգելու համար այս կողմը շատ օգտագործելի է.
Quickstart SIM800 (SIM800L) Arduino- ի հետ
Անջատելով փին կոդը ՝ օգտագործելով gsm մոդեմը հրամաններին, ես վարեցի SIM փին կոդը:
Հաջորդ դիտարկումը, թե որ գրադարանից: Ինտերնետը տարբեր լուծումներ է առաջարկում:
Իմ լուծումը Mattias Aabmets- ի գրադարանն է ՝ AspenSIM800
Նրա փորձաքննությունը. Send_SMS.ino- ն օգտագործեց I- ը որպես հիմնական ծրագիր և մեկ առ մեկ միացրեց մյուս բոլոր մասերը միասին:
Tx և Rx քորոցները ծածկագիր են ՝
RX_PIN 10 Arduino- ից: Պետք է միացված լինի SIM800 մոդուլի TX կապին: Arduino- ի TX_PIN 11: Պետք է միացված լինի SIM800 մոդուլի RX կապին:
Միշտ լավ գաղափար է գրադարաններում կարդալ *.ccp և *.h ֆայլերը:
Դրանք պարունակում են բազմաթիվ հետաքրքիր հուշումներ և գիտելիքներ:
Քայլ 2. Աշխատեք RTC DS1307 DS18B20 տվիչով աշխատելու համար
Ես օգտագործել եմ այս կողային կողմը ՝ simtronyx - DS1307 և DS18B20 բլոգերը:
Theամացույցն ունի I2C ավտոբուսային կապ և դա Arduino Uno- ի համար է. A4 (SDA) - A5 (SCL)
DS18B20 I- ը միացված է D3- ին:
Կարդացի, որ SMS- ով չի կարելի ուղարկել Floats only String, ուստի ստիպված էի floats- ը թարգմանել լարային:
Այս կոդի հատվածի հետ ես գտա.
n
MyString1 = Լար (ընթացիկ Temp, 2); // Փոխարկել float- ը String- ի
MyString1 = (MyString1 + "C - RoomTemperatur:)");
// տողը char- ի վերածելը սկսվում է այստեղ
// Երկարություն (null terminator- ի համար մեկ լրացուցիչ նշանով)
int str_len1 = MyString1.length () + 1; // Պատրաստել նիշերի զանգվածը (բուֆերը)
char char_array1 [str_len1]; // Պատճենեք այն
MyString1.toCharArray (char_array1, str_len1); // տողը վերածել char- ի, ավարտում է նրան
Անկեղծ կլինեմ, չգիտեմ, թե ինչպես է այն աշխատում, բայց աշխատում է:
Քայլ 3. Գործարկեք Thermistor NTC MF52AT- ը
Ես աշխատել եմ նախապես տերմիստորով, այնպես որ դա հեշտ մասն էր:
Բայց նաև այստեղ կարող եք գտնել տարբեր լուծումներ:
Վերջնական ծածկագրում կարող եք գտնել իմը:
Նրա համար կարող եք գտնել նաև Floats to String թարգմանությունը:
Թելիստորին մի քանի մետաղալար և 10 կահմ դիմադրություն կպցրեց:
Քայլ 4: Բոլորին աշխատեք միասին
Այսպիսով, ես միասին գրեցի ծրագրի բոլոր մասերը:
Այժմ ես պետք է պարզեի, թե ինչպես ուղարկել մեկ SMS ամեն օր, միևնույն ժամանակ:
Ես կարդում եմ տարբեր գաղափարների մասին, ոմանք ՝ TimerAlarm և այլ մոտեցումներով:
Բայց ես գտա մի պարզ լուծում ինչ -որ տեղ arduino ֆորումում.
եթե (այժմ.ժամ () == 8 && now.minute () == 00 && now.second () == 59)
{
SIM.sms Ուղարկել (addr, char_array); // թերմիստոր
ուշացում (500); SIM.sms Ուղարկել (addr, char_array1); // DS18B20}
Բայց ինչու հիմա: երկրորդ = 59, քանի որ այն ուղարկում է մի ամբողջ րոպե SMS: Դա ինձ համար է, բայց ինքներդ փորձեք:
Որոշ փորձարկումներից հետո ծրագիրը վերբեռնեցի Geekcreit® Nano:
Սա թերևս ամենալավ ծրագրային գրառումը չէ:) բայց կատարում է ցանկալիը:
Քանի որ Geekcreit® ATmega328P Nano- ն ունի որոշ Arduino IDE խնդիրներ, ես տերմինալով (Linux Mint) ներբեռնում եմ USBtinyisp- ը ՝ avrdude -c usbtiny -p atmega328p -U flash: w: SomeHexFile.hex
Քայլ 5: Աշխատեց
Այո, դա ստացվել է և տեղադրված է տանը:
Ամեն օր առավոտյան ժամը 6: 00 -ին ջերմաստիճանի հետ SMS եմ ստանում:
Խորհուրդ ենք տալիս:
Տվյալների ուղարկում Arduino- ից Excel (և գծագրում). 3 քայլ (նկարներով)
Տվյալների ուղարկում Arduino- ից Excel (և գծագրում այն). Ես լայնորեն փնտրել եմ մի եղանակ, որը կարող էր իրական ժամանակում գծագրել իմ Arduino սենսորի ընթերցումը: Ոչ միայն գծապատկեր, այլև ցուցադրեք և պահեք տվյալները հետագա փորձերի և ուղղումների համար: Ամենապարզ լուծումը, որը ես գտա, Excel- ի օգտագործումն էր, բայց
Նոդեմկուն ջերմաստիճանի և խոնավության տվյալներ է ուղարկում Thingspeak: 7 քայլ
Nodemcu- ն ջերմաստիճանի և խոնավության տվյալներ է ուղարկում Thingspeak. Այստեղ այս ձեռնարկում մենք nodemcu- ին միացրել ենք dht11 սենսորը և ջերմաստիճանի և խոնավության տվյալներ ուղարկել բաների սերվեր: Այստեղ մենք նաև գծագրում ենք ջերմաստիճանի և խոնավության գրաֆիկը ՝ խոսքի սերվերին
Arduino- ն ջերմաստիճանի և խոնավության տվյալներ է ուղարկում MySQL Server (PHPMYADMIN) ՝ 5 քայլ
Arduino- ն ջերմաստիճանի և խոնավության տվյալներ է ուղարկում MySQL սերվերին (PHPMYADMIN). Այս նախագծում ես DHT11- ին միացրել եմ arduino- ին, այնուհետև dp11- ի, որը խոնավության և ջերմաստիճանի տվյալներ է, ուղարկում եմ phpmyadmin տվյալների բազա: Այստեղ մենք օգտագործում ենք մեկ PHP սցենար ՝ տվյալները phpmyadmin տվյալների բազա մղելու համար
ESP32 NTP ջերմաստիճանի զոնդի պատրաստման ջերմաչափ Steinhart-Hart ուղղիչ և ջերմաստիճանի ահազանգով. 7 քայլ (նկարներով)
ESP32 NTP ջերմաստիճանի զոնդի պատրաստման ջերմաչափ Steinhart-Hart ուղղման և ջերմաստիճանի տագնապի միջոցով. Դեռևս ճանապարհորդում եք «առաջիկա նախագիծ» ավարտելու համար, հրահանգելի է, որը ցույց է տալիս, թե ինչպես եմ ավելացնում NTP ջերմաստիճանի զոնդ, պիեզո բ
ԻՆՉՊԵՍ ԿԱՐՈ ԵՆ ՀԵՏ ՀԵՏ ՀԵՏ չորության չորացման սենսոր `4 քայլ
ՈՐՊԵՍ ԿԱՐՈ ԵՆՔ ՀԵՏ ՀԵՏ ՀԱՎԱՔԱՈ ՍԵՆՍՈՐ. Ողջույն, այս ուսանելի ծրագրում ես ձեզ ցույց կտամ, թե ինչպես պատրաստել մի պարզ «ՀՈ DRՅԱՆ ՉՈՐՈ SԹՅԱՆ ՍԵՆՍՈՐ»: Սա իմ առաջին ուսանելի ներողությունն է իմ ծիծաղելի անգլերենի համար: Հողի չորությունը որոշվում է led ցուցիչով: led լույսը wi