Sisukord:
- Samm: kiirkäivitus - SMS -kaugjuhtimispult
- 2. samm: rohkem üksikasju
- 3. samm: soovitused edasisteks täiustusteks - hoiatused, andmete logimine ja joonistamine
- 4. samm: silumine PfodParseri teegis SMS -ühenduse kasutamisel
Video: Usaldusväärne, turvaline ja kohandatav SMS -kaugjuhtimispult (Arduino/pfodApp) - kodeerimist pole vaja: 4 sammu
2024 Autor: John Day | [email protected]. Viimati modifitseeritud: 2024-01-30 08:47
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
Siin on kiirjuhend oma SMS -i sooja vee juhtimise loomiseks.
- Ostke selles loendis olevad osad..
- Installige Arduino IDE versioon 1.5.8 ning laadige alla ja installige teek pfodParser.
- Laadige alla tasuta pfodDesigner.
- Kujundage oma kohandatud menüü, et digitaalsisend Android -mobiiltelefoni menüüliugurist sisse ja välja lülitada.
- Looge kood, valides ühenduseks SeeedStudio SIM900 GPRS -kilbi. (Samuti on olemas IteadStudio SIM900 kilbi võimalus).
- Teisaldage loodud kood oma mobiiltelefonist IDE -sse (vt üksikasju pfodAppForAndroidGettingStarted.pdf), lisage oma salasõna, kompileerige ja laadige alla Arduino Mega 2560 -le.
- Paigaldage oma SIM -kaart GPRS -i kaitsekilpi ja ühendage kilp Mega 2560 -ga. Veenduge, et jadalinkid on seadistatud riistvara jadale, nagu ülal näidatud.
- Ü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.
- Ühendage Mega USB -toitega. Raamatukogu kood aktiveerib teie jaoks GPRS -kaitse.
- 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.
- Ühendage ja vaadake oma kohandatud menüüd SMS -i kaudu. Relee sisse- või väljalülitamiseks klõpsake nuppu.
- 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
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:
Lisage ventilaator arvuti jahutusradiaatorisse - kruvisid pole vaja: 5 sammu
Ventilaatori lisamine arvuti jahutusradiaatorisse - kruvisid pole vaja: Probleem: mul on (oli) minu failiserveris emaplaat, millel on ventilaatorita jahutusradiaator minu arvates põhjasilla kohal. Vastavalt anduriprogrammile (ksensors), mis mul Fedoras jooksis, oli emaplaadi temperatuur umbes 190 kraadi. Minu süles
Chrome'i veebilaiend - eelnevat kodeerimiskogemust pole vaja: 6 sammu
Chrome'i veebilaiend - eelnevat kodeerimiskogemust pole vaja: Chrome'i laiendused on väikesed programmid, mis on loodud kasutajate sirvimiskogemuse täiustamiseks. Lisateavet Chrome'i laienduste kohta leiate aadressilt https://developer.chrome.com/extensions. Chrome'i veebilaiendi loomiseks on vaja kodeerimist, seega on HT ülevaatamine väga kasulik
Sisseehitatud IoT õhukvaliteedi anduri ehitamine Pilve pole vaja: 10 sammu
Sisseehitatud IoT õhukvaliteedi anduri ehitamine ei vaja pilve: sise- või välisõhu kvaliteet sõltub paljudest saasteallikatest ja ka ilmast. See seade salvestab 2 anduri kiibi abil mõned tavalised ja mõned kõige huvitavamad parameetrid. Temperatuur Niiskus Rõhk Orgaaniline gaas Mikro
ESP32-CAM Jäädvustage fotosid ja saatke e-posti teel SPIFF Memmory abil. -- SD -kaarti pole vaja: 4 sammu
ESP32-CAM Jäädvustage fotosid ja saatke e-posti teel SPIFF Memmory abil. || SD-kaarti pole vaja: Tere inimesed! ESP32-CAM-plaat on odav arendusplaat, mis ühendab endas ESP32-S kiibi, OV2640 kaamera, mitu GPIO-d välisseadmete ühendamiseks ja microSD-kaardi pesa. Sellel on mitmeid rakendusi, alates video voogesituse veebiserverist
Tehke oma nutitelefonile lihtne rakendus (pole vaja kodeerida): 10 sammu
Tehke oma nutitelefonile lihtne rakendus (pole vaja kodeerida): UUENDAMINE: See tehnika on vananenud, nüüd on rakenduse loomiseks mitmeid muid viise .. see ei pruugi enam töötada. Minu esimene avaldatud rakendus on Androidi rakenduses allalaadimiseks saadaval Turg siin. Järgnev on kiire õpetus selle kohta, kuidas praktiliselt kõik