Sadržaj:
- Korak 1: Brzi početak - SMS daljinski upravljač
- Korak 2: Više detalja
- Korak 3: Prijedlozi za daljnja poboljšanja - upozorenja, evidentiranje podataka i iscrtavanje
- Korak 4: Otklanjanje grešaka dok koristite SMS vezu u biblioteci PfodParser
Video: Pouzdan, siguran, prilagodljiv SMS daljinski upravljač (Arduino/pfodApp) - Nije potrebno kodiranje: 4 koraka
2024 Autor: John Day | [email protected]. Zadnja izmjena: 2024-01-30 08:05
Ažuriranje 6. jula 2018: 3G/2G verzija ovog projekta, koristeći SIM5320, dostupna je ovdje
Ažuriranje: 19. maja 2015: Koristite biblioteku pfodParser Verzije 2.5 ili novije. Popravlja prijavljeni problem koji ne dopušta dovoljno vremena da se štit poveže na mrežu nakon uključivanja
Uvod
Po čemu se daljinski upravljač pfodSMS razlikuje od drugih implementacija:-
- Pouzdano je-na komande se uvijek odgovara i ponovo se traže izgubljene poruke
- To je Secure - koristi 128 -bitnu zaštitu lozinkom
- Ne zahtijeva nikakve račune web usluga trećih strana - potrebna je samo aktivna SIM kartica (bez pin -a)
- Prilagodljiv je - možete koristiti pfodDesigner za kreiranje vlastitog prilagođenog menija
- Lako je - pfodDesigner generira sav kôd. Ne morate da vršite nikakvo kodiranje.
- Fleksibilan je-svi pfod ekrani su dostupni putem SMS-a, poput podmenija, višestruke i pojedinačne liste za odabir, unosa teksta, evidentiranja podataka i crtanja.
Za detalje o pouzdanosti SMS veze pogledajte pfodSMS dizajn poruka. Za detalje o 128 -bitnoj sigurnosti pogledajte Sigurnost izazova i odgovora za pfodDevices povezane s internetom. Pogledajte pojednostavljene menije za pfodDesigner, Android / Arduino za detalje o dizajniranju vlastitog prilagođenog menija. Za detalje o svim pfod porukama i ekranima koje možete sami dodati pogledajte pfodSpecification.pdf.
Primjer projekta - SMS kontrola tople vode
Kao primjer projekta, ovo uputstvo opisuje kako uključiti i isključiti grijač tople vode putem SMS -a i provjeriti je li uključen ili isključen. Za instalaciju će vam trebati električar.
Korak 1: Brzi početak - SMS daljinski upravljač
Evo kratkog vodiča za izgradnju vlastite SMS kontrole tople vode.
- Kupite dijelove sa ove liste..
- Instalirajte Arduino IDE verziju 1.5.8 i preuzmite i instalirajte pfodParser biblioteku.
- Preuzmite besplatni pfodDesigner.
- Dizajnirajte svoj prilagođeni meni za uključivanje i isključivanje digitalnog unosa s klizača izbornika na vašem Android mobitelu.
- Generirajte kôd, odabirom SeeedStudio SIM900 GPRS štita za vezu. (Postoji i opcija za IteadStudio SIM900 štit).
- Prenesite generirani kôd sa svog mobilnog u IDE (za detalje pogledajte pfodAppForAndroidGettingStarted.pdf), dodajte svoju tajnu lozinku, kompajlirajte i preuzmite na Arduino Mega 2560.
- Umetnite svoju SIM karticu u GPRS štitnik i priključite ga u Mega 2560. Provjerite jesu li serijske veze postavljene na Hardverski serijski kao što je prikazano gore.
- Spojite digitalni izlaz na čvrsti ili normalni relej između D3 i GND (ili na bilo koji pin koji ste odabrali u pfodDesigner -u). Pogledajte Kako dodati releje u Arduino za više detalja o relejima.
- Priključite USB napajanje na Mega. Kôd biblioteke uključuje GPRS štit umjesto vas.
- Instalirajte pfodApp na svoj Android mobitel i postavite SMS vezu na sim telefon štita št. (za detalje pogledajte pfodAppForAndroidGettingStarted.pdf). Postavite lozinku za vezu ako ste je dodali.
- Povežite se i pogledajte prilagođeni meni prikazan putem SMS -a. Pritisnite dugme za uključivanje ili isključivanje releja.
- Pozovite svog električara da instalira relej u vaš krug tople vode i poveže USB napajanje za napajanje Mega i štita
Korak 2: Više detalja
pfodDesigner
PfodDesigner će generirati sav kôd koji vam je potreban za uključivanje i isključivanje poluprovodničkog ili nekog drugog releja, ali SMS veza u biblioteci pfodParser podržava sve pfod ekrane, pa kada počnete, možete dodati podmenije, numeričke klizače, klizači za više tekstova, ekrani za unos teksta, evidentiranje podataka i crtanje svega putem SMS-a. Za sve podržane ekrane i poruke pogledajte pfodSpecification.pdf.
Generirani kôd je ovdje. Nema upit i samo jedan prekidač kako bi poruka bila kratka. Dugi meniji se šalju putem više SMS poruka kojima je potrebno duže vrijeme da stignu. Ako imate dugačak izbornik, kôd sms veze u biblioteci pfodParser sve to rješava umjesto vas.
Izmijenite liniju da biste dodali lozinku svojoj SMS vezi
parser.connect (& pfodSMS); // povezujemo parser sa SMS streamom na nešto poput parser.connect (& pfodSMS, F ("173057F7A706AF9BBE65D51122A14CEE"));
ali koristite vlastitu lozinku koja sadrži do 32 heksadecimalne znamenke, 0..9 A.. F. Lozinke kraće od 32 heksadecimalne znamenke nadopunjene su nulama. Pogledajte Jednostavni Wifi/Internet pfodDevice sa 128 -bitnom sigurnošću (Arduino) za generiranje slučajne lozinke i izlaz u QR kôd za lak unos na vaš Android. Također pogledajte pfodAppForAndroidGettingStarted.pdf
PfodDesigner će također generirati kôd za bluetooth i wifi veze putem serijskog i Ethernet -a putem SPI -a, sve sa opcionalnom 128 -bitnom sigurnošću
pfodApp
Prvo što morate shvatiti je da je SMS lagan i da možda uopće neće stići tamo ili stići izvan reda. Dakle, kada se povežete s pfodApp -om, doći će do određenog kašnjenja prije nego što dođe do SMS odgovora. Ako se poruka izgubila ili kasni, pfodApp će je automatski ponovo poslati nakon 3 minute. Nakon 5 takvih pokušaja, pfodApp će vam reći da je veza prekinuta. Možete podesiti 3 minute na ekranu za uređivanje veze pfodApp -a.
Ako dodate lozinku, postoji šest SMS poruka (tri u oba smjera) prije nego što pfodApp primi glavni izbornik. Ove dodatne poruke pojavljuju se samo pri početnoj vezi, nakon čega nema dodatnih poruka pri korištenju lozinke. Zato počnite bez lozinke da vidite da li sve funkcionira, a zatim je dodajte kasnije.
SMS/GPRS štit
Mogući problemi su što su SIM kartice zaštićene pin brojevima ili nisu ovlaštene za povezivanje na mrežu. Pfod biblioteka automatski uključuje GPRS štit i traži odgovor "spreman za poziv". Ako taj odgovor ne stigne, biblioteka se isključuje i pokušava ponovo, pa ako vidite da lampica napajanja na GPRS štitu svijetli 20 sekundi, a zatim se gasi, postoji problem s povezivanjem na mrežu. Izvadite SIM karticu i isprobajte je na normalnom telefonu. Proverite da se od vas ne traži PIN broj.
Ako to nije problem, morat ćete uključiti otklanjanje pogrešaka pri pokretanju, kako je dolje opisano, da vidite što se događa.
Napajanje Mega / GPRS štita
Štit neprekidno napaja do 2A impulsno i do 0.5A. Uz napajanje baterijom od 12V, 0.5A premašuje kapacitet napajanja Mega na ploči. Dakle, ovaj štit se NE smije napajati sa 7V do 12V ulaza na Mega -i. Alternativa je napajanje Mega i štita putem USB veze. Koristio sam 1A USB napajanje. Za testiranje sam koristio čvorište sa Belkinovim napajanjem (F4U020) kako bih spriječio izvlačenje prevelike struje iz USB porta računara.
Za napajanje baterijom od 12 V, predlažem korištenje kvalitetnog automobilskog USB 5V punjača, 1A ili više. Kvalitetno napajanje za automobile s USB -om od 5 V trebalo bi biti dizajnirano za suzbijanje prenapona koji se javljaju u električnim sustavima automobila i stoga bi trebalo biti prikladno za većinu sustava punjenja od 12 V.
Solid State Relej
Budući da ovaj primjer projekta kontrolira grijač tople vode (otporno opterećenje), relej u čvrstom stanju je idealan. Ako želite uključiti ili isključiti motore, pokrenuti generatore itd., Razgovarajte sa svojim električarom o odgovarajućem releju za taj posao. Ako vam je potreban relej velike snage, možete upotrijebiti mali relejni pogon uz arduino ploču za uključivanje i isključivanje releja za napajanje.
Dostupno je mnogo verzija čvrstog stanja releja. Pobrinite se da kupite on koji može podnijeti struju i napon vašeg grijača i može se kontrolirati pomoću 5V dc i nekoliko miliampera dostupnih s Arduino izlaznog pina. Ovaj koji se ovdje koristi, FOTEK SSR-40 DA, uključuje do 380VAC pri 40A i kontrolira ga bilo šta više od 3V dc i uzima manje od 7mA.
Morate koristiti hladnjak i morate nanijeti TANAK razmaza od smjese hladnjaka ili termalne masti na stražnju stranu čvrstog releja prije nego što ga pričvrstite vijcima na hladnjak. Ideja je potpuno pokriti površinu najtanjijim slojem umivaonika za glavu kako bi se ispunile mikroskopske doline na površini metala. Kada je uključen, poluprovodnički prekidač pada 1,6 V, što proizvodi 16 vati topline pri 10 ampera. Hladnjak se mora riješiti ove topline pa ga je potrebno postaviti na slobodan zrak, a ne unutar plastične kutije.
Odlaganja su zla
GPRS štit isporučuje SMS poruke putem serijske veze u bilo koje vrijeme i vaša glavna petlja () mora pozvati cmd = parser.parse (); često za obradu serijskih podataka prije nego što se bafer od 64 bajta u kodu Arduino biblioteke napuni i podaci se izgube.
Dakle, morate održavati glavnu petlju () da radi brzo. Nikada ne biste trebali koristiti delay () i trebali biste provjeriti da nijedna od biblioteka koje koristite nema kašnjenja u njima. Koristeći zadanu brzinu prijenosa 19200 brzine prijenosa SIM900 putem hardverske serije, nisam našao za potrebno povećati veličinu međuspremnika u kodu Arduino knjižnice. Ne koristim serijski softver, samo serijske i serijske1, hardverske serijske veze i gotovo sve poruke koje pfodApp šalje su vrlo male, 10 ili 12 bajtova. Međutim, možete povećati veličinu međuspremnika Arduino, ako želite, promjenom definicije u HardwareSerial.h sa #define SERIAL_BUFFER_SIZE 64 na #define SERIAL_BUFFER_SIZE 128
Međutim, ono što sam otkrio je da sam, ako sam omogućio izlaz za otklanjanje grešaka, kao što je dolje opisano, morao imati vrlo veliku brzinu prijenosa za terminalnu vezu. U protivnom kašnjenje uneseno slanjem poruka za otklanjanje pogrešaka na terminal uzrokovalo je propuštanje dijelova SMS poruka.
Instalacija
Dodao sam štitnik s vijčanim terminalom tako da sam imao na što spojiti žice releja Solid State. Još nisam dao da mi električar instalira kontroler. Potrebno ga je staviti u izoliranu kutiju, ali s hladnjakom koji viri kroz utor i ožičen u kabel za toplu vodu.
Korak 3: Prijedlozi za daljnja poboljšanja - upozorenja, evidentiranje podataka i iscrtavanje
Gornji primjer projekta samo prikazuje kako je voda uključena ili isključena i omogućava vam da je uključite. Ali SMS veza obrađuje sve pfod poruke (pogledajte pfodSpecification.pdf)
Ako svom arduinu dodate senzor temperature, također možete poslati monitor temperature i u redovnim intervalima slati očitanja. Za vraćanje podataka čitanje podataka je isto za bluetooth, wifi ili SMS, samo dodajte kôd kao donji uzorak. Za više detalja i primjere bilježenja podataka i iscrtavanja pogledajte Zapisivanje podataka i iscrtavanje.
parser.println (vrijeme); parser.print (','); parser.println (temperatura);
Kada biblioteka pfodSMS vidi novu liniju iz println (), ona će poslati neobrađene podatke kao SMS. Na svom mobilnom telefonu ostavite pfodApp da radi u pozadini i vaš mobilni će vas obavijestiti kada primi SMS. Ponovo otvorite pfodApp da biste ga prikazali naprijed, a zatim otvorite ekran sirovih podataka iz izbornika mobilnog telefona da vidite podatke. Napomena: pfodSMS poruke su UTF-8 znakovi zajedno s brojevima veze i poruka, kodirani pomoću kodiranja Base64 tako da ne izgledaju kao uobičajeni tekst. Za sve detalje pogledajte pfodSMS dizajn poruka.
Možete koristiti isti postupak za slanje upozorenja kada se nešto daljinski promijeni. parser.println (F ("Vanjska temperatura ispod 0 ℃")); Napomena: znak ℃ UTF-8 u nizu. pfodSMS prosljeđuje sve UTF-8 znakove u pfodApp.
Korak 4: Otklanjanje grešaka dok koristite SMS vezu u biblioteci PfodParser
PfodDesigner generira kôd koji radi, ali možda ćete htjeti otkloniti greške u svom dodatnom kodu ili pogledati šta se događa dok se GPRS štit pokreće ili prima SMS poruke. Postoji nekoliko pristupa koje možete poduzeti.
Otklanjanje grešaka u vlastitom kodu
Ako otklanjate greške u vlastitom kodu, mogli biste samo komentirati liniju pfodSMS i spojiti parser na Serial, a zatim ukloniti GPRS štit i pokrenuti Mega s Arduino terminala. tj. promijenite setup () u
//pfodSMS.init(&Serial, 9); // ne pokrećite parser.connect (& Serial) GPRS štita; // povezivanje parsera na serijski umjesto SMS toka
Zatim s Arduino terminala možete upisati {.} Da biste dobili da Mega vrati glavni izbornik, a zatim da pošaljete naredbu za povratak koju želite izvršiti, npr. {A`1} za uključivanje releja i {A`0} za isključivanje. (PfodApp vam obično šalje ove poruke kada kliknete na klizač.) Zatim dodajte dodatni par za otklanjanje grešaka parser.println () da biste nadgledali koji dodatni kôd koji radite radi.
Nadgledanje GPRS štita
Ako želite vidjeti šta radi GPRS štit. Kako se pokreće, prima SMS poruke itd. Zatim morate promijeniti ožičenje štitnika i spojiti ga na Mega Serial1 (serijski) i osloboditi serijsku (USB) vezu za ispravljanje pogrešaka na Arduino IDE monitoru.
Za spajanje GPRS oklopa na Mega 2560 Serial1, uklonite gore prikazane veze i dodajte žice na Megine TX1 i RX1 pinove.
Zatim promijenite setup () kod u
void setup () {Serial1.begin (19200); // promijenimo serijski u serijski 1 Serial.begin (57600); // NAPOMENA brza brzina prijenosa podataka za USB serijski port // na Arduino IDE monitor. for (int i = 3; i> 0; i--) {// sačekajte nekoliko sekundi da vidite da li smo programirani delay (1000); } pinMode (cmd_A_pin, OUTPUT); pfodSMS.setDebugStream (& serijski); // potrebno je to učiniti prije pfod_SMS.init // ili bilo kojeg drugog poziva metode pfod_SMS // inicijalizirati SMS i povezati parser // promijeniti sljedeći red u Serial1 pfodSMS.init (& Serial1, 9); // povežite Seeed GPRS štit V2 sa Serial1 umjesto Serial parser.setDebugStream (& Serial); // potrebno je to učiniti prije parser.connect // ili bilo koje druge metode raščlanjivanja poziva parser.connect (& pfodSMS); // povežite parser sa SMS tokom}
Sada možete ukloniti komentare na neke postavke za otklanjanje grešaka u biblioteci pfodParser u to datoteci pfodSMS_SIM900.cpp.
Na primjer, ako ne ostavite komentar #define DEBUG_SETUP će ispisati (toku za otklanjanje grešaka) šta se događa dok se uključi GPRS štit i spremi ga za primanje SMS poruka.
Bez komentara #define DEBUG će dati mnogo informacija o primljenim SMS porukama.
To je to !
Preporučuje se:
TV daljinski upravljač postaje RF daljinski -- NRF24L01+ Vodič: 5 koraka (sa slikama)
TV daljinski upravljač postaje RF daljinski || Vodič za NRF24L01+: U ovom projektu ću vam pokazati kako sam koristio popularni nRF24L01+ RF IC za bežično podešavanje svjetline LED trake putem tri beskorisna dugmeta na daljinskom upravljaču televizora. Hajde da počnemo
SMS daljinski upravljač: 4 koraka
SMS daljinski upravljač: Ovaj projekt nudi način da osigurate svoju stvar. Konačni rezultat projekta je prekidač kojim komanduje SMS. Tako da ovo možete prilagoditi svom projektu. Program je integrirao ovlašteni telefonski broj i korisnik mora unijeti dobar " passwo
Lak, jeftin i pouzdan osjetnik na dodir sa samo 3 dijela: 3 koraka
Lak, jeftin i pouzdan osjetnik na dodir sa samo 3 dijela: Upravljanje svim vrstama elektroničkih uređaja dodirom prsta može biti vrlo korisno. U ovom uputstvu ću vam pokazati kako izgraditi jednostavan, ali moćan senzor dodira koji radi besprijekorno. Sve što trebate je standardni tranzistor i dva
IRduino: Arduino daljinski upravljač - oponašajte izgubljeni daljinski upravljač: 6 koraka
IRduino: Arduino daljinski upravljač - oponašajte izgubljeni daljinski upravljač: Ako ste ikada izgubili daljinski upravljač za televizor ili DVD uređaj, znate koliko je frustrirajuće morati hodati do, pronaći i koristiti tipke na samom uređaju. Ponekad ti gumbi čak ne nude istu funkcionalnost kao daljinski. Primiti
Daljinski video daljinski upravljač za računare Video player: 6 koraka
Video daljinski upravljač za malu djecu za PC Video player: Izrađujem daljinski upravljač koji se povezuje s računarom putem USB -a. Veliki daljinski upravljač omogućuje mom djetetu odabir i reprodukciju videozapisa na starom računaru. Ovo je relativno jednostavan projekt. Osnovna komponenta je ili USB tastatura ili bežična USB tastatura. Zatim