Sisukord:

Usaldusväärne, turvaline ja kohandatav SMS -kaugjuhtimispult (Arduino/pfodApp) - kodeerimist pole vaja: 4 sammu
Usaldusväärne, turvaline ja kohandatav SMS -kaugjuhtimispult (Arduino/pfodApp) - kodeerimist pole vaja: 4 sammu

Video: Usaldusväärne, turvaline ja kohandatav SMS -kaugjuhtimispult (Arduino/pfodApp) - kodeerimist pole vaja: 4 sammu

Video: Usaldusväärne, turvaline ja kohandatav SMS -kaugjuhtimispult (Arduino/pfodApp) - kodeerimist pole vaja: 4 sammu
Video: Meediakriitika | "Võitleva Sõna" tagasitulek Eesti ajakirjandusse. Järgmisena Noorte Hääl? 2024, September
Anonim
Usaldusväärne, turvaline ja kohandatav SMS -kaugjuhtimispult (Arduino/pfodApp) - kodeerimist pole vaja
Usaldusväärne, turvaline ja kohandatav SMS -kaugjuhtimispult (Arduino/pfodApp) - kodeerimist pole vaja

Värskendus 6. juulil 2018: siin on saadaval selle projekti 3G/2G versioon, mis kasutab SIM5320

Värskendus: 19. mai 2015: kasutage raamatukogu pfodParser versiooni 2.5 või uuemat. See lahendab teatatud probleemi, mis ei võimalda kilbil pärast sisselülitamist piisavalt aega võrguga ühenduda

Sissejuhatus

Kuidas erineb pfodSMS kaugjuhtimispult teistest rakendustest:-

  • See on usaldusväärne-käskudele vastatakse alati ja kadunud sõnumeid küsitakse uuesti
  • See on turvaline - kasutab 128 -bitist paroolikaitset
  • See ei nõua kolmandate osapoolte veebiteenuste kontosid - vajab ainult aktiivset SIM -kaarti (ilma PIN -koodita)
  • See on kohandatav - pfodDesigneri abil saate luua oma kohandatud menüü
  • See on lihtne - pfodDesigner genereerib kogu koodi. Te ei pea mingit kodeerimist tegema.
  • See on paindlik-kõik pfod-ekraanid on saadaval SMS-i teel, nagu alammenüüd, mitme ja ühe valiku loend, tekstisisestus, andmete logimine ja joonistamine.

Vaadake pfodSMS -i sõnumikujundust, kuidas SMS -ühendus usaldusväärseks muuta. 128 -bitise turvalisuse üksikasjad leiate jaotisest Väljakutse ja vastuse turvalisus Interneti -ühendusega pfodDevices. Vaadake oma kohandatud menüü koostamise üksikasju pfodDesigneri, Androidi / Arduino lihtsate menüüde kohta. Kõikide pfod -sõnumite ja ekraanide üksikasjad, mida saate ise lisada, leiate lehelt pfodSpecification.pdf.

Näidisprojekt - SMS kuuma vee juhtimine

Näidisprojektina kirjeldab see juhend, kuidas soojaveeboilerit SMS -i abil sisse ja välja lülitada ning kontrollida, kas see on sisse või välja lülitatud. Selle paigaldamiseks vajate elektrikut.

Samm: kiirkäivitus - SMS -kaugjuhtimispult

Kiire algus - SMS -kaugjuhtimispult
Kiire algus - SMS -kaugjuhtimispult
Kiire algus - SMS -kaugjuhtimispult
Kiire algus - SMS -kaugjuhtimispult

Siin on kiirjuhend oma SMS -i sooja vee juhtimise loomiseks.

  1. Ostke selles loendis olevad osad..
  2. Installige Arduino IDE versioon 1.5.8 ning laadige alla ja installige teek pfodParser.
  3. Laadige alla tasuta pfodDesigner.
  4. Kujundage oma kohandatud menüü, et digitaalsisend Android -mobiiltelefoni menüüliugurist sisse ja välja lülitada.
  5. Looge kood, valides ühenduseks SeeedStudio SIM900 GPRS -kilbi. (Samuti on olemas IteadStudio SIM900 kilbi võimalus).
  6. Teisaldage loodud kood oma mobiiltelefonist IDE -sse (vt üksikasju pfodAppForAndroidGettingStarted.pdf), lisage oma salasõna, kompileerige ja laadige alla Arduino Mega 2560 -le.
  7. Paigaldage oma SIM -kaart GPRS -i kaitsekilpi ja ühendage kilp Mega 2560 -ga. Veenduge, et jadalinkid on seadistatud riistvara jadale, nagu ülal näidatud.
  8. Ühendage digitaalne väljund tahkisrežiimi või tavalise releega D3 ja GND vahel (või mis tahes ppodDesigneris valitud tihvtiga). Releede kohta lisateabe saamiseks vaadake jaotist Arduinole releede lisamine.
  9. Ühendage Mega USB -toitega. Raamatukogu kood aktiveerib teie jaoks GPRS -kaitse.
  10. Installige oma Android -mobiilile pfodApp ja seadistage SMS -ühendus kilbi SIM -telefoniga nr. (üksikasju vt pfodAppForAndroidGettingStarted.pdf). Määrake ühenduse parool, kui olete selle lisanud.
  11. Ühendage ja vaadake oma kohandatud menüüd SMS -i kaudu. Relee sisse- või väljalülitamiseks klõpsake nuppu.
  12. Laske oma elektrikul paigaldada relee oma kuuma vee vooluringi ja ühendada USB toiteallikas Mega ja kilbi toiteks

2. samm: rohkem üksikasju

pfodDesigner

PfodDesigner genereerib kogu koodi, mida vajate tahkis-oleku või mõne muu relee sisse- ja väljalülitamiseks, kuid pfodParseri teeki SMS-ühendus toetab kõiki pfod-ekraane, nii et kui olete alustanud, saate lisada alammenüüsid, numbriliugureid, mitme tekstiga liugurid, tekstisisestusekraanid, andmete logimine ja joonistamine SMS-i teel. Vaadake pfodSpecification.pdf kõigi toetatud ekraanide ja sõnumite kohta.

Loodud kood on siin. Sellel pole kiiret ja ainult üks lüliti, et sõnum lühikeseks hoida. Pikad menüüd saadetakse mitme SMS -sõnumi kaudu, mille saabumine võtab kauem aega. Kui teil on pikk menüü, siis pfodParseri teegis olev sms -ühenduse kood haldab seda kõike teie eest.

SMS -ühenduse parooli lisamiseks muutke rida

parser.connect (& pfodSMS); // ühenda parser SMS -vooga millegi sarnasega parser.connect (& pfodSMS, F ("173057F7A706AF9BBE65D51122A14CEE"));

kuid kasutage oma parooli, mis koosneb kuni 32 kuuekohalisest numbrist, 0..9 A.. F. Paroolid, mis on lühemad kui 32 kuuekohalist numbrit, on täidetud 0 -ga. Vaadake jaotist Lihtne Wifi/Interneti pfodDevice 128 -bitise turvalisusega (Arduino), kuidas genereerida juhuslikku parooli ja väljastada see QR -koodi, et seda oleks lihtne Androidi sisestada. Vaadake ka pfodAppForAndroidGettingStarted.pdf

PfodDesigner loob ka koodi bluetoothi ja WiFi -ühenduste jaoks jada- ja Etherneti kaudu SPI kaudu, kõik koos valikulise 128 -bitise turvalisusega

pfodApp

Esimene asi, mida mõista, on see, et SMS on lohakas ja ei pruugi üldse kohale jõuda või saabuda. Nii et kui loote ühenduse pfodAppiga, tekib SMS -i vastuse saamiseks viivitus. Kui sõnum kadus või viibis, saadab pfodApp selle automaatselt uuesti 3 minuti pärast. Pärast viit sellist uuesti proovimist teatab pfodApp, et ühendus on katkenud. Saate reguleerida 3 -minutilist aega pfodAppi ühenduse redigeerimise ekraanil.

Kui lisate parooli, saadetakse kuus SMS -i (kolm suunda), enne kui pfodApp võtab vastu peamenüü. Need lisasõnumid ilmuvad ainult esmase ühenduse korral, pärast mida pole parooli kasutamisel lisateateid. Nii et alustage ilma paroolita, et näha, et kõik töötab, ja lisage parool hiljem.

SMS/GPRS -kilp

Võimalikud probleemid on SIM -kaardid, mis on kaitstud PIN -koodidega või millel pole volitusi võrguga ühenduse loomiseks. Pfod -teek lülitab GPRS -kilbi automaatselt sisse ja otsib vastust kõneks. Kui see vastus ei jõua, lülitub teek välja ja proovib uuesti, nii et kui näete, et GPRS -kilbi toitetuli süttib 20 sekundit ja seejärel kustub, on võrguga ühenduse loomisel probleem. Võtke SIM -kaart välja ja proovige seda tavalises telefonis. Kontrollige, kas teilt ei küsita PIN -koodi.

Kui see pole probleem, peate toimuva nägemiseks sisse lülitama käivitamise silumise, nagu allpool kirjeldatud.

Mega / GPRS -kilbi toide

Kilp tõmbab impulsi kuni 2A ja pidevalt kuni 0,5A. Eeldades 12 V akut, ületab 0,5A pardal oleva toiteallika võimsust. Seega ei tohiks see kilp toita Mega 7V kuni 12V sisendist. Alternatiiviks on Mega ja kilbi toide USB -ühenduse kaudu. Kasutasin 1A USB -toiteallikat. Testimiseks kasutasin Belkini toitega jaoturit (F4U020), et vältida arvuti USB -porti liigse voolu tõmbamist.

12 V akutoite jaoks soovitan kasutada kvaliteetset 1A või kõrgema laadimise USB 5V laadijat. Kvaliteetne Automotive USB 5V toide peaks olema kavandatud nii, et see käsitleks auto elektrisüsteemides esinevaid ülepingepingeid ja peaks sobima enamiku 12 V laadimissüsteemide jaoks.

Tahkis -relee

Kuna see näiteprojekt reguleerib kuumaveekütteseadet (takistuslik koormus), on tahkisrelee ideaalne. Kui soovite mootoreid sisse või välja lülitada, käivitada generaatoreid jne, rääkige oma elektrikuga sobiva relee kohta. Kui vajate suure võimsusega releed, saate toitelüliti sisse- ja väljalülitamiseks kasutada väikest releeajamit arduino plaadi juures.

Saadaval on palju tahkisrelee versioone. Veenduge, et ostate selle, mis suudab teie kütteseadme voolu ja pinget taluda ning mida saab juhtida 5 V alalisvoolu ja mõne milliamperiga, mis on saadaval Arduino väljundtihvist. Siin kasutatav, FOTEK SSR-40 DA, lülitub 40Amps juures kuni 380VAC ja seda juhib mis tahes asi rohkem kui 3V alalisvool ja võtab vähem kui 7mA.

Peate kasutama jahutusradiaatorit ja kandma tahkisrelee tagaküljele õhukese jahutusradiaatori ühendi või termilise määrde, enne kui selle jahutusradiaatorile kruvidega kinni keerate. Idee on katta pind täielikult peenema valamuühendi kõige õhema kihiga, et täita metalli pinna mikroskoopilised orud. Tahkislüliti sisselülitamisel langeb 1,6 V, mis tekitab 16 vatti soojust kiirusel 10 amprit. Jahutusradiaator peab sellest kuumusest lahti saama, nii et see tuleb paigaldada vabasse õhku, mitte plastkarbi sisse.

Viivitused on kurjad

GPRS -kilp edastab SMS -e jadaühenduse kaudu igal ajal ja teie põhisilmus () peab helistama cmd = parser.parse (); sageli, et seeriaandmeid töödelda enne, kui Arduino raamatukogu koodis olev 64 -baitine puhver täitub ja andmed kaovad.

Nii et peate oma põhiahelat () kiiresti töötama. Ärge kunagi kasutage viivitust () ja kontrollige, kas üheski kasutatavas raamatukogus pole viivitusi. Kasutades riistvara jada kaudu SIM900 vaikimisi 19200 baudikiirust, pole ma pidanud vajalikuks puhvri suurust Arduino raamatukogu koodis suurendada. Ma ei kasuta Tarkvara jadat, ainult Serial ja Serial1, riistvara jadaühendusi ja peaaegu kõik sõnumid, mida pfodApp saadab, on väga väikesed, 10 või 12 baiti. Siiski saate soovi korral Arduino puhvri suurust suurendada, muutes HardwareSerial.h määratlust väärtuselt #define SERIAL_BUFFER_SIZE 64 väärtusele #define SERIAL_BUFFER_SIZE 128

Siiski leidsin, et kui lubasin silumisväljundi, nagu allpool kirjeldatud, pidin terminaliühenduse jaoks olema väga kiire edastuskiirusega, vastasel juhul põhjustas silumisõnumite saatmine terminalile viivituse SMS -sõnumite osade vahelejätmise eest..

Paigaldamine

Lisasin kruviklemmikilbi, nii et mul oli midagi, millega tahkis -relee juhtmed ühendada. Ma pole veel lasknud oma elektrikul kontrollerit paigaldada. See tuleb panna isoleeritud kasti, kuid jahutusradiaator peab pesast välja paistma ja kuuma vee toitejuhtme külge juhtima.

3. samm: soovitused edasisteks täiustusteks - hoiatused, andmete logimine ja joonistamine

Ülaltoodud näidisprojekt kuvab lihtsalt vee sisse- ja väljalülitamise viisi ning võimaldab seda vahetada. Kuid SMS -ühendus haldab kõiki pfod -sõnumeid (vt pfodSpecification.pdf)

Kui lisate arduinole temperatuurianduri, saate ka temperatuuri jälgida ja regulaarselt tagasi saata. Andmete lugemise tagasisaatmiseks on Bluetoothi, wifi või SMS -i puhul sama, lisage lihtsalt kood, nagu allpool näidatud. Lisateavet ja näiteid andmete logimise ja joonistamise kohta leiate jaotisest Andmete logimine ja joonistamine.

parser.println (aeg); parser.print (','); parser.println (temperatuur);

Kui teek pfodSMS näeb println () uut rida, saadab see algandmed SMS -ina. Jätke oma mobiiltelefonis lihtsalt taustal töötav pfodApp ja teie mobiil teavitab teid SMS -i saabumisest. Avage pfodApp uuesti, et see esiplaanile tuua, ja seejärel avage andmete nägemiseks mobiiltelefoni menüüst toorainete ekraan. Märkus: pfodSMS-sõnumid koos UTF-8 tähemärkidega koos ühenduse ja sõnumite numbritega kodeeritakse Base64-kodeeringuga, nii et need ei näeks välja nagu tavaline tekst. Vaadake üksikasju pfodSMS -i sõnumikujundusest.

Sama protsessi saate kasutada hoiatusteate saatmiseks, kui midagi eemalt muutub. st parser.println (F („Välistemperatuur alla 0 ℃“)); Märkus: stringi ℃ UTF-8 märk. pfodSMS edastab kõik UTF-8 märgid pfodAppile.

4. samm: silumine PfodParseri teegis SMS -ühenduse kasutamisel

Silumine PfodParseri raamatukogus SMS -ühenduse kasutamisel
Silumine PfodParseri raamatukogus SMS -ühenduse kasutamisel
Silumine PfodParseri raamatukogus SMS -ühenduse kasutamisel
Silumine PfodParseri raamatukogus SMS -ühenduse kasutamisel

PfodDesigner loob koodi, mis töötab, kuid võiksite siluda oma lisakoodi või vaadata, mis toimub GPRS -kilbi käivitamisel või SMS -ide vastuvõtmisel. Võite kasutada paar lähenemisviisi.

Oma koodi silumine

Kui silute oma koodi, võite lihtsalt kommenteerida pfodSMS -i rida ja ühendada parser Serialiga, seejärel eemaldada GPRS -kilp ja käivitada Mega Arduino terminalist. st muuta seadistus () väärtuseks

//pfodSMS.init(&Serial, 9); // ärge käivitage GPRS -kilbi parserit.connect (& Serial); // ühendage parser SMS -voo asemel jadaseadmega

Seejärel saate Arduino terminalist sisestada {.}, Et Mega naastaks peamenüüsse ja saadaks seejärel käsu, mida soovite täita, nt. Relee sisselülitamiseks {A`1} ja selle väljalülitamiseks {A`0}. (Tavaliselt saadab pfodApp need sõnumid teie eest, kui klõpsate liuguril.) Seejärel lisage täiendav silumine parser.println (), et jälgida, mida teie lisakood teeb.

GPRS -kilbi jälgimine

Kui soovite näha, mida GPRS -kilp teeb. Kuidas see käivitub, SMS -sõnumeid saab jne. Seejärel peate varjestust vahetama, ühendage see Mega Serial1 -ga (jadaühendus) ja vabastage jadaliides (USB) silumisväljundi jaoks Arduino IDE monitorile.

GPRS -kilbi ühendamiseks Mega 2560 Serial1 -ga eemaldage ülaltoodud lingid ja lisage juhtmed Mega TX1 ja RX1 tihvtidele.

Seejärel muutke setup () koodi väärtuseks

void setup () {Serial1.begin (19200); // muuda jada 1 -seeriaks Serial.begin (57600); // MÄRKUS Arduino IDE monitori // USB jadapordi // kiiret edastuskiirust. for (int i = 3; i> 0; i--) {// oodake mõni sekund, et näha, kas meil on programmeeritud viivitus (1000); } pinMode (cmd_A_pin, VÄLJUND); pfodSMS.setDebugStream (& Serial); // seda tuleb teha enne pfod_SMS.init // või mõnda muud pfod_SMS meetodi kutsumist // SMS -i initsialiseerimine ja parseri ühendamine // järgmise rea muutmine Serial1 pfodSMS.init (& Serial1, 9); // ühenda Seeed GPRS kilp V2 Serial1 asemel Serial parser.setDebugStream (& Serial); // seda tuleb teha enne parser.connect // või mõnda muud parsimismeetodit call parser.connect (& pfodSMS); // ühenda parser SMS -i vooga}

Nüüd saate tühistada mõningaid silumisseadeid pfodSMS_SIM900.cpp faili pfodParser teegis.

Näiteks kommenteerimise tühistamine #define DEBUG_SETUPprindib (silumisvoogu) välja, mis toimub GPRS-kilbi sisselülitamisel ja SMS-sõnumite vastuvõtmiseks ettevalmistamisel.

Kommenteerimata jätmine #define DEBUG annab palju teavet vastuvõetud SMS-ide kohta.

See on kõik!

Soovitan: