Obsah:

Spolehlivé, zabezpečené, přizpůsobitelné dálkové ovládání SMS (Arduino/pfodApp) - není vyžadováno kódování: 4 kroky
Spolehlivé, zabezpečené, přizpůsobitelné dálkové ovládání SMS (Arduino/pfodApp) - není vyžadováno kódování: 4 kroky

Video: Spolehlivé, zabezpečené, přizpůsobitelné dálkové ovládání SMS (Arduino/pfodApp) - není vyžadováno kódování: 4 kroky

Video: Spolehlivé, zabezpečené, přizpůsobitelné dálkové ovládání SMS (Arduino/pfodApp) - není vyžadováno kódování: 4 kroky
Video: Moderní trendy v cirkulaci teplé vody / WEBINÁŘ 2024, Červenec
Anonim
Spolehlivé, zabezpečené, přizpůsobitelné dálkové ovládání SMS (Arduino/pfodApp) - není vyžadováno žádné kódování
Spolehlivé, zabezpečené, přizpůsobitelné dálkové ovládání SMS (Arduino/pfodApp) - není vyžadováno žádné kódování

Aktualizace 6. července 2018: Verze tohoto projektu 3G/2G využívající SIM5320 je k dispozici zde

Aktualizace: 19. května 2015: Použijte knihovnu pfodParser verze 2.5 nebo vyšší. Opravuje hlášený problém, kdy se štítu po zapnutí neposkytuje dostatek času na připojení k síti

Úvod

Jak se dálkové ovládání pfodSMS liší od ostatních implementací:-

  • Je spolehlivý-na příkazy se vždy odpovídá a ztracené zprávy se znovu požadují
  • Je zabezpečený - používá 128bitovou ochranu heslem
  • Nevyžaduje žádné účty webových služeb třetích stran - potřebuje pouze aktivní SIM kartu (bez PINu)
  • Je přizpůsobitelný - můžete použít pfodDesigner k vytvoření vlastní nabídky
  • Je to snadné - pfodDesigner generuje veškerý kód. Nemusíte dělat žádné kódování.
  • Je flexibilní-všechny obrazovky pfod jsou k dispozici prostřednictvím SMS, jako jsou podnabídky, seznam pro výběr více položek a jeden výběr, zadávání textu, protokolování dat a vykreslování.

Podívejte se na návrh zpráv pfodSMS, jak je spolehlivé připojení SMS. Podrobnosti o zabezpečení 128bit najdete v tématu Zabezpečení výzev a odpovědí pro pfodDevices připojené k internetu. Podrobnosti o navrhování vlastní nabídky najdete v pfodDesigner, nabídkách Android / Arduino Simple. Podrobnosti o všech zprávách a obrazovkách pfod, které můžete sami přidat, najdete na stránce pfodSpecification.pdf.

Příklad projektu - ovládání teplé vody pomocí SMS

Tento instruktážní příklad popisuje, jak zapnout a vypnout ohřívač teplé vody pomocí SMS a zkontrolovat, zda je zapnutý nebo vypnutý. K instalaci budete potřebovat elektrikáře.

Krok 1: Rychlý start - SMS dálkové ovládání

Rychlý start - SMS dálkové ovládání
Rychlý start - SMS dálkové ovládání
Rychlý start - SMS dálkové ovládání
Rychlý start - SMS dálkové ovládání

Zde je rychlý průvodce budováním vlastního ovládání teplé vody pomocí SMS.

  1. Kupte si díly v tomto seznamu..
  2. Nainstalujte si Arduino IDE verze 1.5.8 a stáhněte a nainstalujte knihovnu pfodParser..
  3. Stáhněte si zdarma pfodDesigner.
  4. Navrhněte si vlastní nabídku pro zapnutí a vypnutí digitálního vstupu z posuvníku nabídky na vašem mobilním telefonu Android.
  5. Vygenerujte kód a jako připojení vyberte štít GPRS SeeedStudio SIM900. (Existuje také možnost pro štít IteadStudio SIM900).
  6. Přeneste vygenerovaný kód ze svého mobilu do IDE (podrobnosti viz pfodAppForAndroidGettingStarted.pdf), přidejte své tajné heslo, zkompilujte a stáhněte do Arduino Mega 2560.
  7. Nainstalujte SIM kartu do štítu GPRS a zapojte kryt do Mega 2560. Ujistěte se, že jsou sériové odkazy nastaveny na Hardware Serial, jak je uvedeno výše.
  8. Připojte digitální výstup k polovodičovému nebo normálnímu relé mezi D3 a GND (nebo jakýmkoli pinem, který jste si vybrali v pfodDesigner). Další informace o relé najdete v části Jak přidat relé do Arduina..
  9. Připojte k Mega napájení USB. Kód knihovny vám aktivuje štít GPRS.
  10. Nainstalujte si pfodApp na svůj mobilní telefon Android a vytvořte připojení SMS k telefonu sim štítu štítu. (podrobnosti viz pfodAppForAndroidGettingStarted.pdf). Pokud jste heslo přidali, nastavte heslo.
  11. Připojte se a uvidíte svou vlastní nabídku zobrazenou prostřednictvím SMS. Kliknutím na tlačítko relé zapnete nebo vypnete.
  12. Požádejte svého elektrikáře, aby nainstaloval relé do vašeho okruhu teplé vody a připojil napájecí zdroj USB k napájení Mega a štítu

Krok 2: Další podrobnosti

pfodDesigner

PfodDesigner vygeneruje veškerý kód, který potřebujete k zapnutí a vypnutí polovodičového nebo jiného relé, ale připojení SMS v knihovně pfodParser podporuje všechny obrazovky pfod, takže jakmile začnete, můžete přidat podnabídky, číselné posuvníky, vícetextové posuvníky, obrazovky pro zadávání textu, protokolování dat a vykreslování vše prostřednictvím SMS. Všechny podporované obrazovky a zprávy najdete v souboru pfodSpecification.pdf.

Vygenerovaný kód je zde. Nemá žádnou výzvu a pouze jeden přepínač, aby byla zpráva krátká. Dlouhé nabídky jsou odesílány prostřednictvím více zpráv SMS, jejichž doručení trvá déle. Pokud máte dlouhou nabídku, kód připojení sms v knihovně pfodParser to vše zvládne za vás.

Chcete -li do svého připojení SMS přidat heslo, upravte řádek

parser.connect (& pfodSMS); // připojte analyzátor k SMS streamu na něco jako parser.connect (& pfodSMS, F ("173057F7A706AF9BBE65D51122A14CEE"));

ale použijte své vlastní heslo až do 32 hexadecimálních číslic, 0..9 A.. F. Hesla kratší než 32 hexadecimálních číslic jsou vyplněna číslicemi 0. Informace o tom, jak vygenerovat náhodné heslo a odeslat jej do kódu QR pro snadné zadávání do vašeho Androidu, najdete v článku Jednoduché WiFi/Internetové zařízení pfodDevice se 128bitovým zabezpečením (Arduino). Viz také pfodAppForAndroidGettingStarted.pdf

PfodDesigner bude také generovat kód pro bluetooth a wifi připojení přes Serial a Ethernet přes SPI vše s volitelným 128bitovým zabezpečením

pfodApp

První věcí, kterou si musíte uvědomit, je, že SMS jsou sloooow a nemusí se tam vůbec dostat nebo přijít mimo provoz. Když se tedy spojíte s pfodApp, bude tam nějaká prodleva, než přijde odpověď SMS. Pokud dojde ke ztrátě nebo zpoždění zprávy, pfodApp ji automaticky znovu odešle po 3 minutách. Po 5 takových pokusech vám pfodApp řekne, že došlo ke ztrátě připojení. Dobu 3 minut můžete upravit na obrazovce úprav připojení pfodApp.

Pokud přidáte heslo, pak pfodApp přijme šest SMS zpráv (vždy tři). Tyto zvláštní zprávy se vyskytují pouze při počátečním připojení, po kterém při použití hesla nejsou žádné další zprávy. Začněte tedy bez hesla, abyste viděli, že vše funguje, a poté heslo přidejte později.

SMS/GPRS štít

Možnými problémy jsou SIM karty chráněné čísly PIN nebo neautorizované pro připojení k síti. Knihovna pfod automaticky zapne GPRS štít a hledá odpověď „připraveno k volání“. Pokud tato odpověď nedorazí, knihovna se vypne a zkusí to znovu, takže pokud uvidíte, že se kontrolka napájení na štítu GPRS rozsvítí na 20 sekund a poté zhasne, je problém s připojením k síti. Vyjměte SIM kartu a vyzkoušejte ji v běžném telefonu. Zkontrolujte, zda nejste vyzváni k zadání čísla PIN.

Pokud to není problém, budete muset zapnout ladění při spuštění, jak je popsáno níže, abyste zjistili, co se děje.

Napájení štítu Mega / GPRS

Štít čerpá pulzně až 2A a nepřetržitě až 0,5A. Za předpokladu napájení z baterie 12 V, 0,5 A překračuje kapacitu napájecího zdroje Mega. Tento štít by tedy NEMĚL být napájen ze vstupu 7 V na 12 V na Mega. Alternativou je napájení Mega a stínění přes USB připojení. Použil jsem 1A USB napájení. Pro testování jsem použil rozbočovač napájený Belkin (F4U020), aby se zabránilo odběru nadměrného proudu z USB portu mého počítače.

Pro napájení 12 V baterií doporučuji použít kvalitní automobilovou USB 5 V nabíječku, 1 A nebo vyšší. Kvalitní automobilové napájení USB 5 V by mělo být navrženo tak, aby zvládlo špičkové napětí, ke kterému dochází v elektrických systémech automobilů, a mělo by být vhodné pro většinu nabíjecích systémů s napětím 12 V.

Polovodičové relé

Protože tento příklad projektu ovládá ohřívač teplé vody (odporová zátěž), je polovodičové relé ideální. Pokud chcete zapnout nebo vypnout motory, spustit generátory atd., Promluvte si se svým elektrikářem o vhodném relé pro danou práci. Pokud potřebujete výkonové relé, můžete k zapnutí a vypnutí výkonového relé použít malý reléový pohon na desce arduino.

Existuje mnoho verzí polovodičových relé. Ujistěte se, že si koupíte, který zvládne proud a napětí vašeho ohřívače a může být řízen 5 V ss a několika miliampéry dostupnými z výstupního kolíku Arduino. Ten, který se zde používá, FOTEK SSR-40 DA, spíná až 380 V AC při 40 A a je řízen jakoukoli věcí více než 3 V ss a spotřebuje méně než 7 mA.

Musíte použít chladič a na zadní stranu polovodičového relé naneste TENKÝ nátěr směsi chladiče nebo tepelného maziva, než jej přišroubujete k chladiči. Smyslem je zcela pokrýt povrch nejtenčí vrstvou směsi propadů hlavy, aby se vyplnila mikroskopická údolí na povrchu kovu. Po zapnutí polovodičový spínač klesne o 1,6 V, což generuje 16 W tepla při 10 A. Chladič se musí zbavit tohoto tepla, a proto musí být namontován na volném vzduchu, nikoli v plastové krabici.

Zpoždění jsou zlá

Štít GPRS doručuje SMS zprávy přes sériové připojení kdykoli a vaše hlavní smyčka () musí volat cmd = parser.parse (); často zpracovává sériová data, než se 64bajtová vyrovnávací paměť v kódu knihovny Arduino zaplní a data se ztratí.

Musíte tedy zajistit, aby vaše hlavní smyčka () běžela rychle. Nikdy byste neměli používat delay () a měli byste zkontrolovat, že žádná z knihoven, které používáte, nemá zpoždění. Při použití výchozí přenosové rychlosti 19200 SIM900 přes Hardware Serial jsem nepovažoval za nutné zvětšit velikost vyrovnávací paměti v kódu knihovny Arduino. Nepoužívám Software Serial, pouze Serial a Serial1, Hardwarová sériová připojení a téměř všechny zprávy, které pfodApp odesílá, jsou velmi malé, 10 nebo 12 bytů. Velikost vyrovnávací paměti Arduino však můžete zvýšit, pokud si přejete, změnou definice v HardwareSerial.h z #define SERIAL_BUFFER_SIZE 64 na #define SERIAL_BUFFER_SIZE 128

Zjistil jsem však, že pokud jsem povolil ladicí výstup, jak je popsáno níže, musel jsem mít velmi rychlou přenosovou rychlost pro připojení terminálu, jinak zpoždění zavedené odesíláním zpráv ladění na terminál způsobilo vynechání částí zpráv SMS.

Instalace

Přidal jsem stínění šroubových svorek, abych měl k čemu připojit vodiče relé Solid State. Ještě jsem nenechal svého elektrikáře nainstalovat ovladač. Musí být vložen do izolované krabice, ale s chladičem vyčnívajícím přes otvor a zapojeným do napájecího kabelu pro horkou vodu.

Krok 3: Návrhy na další vylepšení - upozornění, protokolování dat a vykreslování

Výše uvedený příklad projektu pouze ukazuje, jak je voda zapnutá nebo vypnutá, a umožňuje vám ji přepnout. Připojení SMS však zpracovává všechny zprávy pfod (viz pfodSpecification.pdf)

Pokud do svého arduina přidáte teplotní čidlo, můžete také v pravidelných intervalech odesílat sledování teploty a odesílat zpět naměřené hodnoty. Chcete -li odeslat zpět čtení dat, je stejné pro bluetooth, wifi nebo SMS, stačí přidat kód jako níže uvedený příklad. Další podrobnosti a příklady protokolování a vykreslování dat najdete v části Protokolování a vykreslování dat.

parser.println (čas); parser.print (','); parser.println (teplota);

Když knihovna pfodSMS uvidí nový řádek z println (), odešle nezpracovaná data jako SMS. Na svém mobilním telefonu nechte pfodApp spuštěný na pozadí a váš mobilní telefon vás upozorní na přijetí SMS. Znovu otevřete pfodApp, aby se dostal na přední stranu, a poté otevřete obrazovku Raw Data z nabídky mobilu, abyste viděli data. Poznámka: Zprávy pfodSMS jsou znaky UTF-8 spolu s čísly připojení a zpráv, kódují se pomocí kódování Base64, takže nevypadají jako normální text. Všechny podrobnosti viz návrh zprávy pfodSMS.

Stejný postup můžete použít k odeslání upozornění, když se něco vzdáleně změní. tj. parser.println (F („venkovní teplota pod 0 ℃“)); Poznámka: znak ℃ UTF-8 v řetězci. pfodSMS předává všechny znaky UTF-8 do pfodApp.

Krok 4: Ladění při použití připojení SMS v knihovně PfodParser

Ladění při použití připojení SMS v knihovně PfodParser
Ladění při použití připojení SMS v knihovně PfodParser
Ladění při použití připojení SMS v knihovně PfodParser
Ladění při použití připojení SMS v knihovně PfodParser

PfodDesigner generuje kód, který funguje, ale můžete chtít ladit svůj vlastní dodatečný kód nebo se podívat na to, co se děje při spouštění štítu GPRS nebo přijímání zpráv SMS. Můžete použít několik přístupů.

Ladění vlastního kódu

Pokud ladíte svůj vlastní kód, můžete jednoduše okomentovat řádek pfodSMS a připojit analyzátor k sériovému rozhraní a poté odstranit štít GPRS a spustit Mega z terminálu Arduino. tj. změňte nastavení () na

//pfodSMS.init(&Serial, 9); // nespouštějte analyzátor štítu GPRS.connect (& Serial); // místo streamování SMS připojte analyzátor k sériovému

Potom z terminálu Arduino můžete zadat {.}, Aby se Mega vrátila do hlavní nabídky a poté odeslat zpět příkaz, který chcete provést, např. {A`1} sepne relé a {A`0} vypne. (PfodApp vám obvykle odešle tyto zprávy po kliknutí na posuvník.) Poté přidejte další ladicí program parser.println () a sledujte, jaký extra kód, který jste přidali, dělá.

Monitorování štítu GPRS

Pokud chcete vidět, co štít GPRS dělá. Jak se spouští, přijímání zpráv SMS atd. Poté je třeba změnit zapojení stínění, připojit jej k Mega Serial1 (sériový) a uvolnit sériové (USB) připojení pro ladění výstupu do Arduino IDE Monitor.

Chcete -li připojit stínění GPRS k Mega 2560 Serial1, odstraňte výše uvedené odkazy a připojte vodiče k pinům Mega TX1 a RX1.

Poté změňte kód setup () na

neplatné nastavení () {Serial1.begin (19200); // změna Serial na Serial 1 Serial.begin (57600); // POZNÁMKA k rychlé přenosové rychlosti pro USB sériový port // k monitoru Arduino IDE. for (int i = 3; i> 0; i--) {// počkejte několik sekund, abyste zjistili, zda se nám programuje zpoždění (1000); } pinMode (cmd_A_pin, VÝSTUP); pfodSMS.setDebugStream (& Serial); // to je třeba udělat před pfod_SMS.init // nebo jakýmkoli jiným voláním metody pfod_SMS // inicializovat SMS a připojit analyzátor // změnit další řádek na Serial1 pfodSMS.init (& Serial1, 9); // připojení Seeed GPRS shield V2 k Serial1 místo Serial parser.setDebugStream (& Serial); // to musíte udělat před parser.connect // nebo jakoukoli jinou metodou syntaktického analyzátoru volání parser.connect (& pfodSMS); // připojení analyzátoru ke streamu SMS}

Nyní můžete odkomentovat některá nastavení Debug v knihovně pfodParser v souboru pfodSMS_SIM900.cpp.

Například zrušení komentáře #define DEBUG_SETUP vytiskne (do ladicího proudu), co se děje při zapnutí štítu GPRS a jeho přípravě na příjem zpráv SMS.

Zrušení komentáře #define DEBUG poskytne spoustu informací o přijímaných zprávách SMS.

A je to !

Doporučuje: