✉️ Saņem šito visu e-pastā. Tā vietā, lai palaistu garām kaut ko no tā, ko es rakstu savā blogā, tagad vari pierakstīties un saņemt e-pastā visu, ko es te rakstu. Tas nav bieži.

← Uz sākumu

Pārdomas un viedās mājas rotaļlaukuma rāmis

2018. gada 4. janvārī, 11 komentāri

Vienkārši vēlējos paturpināt stāstu un papildināt pēdējo ierakstu ar nelielu steka aprakstu (tehnisks ieraksts).

Sonoff'u var noflešot pa gaisu bez lodēšanas, izmantojot viņu iebūvēto OTA atjaunināšanas mehānismu. Diemžēl, nedarbojas ierīcēm ar svaigāku programmatūras versiju. Sākot ar v1.6.0 Sonoff oriģinālais OTA mehānisms pieprasa ar Itead privāto atslēgu parakstītu pakotni. Te arī ir Sonoff'a bitch:) Bet, profig. ESP8266 vienmēr var pārflešot, pieslēdzoties fiziski.

Ko tālāk?

Sonoff Basic Tasmota
Sonoff Basic Tasmota

Centrs

Pagaidām viss notiek bez vadības daļas. Tas tādēļ, ka OpenHAB uz RaspberryPI dēļ atmiņas kartes lēndarbības principā nav konfigurējams. Vairāk pavadi gaidot, kamēr pēc servisa restarta pacelsies (vai arī nepacelsies, kas nereti gadās) nepieciešami dashboardi, nekā pavadi kaut ko konfigurējot. Un arī manuālis nav diez ko čik-čik-un-gatavs. Īsāk sakot - pamēģināju, biju nepacietīgs, atmetu ar roku.

Vēl no automatizācijas centriem esot vērts apskatīt Home Assistant (oficiāli darbojas tikai uz Raspberry Pi 3 model B, lai gan ir redzēts arī uz zero) un Domoticz (minimālā versija oficiāli darbojas uz zero). Tos vēl neesmu provējis. Abus pamēģināšu, kad atnāks otrs Raspberry Pi Zero W (jā, paņēmu divus:P).

Centram ir daudz būtisku nianšu. Integrācijas ar citiem izplatītāju risinājumiem (Z-Wave, ZigBee, utt). Kā arī mobilās aplikācijas, lai nav jāčakarējas ar velnsviņzinkādiemmēsliem. Nē, man nesalūza tuksnis uz klavieres.

Bet tas jau nav vienīgais elements visā šajā padarīšanā.

Infrastruktūra un drošība

Sāksim ar to, ka kārtīgi ir jāpadomā par tīkla jautājumu. Visam vajadzētu dzīvot atsevišķā tīklā (manā gadījumā atsevišķs WiFi AP), kuram viss ir pēc principa - nav brīv, ja vien nav speciāli atļauts. Tev negribētos, lai kāds sāk slēgāt visu to padarīšanu :) Un te nav runa par to, ka nevienu jau tas neinteresē. Interesē.

Otra lieta, kas man pagaidām nav aktuāla, bet eventuāli noteikti būs svarīga - daļa no lietiņām būs caur tīkla vadu pieslēgtas. Bieži vien tā varētu būt ērtāk, nekā pagarināt WiFi. Vai arī pati ierīce nekādi savādāk komunicēt nejēdz. Vai arī ērtākais barošanas veids ir kopā ar ethernet.

Saliekam visam pēc iespējas paroles. MQTT aiz paroles, visi webiņi aiz paroles, datubāzes aiz paroles, utt.

Saliekam visur SSL. Letsencrypt piedāvā iespēju verificēt sertifikātus ar DNS līdzekļiem, lai gan atjaunošana ir nopietns čakars un pagaidām automatizējama ir diezgan sarežģīti. Var pats ģenerēt ilgi derīgus SSL sertifikātus, bet var uzrauties uz kādu ķēdītes elementu, kuram nezināmais CA varētu nepatikt.

Dzelži

Praksē viss stacks var smuki dzīvot uz RaspberryPi Zero. Ja neskaita jau minēto OpenHAB (iespējams, ka jau sakonfigurēts tas ir lietojams). Iegādājies divus tādus, pie katrām izmaiņām veic atmiņas kartes rezerves kopēšanu un viss. Ja nu kas, vienkārši samaini vai nu visu aveni, vai tās atmiņas karti uz strādājošu.

No otras puses, varētu gribēties kaut ko pēc sajūtām "stabilāku". Vismaz ar drošāku datu glabātuvi. Te nu paveras jūra iespēju, kuras neuzskaitīšu. Tikai pieminēšu divus kritērijus, izvēloties dzelzi, uz kura viedā māja griežas:

  1. Vienmēr esi gatavs tam, ka dzelzis nosprāgs. Esi gatavs, ka kāda komponente vai pat viss dzelzis būs jānomaina. Tāpēc bekapi (un to testēšana).
  2. Elektrības patēriņš. Tev, piemēram, varētu būt doma to visu uzkrāmēt uz parasta veca datora. Bet parasts vecs dators elektrību ēd tā, ka maz neliekas. Vai arī, ja Tev ir mājās kāds mazpatēriņa NAS (piemēram, Synology), uz kura var uzkrāmēt vēlamo lietu, tad ņem vērā, ka idle režīms tur vairs nebūs :) It kā gada griezumā konstanti 20W nav daudz, bet tomēr.

Tālāk jau nāk programmatūra pati. Ko tad tai avenei būtu jāspēj griezt?

MQTT

Principā, galvenā maģistrāle, pa kuru sazinās ierīces un tiek dotas komandas. Praksē tas ir Mosquitto MQTT brokeris (lasi - serveris), pie kura visi interesenti, ieskaitot jau zināmos Sonoff'us, slēdzas klāt. Tālāk jau tur notiek saziņa - dodam komandas kaut ko izslēgt, ziņojam par savu veselības stāvokli, temperatūrām, voltāžām, utt.

Node-Red

Šis, sākotnēji IBM produkts, ir bezmaksas un atvērtā koda (tāpat kā viss pārējais). Tas ir tāds grafisks interfeiss, kurā liekot klucīšus, velkot strīpiņas un nepieciešamības gadījumā rakstot javaskriptiņu ir iespējams panākt pašu vellu.

Zemāk testa piemērs ar TV kasti. Principā varēja vēsi iztikt bez MQTT daļas, bet pilna cikla vajadzībām lai iet.

TV monitorings
TV monitorings
  1. Datu savākšanas, normalizācijas un izziņošanas daļa.
  2. Pingojam TV kasti.
  3. Tā kā pings atgriež false nesasniegšanas gadījumā, vai reālo milisekunžu skaitu, kad kaste atbild, tad to būtu forši normalizēt par true/false.
  4. Skatāmies, vai mums ir mainījusies vērtība (tā saucamais rbe) - bloks tālāk nelaiž, kamēr viņam barotā vērtība nav mainījusies (piemēram, no false kļuvusi par `true).
  5. Tad to visu izziņojam visai IoT pasaulei caur MQTT.
  6. Notifikācija
  7. Ja nu mēs ieraugām MQTT ziņojumu, ka TV ir ieslēgts vai izslēgts, lecam tālāk.
  8. Sagatavojam e-pasta tēmu un saturu.
  9. Nosūtam.

Šis, protams, nav reāls dzīvs viedās mājas piemērs, bet lieliski demonstrē, cik vienkārši tas viss ir izdarāms. Tu vari izdarīt tā, ka NodeRed atbild uz HTTP vai savādākiem pieprasījumiem. Tu vari tos visus sūtīt visur kur. Vari savākt datus, kā vēlies. Pat no GPIO.

Piemēram, Tev ir temperatūras un mitruma sensors. Viņš (vai viņam piekabinātā ierīce) ik pa laikam veic mērījumus un izziņo caur MQTT tēmām tele/meteo-1/temperature un tele/meteo-1/humidity. Visi, kurus tas interesē, ieklausās un dara savu darāmo (pieglabā, analizē, reaģē, utt). Tev ir jau gatava NetAtmo laikapstākļu stacija? Nekādu problēmu.

Vēlies nedaudz iepriecināt bērnu? Nopērc plaukšķināšanas sensoru (labi, jokoju, būs vien pašam jātaisa) un pieslēdz pie Node-Red, lai slēgā gaismu :)

Tas viss ir diezgan vienkārši un nevajag nekādus sensorus, lai jau kaut ko varētu saķīmiķot. Tāds kā lokāls IFTTT.

Mērījumu uzkrāšana un grafiki

Mērījumus uzkrāt vari kur vien labpatīk. Man pirmais, kas patrāpījās pa rokai, biaj InfluxDB, lai gan Graphite varētu būt košērīgāk. Caur to pašu NodeRed varam sataisīt datu transfēru no sensoriem uz datubāzi. Es saprotu, ka daudziem patīk MySQL vai PostgreSQL, bet mērījumiem tomēr būtu vērts apgūt piemērotākus datu krāšanas rīkus.

Un skaistie grafiki, kuri visiem dikti patīk, bet nekad nenoder, ir jātaisa iekš Grafana. Starp citu, Grafana ir daudz kas vairāk nekā grafiku un cipariņu rādīšanas rīks. Tā jēdz arī lieliski monitorēt lietas.

Viens no bezjēdzīgākajiem grafikiem. Sonoff voltāža un WiFi signāla kvalitāte. Pa vidu Roberts, sūcot putekļus, bija parotaļājies ar releju.
Viens no bezjēdzīgākajiem grafikiem. Sonoff voltāža un WiFi signāla kvalitāte. Pa vidu Roberts, sūcot putekļus, bija parotaļājies ar releju.
Un te ir Node-Red blociņi, kas paķer Sonoff ziņojumus un aizgrūž uz InfluxDB
Un te ir Node-Red blociņi, kas paķer Sonoff ziņojumus un aizgrūž uz InfluxDB

Man ir daudzi tādi mazie sapnīši, kuri ir nice to fullfill, bet nekad nav bijuši prioritāri. Nolēmu, ka ir īstais brīdis sākt spēlēties ar vienu no tiem - elektroniku.

Sacīts, darīts!
Sacīts, darīts!

Tas arī vairāk vai mazāk pagaidām viss. Gaidu ieteikumus, komentārus un sarkanās kartītes komentāros. Protams, ka šāds piegājiens ir totāls samopals un prasa rūpīgi izplānot, uzbūvēt un uzturēt pašam. Ir arī alternatīvas, kur visu tavā vietā saplāno, uzbūvē un uztur. Ja esi ar mieru ziedot naudu, aidā. Ja esi mazāk turīgs vai arī vēlies tomēr pats kaut ko nosvilināt, tad arī aidā. Pat, ja galā nekas prātīgs neizdosies, vismaz būsi mēģinājis.

Galvenais ir nepadoties ;)

Tu atbildi augstāk redzamajam komentāram. Atcelt

Gravatar Krahabors

2018. gada 5. janvārī, plkst. 11:19

"Sākot ar v1.6.0 Sonoff oriģinālais OTA mehānisms pieprasa ar Itead privāto atslēgu parakstītu pakotni. Te arī ir Sonoff’a bitch:) Bet, profig. ESP8266 vienmēr var pārflešot, pieslēdzoties fiziski."

Tā īsti nebij - mani pajaunie sonoff basic neļāvās noflašoties tieši pieslēdzoties fiziski, lai gan ar citiem ESP8266 biju to darījis simtiem reižu. Caur OTA ar grūtībām noflašoties ļāvās, lai gan pēc tā īsti stabili strādāt atteicās, kas varētu būt saistīts ar kādu HW problēmu, abi jau pirmstam negribēja ar dzimto ķīniešu serveri sazināties.

Gravatar Valdis Vītoliņš

2018. gada 5. janvārī, plkst. 18:52

Kaspar, vai esat lasījis "Kas jāņem vērā, iegādājoties internetam pieslēgtu ierīci"? https://odo.lv/Blog/170409

Gravatar laacz Autors

2018. gada 5. janvārī, plkst. 22:38

Daudzi punkti no tur minētajiem ir šaubīgi. IPv6 atbalsts nav svarīgs, jo nav tieša pieslēguma internetam. Atvērtais kods arī nav prioritāte. Protokolu uzskaitījums ir muļķīgs, jo jauc apelsīnus ar ķieģeļiem. Un arī citi. Visā visumā - uzskaitījums nav lādzīgs. Rada lieku FUD (fear, uncertainty and doubt).

Gravatar Murmulis

2018. gada 6. janvārī, plkst. 18:18

Es protu lodēt, bet šis priekš manis ir par sarežģītu. Gribu kastīti, kuru atnesu mājās, nolieku to stūrī.. nospiežu pogu on.. ja uz tās ir displejs, vai kādi vadības rīki, saprogrammēju ieslēgšanas izslēgšanas režīmus, ja nav instalēju aplikāciju telefonā, kur daru to pašu.. viss.. kastīte stūrī savā nodabā lampiņām mirgojot klusi dīc, prot bez vadiem sazināties ar citām mazajām kastītēm pie sūkņa, gaismām, apkures, putekļu sūcēja, kaktusu laistāmās pariktes, un citiem slinkumrīkiem - slēgā iekšā, un ārā tos, bet es pārlaimīgs sūcu aliņu un reizi mēnesī kautko mazliet pamainu.. Esmu laikam pārāk vecmodīgs.. ledusskapī beidzas krējums, es to nopērku veikalā.. pagaidām pakaļa tik resna nav uzaudzēta, lai programmētu ledusskapi, lai viņš sūtītu to pats.. gulēt ejot pastiept roku, lai aizsniegtos līdz slēdzim un izslēgt gaismu, man liekas ir normāli.. pat automatizētajām laistīšanas sistēmām kuras nākas regulāri uzstādīt, piemēram privātmājās, neredzu vajadzību tērēt naudu un pirkt bezvadu risinājumus, kas ziņo katru mirkli kāda temperatūri ir laukā, vai mitrums gaisā.. nevajadzīgi.. man vajag, lai zālienu laista kad ir sauss, un nelaista kad ir lietus.. un tam pietiek ar vienu primitīvu lietus sensoru.. Protams ja daru ko smalku, audzēju pagrabā mikroklimatā kaņepi, kur gaisma, ventilācija, mitrums un barības vielu padeve ir ļoti būtiska, lai kaimiņš to nepiefiksē, tad sensoriem un datu analīzei ir būtiska loma, bet savādāk, tā ir tāda pieaugušo bērnu rotaļāšanās ar lielākām spēļmantiņām..

Gravatar asmtz

2018. gada 21. maijā, plkst. 21:14

lūk, lūk, pilnībā piekrītu, vispār nesaprotu, kam tas ir vajadzīgs. vēl satīklot visu savu māju, un pēc tam cīnīties ar gļukiem. pilnīgi lieks slinkumprocess no sākuma līdz galam. bail iedomāties, ka pēc desmit gadiem tāpat jau neizbēgami būs tā - ja tu pats savās mājās, izejot no virtuves, izslēdz gaismu, pats slēdz durvis, pats atceries nopirkt baltmaizi, tad noteikti esi uzskatāms par nez kādu eko-hipiju.

Gravatar au

2018. gada 13. janvārī, plkst. 01:02

man openhab griezaas uz veca pi1 ar parastu 'rimi sd karti' ... esmu gan paargaajis uz pi3 deelj wifi,bet aatraaku karti tik deelj flintos pasuutiiju, openhub'a peec nē. Sākās viss ar sonoffiem ... tas uzseedin uz adatas ;)

Gravatar Gunku

2018. gada 31. janvārī, plkst. 21:08

Sveiki!

Kaimiņš pateica, ka arī esi sācis darboties un rakstīt par gudro māju. Vajadzēs palasīties un pamainīties ar idejām. Es par saviem piedzīvojumiem arī cenšos rakstīt iekš gm.arutec.lv Ar cieņu, Gundars