Përmbajtje:
2025 Autor: John Day | [email protected]. E modifikuara e fundit: 2025-01-13 06:58
Përditësimi 6 Korrik 2018: Një version 3G/2G i këtij projekti, duke përdorur SIM5320, është i disponueshëm këtu
Përditësim: 19 maj 2015: Përdorni bibliotekën pfodParser Version 2.5 ose më të lartë. Ai rregullon një problem të raportuar për të mos lejuar kohë të mjaftueshme që mburoja të lidhet me rrjetin pas ndezjes
Prezantimi
Si ndryshon telekomanda pfodSMS nga zbatimet e tjera:-
- Isshtë e besueshme-komandave u përgjigjen gjithmonë dhe mesazhet e humbura kërkohen përsëri
- Secshtë e Sigurt - përdor mbrojtje me fjalëkalim 128 bit
- Nuk kërkon llogari të shërbimit të uebit të palëve të treta - ka nevojë vetëm për kartë SIM aktive (pa kunj)
- Isshtë i personalizueshëm - mund të përdorni pfodDesigner për të krijuar menunë tuaj të personalizuar
- Easyshtë e lehtë - pfodDesigner gjeneron të gjithë kodin. Nuk keni nevojë të bëni ndonjë kodim.
- Fshtë fleksibël-të gjitha ekranet pfod janë të disponueshme përmes SMS, si nën-menutë, lista të përzgjedhjes shumë dhe të vetme, futja e tekstit, regjistrimi i të dhënave dhe vizatimi.
Shihni dizajnin e mesazheve pfodSMS për mënyrën se si lidhja SMS është bërë e besueshme. Shihni Sfida dhe Siguria e Përgjigjes për pajisjet e lidhura me internet pfodPajisjet për detajet e sigurisë 128bit. Shihni pfodDesigner, menutë Android / Arduino të thjeshta për detaje mbi hartimin e menusë tuaj të personalizuar. Shihni pfodSpecification.pdf për detajet e të gjitha mesazheve dhe ekraneve të pfod që mund t'i shtoni vetë.
Shembull Projekti - SMS Kontrolli i ujit të nxehtë
Si një projekt shembull ky udhëzues përshkruan se si të ndizni dhe fikni ngrohësin tuaj të ujit të nxehtë përmes SMS dhe të kontrolloni nëse është ndezur ose fikur. Do t'ju duhet një elektricist për ta instaluar atë.
Hapi 1: Fillimi i Shpejtë - Telekomandë SMS
Këtu është një udhëzues i fillimit të shpejtë për të ndërtuar kontrollin tuaj të ujit të nxehtë me SMS.
- Blini pjesët në këtë listë..
- Instaloni Arduino IDE versionin 1.5.8 dhe shkarkoni dhe instaloni bibliotekën pfodParser..
- Shkarkoni pfodDesigner falas.
- Hartoni menunë tuaj të personalizuar për të aktivizuar dhe çaktivizuar një hyrje dixhitale nga një rrëshqitës i menysë në celularin tuaj Android.
- Gjeneroni kodin, duke zgjedhur mburojën SeeedStudio SIM900 GPRS si lidhje. (Ekziston edhe një opsion për mburojën IteadStudio SIM900).
- Transferoni kodin e gjeneruar nga celulari juaj në IDE (shihni pfodAppForAndroidGettingStarted.pdf për detaje), shtoni fjalëkalimin tuaj sekret, përpiloni dhe shkarkoni në Arduino Mega 2560.
- Instaloni kartën tuaj SIM në mburojën GPRS dhe futeni mburojën në Mega 2560. Sigurohuni që lidhjet Seriale të jenë vendosur në Serialin e Pajisjeve siç tregohet më sipër..
- Lidhni daljen dixhitale me stafetën në gjendje të ngurtë, ose normale, midis D3 dhe GND (ose cilën pin të zgjedhur ndonjëherë në pfodDesigner). Shihni Si të Shtoni Relays në Arduino për më shumë detaje mbi stafetat..
- Aplikoni fuqinë USB në Mega. Kodi i bibliotekës fuqizon mburojën GPRS për ju.
- Instaloni pfodApp në celularin tuaj Android dhe vendosni një lidhje SMS me telefonin sim të mburojës nr. (shiko pfodAppForAndroidGettingStarted.pdf për detaje). Vendosni fjalëkalimin për lidhjen nëse shtoni një..
- Lidhuni dhe shihni menunë tuaj të personalizuar të shfaqur përmes SMS. Klikoni butonin për të ndezur ose fikur stafetën..
- Merrni elektricistin tuaj të instalojë stafetën në qarkun e Ujit tuaj të nxehtë dhe lidhni furnizimin me energji USB për të fuqizuar Mega dhe mburojën
Hapi 2: Më shumë detaje
pfodDesigner
PfodDesigner do të gjenerojë të gjithë kodin që ju nevojitet për të ndezur dhe fikur gjendjen e ngurtë ose ndonjë stafetë tjetër, por lidhja SMS në bibliotekën pfodParser mbështet të gjitha ekranet pfod, kështu që pasi të filloni, mund të shtoni nën-menutë, rrëshqitës numerikë, rrëshqitës të shumë teksteve, ekranet e futjes së tekstit, regjistrimi i të dhënave dhe vizatimi i të gjitha përmes SMS. Shikoni pfodSpecification.pdf për të gjitha ekranet dhe mesazhet e mbështetura.
Kodi i gjeneruar është këtu. Ajo nuk ka asnjë nxitim dhe vetëm një ndërprerës të vetëm për ta mbajtur mesazhin të shkurtër. Menutë e gjata dërgohen përmes mesazheve të shumta SMS të cilat kërkojnë më shumë kohë për të mbërritur. Nëse keni një menu të gjatë, kodi i lidhjes sms në bibliotekën pfodParser i trajton të gjitha këto për ju.
Për të shtuar një fjalëkalim në lidhjen tuaj SMS modifikoni linjën
parser.connect (& pfodSMS); // lidhni analizuesin me transmetimin SMS për diçka si parser.connect (& pfodSMS, F ("173057F7A706AF9BBE65D51122A14CEE"));
por përdorni fjalëkalimin tuaj deri në 32 shifra gjashtëkëndore, 0..9 A.. F. Fjalëkalimet më të shkurtër se 32 shifra gjashtëkëndore janë të mbushura me 0. Shihni Një pajisje të thjeshtë Wifi/Internet pfodDevice me siguri 128bit (Arduino) për mënyrën e krijimit të një fjalëkalimi të rastit dhe nxjerrjen e tij në një kod QR për hyrje të lehtë në Android tuaj. Shihni gjithashtu pfodAppForAndroidGettingStarted.pdf
PfodDesigner gjithashtu do të gjenerojë kod për lidhjet bluetooth dhe wifi nëpërmjet Serial dhe Ethernet nëpërmjet SPI të gjitha me siguri opsionale 128bit
pfodApp
Gjëja e parë që duhet kuptuar është se SMS është i ngadalshëm dhe mund të mos arrijë fare atje ose të mos dalë jashtë funksionit. Pra, kur lidheni me pfodApp do të ketë një vonesë para se të ketë një përgjigje SMS. Nëse mesazhi humbet ose vonohet, pfodApp do ta dërgojë atë automatikisht pas 3 minutash. Pas 5 riprovimeve të tilla pfodApp do t'ju tregojë se lidhja është e humbur. Mund të rregulloni kohën 3min në ekranin e redaktimit të lidhjes së pfodApp.
Nëse shtoni një fjalëkalim atëherë ka gjashtë mesazhe SMS (tre në secilën anë) para se menyja kryesore të merret nga pfodApp. Këto mesazhe shtesë ndodhin vetëm në lidhjen fillestare, pas së cilës nuk ka mesazhe shtesë kur përdorni një fjalëkalim. Pra, filloni pa një fjalëkalim për të parë që çdo gjë po funksionon dhe pastaj shtoni fjalëkalimin më vonë.
Mburoja e SMS/GPRS
Problemet e mundshme janë kartat SIM të mbrojtura me numra pin ose të paautorizuar për t'u lidhur me rrjetin. Biblioteka pfod fuqizon automatikisht mburojën GPRS dhe kërkon përgjigjen "gati për thirrje". Nëse kjo përgjigje nuk arrin biblioteka fiket dhe provohet përsëri, kështu që nëse shihni që drita e energjisë në mburojën GPRS të ndizet për 20 sekonda dhe më pas të fiket, ka një problem në lidhjen me rrjetin. Nxirrni kartën SIM dhe provojeni në një telefon normal. Kontrolloni që nuk ju kërkohet një numër pin.
Nëse ky nuk është problemi, atëherë do të duhet të aktivizoni korrigjimin fillestar, siç përshkruhet më poshtë, për të parë se çfarë po ndodh.
Fuqizimi i mburojës Mega / GPRS
Mburoja tërheq deri në 2A me impuls dhe deri në 0.5A vazhdimisht. Duke supozuar një furnizim me bateri 12V, 0.5A tejkalon kapacitetin e furnizimit me energji Mega në bord. Pra, kjo mburojë NUK duhet të fuqizohet nga hyrja 7V në 12V në Mega. Alternativa është të fuqizoni Mega dhe mburojën përmes lidhjes USB. Kam përdorur një furnizim USB 1A. Për testimin kam përdorur një shpërndarës të mundësuar nga Belkin (F4U020) për të parandaluar tërheqjen e rrymës së tepërt nga porta USB e kompjuterit tim.
Për një furnizim me bateri 12V, unë sugjeroj të përdorni një karikues cilësor USB 5V të automobilave, 1A, ose më të lartë. Një furnizim cilësor USB 5V i automobilave duhet të jetë i dizajnuar për të trajtuar goditjet e tensionit që ndodhin në sistemet elektrike të makinave dhe kështu duhet të jetë i përshtatshëm për shumicën e sistemeve të karikimit 12V.
Stafetë e gjendjes së ngurtë
Meqenëse ky shembull projekt po kontrollon një ngrohës me ujë të nxehtë, (një ngarkesë rezistente), një stafetë e Ngurtës është ideale. Nëse doni të ndizni ose fikni motorët, ndizni gjeneratorët etj, bisedoni me elektricistin tuaj për një stafetë të përshtatshme për punën. Nëse keni nevojë për një stafetë me fuqi të lartë, mund të përdorni një makinë të vogël stafetë pranë bordit arduino për të ndezur dhe fikur stafetën e energjisë.
Ka shumë versione të disponueshme stafetë me gjendje të ngurtë. Sigurohuni që blini në atë që mund të përballojë rrymën dhe tensionin e ngrohësit tuaj dhe mund të kontrollohet nga 5V DC dhe disa miliamps të disponueshme nga kunja e daljes Arduino. Ajo që përdoret këtu, FOTEK SSR-40 DA, kalon deri në 380VAC në 40Amps dhe kontrollohet nga çdo gjë më shumë se 3V dc dhe merr më pak se 7mA.
Ju duhet të përdorni një lavaman dhe duhet të aplikoni një njollë të hollë të përbërësit të lavamanit ose yndyrat termike në anën e pasme të stafetës së gjendjes së ngurtë para se ta lidhni me lavaman. Ideja është që të mbulohet plotësisht sipërfaqja me shtresën më të hollë të përbërësit të lavamanit të kokës për të mbushur luginat mikroskopike në sipërfaqen e metalit. Kur ndizet çelësi i gjendjes së ngurtë bie 1.6V i cili gjeneron 16Watts nxehtësi në 10Amps. Lavamani duhet të heqë qafe këtë nxehtësi, kështu që duhet të montohet në ajër të lirë, jo brenda një kutie plastike.
Vonesat janë të këqija
Mburoja GPRS jep mesazhe SMS përmes lidhjes Seriale në çdo kohë dhe laku juaj kryesor () duhet të thërrasë cmd = parser.parse (); shpesh për të përpunuar të dhënat Seriale para se tamponi 64 bajtësh në kodin e bibliotekës Arduino të mbushet dhe të dhënat të humbin Me
Kështu që ju duhet të mbani lakin tuaj kryesor () të funksionojë shpejt. Asnjëherë mos përdorni vonesë () dhe duhet të kontrolloni që asnjë nga bibliotekat që po përdorni nuk ka vonesa në to. Duke përdorur normën e paracaktuar 19200 baud të SIM900 përmes Serialit të Pajisjeve, nuk e kam parë të nevojshme të rris madhësinë e tamponit në kodin e bibliotekës Arduino. Unë nuk përdor Serial Software, vetëm Serial dhe Serial1, Lidhjet Seriale të Hardware, dhe pothuajse të gjitha mesazhet që dërgon pfodApp janë shumë të vogla, 10 ose 12 bajt. Sidoqoftë, mund të rrisni madhësinë e tamponit Arduino, nëse dëshironi, duke modifikuar definicionin në HardwareSerial.h nga #define SERIAL_BUFFER_SIZE 64 në #define SERIAL_BUFFER_SIZE 128
Sidoqoftë, ajo që zbulova ishte se nëse aktivizoja daljen në korrigjim, siç përshkruhet më poshtë, më duhej të kisha një normë shumë të shpejtë të baudit për lidhjen e terminalit, përndryshe vonesa e futur me dërgimin e mesazheve të korrigjimit në terminal bëri që pjesët e mesazheve SMS të humbisnin Me
Instalimi
Shtova një mburojë të terminalit të vidhave, kështu që kisha diçka për të lidhur telat e stafetë të Solid State. Ende nuk e kam instaluar elektricistin tim kontrolluesin. Duhet të futet në një kuti të izoluar, por me lavaman që del jashtë përmes një foleje dhe lidhet me prizën e energjisë së ujit të nxehtë.
Hapi 3: Sugjerime për Përmirësime të Mëtejshme - Paralajmërime, Regjistrimi i të Dhënave dhe Komplotimi
Shembulli i projektit të mësipërm vetëm që tregon se si ndizet ose fiket uji dhe ju lejon ta ndizni atë. Por lidhja SMS trajton të gjitha mesazhet pfod (shiko pfodSpecification.pdf)
Nëse i shtoni sensorin e temperaturës arduino -s tuaj, ju gjithashtu mund të dërgoni monitorimin e temperaturës dhe dërgimin e leximeve prapa në intervale të rregullta. Për të dërguar një lexim të të dhënave është e njëjtë për bluetooth, wifi ose SMS, thjesht shtoni kodin si mostra më poshtë. Shihni Regjistrimi dhe Komplotimi i të Dhënave për më shumë detaje dhe shembuj të regjistrimit dhe komplotimit të të dhënave.
parser.println (koha); parser.print (','); parser.println (temperatura);
Kur biblioteka pfodSMS shikon linjën e re nga println (), do të dërgojë të dhënat e papërpunuara si SMS. Në celularin tuaj, thjesht lini pfodApp të funksionojë në sfond dhe celulari juaj do t'ju njoftojë kur të merret një SMS. Hapni përsëri pfodApp për ta sjellë atë përpara dhe më pas hapni ekranin e të dhënave të papërpunuara nga menyja e celularit për të parë të dhënat. Shënim: Mesazhet pfodSMS janë karaktere UTF-8 së bashku me lidhjen dhe numrat e mesazheve, kodojnë duke përdorur një kodim Base64 në mënyrë që të mos duken si tekst normal. Shikoni modelin e mesazheve pfodSMS për të gjitha detajet.
Ju mund të përdorni të njëjtin proces për të dërguar një alarm kur diçka ndryshon nga distanca. dmth parser.println (F ("Temperatura e Jashtme nën 0 ℃")); Shënim: karakteri ℃ UTF-8 në varg. pfodSMS i kalon të gjithë personazhet UTF-8 tek pfodApp.
Hapi 4: Korrigjimi gjatë përdorimit të lidhjes SMS në Bibliotekën PfodParser
PfodDesigner gjeneron kod që funksionon, por ju mund të dëshironi të korrigjoni kodin tuaj shtesë ose të shikoni se çfarë po ndodh ndërsa mburoja GPRS po fillon ose merr mesazhe SMS. Ka disa qasje që mund të merrni.
Korrigjimi i kodit tuaj
Nëse po korrigjoni kodin tuaj, mundeni vetëm të komentoni linjën pfodSMS dhe lidhni analizuesin me Serialin dhe më pas hiqni mburojën GPRS dhe drejtoni Mega nga terminali Arduino. dmth ndryshoni konfigurimin () në
//pfodSMS.init(&Serial, 9); // mos filloni parser.connect mburojën GPRS (& Serial); // lidh analizuesin me Serialin në vend të transmetimit të SMS
Pastaj nga terminali Arduino mund të shkruani {.} Për të bërë që Mega të kthejë menunë kryesore dhe më pas të dërgoni komandën që dëshironi të ekzekutoni, p.sh. {A`1} për të ndezur stafetën dhe {A`0} për ta fikur. (PfodApp zakonisht i dërgon këto mesazhe për ju kur klikoni rrëshqitësin.) Pastaj shtoni parser.println () të korrigjimit shtesë () për të monitoruar se çfarë kodi shtesë keni shtuar.
Monitorimi i mburojës GPRS
Nëse doni të shihni se çfarë po bën mburoja GPRS. Si fillon, merr mesazhe SMS etj. Pastaj ju duhet të ndryshoni telat e mburojës lidheni atë me Mega Serial1 (një serial) dhe lironi lidhjen Serial (USB) për dalje të korrigjimit në Arduino IDE Monitor.
Për të lidhur mburojën GPRS me Mega 2560 Serial1, hiqni lidhjet e treguara më sipër dhe dhe shtoni telat te kunjat e Mega's TX1 dhe RX1.
Pastaj ndryshoni kodin e konfigurimit () në
void setup () {Serial1.fillo (19200); // ndrysho Serial në Serial 1 Serial.begin (57600); // SH NOTNIM shpejtësinë e shpejtë të baudit për portën Seriale USB // në monitorin Arduino IDE. për (int i = 3; i> 0; i--) {// prisni disa sekonda për të parë nëse po programohemi me vonesë (1000); } pinMode (cmd_A_pin, OUTPUT); pfodSMS.setDebugStream (& Serial); // duhet ta bëni këtë para pfod_SMS.init // ose ndonjë metode tjetër të telefonimit të pfod_SMS // iniconi SMS dhe lidhni analizuesin // ndryshoni rreshtin tjetër në Serial1 pfodSMS.init (& Serial1, 9); // lidhni Shield GPRS shield V2 me Serial1 në vend të Serial parser.setDebugStream (& Serial); // duhet ta bëni këtë para se të analizoni parser.connect // ose ndonjë metodë tjetër të analizës thirrni parser.connect (& pfodSMS); // lidh analizuesin me transmetimin e SMS -ve}
Tani mund të komentoni disa nga cilësimet e Debug në bibliotekën pfodParser në skedarin pfodSMS_SIM900.cpp.
Për shembull pa komentuar #define DEBUG_SETUP do të printojë (në rrymën e korrigjimit) atë që po ndodh gjatë fuqizimit të mburojës GPRS dhe përgatitjes së saj për të marrë mesazhe SMS.
Pa komentuar #define DEBUGdo të japë shumë informacion mbi mesazhet SMS që merren.
Kjo eshte !