
Sadržaj:
2025 Autor: John Day | [email protected]. Zadnja izmjena: 2025-01-23 14:37

Ova instrukcija vam pokazuje kako snimiti temperaturu s jednostavnog temperaturnog senzora i poslati je putem SMS -a na svoj mobilni telefon. Da pojednostavim stvari, šaljem temperaturu u zadanom intervalu, ali također pokazujem kako se to može učiniti samo iznimkama / upozorenjima. Hardver je vrlo niske cijene, manji od 10 dolara, iako postoje periodični troškovi sms -a koje treba uzeti u obzir.
Podizanje tereta preuzima jednostavan, ali moćan ATTINY 85 koji bilježi podatke o temperaturi, a zatim pokreće slanje SMS-a putem AI-Thinker A6 GSM modula.
Ukratko, zapisujete ATTINY85 kod u Arduino IDE okruženje i narežete ga na ATTINY85 pomoću USBASP serijskog/USB pretvarača. O postavljanju AI-Thinker A6 GSM modula i Arduino IDE-a govorio sam u dva prethodna vodiča. Ono što se ovdje razlikuje je povezivanje ATTINY i A6 GSM modula pomoću serijske komunikacije.
www.instructables.com/id/How-to-Send-an-SM…https://www.instructables.com/id/15-Dollar-Attiny8…
Nakon programiranja, ATTINY čita podatke o temperaturi sa senzora termometra - Dallas 18B20-, a zatim šalje podatke i naredbe serijskom vezom na A6 GSM modul koji ih zatim šalje kao SMS tekst na vaš mobilni / pametni telefon.
Evo šta vam treba:
1. USBASP serijski/USB pretvarač.
2. ATTINY 85.
3. AI-Thinker A6 GSM modul verzija 6 (sa sim karticom koja ima SMS kredite).
4. Napajanje matične ploče 3.3v za ATTINY85.
5. 3.3.v USB napajanje za AI-Thinker A6 GSM modul.
6. Senzor temperature Dallas 18B20..
7. Otpornik od 4,7 k za senzor 18B20.
8. Oglasna ploča i kablovi.
9. Arduino IDE (za ovo sam koristio verziju 1.8.5.).
10. Windows X laptop (koristio sam verziju 10) sa besplatnim USB portom.
Korak 1: Programiranje ATTINY 85
Evo Arduino IDE koda (morat ćete promijeniti telefonski broj na koji želite poslati SMS.)
#include #include #include
// *** // *** Definirajte RX i TX pinove. Odaberite bilo koja dva // *** igla koja su nekorištena. Pokušajte izbjeći D0 (pin 5) // *** i D2 (pin 7) ako planirate koristiti I2C. // *** #define RX 3 // *** D3, Pin 2 #define TX 4 // *** D4, Pin 3
// *** // *** Definirajte softverski serijski port. Korištenje // *** imena Serial tako da se kôd može koristiti na drugim // *** platformama koje podržavaju hardversku seriju. Na // *** čipovima koji podržavaju hardversku seriju, samo // *** komentirajte ovu liniju. // ***
SoftwareSerial mySerial = SoftwareSerial (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 frekvencija postavljena na internih 8 MHz
// *** // *** Pin na koji je spojena žica podataka OneWire // ***. // *** #define ONE_WIRE_BUS 1
// *** // *** Postavite instalaciju oneWire -a za komunikaciju s bilo kojim OneWire // *** uređajima (ne samo IC -ovima temperature Maxim/Dallas). // *** OneWire _oneWire = OneWire (ONE_WIRE_BUS);
// *** // *** Prenesite našu referencu oneWire na temperaturu u Dallasu. // *** DallasTemperature _sensors = DallasTemperature (& _ oneWire);
void setup () {// *** // *** Inicijalizacija serijskog porta // *** mySerial.begin (115200); kašnjenje (60000);
// *** Pokretanje biblioteke. _sensors.begin (); }
void loop () {{100} {101}
// *** // *** Dobijte trenutnu temperaturu i prikažite je. // *** _sensors.requestTemperatures (); kašnjenje (2000); double tempC = _sensors.getTempCByIndex (0); double tempF = _sensors.getTempFByIndex (0); // provjeravamo ima li grešaka - ponekad pri startu, temperatura se prikazuje kao 85C
if (tempC 14 && tempC 18 && tempC = 23 && error_temperature) {SMS_temp (tempC, "Pretoplo");}}
void SMS_temp (double mytemp, String myalert) {mySerial.println ("AT+CMGF = 1"); // postavljeno na kašnjenje SMS načina (1000); mySerial.println ("AT+CMGF = 1"); // postavljeno na kašnjenje SMS načina (1000); //mySerial.println("AT+CMGS=\"+VAS BROJ / ""); // postavljanje telefonskog broja (umotano u dvostruke navodnike) delay (1000); mySerial.print (mytemp, 1); mySerial.print (myalert); kašnjenje (1000); mySerial.write (0x1A); // šalje ctrl+z kraj odgode poruke (1000); mySerial.write (0x0D); // Carriage Return in Hex delay (1000); mySerial.write (0x0A); kašnjenje (1000000); // 17 minuta - prilagodite vlastitoj aplikaciji}
Otvorite Arduino IDE okruženje - detaljno sam opisao kako se snaći u ovome u prethodnim uputama na koje sam ranije aludirao.
Trebat će vam sljedeće biblioteke
SoftwareSerial.h
OneWire.h
DallasTemperature.h
Zatim konfigurirajte RX i TX pinove na ATTINY85 koje trebate povezati s A1 Thinkerom. ATTINY 85 ima 8 pinova, po četiri sa svake strane i poravnat je pomoću tačke na površini kao referencom. Pin 1 ili PIN za resetovanje nalazi se pored tačke.
(u ovom slučaju odabrao sam Pin2 i 3 - Oni su na istoj strani kao i RESET pin koji se nalazi pored tačke na površini ATTINY 85. Pin 2 je sledeći pin pored PIN -a RESET dok je Pin 3 između Pin -a 2 i UZEMLJENJE)
Zatim morate konfigurirati senzor temperature -
#define ONE_WIRE_BUS 1
OneWire _oneWire = OneWire (ONE_WIRE_BUS);
DallasTemperature _sensors = DallasTemperature (& _ oneWire);
Zatim postavite serijski port softvera
mySerial.begin (115200);
kašnjenje (60000);
a zatim pozovite senzore sa _sensors.begin ();
Zatim postoji petlja koja se anketira unaprijed u unaprijed određeno vrijeme, bilježi temperaturu i šalje poruku / upozorenje ovisno o vrijednosti. Koristi funkciju SMS_temp na kojoj također postavljate vrijeme petlje
void loop () {sensors.requestTemperatures (); kašnjenje (2000);
double tempC = _sensors.getTempCByIndex (0);
double tempF = _sensors.getTempFByIndex (0);
if (tempC <= 14) {SMS_temp (tempC, "OPASNO Hladno");}
if (tempC> 14 && tempC <= 18) {SMS_temp (tempC, "Sasvim hladno");}
if (tempC> 18 && tempC <23) {SMS_temp (tempC, "Temp taman kako treba");}
if (tempC> = 23 && error_temperature) {SMS_temp (tempC, "Pretoplo");}
}
==============
Zatim postavite Arduino IDE za pripremu za postavljanje na ATTINY85.
Nekoliko stvari koje treba napomenuti
1- Ako nemate porodicu ploča ATTINY, dodajte sljedeći url https://raw.githubusercontent.com/damellis/attiny/… u URL datoteke/postavke/dodatne upravitelje ploča, Zatim, unutar Arduio IDE -a kliknite na Tools/Board/Board Manager i potražite ATTINY te instalirajte novu ploču. Promenite procesor u Attiny85.
Korak 2: Otpremanje programa na ATTINY85

Također pogledajte moje prethodne upute o ovome-https://www.instructables.com/id/15-Dollar-Attiny8…
ATTINY85 ima dva načina rada, programiranje i rad.1. NAČIN PROGRAMIRANJA Prvo identificirajte pinove na ATTINY85. Da biste to učinili, pronađite mali zarez na površini čipa koji se nalazi pored RST/RESET pina. Koristeći ovo kao referentnu točku, možete identificirati ostale pinove. Sve ove informacije nalaze se u A85 podatkovnom listu -https://ww1.microchip.com/downloads/en/DeviceDoc/At…
USBasp i ATTINY85 trebaju biti povezani kako je prikazano na gornjoj slici.
Zatim, na Arduino IDE -u postavite programator na USBasp, a frekvenciju na internih 8 MHz.
Spojite USBasp na USB priključak na prijenosnom računaru (U sustavu Windows 10, ako nemate USBasp upravljački program, koristite Zadig prema web stranici
Zatim, s priključenim USBaspom, odaberite Arkuino IDE Sketch/upload i nadamo se da biste trebali vidjeti napredak prijenosa prikazan crvenim slovima Arduino IDE -a i završiti s avrdude gotovo. Hvala ti.
Sve greške u ovoj fazi obično su povezane s labavim kablovima ili pogrešnim upravljačkim programom.
Korak 3: Pokretanje programa



Prvo, nešto o senzoru termometra Dallas 18b20. Ima 3 pina, uzemljenje (G), podatke (D) i VCC kao što je prikazano na gornjoj slici. Za rad je potrebno premostiti D i VCC otpornikom od 4,7 k. G i VCC su spojeni na odgovarajuće polove, dok je D spojen na ATTINY 85, pin - [6] PB1, kako je konfigurirano u kodu.
Zatim spojite ATTINY na A6 GSM na sljedeći način (i prikazano gore)
ATTINY TX A6 UART_RXdATTINY RX A6 UART_TXd
ATTINY GND A6 GND
i na samom A6, A6 PWR A6 VCC 5.0A6 RST A6 GND (Ne spajajte se na masu još !!!!!)
Sada uključite oba uređaja i nakon nekoliko sekundi privremeno dodirnite pin A6 uzemljenja s kabelom spojenim na pin A6 RST. A6 će se isključiti i uključiti i nadamo se da biste uskoro trebali primiti podatke o temperaturi na svoj telefon.
Korak 4: Zaključak
Ovo uputstvo može izgledati prilično jednostavno, ali ideja je ilustrirati ono što se može postići s jeftinim komponentama. Očigledno, ako imate pristup Wi-Fi ili BLE čvorištu, postoje prikladnija rješenja.
Nisam obuhvatio druge funkcije, poput slanja SMS -a na telefon radi pokretanja snimanja / prijenosa temperature itd.
Preporučuje se:
Sistem kliznog upozorenja: 6 koraka

Sistem slajdova unaprijed upozorenja: U Brown Dog Gadgets -u radimo mnogo video streaminga za radionice, a naše postavljanje uključuje jednu osobu na kameri i drugu osobu kao producenta koja pokreće softver, nadzire prozor za chat i mijenja kameru i napreduje slajdove
Sistem upozorenja o nesreći pomoću GSM -a, GPS -a i akcelerometra: 5 koraka (sa slikama)

Sistem upozorenja o nesreći pomoću GSM -a, GPS -a i akcelerometra: Molimo vas da me glasate za takmičenjeMolim vas, glasajte za takmičenje. Danas mnogi ljudi poginu na cesti zbog nesreće, glavni uzrok je "kašnjenje u spašavanju". Ovaj je problem vrlo velik u zemljama u razvoju pa sam osmislio ovaj projekt za spašavanje
Detektor curenja s obavještenjem o tekstualnoj poruci: 7 koraka

Detektor curenja s obavještenjem o tekstualnoj poruci: Ovaj vodič pokazuje kako izgraditi detektor curenja koji šalje obavijesti o tekstualnim porukama. Šalje upozorenja ako se osjeti voda iz prsnute cijevi ili rezervnog odvoda. Vodič je namijenjen svima koji se zanimaju za Python 3, Raspberry Pi, Secure Shell
Kako koristiti SIM800L za slanje SMS -a i kontrolni relej putem SMS -a: 3 koraka

Kako koristiti SIM800L za slanje SMS -a i kontrolni relej putem SMS -a: Opis: Ovaj vodič prikazuje kako koristiti SIM800L za slanje SMS -a i primanje SMS -a na kontrolni relej. Modul SIM800L je male veličine i može se koristiti za povezivanje s Arduinom za slanje sms -a, primanje sms -a, poziv, primanje poziva i drugo. U ovom vodiču
Upotreba upozorenja-ThingSpeak+ESP32-Bežična-Temp-Senzor vlažnosti: 7 koraka

Upozoravajući-ThingSpeak+ESP32-Bežični-Temp-Senzor vlažnosti: U ovom vodiču ćemo mjeriti različite podatke o temperaturi i vlažnosti zraka pomoću senzora za temperaturu i vlažnost. Naučit ćete i kako poslati te podatke u ThingSpeak. Tako da možete stvoriti privremeno upozorenje u svojoj pošti za određenu vrijednost