Tuesday, October 31, 2017

IoT 2. Radio nodes

Senzorové krabičky sú rozmiestnené kde treba a môže ich byť viac, typicky cca dva-štyri na jeden dom. V tomto článku predstavujem doštičku 4.9cm x 4.9cm, ktorá ušetrí nepríjemnú drôtikovú robotu, ktorú som spáchal už 7 krát a mám toho akurát tak dosť.

Jedná sa o žltú doštičku, ktorá spája Arduino Mini Pro a rádio modul a má vyvedené konektory na pripojenie napájania a senzorov. Arduino bude vo väčšine prípadov asi verzia 3.3V a v prípade prevádzky na dve tužkové batérie sa ešte musí upraviť. Rádio modul je RFM69W alebo HW na frekvencii v našich krajoch asi najvhodnejšej 433MHz. Doštička má aj konektor pre pripojenie antény, prípadne letovací bod na pripojenie kábla, alebo miniatúrnej špirálovej anténky z ebay.

Rádia RFM69 umožňujú šifrovanie, voľbu vysielacieho výkonu a ladenie frekvencie. Rozdiel medzi modulmi RFM69HW a W je vo výkone, HW je high power verzia, W je obyčajná verzia. V rámci domu používam verziu HW vždy so sníženým výkonom, je úplne zbytočné vysielať naplno. W by bolo asi tak akurát. RFM69 existuje aj vo variantách s C v názve, ale tie majú iný pinout a preto nepasujú. RFM69 C-éčkové verzie sú spätne pinovo kompatibilné so staršími rádiami RFM12B.

Na doske sú ďalej vyvedené nejaké univerzálne použiteľné piny z Arduina a hlavne tri špecifické konektory. Jeden je pre snímač otvorenej/zatvorenej brány, okna, alebo dverí - takzvaný reed switch. Na ebay sa dá kúpiť za niečo viac ako jeden dolár v sade aj s magnetom. Druhý konektor je pre senzor pohybu PIR, ktorý sa dá na ebay kúpiť za 99,-US centov a funguje veľmi dobre. Jeho pinout a funkcia je popísaná na Adafruit. Tretí je pre senzor teploty/vlhkosti HTU21D alebo iný senzor s rozhraním I2C. Všetky tri senzory majú vyvedené konektory v správnom poradí pinov tak, aby sa len DuPont káblom s príslušným počtom žíl pripojili ku konektoru a fungovali.


Na obr. je veľká anténa a pripojené snímače PIR a HTU21D.

Dosah rádia so špirálovými anténkami je po celom dome krížom krážom v pohode aj cez dve betónové dosky. S lepšou anténkou dokonca občas chytám signál z domu vzdialeného cca 200m, kde je tiež vysielaný iba špirálkou a zníženým výkonom HW rádia. Pri použití poriadnych antén na obidvoch stranách a plného výkonu RFM69HW by to mohlo fungovať aj podstatne ďalej. (Na ozaj veľké vzdialenosti rádovo v km sú ale určené LoRa rádia RFM96 a smerové viacprvkové antény Yagi s vysokým ziskom). Po nejakej dobe prevádzky už môžem napísať aj ako to funguje z dlhodobejšieho hľadiska. Prvé doštičky som zapol začiatkom 4-tého mesiaca 2017 a dnes na začiatku 11-teho mesiaca mám na batériach 2xAAA napätie cca 2,7V.

Schéma modulu je tu: schéma a gerber na výrobu je tu: gerber.

IoT 1. Sledovanie domácnosti

Domáca automatizácia a internet vecí ma už dlhšie zaujímali. V posledných 2-3 rokoch sa objavili neuveriteľne lacné Wi-Fi moduly ESP8266, senzory pohybu, teploty a vlhkosti, ceny displayov padli na rekordné hodnoty a náklady na výrobu dosiek plošných spojov PCB tiež dosiahli nové dno. Tak som sa do toho pustil.

Sledovanie domácnosti je vlastne zber údajov a ich zobrazovanie. Údaje sa zbierajú kde je to potrebné a rádiom sa posielajú do centrálneho modulu. Údaje si môžeme zobrazovať buď na display nejakej krabičky, alebo na PC alebo na telefóne. U mňa platia všetky tri možnosti:-) Pre Android a iPhone existuje nádherná aplikácia ThingSpeak Monitor Widget, ktorá funguje ako widget na ploche a zobrazuje údaje hneď po odomknutí telefónu.



Údaje sú k dispozícii všade tam, kde má telefón konektivitu, buď Wi-Fi alebo mobilné dáta. Je možné si nastaviť aj alarm, ak niektorá z hodnôt prekročí nejakú hodnotu. Domáca krabička s Wi-Fi zhromažduje údaje zo senzorov rozmiestnených po dome a údaje periodicky posiela do Thingspeak. Na telefóne (tablete) sú widgety, kde sa zobrazuje aktálny stav údajov. Je si môžné zobraziť aj graf s priebehom a rôznymi matematickými operáciami. Takisto je možné údaje a grafy sledovať kdekoľvek a na akomkoľvek PC na web stránkach Thingspeak. Celé to funguje cez obyčajné HTTP.



Hlavná krabička má rádiový modul, ktorý slúži iba na príjem. Prijíma dáta z ostatných modulov rozmiestnených po dome. Dáta zhromaždí a raz za čas pošle cez Wi-Fi do cloudu. Na to aby som videl či všetko (senzory, komunikácia cez Wi-Fi, rádiové moduly) funguje ako má, mám aj na hlavnej krabičke display. Je nenápadný a okrem zobrazovania údajov slúži aj na zobrazovanie funkcie, čiže kedy (a aký silný bol prijatý signál) dostal dáta z každého modulu. Ďalej zobrazuje stav pripojenia do internetu a stav komunikácie s cloudom. Na jej display sa pozriem len keď je nejaký problém, čo vlastne ešte nebolo:-)