Sisällysluettelo:

Luotettava, suojattu, muokattava tekstiviestien kaukosäädin (Arduino/pfodApp) - Koodausta ei tarvita: 4 vaihetta
Luotettava, suojattu, muokattava tekstiviestien kaukosäädin (Arduino/pfodApp) - Koodausta ei tarvita: 4 vaihetta

Video: Luotettava, suojattu, muokattava tekstiviestien kaukosäädin (Arduino/pfodApp) - Koodausta ei tarvita: 4 vaihetta

Video: Luotettava, suojattu, muokattava tekstiviestien kaukosäädin (Arduino/pfodApp) - Koodausta ei tarvita: 4 vaihetta
Video: Mitä mummin ja vaarin tulee tietää tietoturvasta? 2024, Heinäkuu
Anonim
Luotettava, suojattu, muokattava tekstiviestien kaukosäädin (Arduino/pfodApp) - koodausta ei tarvita
Luotettava, suojattu, muokattava 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 -kirjaston versiota 2.5 tai uudempaa. Se korjaa ilmoitetun ongelman, jonka mukaan suoja ei anna tarpeeksi aikaa muodostaa yhteyttä verkkoon virran kytkemisen jälkeen

Johdanto

Miten pfodSMS-kaukosäädin eroaa muista toteutuksista:-

  • Se on luotettava-komentoihin vastataan aina ja kadonneita viestejä pyydetään uudelleen
  • Se on suojattu - käyttää 128 -bittistä salasanasuojausta
  • Se ei vaadi kolmannen osapuolen verkkopalvelutilejä - tarvitsee vain aktiivisen SIM -kortin (ilman pin)
  • Se on muokattavissa - voit luoda oman mukautetun valikon pfodDesignerin avulla
  • Se on helppoa - pfodDesigner luo kaiken koodin. Sinun ei tarvitse tehdä mitään koodausta.
  • Se on joustava-kaikki pfod-näytöt ovat saatavilla tekstiviestillä, kuten alivalikot, monivalinta- ja yksittäisvalintaluettelo, tekstinsyöttö, tietojen kirjaaminen ja piirtäminen.

Katso tekstiviestiyhteyden luotettavuudesta pfodSMS -viestien suunnittelu. Katso 128 -bittisen suojauksen yksityiskohdat kohdasta Haasteiden ja vastausten suojaus Internetiin yhdistetyille pfodDevices -laitteille. Katso pfodDesigner-, Android- / Arduino -valikot, jotka on tehty yksinkertaiseksi, saadaksesi lisätietoja oman mukautetun valikon suunnittelusta.

Esimerkkihanke - SMS -kuuman veden ohjaus

Tässä ohjeessa kuvataan esimerkkiprojektina, kuinka lämminvesivaraaja kytketään päälle ja pois tekstiviestillä ja tarkistetaan, onko se päällä vai pois. Asennukseen tarvitset sähköasentajan.

Vaihe 1: Pika -aloitus - SMS -kaukosäädin

Pika -aloitus - SMS -kaukosäädin
Pika -aloitus - SMS -kaukosäädin
Pika -aloitus - SMS -kaukosäädin
Pika -aloitus - SMS -kaukosäädin

Tässä on pikaopas oman SMS -käyttövesisäätimen rakentamiseen.

  1. Osta tämän listan osat..
  2. Asenna Arduino IDE -versio 1.5.8 ja lataa ja asenna pfodParser -kirjasto.
  3. Lataa ilmainen pfodDesigner.
  4. Suunnittele mukautettu valikko kytkeäksesi digitaalitulon päälle ja pois päältä Android -matkapuhelimesi valikkoliukusäätimestä.
  5. Luo koodi valitsemalla yhteydeksi SeeedStudio SIM900 GPRS -suoja. (On myös vaihtoehto IteadStudio SIM900 -suojalle).
  6. Siirrä luotu koodi matkapuhelimestasi IDE: hen (katso lisätietoja pfodAppForAndroidGettingStarted.pdf -tiedostosta), lisää salainen salasanasi, käännä ja lataa Arduino Mega 2560 -laitteeseen.
  7. Asenna SIM -korttisi GPRS -suojaan ja kytke suoja Mega 2560 -laitteeseen. Varmista, että sarjaliitännät on asetettu laitteistosarjaan, kuten yllä on esitetty.
  8. Kytke digitaalilähtö kiinteän tilan tai normaaliin releeseen D3: n ja GND: n (tai minkä tahansa pfodDesignerissa valitsemasi nastan) välille. Katso lisätietoja releiden lisäämisestä artikkelista Releiden lisääminen Arduinoon.
  9. Käytä USB -virtaa Megaan. Kirjastokoodi aktivoi GPRS -suojan puolestasi.
  10. Asenna pfodApp Android -matkapuhelimeesi ja muodosta SMS -yhteys kilven sim -puhelimeen nro. (katso lisätietoja kohdasta pfodAppForAndroidGettingStarted.pdf). Aseta yhteyden salasana, jos olet lisännyt sen..
  11. Yhdistä ja näe mukautettu valikkosi tekstiviestinä. Napsauta painiketta kytkeäksesi releen päälle tai pois..
  12. Pyydä sähköasentajaasi asentamaan rele kuumavesipiiriin ja kytkemään USB -virtalähde Megan ja suojan virransyöttöön

Vaihe 2: Lisätietoja

pfodDesigner

PfodDesigner luo kaiken koodin, jonka tarvitset kiinteän tilan tai jonkin muun releen kytkemiseksi päälle ja pois päältä, mutta pfodParser-kirjaston tekstiviestiyhteys tukee kaikkia pfod-näyttöjä, joten kun aloitat, voit lisätä alivalikkoja, numeerisia liukusäätimiä, monitekstiset liukusäätimet, tekstinsyöttönäytöt, tiedonkeruu ja piirtäminen kaikki tekstiviestillä. Katso kaikki tuetut näytöt ja viestit osoitteesta pfodSpecification.pdf.

Luotu koodi on täällä. Siinä ei ole kehotetta ja vain yksi kytkin pitää viestin lyhyenä. Pitkät valikot lähetetään useiden tekstiviestien kautta, joiden saapuminen kestää kauemmin. Jos sinulla on pitkä valikko, sfm -yhteyskoodi pfodParser -kirjastossa hoitaa kaiken puolestasi.

Jos haluat lisätä salasanan tekstiviestiyhteyteesi, muuta linjaa

parser.connect (& pfodSMS); // liitä jäsennin tekstiviestiin esimerkiksi parser.connect (& pfodSMS, F ("173057F7A706AF9BBE65D51122A14CEE"));

mutta käytä omaa salasanaasi, joka voi olla enintään 32 heksadesimaalista, 0..9 A.. F. Salasanat, jotka ovat lyhyempiä kuin 32 heksadesimaalilukua, on täytetty 0: lla. Katso Yksinkertainen Wifi/Internet -pfodDevice, jossa on 128 -bittinen suojaus (Arduino), kuinka voit luoda satunnaisen salasanan ja antaa sen QR -koodiin, jotta se on helppo syöttää Android -laitteellesi. Katso myös pfodAppForAndroidGettingStarted.pdf

PfodDesigner luo myös koodin bluetooth- ja wifi -yhteyksille sarja- ja Ethernet -yhteydellä SPI: n kautta, kaikki valinnaisella 128 -bittisellä suojauksella

pfodApp

Ensimmäinen asia, joka on ymmärrettävä, on se, että tekstiviestit ovat hölmöjä, eivätkä ne välttämättä pääse perille tai saapuvat epäkunnossa. Joten kun muodostat yhteyden pfodAppiin, tekstiviestivastaus kestää jonkin aikaa. Jos viesti katoaa tai viivästyy, pfodApp lähettää sen automaattisesti uudelleen 3 minuutin kuluttua. 5 tällaisen uudelleenyrityksen jälkeen pfodApp ilmoittaa, että yhteys katkeaa. Voit säätää 3 minuutin aikaa pfodApp -yhteyden muokkausnäytössä.

Jos lisäät salasanan, pfodApp vastaanottaa päävalikon kuusi tekstiviestiä (kolme kumpaankin suuntaan). Nämä ylimääräiset viestit tapahtuvat vain ensimmäisen yhteyden yhteydessä, minkä jälkeen ei tule ylimääräisiä viestejä salasanaa käytettäessä. Joten aloita ilman salasanaa nähdäksesi, että kaikki toimii ja lisää salasana myöhemmin.

SMS/GPRS -suoja

Mahdollisia ongelmia ovat SIM -kortit, jotka on suojattu PIN -numeroilla tai joilla ei ole lupaa muodostaa yhteyttä verkkoon. Pfod -kirjasto käynnistää automaattisesti GPRS -suojan ja etsii puhelun valmis -vastausta. Jos tämä vastaus ei tule, kirjasto sammuu ja yrittää uudelleen, joten jos näet, että GPRS -suojan virran merkkivalo palaa 20 sekuntia ja sammuu sitten, verkkoyhteydessä on ongelma. Ota SIM -kortti ulos ja kokeile sitä tavallisella puhelimella. Tarkista, että sinua ei pyydetä antamaan PIN -numeroa.

Jos tämä ei ole ongelma, sinun on käynnistettävä käynnistyksen virheenkorjaus alla kuvatulla tavalla nähdäksesi mitä tapahtuu.

Virta Mega / GPRS -suojalle

Suoja vetää jopa 2A pulssilla ja jopa 0,5A jatkuvasti. Olettaen, että 12 V: n akkuvirta on 0,5 A, ylittää Mega on -virtalähteen kapasiteetin. Joten tätä suojaa EI saa käyttää Megan 7V - 12V tulosta. Vaihtoehto on käyttää Megaa ja suojaa USB -liitännän kautta. Käytin 1A USB -liitäntää. Testiin käytin Belkin -virtalähdettä (F4U020) estääkseni liiallisen virran ottamisen tietokoneen USB -portista.

12 V: n akkuvirran osalta suosittelen käyttämään laadukasta Automotive USB 5V -laturia, 1A tai korkeampaa. Laadukas Automotive USB 5V -virtalähde on suunniteltava käsittelemään autojen sähköjärjestelmissä esiintyviä ylijännitepiikkejä, joten sen pitäisi sopia useimpiin 12 V: n latausjärjestelmiin.

Puolijohderele

Koska tämä esimerkkiprojekti ohjaa lämminvesivaraajaa (resistiivinen kuorma), Solid State -rele on ihanteellinen. Jos haluat kytkeä moottorin päälle tai pois päältä, käynnistää generaattorin jne., Keskustele sähköasentajasi kanssa sopivasta releestä. Jos tarvitset suuritehoista relettä, voit kytkeä virranreleen päälle ja pois päältä käyttämällä pientä releasemaa arduino -kortin vieressä.

Puolijohdereleistä on saatavana monia versioita. Varmista, että ostat laitteen, joka kestää lämmittimesi virran ja jännitteen ja jota voidaan ohjata 5 V: n tasavirralla ja muutamalla milliampeerilla, jotka ovat saatavilla Arduinon ulostulotapista. Tässä käytetty FOTEK SSR-40 DA kytkeytyy jopa 380 VAC: iin 40 ampeerilla ja sitä ohjaa mikä tahansa yli 3 V: n tasavirta ja kestää alle 7 mA.

Sinun on käytettävä jäähdytyselementtiä ja levitettävä HIENA jäähdytyselementti- tai lämpörasvaa puolijohdereleen takaosaan, ennen kuin kiinnität sen jäähdytyselementtiin. Ajatuksena on peittää pinta kokonaan ohuimmalla kerroksella, joka täyttää metallin pinnan mikroskooppiset laaksot. Kun puolijohdekytkin kytketään päälle, jännite laskee 1,6 V, mikä tuottaa 16 wattia lämpöä 10 ampeerilla. Jäähdytyselementin on päästävä eroon tästä lämmöstä, joten se on asennettava vapaaseen ilmaan, ei muovilaatikon sisään.

Viiveet ovat pahoja

GPRS -kilpi toimittaa tekstiviestejä sarjayhteyden kautta milloin tahansa, ja pääsilmukkasi () on soitettava cmd = parser.parse (); usein sarjatietojen käsittelemiseksi ennen kuin Arduino -kirjaston koodin 64 -tavuinen puskuri täyttyy ja tiedot katoavat.

Joten sinun on pidettävä pääsilmukka () käynnissä nopeasti. Älä koskaan käytä viivettä () ja tarkista, ettei käyttämissäsi kirjastoissa ole viiveitä. Käyttäen SIM900: n oletusarvoista 19200 baudinopeutta laitteistosarjan kautta, en ole havainnut tarpeelliseksi lisätä puskurin kokoa Arduino -kirjastokoodissa. En käytä Software Serialia, vain Serial ja Serial1, Hardware Serial -yhteyksiä ja lähes kaikki pfodAppin lähettämät viestit ovat hyvin pieniä, 10 tai 12 tavua. Voit kuitenkin halutessasi suurentaa Arduino -puskurin kokoa muokkaamalla HardwareSerial.h: n määritelmää arvosta #define SERIAL_BUFFER_SIZE 64 arvoon #define SERIAL_BUFFER_SIZE 128

Huomasin kuitenkin, että jos otin käyttöön virheenkorjauslähdön, kuten alla on kuvattu, minun piti olla erittäin nopea siirtonopeus pääteyhteydelle, muuten virheenkorjausviestien lähettäminen terminaaliin aiheutti viiveen, joka aiheutti osien tekstiviestien menettämisen.

Asennus

Lisäsin ruuviliittimen suojan, joten minulla oli jotain, johon kytkeä puolijohdereleiden johdot. En ole vielä saanut sähköasentajaani asentamaan ohjainta. Se on asetettava eristettyyn laatikkoon, mutta jäähdytyselementti tulee ulos aukosta ja kytketään kuumavesijohtoon.

Vaihe 3: Ehdotuksia lisäparannuksiksi - hälytykset, tietojen kirjaaminen ja piirtäminen

Yllä oleva esimerkkiprojekti näyttää vain kuinka vesi on päällä tai pois ja voit vaihtaa sen. Mutta SMS -yhteys käsittelee kaikki pfod -viestit (katso pfodSpecification.pdf)

Jos lisäät lämpötila -anturin arduinoosi, voit myös lähettää monitorin lämpötilan ja lähettää lukemia takaisin säännöllisin väliajoin. Jos haluat lähettää datan lukemisen takaisin Bluetoothilla, wifi: llä tai tekstiviestillä, lisää vain alla olevan esimerkin mukainen koodi. Katso lisätietoja ja esimerkkejä tietojen kirjaamisesta ja piirtämisestä kohdasta Tietojen kirjaaminen ja piirtäminen.

parser.println (aika); parser.print (','); parser.println (lämpötila);

Kun pfodSMS -kirjasto näkee uuden rivin println (): sta, se lähettää raakatiedot tekstiviestinä. Jätä matkapuhelimessasi vain pfodApp käynnissä taustalle, ja matkapuhelimesi ilmoittaa sinulle, kun tekstiviesti on vastaanotettu. Avaa pfodApp uudelleen tuodaksesi sen eteen ja avaa sitten Raw Data -näyttö matkapuhelimen valikosta nähdäksesi tiedot. Huomautus: pfodSMS-viestit ovat UTF-8-merkkejä sekä yhteys- ja viestinumerot, ja ne koodaavat Base64-koodauksella, joten ne eivät näytä normaalilta tekstiltä. Katso kaikki tiedot pfodSMS -viestien suunnittelusta.

Voit käyttää samaa prosessia lähettääksesi hälytyksen, kun jotain muuttuu etänä. eli parser.println (F ("Ulkolämpötila alle 0 ℃")); Huomaa: merkkijonon ℃ UTF-8-merkki. pfodSMS välittää kaikki UTF-8-merkit pfodApp-sovellukseen.

Vaihe 4: Virheenkorjaus käytettäessä PfodParser -kirjaston SMS -yhteyttä

Virheenkorjaus käytettäessä PfodParser -kirjaston SMS -yhteyttä
Virheenkorjaus käytettäessä PfodParser -kirjaston SMS -yhteyttä
Virheenkorjaus käytettäessä PfodParser -kirjaston SMS -yhteyttä
Virheenkorjaus käytettäessä PfodParser -kirjaston SMS -yhteyttä

PfodDesigner luo koodin, joka toimii, mutta haluat ehkä korjata oman ylimääräisen koodisi tai katsoa mitä tapahtuu GPRS -suojauksen käynnistyksen tai tekstiviestien vastaanottamisen aikana. Voit ottaa pari lähestymistapaa.

Oman koodin virheenkorjaus

Jos virheenkorjaat omaa koodiasi, voit kommentoida pfodSMS -linjaa ja liittää jäsentimen sarjaan ja poistaa sitten GPRS -suojauksen ja suorittaa Megan Arduino -päätelaitteesta. eli muuta asetus () arvoon

//pfodSMS.init(&Serial, 9); // älä käynnistä GPRS -suojauksen jäsennintä.connect (& Serial); // liitä jäsennin sarjaan tekstiviestivirran sijaan

Sitten voit kirjoittaa Arduinon päätelaitteesta {.}, Jotta Mega palauttaa päävalikon ja lähettää sitten takaisin suoritettavan komennon, esim. {A`1} kytkeäksesi releen päälle ja {A`0} sammuttaaksesi sen. (PfodApp lähettää nämä viestit yleensä puolestasi, kun napsautat liukusäädintä.) Lisää sitten ylimääräinen virheenkorjaus parser.println (), niin voit seurata lisäämääsi lisäkoodia.

GPRS -suojauksen seuranta

Jos haluat nähdä, mitä GPRS -suoja tekee. Kuinka se käynnistyy, vastaanottaa tekstiviestejä jne. Sitten sinun on vaihdettava suojajohdot liittämällä se Mega Serial1: een (sarjaliitäntä) ja vapauttamalla sarjaportti (USB) debug -lähtöä varten Arduino IDE Monitoriin.

Jos haluat yhdistää GPRS -suojan Mega 2560 Serial1 -laitteeseen, poista yllä olevat linkit ja lisää johdot Megan TX1- ja RX1 -nastoihin.

Vaihda sitten setup () -koodiksi

void setup () {Serial1.begin (19200); // muuta sarja sarjaksi 1 sarja Serial.begin (57600); // HUOMAA USB -sarjaportin nopea siirtonopeus // Arduino IDE -näytölle. for (int i = 3; i> 0; i--) {// odota muutama sekunti nähdäksesi, onko meille ohjelmoitu viive (1000); } pinMode (cmd_A_pin, OUTPUT); pfodSMS.setDebugStream (& Sarja); // täytyy tehdä tämä ennen pfod_SMS.init // tai muuta pfod_SMS -menetelmäkutsua // alustaa tekstiviesti ja liittää jäsennin // muuttaa seuraava rivi muotoon Serial1 pfodSMS.init (& Serial1, 9); // liitä Seeed GPRS shield V2 Serial1: een Serial parser.setDebugStream (& Serial); // täytyy tehdä tämä ennen kuin parser.connect // tai mikä tahansa muu jäsennysmenetelmä kutsuu parser.connect (& pfodSMS); // liitä jäsennin tekstiviestivirtaan}

Nyt voit poistaa kommentit joistakin vianetsintäasetuksista pfodPMSer -kirjastossa tiedoston pfodSMS_SIM900.cpp tiedostossa.

Esimerkiksi kommentoinnin poistaminen #define DEBUG_SETUP tulostaa (virheenkorjausvirralle), mitä tapahtuu samalla, kun GPRS-suojaa käynnistetään ja se on valmis vastaanottamaan tekstiviestejä.

Kommentoimatta jättäminen #define DEBUG antaa paljon tietoa vastaanotetuista tekstiviesteistä.

Se siitä !

Suositeltava: