Tutoriály o ovládaní IoT zariadení

Tutoriály o ovládaní IoT zariadení
« kdy: 05. 11. 2018, 17:21:33 »
Pri nedávnom príspevku "Ako programovo ovládať zásuvku" som si uvedomil jednu vec: internet je plný tutoriálov o tvorbe moderných web aplikácií s React / Angular / Vue frameworkami nad nejakým REST / GraphQL / Serverless backendom, ale nejak neregistrujem tutoriály o web aplikáciách napríklad nad MQTT protokolom, na ovládanie IoT zariadení. Pritom témy ako IoT, či Smart Homes sú na vzostupe. A navyše som si všimol, že hotové riešenia nie sú práve najlacnejšie...

A tak sa som sa rozhodol, že idem do toho, že napíšem tutoriály ako postaviť vlastné Smart Home riešenie. A to za zlomok ceny hotových riešení. Za týmto účelom som zvolil Itead Sonoff zariadenia. Pretože cena. Sonoff TH10 wifi relé stojí $9.50, senzor teploty a vlhkosti k nemu stojí $4.30 a pod.

Nevýhodou je, že sú tie zariadenia dodávané s hotovým firmware a hotovou aplikáciou. Čo v princípe nevadí, lebo pre ne existuje kvalitný custom firmware Tasmota. Je to udržiavaný, preverený, "battletested, matured" firmware, avšak pravdou ostáva, že áno, nie je to hotové riešenie a to flashnutie obnáša napájkovať konektor, kúpiť správny USB -> TTL prevodník, atď.

Pre koho by bol toto problém, ako bolo spomenuté v tom predošlom príspevku, od chytrevypinace.cz sa našťastie dajú tie zariadenia objednať už s napálenou Tasmotou, s plnou zárukou. To je rozdiel oproti iným distribútorom, kde by ste v prípade reklamácie museli vysvetlovať kde sa na PCB vzal ten nový konektor :) Navyše som zistil, že chytrevypinace.cz sú výhradnými distribútormi Sonoff pre CZ/SK. A tak tam navyše idú kúpiť lacnejšie ako inde...

Už som aj za účelom tvorby tých tutoriálov objednal Sonoff TH10 wifi relé aj so senzorom merania teploty a vlhkosti vzduchu, aj Sonoff POW, wifi relé s meraním spotreby, a urobím k nim štyri tutoriály:

1. Ako ovládať TH10.
2. Ako merať teplotu a vlhkosť s TH10.
3. Ako ovládať POW.
4. Ako čítať z POW spotrebu energie.

Zámerne budú tie tutoriály, v záujme zachovania čo najväčšej jednoduchosti, robené pre každú feature zvlášť. A aplikácia bude riešená ako SPA, čisto s HTML / CSS / JS, avšak s Vue frameworkom. Ak aj Vue nepoznáte, nevadí. Prvý tutoriál bude o inštalácii vývojového prostredia. Lebo framework zanesie do kódu prehľadnosť, robiť SPA bez frameworku je zbytočný masochizmus, a s Vue sa dá tvorba takejto aplikácie demonštrovať najjednoduchšie a najpochopiteľnejšie. Preto Vue. A aj kvôli jeho syntaxu - keby ste následne vo vlastnej web aplikácii rozhodli Vue nepoužiť, z tutoriálu beztak pochopíte ako komunikovať so Sonoff zariadeniami.

So far, so good. Ale predsalen... Pletie ma ten nedostatok takýchto tutoriálov a snažím sa pochopiť čím to je. A tak sa vás chcem opýtať: je vôbec z vašej strany, zo strany programátorov, záujem o takéto tutoriály?
« Poslední změna: 05. 11. 2018, 18:06:14 od Petr Krčmář »


Oooo

Re:Tutoriály o ovládaní IoT zariadení.
« Odpověď #1 kdy: 05. 11. 2018, 17:48:06 »
Muze byt velmi zajimavy tutorial popisujici reverni inzenyring nejakeho uzavrenejsiho reseni a rozjeti open source s tim zarizenim.

O ovladani zasuvky pomoci arduina uz je tutorialu dost.

Technik Tom

Re:Tutoriály o ovládaní IoT zariadení
« Odpověď #2 kdy: 05. 11. 2018, 21:31:08 »
A navyše som si všimol, že hotové riešenia nie sú práve najlacnejšie...


Tak ono už je spousta hotových i open source řešení.
Malý přehled sw pro řízení a zpracování dat z IoT věciček třeba zde ( výpis v levém sloupci ):

zpracování a

oss

Re:Tutoriály o ovládaní IoT zariadení
« Odpověď #3 kdy: 06. 11. 2018, 07:42:52 »
Pri nedávnom príspevku "Ako programovo ovládať zásuvku" som si uvedomil jednu vec: internet je plný tutoriálov o tvorbe moderných web aplikácií s React / Angular / Vue frameworkami nad nejakým REST / GraphQL / Serverless backendom, ale nejak neregistrujem tutoriály o web aplikáciách napríklad nad MQTT protokolom, na ovládanie IoT zariadení. Pritom témy ako IoT, či Smart Homes sú na vzostupe. A navyše som si všimol, že hotové riešenia nie sú práve najlacnejšie...

A tak sa som sa rozhodol, že idem do toho, že napíšem tutoriály ako postaviť vlastné Smart Home riešenie. A to za zlomok ceny hotových riešení. Za týmto účelom som zvolil Itead Sonoff zariadenia. Pretože cena. Sonoff TH10 wifi relé stojí $9.50, senzor teploty a vlhkosti k nemu stojí $4.30 a pod.

Nevýhodou je, že sú tie zariadenia dodávané s hotovým firmware a hotovou aplikáciou. Čo v princípe nevadí, lebo pre ne existuje kvalitný custom firmware Tasmota. Je to udržiavaný, preverený, "battletested, matured" firmware, avšak pravdou ostáva, že áno, nie je to hotové riešenie a to flashnutie obnáša napájkovať konektor, kúpiť správny USB -> TTL prevodník, atď.

Pre koho by bol toto problém, ako bolo spomenuté v tom predošlom príspevku, od chytrevypinace.cz sa našťastie dajú tie zariadenia objednať už s napálenou Tasmotou, s plnou zárukou. To je rozdiel oproti iným distribútorom, kde by ste v prípade reklamácie museli vysvetlovať kde sa na PCB vzal ten nový konektor :) Navyše som zistil, že chytrevypinace.cz sú výhradnými distribútormi Sonoff pre CZ/SK. A tak tam navyše idú kúpiť lacnejšie ako inde...

Už som aj za účelom tvorby tých tutoriálov objednal Sonoff TH10 wifi relé aj so senzorom merania teploty a vlhkosti vzduchu, aj Sonoff POW, wifi relé s meraním spotreby, a urobím k nim štyri tutoriály:

1. Ako ovládať TH10.
2. Ako merať teplotu a vlhkosť s TH10.
3. Ako ovládať POW.
4. Ako čítať z POW spotrebu energie.

Zámerne budú tie tutoriály, v záujme zachovania čo najväčšej jednoduchosti, robené pre každú feature zvlášť. A aplikácia bude riešená ako SPA, čisto s HTML / CSS / JS, avšak s Vue frameworkom. Ak aj Vue nepoznáte, nevadí. Prvý tutoriál bude o inštalácii vývojového prostredia. Lebo framework zanesie do kódu prehľadnosť, robiť SPA bez frameworku je zbytočný masochizmus, a s Vue sa dá tvorba takejto aplikácie demonštrovať najjednoduchšie a najpochopiteľnejšie. Preto Vue. A aj kvôli jeho syntaxu - keby ste následne vo vlastnej web aplikácii rozhodli Vue nepoužiť, z tutoriálu beztak pochopíte ako komunikovať so Sonoff zariadeniami.

So far, so good. Ale predsalen... Pletie ma ten nedostatok takýchto tutoriálov a snažím sa pochopiť čím to je. A tak sa vás chcem opýtať: je vôbec z vašej strany, zo strany programátorov, záujem o takéto tutoriály?

Hlavne tam nepchajte ten javascript, takych tutorialov je plna zadek a vytvaraju pseudointelektualov.
Preco radsej nepouzit otvoereny HW? Je ho dost, preco nepouzit nieco co nezozorie 90% vykonu len na tom, aby tam bezal nejaky skriptovyci jazyk, ktory nie je treba?

Hotove riesnia su drahe prave vdaka veciam, na ktore  sa v takychto tutorialoch nemysli, napriklad bezpecnost, rusenie atd...

filip

Re:Tutoriály o ovládaní IoT zariadení
« Odpověď #4 kdy: 06. 11. 2018, 11:49:15 »
Me by se to zrovna ted hodilo. Mam na turrisu nainstalovany domoticz a mosquitto a chci zprovoznit propojeni se Sonoff moduly (POW, ruzna rele, Rf bridge, s Kodi). Je k tomu strasne malo dobrych navodu (anglicky). Vlastni nastaveni neni tak slozite, ale najit to ...
Klidne k tomu muzu pridat moji trosku do mlyna.
Zaptejte se a snad to tady uverejni jako serial clanku.


srigi

Re:Tutoriály o ovládaní IoT zariadení
« Odpověď #5 kdy: 06. 11. 2018, 12:39:43 »
Na zive.cz (ano presne na tom odpornom webe) vychadzaju perfektne clanky od Jakuba Cizka - Pojďme programovat elektroniku. Robi to fakt na vysokej urovni.

filip

Re:Tutoriály o ovládaní IoT zariadení
« Odpověď #6 kdy: 06. 11. 2018, 15:17:01 »
Koukal jsem na ty clanky a jsou fajn. Chybelo mi tam ale vice povidani o ridicim softwaru a mqtt brokeru.

Condom

Re:Tutoriály o ovládaní IoT zariadení
« Odpověď #7 kdy: 06. 11. 2018, 18:25:03 »
Ano, je zaujem. Npr v arduine viem nieco napisat do ESP modulov aj s jednoduchov html, js strankou. Ale nemam predstavu ako ako do ESP urobit peknu SPA aplikaciu, ake nastroje pouzit na programovanie, co najjednoduchsi "deploy" do ESPcka, tiez nemam skusenost s mqtt.
Urcite ano

oss

Re:Tutoriály o ovládaní IoT zariadení
« Odpověď #8 kdy: 07. 11. 2018, 08:39:30 »
Ano, je zaujem. Npr v arduine viem nieco napisat do ESP modulov aj s jednoduchov html, js strankou. Ale nemam predstavu ako ako do ESP urobit peknu SPA aplikaciu, ake nastroje pouzit na programovanie, co najjednoduchsi "deploy" do ESPcka, tiez nemam skusenost s mqtt.
Urcite ano

Zial klasicku SPA stranku do ESP-cka nezmestis, kvoli velkosti (dane bundle JS a CSS maju niekedy megabajty).
Ja som to riesil vanila Typescriptom.
Moja buildovacia chaina bola:
Typescript+Html => JS+HTML => minifikacia aj JS aj HTML => GZ kompresia => C++ zdrojak s midlwerom pre ESP (obsah ako bajtove polia)

Samozrejme vies pouzit aj CDN-ku na hostovanie napriklad Bootstrapu, ale hovorim uplne som si vystacil s vanila typescriptom

Re:Tutoriály o ovládaní IoT zariadení
« Odpověď #9 kdy: 07. 11. 2018, 09:47:07 »
Ano, je zaujem. Npr v arduine viem nieco napisat do ESP modulov aj s jednoduchov html, js strankou. Ale nemam predstavu ako ako do ESP urobit peknu SPA aplikaciu, ake nastroje pouzit na programovanie, co najjednoduchsi "deploy" do ESPcka, tiez nemam skusenost s mqtt.
Urcite ano

Zial klasicku SPA stranku do ESP-cka nezmestis, kvoli velkosti (dane bundle JS a CSS maju niekedy megabajty).
Ja som to riesil vanila Typescriptom.
Moja buildovacia chaina bola:
Typescript+Html => JS+HTML => minifikacia aj JS aj HTML => GZ kompresia => C++ zdrojak s midlwerom pre ESP (obsah ako bajtove polia)

Samozrejme vies pouzit aj CDN-ku na hostovanie napriklad Bootstrapu, ale hovorim uplne som si vystacil s vanila typescriptom

To už si rovno vystačí s čistým JS. A ESP je možné použiť aj so 4MB a tam vhodne napísanú, optimalizovanú SPA určitr zmestí.

technomaniak

Re:Tutoriály o ovládaní IoT zariadení
« Odpověď #10 kdy: 07. 11. 2018, 10:08:04 »
...je vôbec z vašej strany, zo strany programátorov, záujem o takéto tutoriály?

Určitě. Otázkou je jestli tvz. "smart houses s IoT" k něčemu jsou. Zatím je to pouze doména "hračiček" a domácích kutilů, a koncepty "smart cities" či jejich provedení slouží pouze k dojení městských rozpočtů.

A proč těch tutoriálů moc není?  Nejsou standardy, normy, specifikace, návody i pro normální lidi, apod.  IoT je pořád ještě zbytečně drahá a hlavně není vůle u konzumní společnosti něco dávat což zjevně neplatí u stupidit na xichtoknize.

Takže pokud máš chuť(a čas), jdi do toho, možná tě to může i proslavit, a pomoci sehnat lepší job či zajistit jednou vlastní business.

Re:Tutoriály o ovládaní IoT zariadení
« Odpověď #11 kdy: 07. 11. 2018, 11:38:56 »
Určitě. Otázkou je jestli tvz. "smart houses s IoT" k něčemu jsou. Zatím je to pouze doména "hračiček" a domácích kutilů, a koncepty "smart cities" či jejich provedení slouží pouze k dojení městských rozpočtů.

A proč těch tutoriálů moc není?  Nejsou standardy, normy, specifikace, návody i pro normální lidi, apod.  IoT je pořád ještě zbytečně drahá a hlavně není vůle u konzumní společnosti něco dávat což zjevně neplatí u stupidit na xichtoknize.

Takže pokud máš chuť(a čas), jdi do toho, možná tě to může i proslavit, a pomoci sehnat lepší job či zajistit jednou vlastní business.

Toto všetko je predmetom daných tutoriálov. Ukázať, ako na Home Automation lacno, bez bastlenia, a po svojom, s vlastnou aplikáciou, bez posielania súkromných dát niekam do cloudu a zároveň s použitím existujúcich štandardov, takže aj aplikácia bude jednoduchá a prehľadná, žiadne nízkoúrovňové programovanie a babranie sa s jednotlivými bitmi.

oss

Re:Tutoriály o ovládaní IoT zariadení
« Odpověď #12 kdy: 07. 11. 2018, 11:59:44 »
Ano, je zaujem. Npr v arduine viem nieco napisat do ESP modulov aj s jednoduchov html, js strankou. Ale nemam predstavu ako ako do ESP urobit peknu SPA aplikaciu, ake nastroje pouzit na programovanie, co najjednoduchsi "deploy" do ESPcka, tiez nemam skusenost s mqtt.
Urcite ano

Zial klasicku SPA stranku do ESP-cka nezmestis, kvoli velkosti (dane bundle JS a CSS maju niekedy megabajty).
Ja som to riesil vanila Typescriptom.
Moja buildovacia chaina bola:
Typescript+Html => JS+HTML => minifikacia aj JS aj HTML => GZ kompresia => C++ zdrojak s midlwerom pre ESP (obsah ako bajtove polia)

Samozrejme vies pouzit aj CDN-ku na hostovanie napriklad Bootstrapu, ale hovorim uplne som si vystacil s vanila typescriptom

To už si rovno vystačí s čistým JS. A ESP je možné použiť aj so 4MB a tam vhodne napísanú, optimalizovanú SPA určitr zmestí.
To nie je pravda, dana pamet je extrena a zavisi od dosky je od 512kB po 16MB (typicky 512kB po 4MB), takze zalezi od konkretnej dosticky. Plus tam treba nechat priestor pre bootloader, vlastny program a data.
Taktiez si treba uvedomit, ze nacitanie tak velkej strany bude chvilku trvat, kvoli vykonu ESP-cka.

BoneFlute

  • *****
  • 1 981
    • Zobrazit profil
Re:Tutoriály o ovládaní IoT zariadení
« Odpověď #13 kdy: 07. 11. 2018, 12:21:28 »
Ano, je zaujem. Npr v arduine viem nieco napisat do ESP modulov aj s jednoduchov html, js strankou. Ale nemam predstavu ako ako do ESP urobit peknu SPA aplikaciu, ake nastroje pouzit na programovanie, co najjednoduchsi "deploy" do ESPcka, tiez nemam skusenost s mqtt.
Urcite ano

Zial klasicku SPA stranku do ESP-cka nezmestis, kvoli velkosti (dane bundle JS a CSS maju niekedy megabajty).
Ja som to riesil vanila Typescriptom.
Moja buildovacia chaina bola:
Typescript+Html => JS+HTML => minifikacia aj JS aj HTML => GZ kompresia => C++ zdrojak s midlwerom pre ESP (obsah ako bajtove polia)

Samozrejme vies pouzit aj CDN-ku na hostovanie napriklad Bootstrapu, ale hovorim uplne som si vystacil s vanila typescriptom

To už si rovno vystačí s čistým JS. A ESP je možné použiť aj so 4MB a tam vhodne napísanú, optimalizovanú SPA určitr zmestí.
To nie je pravda, dana pamet je extrena a zavisi od dosky je od 512kB po 16MB (typicky 512kB po 4MB), takze zalezi od konkretnej dosticky. Plus tam treba nechat priestor pre bootloader, vlastny program a data.
Taktiez si treba uvedomit, ze nacitanie tak velkej strany bude chvilku trvat, kvoli vykonu ESP-cka.

Neřešil by to google-closure-compiler?

aabb

Re:Tutoriály o ovládaní IoT zariadení
« Odpověď #14 kdy: 07. 11. 2018, 12:48:43 »
Ano, je zaujem. Npr v arduine viem nieco napisat do ESP modulov aj s jednoduchov html, js strankou. Ale nemam predstavu ako ako do ESP urobit peknu SPA aplikaciu, ake nastroje pouzit na programovanie, co najjednoduchsi "deploy" do ESPcka, tiez nemam skusenost s mqtt.
Urcite ano

Zial klasicku SPA stranku do ESP-cka nezmestis, kvoli velkosti (dane bundle JS a CSS maju niekedy megabajty).
Ja som to riesil vanila Typescriptom.
Moja buildovacia chaina bola:
Typescript+Html => JS+HTML => minifikacia aj JS aj HTML => GZ kompresia => C++ zdrojak s midlwerom pre ESP (obsah ako bajtove polia)

Samozrejme vies pouzit aj CDN-ku na hostovanie napriklad Bootstrapu, ale hovorim uplne som si vystacil s vanila typescriptom

Niekedy, niektore "IoT" zariadenia nieje vhodne pripojit na internet, alebo su na mieste kde internet nieje. Takze externe zdroje kniznic... niesu uplne naj. Aj ked tiez mi napadlo "dotahovat" data z externych zdrojov. Pri ESP som sa tomu zatial vzdy vyhol.