Բովանդակություն:

SMS տեքստային տեմպերի մասին ծանուցումներ ATTINY85- ից և A1 GSM- ից ՝ 5 քայլ
SMS տեքստային տեմպերի մասին ծանուցումներ ATTINY85- ից և A1 GSM- ից ՝ 5 քայլ

Video: SMS տեքստային տեմպերի մասին ծանուցումներ ATTINY85- ից և A1 GSM- ից ՝ 5 քայլ

Video: SMS տեքստային տեմպերի մասին ծանուցումներ ATTINY85- ից և A1 GSM- ից ՝ 5 քայլ
Video: 8 բան, որ տղամարդիկ անում են ՄԻԱՅՆ այն կնոջ հետ, ում սիրում են 2024, Նոյեմբեր
Anonim
SMS տեքստային տեմպերի մասին ծանուցումներ ATTINY85- ից և A1 GSM- ից
SMS տեքստային տեմպերի մասին ծանուցումներ ATTINY85- ից և A1 GSM- ից

Այս հրահանգը ցույց է տալիս, թե ինչպես կարելի է ջերմաստիճանը պարզել ջերմաստիճանի պարզ սենսորից և այն ուղարկել sms տեքստով ձեր բջջային հեռախոսին: Ամեն ինչ պարզեցնելու համար ես ջերմաստիճանը ուղարկում եմ որոշակի ընդմիջումով, բայց նաև ցույց եմ տալիս, թե ինչպես դա կարելի է անել միայն բացառությամբ / ահազանգերով: Սարքավորումը շատ էժան է ՝ 10 դոլարից պակաս, թեև պետք է հաշվի առնել SMS- ի կրկնվող ծախսերը:

Heavyանր բեռը ձեռնարկում է պարզ, բայց հզոր ATTINY 85- ը, որը գրավում է ջերմաստիճանի տվյալները, այնուհետև SMS- ների ուղարկումը AI-Thinker A6 GSM մոդուլի միջոցով:

Մի խոսքով, դուք գրում եք ATTINY85 կոդը Arduino IDE միջավայրում և այրում այն ATTINY85- ում ՝ օգտագործելով USBASP սերիայի/USB փոխարկիչ: Երկու նախորդ ձեռնարկում ես լուսաբանել եմ AI-Thinker A6 GSM մոդուլի և Arduino IDE- ի կարգավորումը: Այստեղ տարբերվողը ATTINY և A6 GSM մոդուլներին միացնելն է `օգտագործելով սերիական հաղորդակցությունները:

www.instructables.com/id/How-to-Send-an-SM…https://www.instructables.com/id/15-Dollar-Attiny8…

Mingրագրավորումից հետո ATTINY- ը կարդում է ջերմաստիճանի տվյալները ջերմաչափի սենսորից `Dallas 18B20-, այնուհետև տվյալները և հրամանները սերիական միացմամբ ուղարկում է A6 GSM մոդուլին, որն այնուհետև այն SMS հաղորդագրության տեսքով ուղարկում է ձեր բջջային / սմարթ հեռախոսին:

Ահա այն, ինչ ձեզ հարկավոր է.

1. USBASP սերիա/USB փոխարկիչ:

2. ՀԱՇՎԵՏՎՈԹՅՈՆ 85.

3. AI-Thinker A6 GSM մոդուլի տարբերակ 6 (SIM- ով, որն ունի SMS վարկեր):

4. 3.3 վ հացահատիկի սնուցման աղբյուր ATTINY85- ի համար:

5. 3.3.v USB սնուցման աղբյուր AI-Thinker A6 GSM մոդուլի համար:

6. Dallas 18B20 ջերմաստիճանի տվիչ..

7. 4.7k դիմադրություն 18B20 սենսորի համար:

8. Գրատախտակ եւ մալուխներ:

9. Arduino IDE (դրա համար օգտագործել եմ 1.8.5 տարբերակը):

10. Windows X նոթբուք (ես օգտագործել եմ տարբերակը 10) ՝ անվճար USB պորտով:

Քայլ 1. Programրագրավորում ATTINY 85 -ում

Ահա Arduino IDE կոդը (Դուք պետք է փոխեք այն հեռախոսահամարը, որին ցանկանում եք ուղարկել SMS):

#ներառել #ներառել #ներառել

// *** // *** Սահմանեք RX և TX կապում: Ընտրեք չօգտագործված ցանկացած // *** կապում: Փորձեք խուսափել D0 (pin 5) // *** և D2 (pin 7), եթե նախատեսում եք օգտագործել I2C: // *** #define RX 3 // *** D3, Pin 2 #define TX 4 // *** D4, pin 3

// *** // *** Սահմանել ծրագրային ապահովման վրա հիմնված սերիական պորտը: Օգտագործելով // *** անունը Սերիա, որպեսզի ծածկագիրը կարող է օգտագործվել այլ // *** հարթակներում, որոնք ապահովում են ապարատային սերիալներ: // *** չիպերի վրա, որոնք ապահովում են ապարատային սերիան, պարզապես // *** մեկնաբանեք այս տողը: // ***

SoftwareSerial mySerial = Sրագրային ապահովում (RX, TX);

// *** // *** Pinout ATtiny25/45/85: // *** PDIP/SOIC/TSSOP // *** ================== ================================================== ======================== // *** // *** (PCINT5/RESET/ADC0/dW) PB5 [1]*[8] VCC // *** (PCINT3/XTAL1/CLKI/OC1B/ADC3) PB3 [2] [7] PB2 (SCK/USCK/SCL/ADC1/T0/INT0/PCINT2) // *** (PCINT4/ XTAL2/CLKO/OC1B/ADC2) PB4 [3] [6] PB1 (MISO/DO/AIN1/OC0B/OC1A/PCINT1) // *** GND [4] [5] PB0 (MOSI/DI/SDA/AIN0 /OC0A/OC1A/AREF/PCINT0) // *** // ATTINY 85 հաճախականությունը սահմանվում է ներքին 8 ՄՀց հաճախականությամբ

// *** // *** Պին, որի վրա միացված է OneWire տվյալները // *** լարերը: // *** #սահմանել ONE_WIRE_BUS 1

// *** // *** Կարգավորեք oneWire օրինակ ՝ OneWire // *** սարքերի հետ հաղորդակցվելու համար (ոչ միայն Maxim/Dallas ջերմաստիճանի IC): // *** OneWire _oneWire = OneWire (ONE_WIRE_BUS);

// *** // *** Անցեք մեր OneWire հղումը Դալասի ջերմաստիճանին: // *** DallasTemperature _sensors = DallasTemperature (& _ oneWire);

void setup () {// *** // *** Initialize Serial port // *** mySerial.begin (115200); ուշացում (60000);

// *** Գործարկեք գրադարանը: _sensors.begin (); }

դատարկ շրջան () {

// *** // *** Ստացեք ընթացիկ ջերմաստիճանը և ցուցադրեք այն: // *** _սենսորներ.requestTemperatures (); ուշացում (2000); կրկնակի tempC = _sensors.getTempCByIndex (0); կրկնակի tempF = _sensors.getTempFByIndex (0); // ստուգեք սխալների համար - երբեմն սկզբում, ջերմաստիճանը ցուցադրվում է որպես 85C

if (tempC 14 && tempC 18 && tempC = 23 && error_temperature) {SMS_temp (tempC, "Too warm");}}

անվավեր SMS_temp (կրկնակի mytemp, String myalert) {mySerial.println ("AT+CMGF = 1"); // սահմանել SMS ռեժիմի հետաձգում (1000); mySerial.println ("AT+CMGF = 1"); // սահմանել SMS ռեժիմի հետաձգում (1000); //mySerial.println("AT+CMGS=\"+ ՔՈ ԹԻՎԸ / ""); // սահմանել հեռախոսահամարը (փաթաթված կրկնակի մեջբերումներով) հետաձգում (1000); mySerial.print (mytemp, 1); mySerial.print (myalert); ուշացում (1000); mySerial.write (0x1A); // ուղարկում է ctrl+z հաղորդագրության ուշացման վերջը (1000); mySerial.write (0x0D); // Վագոնի վերադարձը վեցանկյուն ուշացումով (1000); mySerial.write (0x0A); ուշացում (1000000); // 17 րոպե - հարմարեցրեք ձեր ծրագրին համապատասխան}

Բացեք Arduino IDE միջավայրը. Ես նկարագրել եմ, թե ինչպես գտնել ձեզ այս ճանապարհը մանրամասն իմ նախորդ հրահանգում, որին ես ակնարկել էի ավելի վաղ:

Ձեզ հարկավոր են հետևյալ գրադարանները

SoftwareSerial.h

OneWire.h

DallasTemperature.h

Հաջորդը, ATTINY85- ի վրա կազմաձևեք RX և TX կապերը, որոնք ձեզ անհրաժեշտ են A1 Thinker- ի հետ միացնելու համար: ATTINY 85 – ն ունի 8 կապում ՝ յուրաքանչյուր կողմում չորսական և հավասարեցված է ՝ օգտագործելով մակերևույթի կետը ՝ որպես հղում: PIN 1 կամ RESET pin- ը thte dot- ի կողքին է:

(այս դեպքում ես ընտրեցի Pin2 և 3 - սրանք նույն կողմում են, ինչպես RESET քորոցը, որը գտնվում է ATTINY 85 մակերևույթի կետի կողքին: Pin 2 -ը RESET քորոցից հաջորդ քորոցն է մինչդեռ Pin 3 -ը Pin- ի միջև է) 2 և GROUND)

Հաջորդը, դուք պետք է կազմաձևեք ջերմաստիճանի տվիչը -

#սահմանեք ONE_WIRE_BUS 1

OneWire _oneWire = OneWire (ONE_WIRE_BUS);

DallasTemperature _sensors = DallasTemperature (& _ oneWire);

Հաջորդը տեղադրեք ծրագրաշարի սերիայի պորտը

mySerial.begin (115200);

ուշացում (60000);

ապա զանգահարեք սենսորներին _sensors.begin ();

Հաջորդը, կա հանգույց, որը հարցում է կատարում նախապես որոշված ժամին, գրանցում է ջերմաստիճանը և ուղարկում հաղորդագրություն / ահազանգ `կախված արժեքից: Այն օգտագործում է SMS_temp գործառույթը, որը նաև այն վայրն է, որտեղ դուք սահմանում եք հանգույցի ժամանակը

void loop () {sensors.requestTemperatures (); ուշացում (2000);

կրկնակի tempC = _sensors.getTempCByIndex (0);

կրկնակի tempF = _sensors.getTempFByIndex (0);

եթե (tempC <= 14) {SMS_temp (tempC, "ՎՏԱՆԳԱՎՈՐ սառը");}

if (tempC> 14 && tempC <= 18) {SMS_temp (tempC, "Quite Cold");}

if (tempC> 18 && tempC <23) {SMS_temp (tempC, "Temp Just right");}

եթե (tempC> = 23 && error_temperature) {SMS_temp (tempC, "Չափից տաք");}

}

==============

Հաջորդը, ստեղծեք Arduino IDE- ն ՝ ATTINY85- ում բեռնման նախապատրաստվելու համար:

Մի շարք բաներ, որոնք պետք է նշել

1- Եթե դուք չունեք ATTINY տախտակների ընտանիք, ավելացրեք հետևյալ url հասցեն ՝ https://raw.githubusercontent.com/damellis/attiny/… Ֆայլ/Նախընտրանքներ/Լրացուցիչ խորհուրդների մենեջերի URL- ում, Հաջորդը, Arduio IDE- ի շրջանակներում կտտացրեք Գործիքներ/Տախտակ/Տախտակի կառավարիչ և փնտրեք ATTINY և տեղադրեք նոր տախտակը: Փոխեք պրոցեսորը Attiny85:

Քայլ 2. theրագիրը վերբեռնել ATTINY85

Upրագրի վերբեռնում ATTINY85- ում
Upրագրի վերբեռնում ATTINY85- ում

Նաև, հղեք այս մասին իմ նախկին հրահանգին ՝

ATTINY85- ն ունի երկու ռեժիմ `համապատասխանաբար ծրագրավորման և գործարկման ռեժիմ: 1. PROՐԱԳՐԱՎՈՐՄԱՆ ՌԵEԻՄ Նախ `բացահայտեք ATTINY85- ի կապում: Դա անելու համար գտեք փոքր խազը չիպի մակերեսին, որը գտնվում է RST/RESET քորոցի կողքին: Օգտագործելով սա որպես տեղեկատու, դուք կարող եք նույնականացնել մնացած քորոցները: Այս բոլոր տեղեկությունները տրամադրված են A85 տվյալների թերթիկում -https://www.microchip.com/downloads/hy/DeviceDoc/At…

USBasp- ը և ATTINY85- ը պետք է միացված լինեն, ինչպես ցույց է տրված վերևի նկարում:

Հաջորդը, Arduino IDE- ում ծրագրավորողը դրեք USBasp- ի վրա և հաճախականությունը `ներքին 8 ՄՀց:

Միացրեք USBasp- ը ձեր նոութբուքի USB պորտին (Windows 10 -ում, եթե չունեք USBasp վարորդը, օգտագործեք Zadig- ը ՝ ըստ կայքի ՝

Հաջորդը, USBasp- ի հետ կապված, ընտրեք Arduino IDE Sketch/upload- ից և հուսով ենք, որ կտեսնեք Arduino IDE- ի կարմիր տառերով ցուցադրվող բեռնման առաջընթացը և ավարտված avrdude done- ով: Շնորհակալություն.

Այս փուլում ցանկացած սխալ սովորաբար կապված է չամրացված մալուխների կամ սխալ վարորդի հետ:

Քայլ 3: Գործարկեք ձեր ծրագիրը

Գործարկեք ձեր ծրագիրը
Գործարկեք ձեր ծրագիրը
Գործարկեք ձեր ծրագիրը
Գործարկեք ձեր ծրագիրը
Գործարկեք ձեր ծրագիրը
Գործարկեք ձեր ծրագիրը

Նախ, ինչ -որ բան Dallas 18b20 ջերմաչափի տվիչի մասին: Այն ունի 3 կապ, Ground (G), տվյալներ (D) և VCC, ինչպես ցույց է տրված վերևի նկարում: Գործարկման համար այն պահանջում է կամրջել D և VCC- ն 4.7k դիմադրիչով: G և VCC- ն միացված են համապատասխան բևեռներին, մինչդեռ D- ն միացված է ATTINY 85, PIN - [6] PB1- ին, ինչպես կազմաձևված է ծածկագրում:

Հաջորդը, ATTINY- ը միացրեք A6 GSM- ին հետևյալ կերպ (և ցուցադրված է վերևում)

ATTINY TX A6 UART_RXdATTINY RX A6 UART_TXd

ATTINY GND A6 GND

իսկ բուն A6- ի վրա, A6 PWR A6 VCC 5.0A6 RST A6 GND (Դեռ մի միացեք գետնին !!!!!)

Այժմ միացրեք երկու սարքերը և մի քանի վայրկյանից հետո ժամանակավորապես դիպչեք A6 գրունտի կապին A6 RST կապին միացված մալուխով: A6- ը միանալու և անջատելու է, և հուսով եմ, շուտով դուք պետք է ջերմաստիճանի տվյալներ ստանաք ձեր հեռախոսի վրա:

Քայլ 4: Եզրակացություն

Այս ուսուցանվողը կարող է բավականին պարզ թվալ, բայց գաղափարն այն է, որ լուսաբանվի այն, ինչ կարելի է ձեռք բերել ցածր գնով բաղադրիչներով: Ակնհայտ է, որ եթե դուք մուտք ունեք wi-fi կամ BLE հանգույց, ապա կան ավելի համապատասխան լուծումներ:

Ես չեմ լուսաբանում այլ գործառույթներ, ինչպիսիք են ՝ SMS ուղարկելը հեռախոսին ՝ ջերմաստիճանի գրանցում / փոխանցում սկսելու համար և այլն:

Խորհուրդ ենք տալիս: