Sisällysluettelo:
- Vaihe 1: ATTINY 85 -ohjelmointi
- Vaihe 2: Ohjelman lataaminen ATTINY85 -laitteeseen
- Vaihe 3: Ohjelman suorittaminen
- Vaihe 4: Johtopäätös
Video: Tekstiviestien lämpötilahälytykset ATTINY85- ja A1 -GSM -laitteilta: 5 vaihetta
2024 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2024-01-30 09:02
Tämä opas näyttää, kuinka voit tallentaa lämpötilan yksinkertaisesta lämpötila -anturista ja lähettää sen tekstiviestinä matkapuhelimeesi. Asioiden yksinkertaistamiseksi lähetän lämpötilan määrätyin väliajoin, mutta näytän myös, kuinka tämä voidaan tehdä vain poikkeuksellisesti / hälytyksillä. Laitteisto on erittäin edullinen, alle 10 dollaria, vaikka on otettava huomioon toistuvat tekstiviestikustannukset.
Raskaan nostamisen suorittaa yksinkertainen mutta tehokas ATTINY 85, joka kerää lämpötilatiedot ja käynnistää sitten tekstiviestin lähetettäväksi AI-Thinker A6 GSM -moduulin kautta.
Lyhyesti sanottuna kirjoitat ATTINY85 -koodin Arduino IDE -ympäristöön ja poltat sen ATTINY85 -laitteeseen USBASP -sarja-/USB -muuntimen avulla. Olen käsitellyt AI-Thinker A6 GSM -moduulin ja Arduino IDE: n käyttöönottoa kahdessa edellisessä opetusohjelmassa. Eri asia on liittää ATTINY- ja A6 GSM -moduuli sarjaliikennettä käyttäen.
www.instructables.com/id/How-to-Send-an-SM…https://www.instructables.com/id/15-Dollar-Attiny8…
Ohjelmoinnin jälkeen ATTINY lukee lämpötilatiedot Dallas 18B20- lämpömittarianturista ja lähettää sitten tiedot ja komennot sarjaliitännällä A6 GSM -moduulille, joka lähettää sen sitten tekstiviestinä matkapuhelimeesi / älypuhelimeesi.
Tässä on mitä tarvitset:
1. USBASP -sarja-/USB -muunnin.
2. ATTINY 85.
3. AI-Thinker A6 GSM -moduulin versio 6 (sim-kortilla, jossa on tekstiviestit).
4. 3.3V leipälevyn virtalähde ATTINY85: lle.
5. 3.3.v USB-virtalähde AI-Thinker A6 GSM -moduulille.
6. Dallas 18B20 lämpötila -anturi..
7. 4,7 k: n vastus 18B20 -anturille.
8. Leipälauta ja kaapelit.
9. Arduino IDE (käytin tätä versiota 1.8.5.).
10. Windows X -tietokone (käytin versiota 10), jossa on ilmainen USB -portti.
Vaihe 1: ATTINY 85 -ohjelmointi
Tässä on Arduino IDE -koodi (Sinun on vaihdettava puhelinnumero, johon haluat lähettää tekstiviestin.)
#Sisällytä #Sisällytä #Sisällytä
// *** // *** Määritä RX- ja TX -nastat. Valitse kaksi käyttämätöntä // *** nastaa. Yritä välttää D0 (nasta 5) // *** ja D2 (nasta 7), jos aiot käyttää I2C: tä. // *** #define RX 3 // *** D3, Pin 2 #define TX 4 // *** D4, Pin 3
// *** // *** Määritä ohjelmistopohjainen sarjaportti. Käyttämällä // *** -nimeä Sarja, jotta koodia voidaan käyttää muilla // *** -alustoilla, jotka tukevat laitteistopohjaista sarjaliikennettä. // *** siruilla, jotka tukevat laitteistosarjaa, // // kommentoi tätä riviä. // ***
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 -taajuus asetettu sisäiselle 8 MHz: lle
// *** // *** Nasta, johon OneWire data // *** -johto on kytketty. // *** #define ONE_WIRE_BUS 1
// *** // *** Asenna oneWire -ilmentymä kommunikoimaan minkä tahansa OneWire // *** -laitteen kanssa (ei vain Maxim/Dallas -lämpötila -IC: t). // *** OneWire _oneWire = OneWire (ONE_WIRE_BUS);
// *** // *** Ohita oneWire -viittauksemme Dallasin lämpötilaan. // *** DallasTemperature _sensors = DallasTemperature (& _ oneWire);
void setup () {// *** // *** Alusta sarjaportti // *** mySerial.begin (115200); viive (60000);
// *** Käynnistä kirjasto. _anturit.begin (); }
void loop () {
// *** // *** Hae nykyinen lämpötila ja näytä se. // *** _sensors.requestTemperatures (); viive (2000); double tempC = _sensors.getTempCByIndex (0); double tempF = _sensors.getTempFByIndex (0); // tarkista virheet - joskus alussa, lämpötila näkyy 85C
if (tempC 14 && tempC 18 && tempC = 23 && error_temperature) {SMS_temp (tempC, "liian lämmin");}}
void SMS_temp (double mytemp, String myalert) {mySerial.println ("AT+CMGF = 1"); // asetetaan tekstiviestin viiveeseen (1000); mySerial.println ("AT+CMGF = 1"); // asetetaan tekstiviestin viiveeseen (1000); //mySerial.println ("AT+CMGS=\"+VUOSINUMERO / ""); // asettaa puhelinnumeron (lainausmerkkeihin) viive (1000); mySerial.print (mytemp, 1); mySerial.print (myalert); viive (1000); mySerial.write (0x1A); // lähettää ctrl+z viestin lopun viiveen (1000); mySerial.write (0x0D); // Vaunun paluu heksadesimaaliviiveellä (1000); mySerial.write (0x0A); viive (1000000); // 17 minuuttia - säädä sovelluksesi mukaan}
Avaa Arduino IDE -ympäristö - Olen kuvannut yksityiskohtaisesti, miten löydät sinut kiertämään tämän yksityiskohtaisesti edellisessä ohjeessani, johon viittasin aiemmin.
Tarvitset seuraavat kirjastot
SoftwareSerial.h
OneWire.h
Dallas Lämpötila. H
Määritä seuraavaksi ATTINY85: n RX- ja TX -nastat, jotka sinun on yhdistettävä A1 Thinker -laitteeseen. ATTINY 85 -laitteessa on 8 nastaa, neljä kummallakin puolella, ja se on kohdistettu käyttämällä pisteessä olevaa viivaa. Nasta 1 tai RESET -nasta on tämän pisteen vieressä.
(tässä tapauksessa valitsin nastat 2 ja 3 - Nämä ovat samalla puolella kuin RESET -nasta, joka on ATTINY 85: n pinnalla olevan pisteen vieressä. Nasta 2 on RESET -nastan seuraava nasta, kun taas nasta 3 on nastan välissä 2 ja GROUND)
Seuraavaksi sinun on määritettävä lämpötila -anturi -
#define ONE_WIRE_BUS 1
OneWire _oneWire = OneWire (ONE_WIRE_BUS);
DallasTemperature _sensors = DallasTemperature (& _ oneWire);
Määritä seuraavaksi ohjelmiston sarjaportti
mySerial.begin (115200);
viive (60000);
ja soita sitten antureille _sensors.begin ();
Seuraavaksi on silmukka, joka kyselee ennalta määrätyllä hetkellä, tallentaa lämpötilan ja lähettää viestin / hälytyksen arvon mukaan. Se käyttää toimintoa SMS_temp, jossa myös asetat silmukan ajoituksen
void loop () {sensors.requestTemperatures (); viive (2000);
double tempC = _sensors.getTempCByIndex (0);
double tempF = _sensors.getTempFByIndex (0);
if (tempC <= 14) {SMS_temp (tempC, "DANGEROUSLY Cold");}
if (tempC> 14 && tempC <= 18) {SMS_temp (tempC, "Melko kylmä");}
if (tempC> 18 && tempC <23) {SMS_temp (tempC, "Temp Just right");}
if (tempC> = 23 && error_temperature) {SMS_temp (tempC, "Liian lämmin");}
}
==============
Määritä seuraavaksi Arduino IDE valmistautuaksesi lataamiseen ATTINY85 -laitteeseen.
Useita huomioitavia asioita
1- Jos sinulla ei ole ATTINY-lautaperhettä, lisää seuraava URL-osoite https://raw.githubusercontent.com/damellis/attiny/… kohtaan Tiedosto/Asetukset/Lisätaulujen hallinnan URL-osoite, Napsauta seuraavaksi Arduio IDE: ssä Työkalut/Hallitus/Hallituksen hallinta ja etsi ATTINY ja asenna uusi levy. Vaihda suoritin Attiny85: ksi.
Vaihe 2: Ohjelman lataaminen ATTINY85 -laitteeseen
Katso myös aiemmat ohjeeni tästä-https://www.instructables.com/id/15-Dollar-Attiny8…
ATTINY85: ssä on kaksi tilaa, ohjelmointi- ja toimintatila. OHJELMOTILA Tunnista ensin ATTINY85: n nastat. Voit tehdä tämän etsimällä pienen loven sirun pinnalta, joka on RST/RESET -nastan vieressä. Käyttämällä tätä vertailupisteenä voit tunnistaa loput nastat. Kaikki nämä tiedot ovat A85 -tietolomakkeessa -https://www.microchip.com/downloads/en/DeviceDoc/At…
USBasp ja ATTINY85 on liitettävä yllä olevan kuvan mukaisesti.
Seuraavaksi, aseta Arduino IDE ohjelmoijaksi USBasp ja taajuus sisäiseen 8Mhz.
Liitä USBasp kannettavan tietokoneen USB -porttiin (Windows 10: ssä, jos sinulla ei ole USBasp -ohjainta, käytä Zadigia verkkosivuston https://www.fischl.de/usbasp/ mukaisesti)
Seuraavaksi, kun USBasp on kytketty, valitse Arduino IDE Sketch/upload ja toivottavasti sinun pitäisi nähdä latauksen edistyminen Arduino IDE: n punaisilla kirjaimilla ja päättyy avrdude done. Kiitos.
Kaikki virheet tässä vaiheessa liittyvät yleensä löysiin kaapeleihin tai väärään ohjaimeen.
Vaihe 3: Ohjelman suorittaminen
Ensinnäkin jotain Dallas 18b20 -lämpömittarianturista. Siinä on 3 nastaa, maa (G), data (D) ja VCC yllä olevan kuvan mukaisesti. Käyttö edellyttää D- ja VCC -siltojen yhdistämistä 4,7 k: n vastuksella. G ja VCC on kytketty vastaaviin napoihin, kun taas D on kytketty ATTINY 85, nasta - [6] PB1, kuten koodi on määritetty.
Liitä seuraavaksi ATTINY A6 GSM: ään seuraavasti (ja yllä)
ATTINY TX A6 UART_RXd ATTINY RX A6 UART_TXd
ATTINY GND A6 GND
ja itse A6: ssa, A6 PWR A6 VCC 5.0A6 RST A6 GND (Älä vielä liitä maahan !!!!!)
Kytke nyt virta molempiin laitteisiin ja kosketa muutaman sekunnin kuluttua tilapäisesti A6 -maadoitusliitintä kaapelilla, joka on kytketty A6 RST -tappiin. A6 sammuu ja käynnistyy, ja toivottavasti sinun pitäisi pian saada lämpötilatiedot puhelimeesi.
Vaihe 4: Johtopäätös
Tämä ohje voi tuntua melko yksinkertaiselta, mutta ajatuksena on havainnollistaa sitä, mitä voidaan saavuttaa edullisilla komponenteilla. On selvää, että jos sinulla on pääsy Wi-Fi-verkkoon tai BLE-keskittimeen, on olemassa sopivampia ratkaisuja.
En käsitellyt muita toimintoja, kuten tekstiviestin lähettämistä puhelimeen lämpötilan tallennuksen / lähetyksen aloittamiseksi jne.
Suositeltava:
ATTiny85 -kondensaattorimittari: 4 vaihetta
ATTiny85 -kondensaattorimittari: Tämä ohje on tarkoitettu ATTiny85 -pohjaiseen kondensaattorimittariin, jolla on seuraavat ominaisuudet. Perustuu ATTiny85 (DigiStamp) SSD1306 0,96 " OLED -näyttö Taajuusmittaus pienikokoisille kondensaattoreille 1pF - 1uF käyttämällä 555 -oskillaattoriaLatausaika
ATtiny85 puettavat värisevät aktiivisuuden seurantakellot ja ohjelmointi ATtiny85 Arduino Unolla: 4 vaihetta (kuvilla)
ATtiny85 puettavat värisevät aktiivisuuden seurantakellot ja ohjelmointi ATtiny85 Arduino Unon kanssa: Kuinka tehdä puettava aktiivisuuden seurantakello? Tämä on puettava laite, joka on suunniteltu tärisemään havaitessaan pysähtyneisyyden. Vietätkö suurimman osan ajastasi tietokoneella kuten minä? Istutko tuntikausia huomaamatta? Sitten tämä laite on f
Tee oma GPS -tekstiviestien suojausseurantajärjestelmä: 5 vaihetta (kuvilla)
Tee oma GPS -tekstiviestiturvallisuusseurantajärjestelmä: Tässä projektissa näytän sinulle, miten voit yhdistää SIM5320 3G -moduulin Arduinon ja pietsosähköisen kaikuanturin kanssa iskuanturina, jotta voit luoda turvallisuuden seurantajärjestelmän, joka lähettää sinulle sijaintisi kallis auto tekstiviestillä, kun
SIM800L: n käyttäminen tekstiviestien lähettämiseen ja releen ohjaamiseen tekstiviestillä: 3 vaihetta
SIM800L: n käyttäminen tekstiviestien lähettämiseen ja tekstiviestien ohjaamiseen tekstiviestillä: Kuvaus: Tämä opetusohjelma näyttää, kuinka SIM800L: n avulla voidaan lähettää tekstiviestejä ja vastaanottaa tekstiviestejä viestin ohjaamiseen. SIM800L -moduuli on kooltaan pieni ja sitä voidaan käyttää Arduinon kanssa liittämään tekstiviestejä, vastaanottamaan tekstiviestejä, soittamaan, vastaanottamaan puheluita ja muita. Tässä opetusohjelmassa
Luotettava, suojattu, muokattava tekstiviestien kaukosäädin (Arduino/pfodApp) - Koodausta ei tarvita: 4 vaihetta
Luotettava, suojattu ja muokattavissa oleva tekstiviestien kaukosäädin (Arduino/pfodApp) - Koodausta ei tarvita: Päivitys 6. heinäkuuta 2018: Tämän projektin 3G/2G -versio, jossa on SIM5320, on saatavilla täältä Päivitys: 19. toukokuuta 2015: Käytä pfodParser -kirjastoa, versio 2.5 tai korkeampi. Se korjaa raportoidun ongelman, ettei kilven yhdistämiseen riitä aikaa