Satura rādītājs:

Uzticama, droša, pielāgojama SMS tālvadības pults (Arduino/pfodApp) - nav nepieciešama kodēšana: 4 soļi
Uzticama, droša, pielāgojama SMS tālvadības pults (Arduino/pfodApp) - nav nepieciešama kodēšana: 4 soļi

Video: Uzticama, droša, pielāgojama SMS tālvadības pults (Arduino/pfodApp) - nav nepieciešama kodēšana: 4 soļi

Video: Uzticama, droša, pielāgojama SMS tālvadības pults (Arduino/pfodApp) - nav nepieciešama kodēšana: 4 soļi
Video: JAUNUMS! | Portatīvie invertora ģeneratori ar attālināto vadību | Energolukss - Droša enerģija 2024, Jūlijs
Anonim
Uzticama, droša, pielāgojama SMS tālvadības pults (Arduino/pfodApp) - nav nepieciešama kodēšana
Uzticama, droša, pielāgojama SMS tālvadības pults (Arduino/pfodApp) - nav nepieciešama kodēšana

Atjauninājums 2018. gada 6. jūlijā: šī projekta 3G/2G versija, izmantojot SIM5320, ir pieejama šeit

Atjauninājums: 2015. gada 19. maijs: izmantojiet pfodParser bibliotēkas versiju 2.5 vai jaunāku. Tas novērš ziņoto problēmu, ka pēc ieslēgšanas vairogam nav pietiekami daudz laika, lai izveidotu savienojumu ar tīklu

Ievads

Kā pfodSMS tālvadības pults atšķiras no citām ieviešanām:-

  • Tas ir uzticams-uz komandām vienmēr tiek atbildēts un zaudētie ziņojumi tiek atkārtoti pieprasīti
  • Tas ir drošs - izmanto 128 bitu paroles aizsardzību
  • Tam nav nepieciešami trešo pušu tīmekļa pakalpojumu konti - nepieciešama tikai aktīva SIM karte (bez tapas)
  • Tas ir pielāgojams - jūs varat izmantot pfodDesigner, lai izveidotu savu pielāgoto izvēlni
  • Tas ir vienkārši - pfodDesigner ģenerē visu kodu. Jums nav jāveic nekāda kodēšana.
  • Tas ir elastīgs-visi pfod ekrāni ir pieejami ar īsziņu palīdzību, piemēram, apakšizvēlnes, vairāku un vienu atlases saraksts, teksta ievade, datu reģistrēšana un zīmēšana.

Skatiet pfodSMS īsziņu noformējumu, lai uzzinātu, kā tiek izveidots īsziņu savienojums. Lai iegūtu informāciju par 128 bitu drošību, skatiet sadaļu Izaicinājuma un atbildes drošība internetam pieslēgtajam pfodDevices. Skatiet pfodDesigner, Android / Arduino vienkāršās izvēlnes, lai iegūtu sīkāku informāciju par savas pielāgotās izvēlnes izveidi. Skatiet pfodSpecification.pdf, lai iegūtu sīkāku informāciju par visiem pfod ziņojumiem un ekrāniem, kurus varat pievienot pats.

Projekta piemērs - SMS karstā ūdens kontrole

Kā piemēra projekts šajā pamācībā ir aprakstīts, kā ieslēgt un izslēgt karstā ūdens sildītāju, izmantojot īsziņu, un pārbaudīt, vai tas ir ieslēgts vai izslēgts. Lai to instalētu, jums būs nepieciešams elektriķis.

1. darbība: ātrais sākums - SMS tālvadības pults

Ātrais sākums - SMS tālvadības pults
Ātrais sākums - SMS tālvadības pults
Ātrais sākums - SMS tālvadības pults
Ātrais sākums - SMS tālvadības pults

Šeit ir īss darba sākšanas ceļvedis, kā izveidot savu SMS karstā ūdens vadības ierīci.

  1. Iegādājieties šajā sarakstā esošās detaļas..
  2. Instalējiet Arduino IDE versiju 1.5.8 un lejupielādējiet un instalējiet pfodParser bibliotēku.
  3. Lejupielādējiet bezmaksas pfodDesigner.
  4. Izstrādājiet pielāgoto izvēlni, lai ieslēgtu un izslēgtu digitālo ievadi no Android mobilā tālruņa izvēlnes slīdņa.
  5. Ģenerējiet kodu, kā savienojumu izvēloties SeeedStudio SIM900 GPRS vairogu. (Ir arī iespēja vairogam IteadStudio SIM900).
  6. Pārsūtiet ģenerēto kodu no sava mobilā uz IDE (sīkāku informāciju skatiet pfodAppForAndroidGettingStarted.pdf), pievienojiet savu slepeno paroli, apkopojiet un lejupielādējiet Arduino Mega 2560.
  7. Ievietojiet SIM karti GPRS vairogā un pievienojiet vairogu Mega 2560. Pārliecinieties, vai sērijas saites ir iestatītas uz aparatūras sēriju, kā parādīts iepriekš.
  8. Pievienojiet digitālo izeju cietā vai parastajam relejam starp D3 un GND (vai kuru tapu jūs izvēlējāties pfodDesigner). Sīkāku informāciju par relejiem skatiet sadaļā Kā pievienot relejus Arduino.
  9. Pielietojiet Mega USB strāvu. Bibliotēkas kods jūsu vietā aktivizē GPRS vairogu.
  10. Instalējiet pfodApp savā Android mobilajā ierīcē un izveidojiet īsziņas savienojumu ar vairoga SIM tālruni Nr. (sīkāku informāciju skatiet pfodAppForAndroidGettingStarted.pdf). Iestatiet savienojuma paroli, ja esat to pievienojis.
  11. Pievienojieties un apskatiet savu pielāgoto izvēlni, izmantojot SMS. Noklikšķiniet uz pogas, lai ieslēgtu vai izslēgtu releju.
  12. Palūdziet elektriķim uzstādīt releju karstā ūdens ķēdē un pieslēgt USB barošanas avotu, lai darbinātu Mega un vairogu

2. darbība. Sīkāka informācija

pfodDesigner

PfodDesigner ģenerēs visu kodu, kas nepieciešams cietā stāvokļa vai cita releja ieslēgšanai un izslēgšanai, taču SMS savienojums pfodParser bibliotēkā atbalsta visus pfod ekrānus, tāpēc, kad esat sācis, varat pievienot apakšizvēlnes, ciparu slīdņus, vairāku tekstu slīdņi, teksta ievades ekrāni, datu reģistrēšana un zīmēšana, izmantojot SMS. Skatiet pfodSpecification.pdf visus atbalstītos ekrānus un ziņojumus.

Ģenerētais kods ir šeit. Tam nav uzvednes un tikai viens slēdzis, lai ziņa būtu īsa. Garās izvēlnes tiek nosūtītas, izmantojot vairākas īsziņas, kuru saņemšana prasa ilgāku laiku. Ja jums ir gara izvēlne, sms savienojuma kods pfodParser bibliotēkā to visu apstrādā jūsu vietā.

Lai SMS savienojumam pievienotu paroli, mainiet līniju

parser.connect (& pfodSMS); // savienot parsētāju ar SMS straumi, piemēram, parser.connect (& pfodSMS, F ("173057F7A706AF9BBE65D51122A14CEE"));

bet izmantojiet savu paroli līdz 32 heksadecimāliem cipariem, 0..9 A.. F. Paroles, kas ir īsākas par 32 sešstūra cipariem, ir papildinātas ar 0. Skatiet vienkāršu Wifi/interneta pfodDevice ierīci ar 128 bitu drošību (Arduino), lai uzzinātu, kā ģenerēt nejaušu paroli un izvadīt to uz QR kodu, lai to varētu viegli ievadīt savā Android ierīcē. Skatiet arī pfodAppForAndroidGettingStarted.pdf

PfodDesigner arī ģenerēs kodu Bluetooth un wifi savienojumiem, izmantojot seriālo un Ethernet, izmantojot SPI, visi ar papildu 128 bitu drošību

pfodApp

Pirmā lieta, kas jāapzinās, ir tāda, ka SMS ir neveikla un var nenonākt tur vispār vai ierasties no ierindas. Tātad, kad izveidojat savienojumu ar pfodApp, SMS atbilde būs nedaudz aizkavējusies. Ja ziņojums ir pazudis vai aizkavējies, pfodApp automātiski to atkārtoti nosūtīs pēc 3 minūtēm. Pēc pieciem šādiem atkārtotiem mēģinājumiem pfodApp jums pateiks, ka savienojums ir zaudēts. Jūs varat pielāgot 3 minūšu laiku pfodApp savienojuma rediģēšanas ekrānā.

Ja pievienojat paroli, pirms pfodApp saņems galveno izvēlni, ir sešas īsziņas (trīs katrā virzienā). Šie papildu ziņojumi rodas tikai sākotnējā savienojumā, pēc kura, izmantojot paroli, nav papildu ziņojumu. Tāpēc sāciet bez paroles, lai redzētu, ka viss darbojas, un pēc tam pievienojiet paroli vēlāk.

SMS/GPRS vairogs

Iespējamās problēmas ir SIM kartes, kas aizsargātas ar pin numuriem vai nav pilnvarotas izveidot savienojumu ar tīklu. Pfod bibliotēka automātiski ieslēdz GPRS vairogu un meklē atbildi uz zvanu. Ja šī atbilde netiek saņemta, bibliotēka izslēdzas un mēģina vēlreiz, tādēļ, ja redzat, ka GPRS vairoga strāvas indikators deg 20 sekundes un pēc tam nodziest, rodas problēma, veidojot savienojumu ar tīklu. Izņemiet SIM karti un izmēģiniet to parastajā tālrunī. Pārbaudiet, vai jums netiek prasīts ievadīt PIN numuru.

Ja tā nav problēma, jums būs jāieslēdz startēšanas atkļūdošana, kā aprakstīts tālāk, lai redzētu, kas notiek.

Mega / GPRS vairoga barošana

Aizsargs nepārtraukti izvelk līdz 2A un nepārtraukti līdz 0,5A. Pieņemot 12V akumulatora barošanu, 0,5A pārsniedz Mega borta barošanas avota jaudu. Tāpēc šo vairogu NEDRĪKST barot no 7V līdz 12V Mega ieejas. Alternatīva ir Mega un vairoga barošana, izmantojot USB savienojumu. Es izmantoju 1A USB barošanu. Pārbaudei es izmantoju ar Belkin darbināmu centrmezglu (F4U020), lai novērstu pārmērīgas strāvas padevi no datora USB porta.

12 V akumulatora padevei es iesaku izmantot kvalitatīvu Automobiļu USB 5V lādētāju, 1A vai augstāku. Kvalitatīvam automobiļu USB 5V barošanas avotam jābūt konstruētam tā, lai tas pārvarētu pārsprieguma kāpumus, kas rodas automašīnu elektriskajās sistēmās, un tāpēc tam jābūt piemērotam lielākajai daļai 12 V uzlādes sistēmu.

Cietvielu relejs

Tā kā šajā piemēra projektā tiek kontrolēts karstā ūdens sildītājs (pretestības slodze), cietvielu relejs ir ideāls. Ja vēlaties ieslēgt vai izslēgt motorus, iedarbināt ģeneratorus utt., Konsultējieties ar savu elektriķi par piemērotu releju darbam. Ja jums ir nepieciešams lieljaudas relejs, varat izmantot nelielu releja piedziņu pie arduino plates, lai ieslēgtu un izslēgtu strāvas releju.

Ir pieejamas daudzas cietvielu releja versijas. Pārliecinieties, ka iegādājaties to, kas spēj izturēt sildītāja strāvu un spriegumu, un to var kontrolēt ar 5 V līdzstrāvu un dažiem miliamperiem, kas pieejami no Arduino izejas tapas. Šeit izmantotais, FOTEK SSR-40 DA, pārslēdzas līdz 380VAC pie 40Amps, un to kontrolē jebkura lieta, kas pārsniedz 3V līdzstrāvu, un aizņem mazāk nekā 7mA.

Pirms skrūvju piestiprināšanas pie dzesēšanas izlietnes, jums jāizmanto dzesēšanas izlietne, un cieta stāvokļa releja aizmugurē jāpieliek plāns siltumizlietnes maisījums vai termiskā smērviela. Ideja ir pilnībā pārklāt virsmu ar plānāko galvas izlietnes maisījuma slāni, lai aizpildītu metāla virsmas mikroskopiskās ielejas. Ieslēdzot cietvielu slēdzi, nokrīt 1,6 V, kas rada 16 vatu siltumu pie 10 ampēriem. Radiatoram ir jāatbrīvojas no šī siltuma, tāpēc tas jāuzstāda brīvā gaisā, nevis plastmasas kastē.

Kavēšanās ir ļauna

GPRS vairogs jebkurā laikā piegādā īsziņas, izmantojot seriālo savienojumu, un jūsu galvenajai cilpai () ir jāizsauc cmd = parser.parse (); bieži, lai apstrādātu sērijas datus, pirms 64 baitu buferis Arduino bibliotēkas kodā tiek aizpildīts un dati tiek zaudēti.

Tātad jums ir jāturpina ātri darboties jūsu galvenā cilpa (). Nekad neizmantojiet kavēšanos () un pārbaudiet, vai nevienā no jūsu izmantotajām bibliotēkām nav kavēšanās. Izmantojot SIM900 noklusējuma 19200 batu pārraides ātrumu, izmantojot aparatūras sēriju, es neesmu uzskatījis par nepieciešamu palielināt bufera lielumu Arduino bibliotēkas kodā. Es neizmantoju programmatūras sēriju, tikai seriālos un seriālos1, aparatūras sērijas savienojumus, un gandrīz visi ziņojumi, ko sūta pfodApp, ir ļoti mazi, 10 vai 12 baiti. Tomēr, ja vēlaties, varat palielināt Arduino bufera izmēru, modificējot HardwareSerial.h definīciju no #define SERIAL_BUFFER_SIZE 64 uz #define SERIAL_BUFFER_SIZE 128

Tomēr es atklāju, ka, ja es iespējoju atkļūdošanas izvadi, kā aprakstīts zemāk, man bija jābūt ļoti ātram pārraides ātrumam termināļa savienojumam, pretējā gadījumā kavēšanās, ko izraisīja atkļūdošanas ziņojumu nosūtīšana uz termināli, izraisīja daļu SMS ziņojumu izlaišanu.

Uzstādīšana

Es pievienoju skrūvju spaiļu vairogu, lai man būtu ar ko savienot cietvielu releja vadus. Es vēl neesmu licis savam elektriķim uzstādīt kontrolieri. Tas jāievieto izolētā kastē, bet ar izlietni, kas izplūst caur spraugu un pievienota karstā ūdens strāvas vadam.

3. darbība. Ieteikumi turpmākai uzlabošanai - brīdinājumi, datu reģistrēšana un zīmēšana

Iepriekš redzamais piemēra projekts parāda, kā ūdens tiek ieslēgts vai izslēgts, un ļauj to pārslēgt. Bet SMS savienojums apstrādā visus pfod ziņojumus (sk. PfodSpecification.pdf)

Ja arduino pievienojat temperatūras sensoru, varat arī nosūtīt temperatūras monitoru un regulāri nosūtīt atpakaļ rādījumus. Lai nosūtītu atpakaļ datu nolasīšanu Bluetooth, wifi vai SMS, vienkārši pievienojiet kodu, kā parādīts zemāk esošajā paraugā. Sīkāku informāciju un datu reģistrēšanas un zīmēšanas piemērus skatiet sadaļā Datu reģistrēšana un zīmēšana.

parser.println (laiks); parser.print (','); parser.println (temperatūra);

Kad pfodSMS bibliotēka redz jauno rindu no println (), tā nosūtīs neapstrādātus datus kā SMS. Mobilajā ierīcē vienkārši atstājiet pfodApp palaist fonā, un jūsu mobilais tālrunis jums paziņos, kad tiek saņemta īsziņa. Atveriet pfodApp vēlreiz, lai to parādītu priekšpusē, un pēc tam mobilā tālruņa izvēlnē atveriet neapstrādāto datu ekrānu, lai skatītu datus. Piezīme. PfodSMS ziņojumos ir UTF-8 rakstzīmes kopā ar savienojuma un ziņojumu numuriem, kas kodēti, izmantojot Base64 kodējumu, lai tie neizskatītos pēc parasta teksta. Sīkāku informāciju skatiet pfodSMS ziņojumu dizainā.

To pašu procesu varat izmantot, lai nosūtītu brīdinājumu, ja kaut kas mainās attālināti. i., parser.println (F (“Ārējā temperatūra zem 0 ℃”)); Piezīme: ℃ UTF-8 rakstzīme virknē. pfodSMS nodod visas UTF-8 rakstzīmes pfodApp.

4. darbība. Atkļūdošana, izmantojot SMS savienojumu PfodParser bibliotēkā

Atkļūdošana, izmantojot SMS savienojumu PfodParser bibliotēkā
Atkļūdošana, izmantojot SMS savienojumu PfodParser bibliotēkā
Atkļūdošana, izmantojot SMS savienojumu PfodParser bibliotēkā
Atkļūdošana, izmantojot SMS savienojumu PfodParser bibliotēkā

PfodDesigner ģenerē kodu, kas darbojas, taču, iespējams, vēlēsities atkļūdot savu papildu kodu vai paskatīties, kas notiek, kamēr tiek palaists vai saņemts SMS ziņojums. Varat izmantot vairākas pieejas.

Jūsu koda atkļūdošana

Ja atkļūdojat savu kodu, varat vienkārši komentēt pfodSMS līniju un savienot parsētāju ar seriālo, pēc tam noņemt GPRS vairogu un palaist Mega no Arduino termināļa. i., mainiet iestatījumu () uz

//pfodSMS.init(&Serial, 9); // neuzsākt GPRS vairoga parsētāju.connect (& Serial); // savienot parsētāju ar seriālo, nevis SMS straumi

Pēc tam no Arduino termināļa varat ierakstīt {.}, Lai Mega atgrieztos galvenajā izvēlnē, un pēc tam nosūtīt atpakaļ komandu, kuru vēlaties izpildīt, piem. {A`1}, lai ieslēgtu releju, un {A`0}, lai to izslēgtu. (PfodApp parasti nosūta šos ziņojumus par jums, noklikšķinot uz slīdņa.) Pēc tam pievienojiet papildu atkļūdošanas parser.println (), lai uzraudzītu, ko dara jūsu pievienotais papildu kods.

GPRS vairoga uzraudzība

Ja vēlaties redzēt, ko dara GPRS vairogs. Kā tas sāk darboties, saņemt īsziņas utt. Tad jums ir jāmaina vairoga vadi, pievienojiet to Mega Serial1 (seriālajam) un atbrīvojiet seriālo (USB) savienojumu atkļūdošanas izvadam uz Arduino IDE monitoru.

Lai pievienotu GPRS vairogu Mega 2560 Serial1, noņemiet iepriekš redzamās saites un pievienojiet vadus Mega TX1 un RX1 tapām.

Pēc tam nomainiet iestatīšanas () kodu uz

void setup () {Serial1.begin (19200); // mainīt Serial uz Serial 1 Serial.begin (57600); // PIEZĪME ātro pārraides ātrumu USB seriālajam portam // uz Arduino IDE monitoru. par (int i = 3; i> 0; i--) {// pagaidiet dažas sekundes, lai redzētu, vai mums tiek ieprogrammēta aizture (1000); } pinMode (cmd_A_pin, OUTPUT); pfodSMS.setDebugStream (& Serial); // tas jādara pirms pfod_SMS.init // vai jebkura cita pfod_SMS metodes izsaukuma // inicializēt SMS un savienot parsētāju // mainīt nākamo rindu uz Serial1 pfodSMS.init (& Serial1, 9); // savienot redzēto GPRS vairogu V2 ar Serial1, nevis Serial parser.setDebugStream (& Serial); // tas jādara pirms parser.connect // vai jebkuras citas parsēšanas metodes izsaukšanas parser.connect (& pfodSMS); // savienot parsētāju ar SMS straumi}

Tagad varat atsaukt komentārus par dažiem atkļūdošanas iestatījumiem pfodParser bibliotēkā faila pfodSMS_SIM900.cpp failā līdz.

Piemēram, komentāru atcelšana #define DEBUG_SETUPizdevīsies (atkļūdošanas straumē) to, kas notiek, ieslēdzot GPRS vairogu un sagatavojot to īsziņu saņemšanai.

No komentāru noņemšanas #define DEBUG sniegs daudz informācijas par saņemtajām īsziņām.

Tieši tā !

Ieteicams: