M
Ja jag tänkte köra brygga och klient, men får läsa in mig lite mer.

A är en webbserver som jag helst sett var bryggan då den ligger på en riktig server. B är en Pi med TellStick och tempsensorer.
Tanken var att kunna bygga ut med fler Pis sedan för att minska mängden kablar som behöver dras.
 
Ja då räcker det ju att köra klient från Pi:na mot brokern på A.

Själv kör jag enbart med ESP8266 med MQTT-client för sensorer och annan styrning så alla noder kopplar upp sig via WiFi direkt mot brokern på servern som har webbserver etc. Har en Pi 3 i en kartong som jag ännu inte sett behovet av att använda till något...
 
Redigerat:
M
Ja jag kan tänka mig att dem är lite smidigare och så, men för övervakningen så är jag lite inne på en Pi som driver ett eget lokalt 1-wire-nät och sedan publicerar sin data till brokern.

Om jag fattat exemplen jag läst rätt, så kommer jag även kunna tända lampor direkt från PHP genom att skicka ett MQTT-meddelande till t ex /topics/powerswitch/1, 'ON' och så sker magin.

Eller att jag hämtar senaste mätvärdet för en temp-sensor via MQTT istället för en databas.

Borde ju även gå att be t ex an annan enhet läsa av sensorn och skicka ut värdet. Fast det tar nog längre tid än att hämta från en databas.

Gillar ändå att protokollet är så minimalistiskt som det är!
 
M
hanpa skrev:
Har en Pi 3 i en kartong som jag ännu inte sett behovet av att använda till något...
En Pi är ju egentligen ganska överdimensionerad för att bara läsa sensorer, men för 500:- så har man ju en Pi som kan ta in 20st sensorer utan problem och skicka allt trådlöst samtidigt som man ha en punkt för att managera alla sensorer.

En utopi jag har är att jag ska ha en Pi eller Arduino i växthuset som kan styra en elektrisk kulventil kopplad till en spridarslang. Vipps så vattnar Siri växthuset :D
 
En ESP8266 kan ju också ta in många sensorer och skicka vidare trådlöst, går ju även uppdatera programvaran via nätverket om man vill. Men man använder ju de verktyg man är van vid och jag föredrar att ha en billig ESP8266 för några tior plus strömförsörjning och låda, kanske en hundralapp, på flera ställen snarare än att samla in data från "en punkt". Spelar ju ingen roll, det är resultatet som räknas.
 
M
Ja den kanske klarar det med, vad är det för språk du programmerar i dessa?
 
Marcussjogren skrev:
Ja jag kan tänka mig att dem är lite smidigare och så, men för övervakningen så är jag lite inne på en Pi som driver ett eget lokalt 1-wire-nät och sedan publicerar sin data till brokern.

Om jag fattat exemplen jag läst rätt, så kommer jag även kunna tända lampor direkt från PHP genom att skicka ett MQTT-meddelande till t ex /topics/powerswitch/1, 'ON' och så sker magin.

Eller att jag hämtar senaste mätvärdet för en temp-sensor via MQTT istället för en databas.

Borde ju även gå att be t ex an annan enhet läsa av sensorn och skicka ut värdet. Fast det tar nog längre tid än att hämta från en databas.

Gillar ändå att protokollet är så minimalistiskt som det är!
Ja, du kan kan ju göra precis vad du vill från klienten som tar emot något. Det är bara en textsträng och en parameter så du kan skicka "Kalle Anka satt på en planka" för att slå på lampan om det är det ämnet du har valt att använda. Man behöver inte ens använda parametern dvs du kan skicka "Kalle Anka sitter inte längre på en planka" för att stänga av...

Det finns många sätt att lösa det på. Jag hackade ihop något som funkar och sen kopierade jag. Mätdata skickar jag från ESP:erna och sen har jag ett enkelt bash-script på servern för varje topic som kör en oändlig loop och prenumererar på ett topic från brokern. Så fort något nytt värde kommer in så tar jag hand om det och väntar på nästa. Ofta sparar jag bara till en fil på /tmp, ibland göra jag något direkt som att anropa något annat script eller lägga in data i en sqlite-databas eller liknande. Sen har jag cronjobb som övervakar att processerna som prenumererar på topics lever eller så startas de upp. Övriga script kan läsa på filsystemet eller från databas etc, beroende på vad det används till. På sikt hamnar nog allt i en databas...

Ett exempel som jag nyss justerade är för garageportstyrningen. Jag gjorde ett eget topic för att portens läge ändras, alltså då man går mellan stängd-"mittemellan"-öppen etc. Läget hamnar i en fil på /tmp, detta kan jag läsa från webbservern via app på iPhone och Apple Watch. Men då värdet ändras så uppdaterar jag även så att jag ser status på porten på Apple Watch ihop med vanliga klockvisningen. Sen ska jag strax även lägga in ett larm om porten är öppen mer än x minuter. Detta gör jag enkelt genom att kolla hur gammal filen på /tmp är, och skickar SMS/push-meddelande då detta skulle kunna tyda på att jag glömt stänga porten. Är det jag som öppnar porten och medvetet vill ha den öppen länge så kommer ändå meddelandet men det gör ju inget, då vet jag ju bara att varningen fungerar. Etc.
 
Redigerat:
Marcussjogren skrev:
Ja den kanske klarar det med, vad är det för språk du programmerar i dessa?
Det finns olika sätt att programmera ESP8266. Jag tänkte från början köra med LUA men provade Arduinos IDE, dvs C-liknande språk, och har använt detta sedan dess. Allt jag behövt göra hittills finns tillgängligt såsom webbserver eller bibliotek för MQTT-klient, avläsning av 1-wire etc. Det räcker med 50 rader kod (utan kommentarer) för att ta in temperatur/luftfuktighet och skicka med MQTT. Men jag brukar kommentera en del så att jag fattar senare vad koden gör så att jag kan kopiera den till nästa grej.
 
Redigerat:
M
Ja det är så jag fattat det också - det svåra är inte att skicka meddelanden och få kommunikationen att fungera, utan det svåra är kreativiteten och se vilka möjligheter som faktiskt finns när meddelandena väl kommer dit dem skall :)

Ja det blir fränt med porten, är ju en sak som faktiskt är riktigt smutt att kunna styra från klockan! Första gången jag ser någon verklig användning för den :D
 
M
hanpa skrev:
Det finns olika sätt att programmera ESP8266. Jag tänkte från början köra med LUA men provade Arduinos IDE, dvs C-liknande språk, och har använt detta sedan dess. Allt jag behövt göra hittills finns tillgängligt såsom webbserver eller bibliotek för MQTT-klient, avläsning av 1-wire etc. Det räcker med 50 rader kod (utan kommentarer) för att ta in temperatur/luftfuktighet och skicka med MQTT. Men jag brukar kommentera en del så att jag fattar senare vad koden gör så att jag kan kopiera den till nästa grej.
Ok - grymt! Har nämligen inte lust att lära mig något helt nytt språk för tillfället utan vill helst kunna producera just nu. Har kodat en hel del C/C++/PHP i mina dagar så insteget till Arduino är nog ganska OK. Har däremot gjort lite Python-script som nuvarande lösning rullar på, vilket ju för mig är något helt annat och tar mycket längre tid att ta fram lösningar i.
 
Marcussjogren skrev:
Ja det är så jag fattat det också - det svåra är inte att skicka meddelanden och få kommunikationen att fungera, utan det svåra är kreativiteten och se vilka möjligheter som faktiskt finns när meddelandena väl kommer dit dem skall :)

Ja det blir fränt med porten, är ju en sak som faktiskt är riktigt smutt att kunna styra från klockan! Första gången jag ser någon verklig användning för den :D
Klockan är suverän för att hålla sig uppdaterad. Dels om nyheter, den vibrerar när det kommer något nytt av större vikt från Omni, typ en ny terrorattack etc. Oftast bra urval och bara några gånger om dagen. Sen ser man temperatur, aktiekurser, meddelanden när de kommer. Man kan låta mobilen ligga i fickan och ändå hålla sig uppdaterad. Och jag har valt att visa saker om hemmet på displayen så att jag ser om det är larmat, aktuell strömförbukning, garageporten... Vill jag ha mer info kan jag ta det via mobilen och titta på sammanställningar eller detaljer i loggar via Dropbox eller egna appar. För hemautomation vill ju en del visa saker på displayer på väggen etc. men jag kan ju lika gärna visa det på klockan. om jag vill kan jag göra egen app med flera sidor för att visa allt väsentligt eller för att fjärrstyra olika saker. Just nu har jag ingen direkt struktur utan blandar och ger. Städning kommer att behövas...
 
Redigerat:
  • Gilla
Marcussjogren
  • Laddar…
Marcussjogren skrev:
Ok - grymt! Har nämligen inte lust att lära mig något helt nytt språk för tillfället utan vill helst kunna producera just nu. Har kodat en hel del C/C++/PHP i mina dagar så insteget till Arduino är nog ganska OK. Har däremot gjort lite Python-script som nuvarande lösning rullar på, vilket ju för mig är något helt annat och tar mycket längre tid att ta fram lösningar i.
Jag kör det mesta med enkla bash-script. Räcker inte det så tar jag till perl eftersom jag använt detta tidigare och inte så mycket python. Eller sed, grep etc. Jag blandar friskt för att snabbt lösa uppgiften. Det finns rätt mycket att hitta på nätet om Arduinos utvecklingsmiljö så det går väldigt snabbt att få igång något. Sen kopierar man och ändrar så nästa gång går det på nolltid.
 
M
Ja precis, det är så det brukar bli. Men just det här vill jag göra så homogent som möjligt och försöker därför jobba mer med klasser (i koden) och göra saker mer strukturerade än bara "fullösningar" i löpande text. Brukar i slutändan bli snabbare kod då per automatik :)
 
M
Med tanke på rubriken så frilansar jag lite och lägger upp senaste skärmdumpen på min kommande dashboard för hemautomationen. Fixade till så att det hämtas data direkt från SMHI's API och lägger in det i rutan högst upp till vänster. Var förvånansvärt enkelt faktiskt och en riktigt fräck feature :)

(och ja - det visuella för framledningstemperaturen lämnar lite att önska ;) )

Anpassad hemautomation-dashboard med väderinformation från SMHI och indikatorer för inomhusklimat och värme.
Inloggade ser högupplösta bilder
Skapa konto
Gratis och tar endast 30 sekunder
 
Marcussjogren skrev:
Med tanke på rubriken så frilansar jag lite och lägger upp senaste skärmdumpen på min kommande dashboard för hemautomationen. Fixade till så att det hämtas data direkt från SMHI's API och lägger in det i rutan högst upp till vänster. Var förvånansvärt enkelt faktiskt och en riktigt fräck feature :)

(och ja - det visuella för framledningstemperaturen lämnar lite att önska ;) )
Hur håller du reda på vilka som är hemma? Pingar du mobilerna? Gissar att den typen av registrering kanske inte alltid är så populär för andra än hemautomationsfrälsta. Dvs "minst en hemma" eller "ingen hemma" är det vanligaste.

Ska kolla på SMHI:s API men utetemperaturen har jag egentligen ingen större anledning att hantera då jag ser den ändå ihop med tidvisningen på Apple Watch och även via mina Squeezeboxar som visar vädret i viloläge. Innetemperatur och luftfuktighet har jag mest för att det är kul att se historik/statistik ibland, inte för att jag egentligen är så intresserad av aktuellt värde annat än för larm om värdena är utanför normala ramar.

Men visst, jag har haft funderingar på en "dashboard" men har ännu känt att behovet är så stort. Har också haft lite funderingar på en "dashboard" angående "to do" och kalender, typ att lägga ut google calendar på en skärm som visas i köket. Och även att visa Jira dashboards, använder Jira en del för att lista mina idéer om vad som behöver göras hemma inklusive olika projekt, bryta ner dem i mindre bitar och se progress. Kan ju kolla på mobilen eller datorn men det kanske skulle vara bra att bli påmind när man går förbi då och då hemma...
 
Vi vill skicka notiser för ämnen du bevakar och händelser som berör dig.