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:-)


Wednesday, January 11, 2017

NCD85 5. ATA interface

Vianočný čas som už tradične využil na bastlenie. Odladil som radič a jednoduchú testovaciu aplikáciu pre posledný doteraz neotestovaný konektor na NCD85v2. Má 40 pinov, určený je pre IDC konektor. Rozhranie má 16 dátových bitov, realizovaných portmi A a B. Ďalej má 2+3 adresové linky, plus linky na zápis a čítanie. Konkrétne sa jedná o IDE alebo Parallel ATA rozhranie realizované obvodom 8255 a zopár invertormi. Zapojenie je dnes už klasika v 8-bitovej retro technike.

Ako základ som vzal kód od Paula Stoffregena. Trochu som ho vylepšil, rozšíril ale hlavne prepísal do ASM pre 8085. Testovať som začal s CF kartami, a keď to už fungovalo tak som zapojil aj nejaké IDE disky. Mám zopár 16MB CF kariet a tie sa mi zdajú ideálne. Max veľkosť disku pre CP/M je cca 8MB, takže si viem predstaviť PCčkoidné CP/M, kde by boli dve disketové jednotky A: a B: a dva disky po cca 8MB C: a D: realizované jednou 16MB CF kartou.

Screenshoty z aplikácie
CF karta EMTEC 16MB

CF karta SILICON POWER 512MB

3.5" Disk 340MB, MAXTOR 7345AT bez LBA adresovania a bez 8-bitových prenosov


Sťahovať sa dá ako vždy na GitHub.