Hussystem med Raspberry PI och 1Wire

Berätta om dina pågående projekt.
Användarvisningsbild
hanpa
Utsparkad, på semester
Inlägg: 639
Blev medlem: 22 november 2016, 21:54:43
Ort: Hemort

Re: Hussystem med Raspberry PI och 1Wire

Inlägg av hanpa »

OK, jag kan tänka mig att använda hårdvaran men vill inte ha något färdigt automationssytem utan vill bara kunna styra varje pryl via något kommandoradsbaserat API. Finns det något sådant som rekommenderas? Jag vill nämligen ha 100% frihet i hur jag styr saker, utan att vara inlåst i något "regelverk" med begränsningar, buggar etc. som gör att det inte går att få det exakt som jag vill ha det.
danielr112
Inlägg: 8051
Blev medlem: 18 januari 2009, 00:48:24
Ort: Alvesta, Småland

Re: Hussystem med Raspberry PI och 1Wire

Inlägg av danielr112 »

Då får du nog bygga ditt eget :)
Användarvisningsbild
hanpa
Utsparkad, på semester
Inlägg: 639
Blev medlem: 22 november 2016, 21:54:43
Ort: Hemort

Re: Hussystem med Raspberry PI och 1Wire

Inlägg av hanpa »

Jag bygger redan eget och är inte beroende av något sådant system nu. Men om det finns en programvara som hanterar interfacedelen mot Nexa-prylar och liknande som går att styra utifrån så kan det ändå vara intressant som komplement. Tänker då främst på kraftstyrning, sensorer och liknande bygger jag hellre själv.

Var visst inte så svårt:

http://elektronikforumet.com/forum/view ... =8&t=56933
Användarvisningsbild
hanpa
Utsparkad, på semester
Inlägg: 639
Blev medlem: 22 november 2016, 21:54:43
Ort: Hemort

Re: Hussystem med Raspberry PI och 1Wire

Inlägg av hanpa »

Borre skrev:Jag använder RFXCOM RFXtrx433E, väl värt pengarna. Styr/läser i princip alla 433MHz saker, inkl Nexa.
Snudd på alla vettiga hemautomationsprogram stödjer den och Nexas protokoll.
Lite dyr. Har några gamla Nexa-prylar hemma som aldrig blivit använda. Den här duger nog. En 50-lapp inklusive frakt.

https://www.aliexpress.com/item/Free-sh ... 9b37&tpp=1
Pen
Inlägg: 207
Blev medlem: 16 september 2006, 09:15:51
Ort: Stockholm

Re: Hussystem med Raspberry PI och 1Wire

Inlägg av Pen »

Jag går vidare ett steg i projektbeskrivningen. Efter kraften var det dags att sätta in Raspberryn.

Detta steg innehöll ingen elektronikkonstruktion alls - bara mekanik. Hittade en avlång standard stepdown från 12V till 5V som passade perfekt till det byggsätt jag har i en av mina två centrala elektronikboxar. Sågade faktiskt helt sonika ut stepdownen från en skrotad elektronikpryl.

Elektronikboxen sitter ovanför kraftboxen som kan skymtas i underkant. Den har samma mått utom att den är lite djupare. En del gammal elektronik rensades ut för att ge plats för Raspberryn och ännu mer ska bort succesivt för att snurra i mjukvara istället. Det blir också färre CAT kablar i boxen när 1wire på sikt har tagit över.

Högst upp till vänster i bilden på boxen kan man skymta det lilla 1wire masterkortet som är dockat till SPI anslutningarna på Raspberryn. Kortet tar faktiskt inget utrymme alls eftersom det är monterat upp-och-ner mot moderkortet. Ska man ha ett till så stackar man det ovanpå det befintliga och då bygger det tyvärr lite grann. Eventuellt måste jag ha ett till för att få en sabotageskyddad och en oskyddad buss.

Fortsätter med lite kort om mina erfarenheter med Raspberry. Den uppmärksamme kan se att den är lite äldre än mitt projekt och ja - den fick ligga och skämmas i malpåse ett bra tag innan jag plockade upp den igen.
Du har inte behörighet att öppna de filer som bifogats till detta inlägg.
Pen
Inlägg: 207
Blev medlem: 16 september 2006, 09:15:51
Ort: Stockholm

Re: Hussystem med Raspberry PI och 1Wire

Inlägg av Pen »

Det första jag testade att lägga på min nyinköpta Raspberry var XBMC. Resultatet var en ren katastrof. Det var inte bara instabilt i största allmänhet utan MBR på SD-kortet skrevs sönder gång på gång. Jag vet inte hur man kunde lyckas få till en så dålig miljö, men jag tappade totalt intresset att göra något med den och den försvann ner i en diverselåda. Tyckte också att det fanns alldeles för mycket strultrådar i olika forum för att fortsätta (bland annat en hel wiki om vilka SD kort som fungerade ihop eller inte med Raspberyn).

Först långt senare beslöt jag att ge den en andra chans. Den här gången lade jag på en "ren" Raspbian image istället. Sedan konfigurerade jag bort tidstämpligen på filsystemet för att få bort onödiga skrivningar mot flashen. Och så fick den förstås rejäl kraft. Det är möjligt att den var lite på gränsen i det första försöket ovan, men felmoden sönderskriven MBR är inte rolig. Efter en del långtidstester så fick den trots allt betyget godkänt. Dock tänker jag se till att jag har en hyfsat aktuell image-kopia i reserv. Tyvärr sitter inte SD kortet åtkomligt utan att skruva ur ekipaget ur boxen, men det får jag ta. Kanske är det bra att inte ta en ny image jämt och ständigt heller för den delen. Backup kan man ju göra på annat sätt som komplement.

Jag har lagt på ett minimum av programvaror som bas för mitt system:

LAMP server. Standard Apache ryms mycket väl inom footprintet.
SSMTP klient. Tunn SMTP klient enbart för utgående mail.
Stunnel. En liten process för att köra SMTP över "gammal" SSL. Ett måste mot t.ex. Bahnhofs SMTP server.
WiringPI. En HW abstraktion för att komma åt Raspberyns lokala IO. Använder jag f.n. inte.
OWFS. 1wire abstraktion för att accessa enheter på bussen. I form av ett filsystem i vilket enheterna dyker upp.
LibModbus. För att komma åt Modbus enheter. Har en egen wrapper också ovanpå för att köra från script.

That's it! Så väldans mycket mer kommer det inte att bli tror jag. Kanske något för att skicka SMS. Och så får vi se om jag byter till något annat trådlös också - kan bli några drivisar till detta.

Även om jag kommer att ersätta en del Modbus enheter som jag har idag så behöver jag Modbus som protokoll mot min värmepump. Därför blir den kvar.

Förutom att LAMP är basen för all WEB åtkomst så tjänar den som scriptinterpreter till mina egna program som jag av historiska skäl har valt att skriva i PHP. En del kod flyttar jag bara över från min gamla 24/7 server och annat kodar jag förstås på nytt. Jag provkodade lite i det betydligt modernare Phyton och visst - det är syntaktiskt mycket snyggare - men med den mängd kod jag ska skriva (relativt liten) så kändes det inte värt besväret att byta. Mina mer mjukvaruorienterade vänner tycker att jag är dammig!
Pen
Inlägg: 207
Blev medlem: 16 september 2006, 09:15:51
Ort: Stockholm

Re: Hussystem med Raspberry PI och 1Wire

Inlägg av Pen »

Nästa steg i projektet var att introducera 1wire som "husbuss". De första tre enheterna är nu byggda men betydligt fler återstår att bygga.

Som framgår av tidigare diskussion så ser jag väggmonterade paneler som basen för så att säga daglig manövrering av prylar i huset. Allting går redan idag att styra via WEB och mobil men de mest frekventa funktionerna går även att styra från väggmonterade paneler. Det visar sig att vi praktiskt taget aldrig använder mobilen när vi befinner oss hemma och det finns ett fast enkelt alternativ. Däremot tycker jag att WEB snittet är bra för konfiguration. Det är en avvägning förstås.

Därför blir det första bygget två ganska lika paneler för manövrering av larmet, grinden till tomten och entrelåset. De ska rymmas i varsin apparatdosa. Den ena är en standarddosa, den andra är en fyrkantig något större modell. Tidigare sköttes larm och grind från olika paneler i övervåningen men nu ska funktionerna alltså in i samma panel och dessutom kompletteras med entrelås. Och souterängvåningen får en helt ny panel med samma funktion.

Varje panel har två DS2408 1wire kretsar med 8 IO portar var. Det räcker för att styra 3st RGB dioder och känna av 3st tryckknappar. Tillkommer en resetkrets (optionellt) och sedan är det klart. Med skohorn går det att pressa in detta på ett protypkort i format för att precis matcha apparatdosan. Det blir till och med lite plats över så jag klämmer in en optokopplare som kanske kommer till användning för att styra något annat i närheten.

Bilderna visar panelen för standard apparatdosa. Jag gjorde den fyrkantig vilket bryter lite mot de befintliga strömbrytarna. Å andra sidan är modernare strömbrytare mest fyrkantiga och det kanske blir byte i samband med kommande jordningsprojekt.

Återkommer till varför jag valde 1wire.
Du har inte behörighet att öppna de filer som bifogats till detta inlägg.
danielr112
Inlägg: 8051
Blev medlem: 18 januari 2009, 00:48:24
Ort: Alvesta, Småland

Re: Hussystem med Raspberry PI och 1Wire

Inlägg av danielr112 »

Körde också sådanna knappar innan. Jag gjorde det dock med 2405 (Har jag för mig) Och en flip-flop krets med 2-färgade lysdioder :)

Det enda som jag inte var nöjd med var knapparna. Ser ut som ungefär samma som du har. De jag köpte var rent jäkla skräp och byttes till riktiga med klick-klack ljud istället.
Pen
Inlägg: 207
Blev medlem: 16 september 2006, 09:15:51
Ort: Stockholm

Re: Hussystem med Raspberry PI och 1Wire

Inlägg av Pen »

Hehe. De där knapparna är lite av kult. Hade några gamla (från 70 talet) i mina lådor och lyckades köpa likadana nya till den andra panelen. Och nej, de andas inte tillförlitlighet. De är lite fulsnygga - funderar på att sätta LED i kromade hållare också för att matcha muttern. Den röda färgen på knappen stör, men nu är det ju larm så då kan jag (lura mig själv att) acceptera det.

En bra grej med DS2408 (jag tror att även DS2405 har det) är ju att den latchar knapptryckningen. Man behöver inte skanna ihjäl sig och sedan kan man göra debouncing i programvara. Gissar att det är väldigt mycket bouncing i de där tryckknapparna. Jag har min-intervall på 1s mellan två tryckningar på samma knapp.
Pen
Inlägg: 207
Blev medlem: 16 september 2006, 09:15:51
Ort: Stockholm

Re: Hussystem med Raspberry PI och 1Wire

Inlägg av Pen »

Lite om mitt val av 1wire.

Anledningen till att jag ville ha ett trådat system har jag berört i tidigare diskussioner.

Panelen är ett ganska bra exempel på kravbilden på distribuerade enheter:
  • Den är dolt installerad
  • Den behöver kraft, men måttligt
  • Den är både aktor och sensor med måttliga krav på realtid
  • Monteringsutrymmet är ganska litet
Sedan är det en del väldigt personliga krav jag hade på mitt konsoliderade system:

- Vill bara programmera med scriptprogrammeringsspråk i Linuxmiljö
- Vill klara mig med måttlig lödning och utan att göra egna kretskort

Som sagt, här finns inget rätt eller fel. Jag har själv programmerat PIC kretsar i assembler och både gjort egna kretskort och virat rätt stora konstruktioner. Det var rolig på den tiden och jag missunnar ingen annan att också avnjuta detta. Men för mig är det nu passerat känner jag.

Det som är bra med 1wire tycker jag är:
- Det finns ett stort utbud av färdiga billiga och kompakta IO kretsar
- Det krävs ingen mikroprogrammering i dessa
- Det krävs inga transformatorer på bussen (ansluts direkt till IO kretsen)
- Den är gjord för att även distribuera kraft med eller utan extra ledare
- Detektering av händelser är extremt effektivt genom binärsökning i hårdvara

Dess främsta nackdel är:
- Det är inga transformatorer på bussen (sämre signalintegritet).

Till detta kan man ju lägga att det inte går att mikroprogrammera IO kretsarna. Men om det behövs så är det ju inget som hindrar att man sätter dit något microchip av favorittyp. Det finns också bibliotek till t.ex. PIC som implementerar 1wire.

Om man jämför med t.ex. Modbus/RS485 som är en standard för professionell automation så blir det betydligt fler komponenter för att ansluta den inklusive transformator. Har inte heller sett några rena IO kretsar för denna utan det blir ett micro-chip med någon processor att programmera.

Modbus har dock (liksom andra balanserade bussar) väldigt hög signalintegritet vilket 1wire saknar. Jag har surfat rätt friskt om praktiska erfarenheter (bland annat här på elektronikforum) och det verkar som om 1wire oftast ändå fungerar bra upp till 60-100 meter med rätt distribution (men inte utan). Trots den låga hastigheten på bussen så bör den betraktas som en transmissionslina och grenar bör undvikas. Nu är min kanalisation dessvärre stjärnformad och det kan jag inte göra något åt. Så min 1wire är i själva verket 6wire med en frambuss (1 par) en returbuss (1 par) och förstärkt kraft (1 par). I ändarna av varje gren byglas fram och returbussen ihop och i navet går returbussen till frambussen på nästa gren o.s.v. Att det blir 6 ledare är inget problem i praktiken då CAT kabeln ändå innehåller 8 tåtar. Men vi får se hur det går när jag steg för steg bygger ut bussen. Just nu är den nog inte mer än dryga 15 meter men i slutänden har jag skattat det till 60 meter. Har ännu 0 bussfel. Erfarenheter av långa bussar mottages tacksamt.

1wire är liksom Modbus (och till skillnad från Ethernet) en single master multiple slave buss. Ska man detektera händelser så måste man alltså skanna och har man många enheter att skanna så blir det mycket tungt med Modbus. Här tycker jag att 1wire verkligen har en finess eftersom den binärsöker nya händelser från alla enheter direkt på bussen. Det sker i princip i en enda bussaccess. Om inga händelser alls finns så är belastningen för att skanna oberoende av antal anslutna enheter. Jag skannar för närvarande 4 gånger i sekunden och det belastar inte bussen nämnvärt - 1.7%.
Senast redigerad av Pen 31 januari 2017, 15:35:42, redigerad totalt 1 gång.
Pen
Inlägg: 207
Blev medlem: 16 september 2006, 09:15:51
Ort: Stockholm

Re: Hussystem med Raspberry PI och 1Wire

Inlägg av Pen »

Är nästan klar med den historiska delen av projektet. Det finns idag bara en till 1wire enhet som jag återkommer till.

Behöver dock lite katalysator till dagens problem just nu.

I mitt befintliga system finns en högtalare inbyggd i - gissa vad - en apparatdosa (standardstorlek). De enheter som behöver signalera akustiskt har en open collektor och 150 ohm mot högtalarens ena sida vars andra sida är kopplad till +12V (säker kraft). Det ger naturligtvis bara fyrkantvåg men det har fått duga hittills. Effekten i högtalaren blir med detta system cirka 0.04 W vilket upplevs som storleksordningen samma nivå än en vanlig dörrklocka - möjligen något högre.

I det nya systemet vill jag att ljudet flyttar in i mjukvara i Raspberryn i form av olika wav-filer. De kan köras direkt med Rasbians kommandobaserade enkla spelare som via PWM skapar audio i phono-jacket. Jag skulle också vilja ha lite högre effekt i högtalaren för att göra det mer onjutbart när det är larm. En halv watt skulle ge ungefär dubbla upplevda styrkan.

Problemet är att Raspberryns phono jack endast ger några volt över 100 ohms utgång. Så nu behövs det någon form av förstärkning. Vad-det-nu-är för förstärkare kan antingen placeras med högtalaren i apparatlådan eller centralt men bör i båda fallen vara hyfsat liten. I apparatlådan passerar CAT med 1wire inkl 5V och säker 12V. Det överblivna trådparet i CAT 1wire kan få bära ljudet. Här är några alternativ jag funderat över

- En förstärkare i apparatlådan. Har en TDA7052 liggandes. En kompakt 8 pins BTL förstärkare på 1W uteffekt utan externa komponenter annat än avkopplingskonding. Skulle få plats piggybackad på högtalaren i apparatlådan. Men kretsen är optimerad för 6V. Matar man den med högre spänning (vilket är helt ok) så blir förlusteffekten högre och uteffekten motsvarande lägre. Den 5V som finns på min 1wire är inte tänkt att mata effekter i storleksordningen watt ute i enheterna. Tar jag det från 12V så får jag antingen röka bort en massa effekt i en linjär regulator eller så måste jag tråckla in en stepdown. Gillar inte det förra då det också stjäl onödigt av batteriet om det ska kunna larma när nätspänning saknas. Stepdown är en ok lösning men helst skulle jag vilja hitta något enklare.

- En stepdown från 12V direkt till högtalaren som fungerar som klass D audioförstärkare. Har funderat och funderat och inte kommit på något sätt att få driv i högtalaren åt båda håll med de enkla stepdownkretsarna som brukar användas. Det skulle kanske gå att att köra stepdownen mot ett 8 ohms motstånd och sedan en seriekondensator mot högtalaren men då bränner man också bort onödig effekt.

- En komplett klass D krets avsedd för någon enstaka W audio. Det visar sig att det faktiskt finns sådana avsedda för mobila enheter för ett par tior. Men de är också optimerade för 3-6V matningsspänning och det är också maximalt tillåten matning. Skulle alltså behöva en stepdown i allafall.

- Ett eget klass D slutsteg matat med 12V placerat centralt. Tanken är att slutsteget bara är ett transistorpar med efterföljande LC filter direkt över utgångarna till högtalaren. Transistorparet styrs direkt av en ofiltrerad PWM utgång på Raspberryn. En del preliminära efterforskningar pekar på att det går att styra om audiospelaren mot Raspberryns PWM utgång på GPIO kontakten istället för till filtret före phonokontakten. Om detta fungerar skulle det bli en näst intill förlustfri lösning och med mycket få komponenter.

Man skulle förstås teoretiskt kunna köra PWM ända ut till apparatdosan och sätta klass D steget där. Men det är nog rätt vassa signaler som inte passar så bra att samsas med 1wire.
danielr112
Inlägg: 8051
Blev medlem: 18 januari 2009, 00:48:24
Ort: Alvesta, Småland

Re: Hussystem med Raspberry PI och 1Wire

Inlägg av danielr112 »

Jag har kört 1wire i ganska många år och jag är nog en av dem som helt trotsat lagar när det kommer till at dra nät. Jag har således nästan bara använt cat5 nät i huset och jag kör nästan helt blandat i form av stjärndragning. Dvs drar ut dit jag ska och förgrenar. Allt kopplas på en RJ45 patchpanel i skåpet där det också sitter en aktiv hub.

Jag hade nog som mest 200meter total längd wire och över 120 enheter! Ja jag hade mycket och visst hade några få fel men de var extremt få på det stora hela.

Nu förtiden är det kopplat på huben och fördelas således över 4 kanaler. De sträcker sig över 3 (Ja 3) byggnader med kabel draget under jorden :)
Pen
Inlägg: 207
Blev medlem: 16 september 2006, 09:15:51
Ort: Stockholm

Re: Hussystem med Raspberry PI och 1Wire

Inlägg av Pen »

Låter som betryggande erfarenheter.

Jag förstår det som att du har en aktiv hub med 4 grenar som drar iväg rätt långt och sedan grenar du igen passivt men inte så långt. Det är ju rätt ok eftersom de korta stubbarna "klingar ut" reflektionerna rätt fort jämfört med om de långa kablarna hade varit passivt grenade vid navet.

Har du även använt "alarmfunktionen" - den som gör det jag kallar binärsökning på bussen? Den ställer ju lite speciella krav på transmissionen då det kan vara många enheter som drar i tåten samtidigt.
danielr112
Inlägg: 8051
Blev medlem: 18 januari 2009, 00:48:24
Ort: Alvesta, Småland

Re: Hussystem med Raspberry PI och 1Wire

Inlägg av danielr112 »

Jag har 1 hub och då 4 aktiva kanaler. Dessa sedan är helt random förgrenade varav de flesta direkt vid hubben. Så från 1 port kan jag ha 5 gångar ut i huset. Som sedan på helt olika längder förgrenar sig ytterligare 20 gånger :)

Jag har inte använt mig av alarmfunktionen just pga av antalet enheter som jag kört. Utan jag använde det bara för att läsa av/styra portar. Avläsning av alla temperaturer samt andra sensorer som inte behövde interaktion gjordes 1 ggr per minu. Alla andra t ex där jag ville ha status på dörrar, musfällor samt annat skoj gjordes var 5e sekund. Jag läste således aldrig av någon knapp som triggade en utgång. Utan allt sådant triggades som jag sa tidigare med en flip flop krets. Som då lästes av var 5e sekund. Detta för att slippa ev fördröjningar pga av mängden sensorer.

Men jag hade även utgångar som jag kunde styra från dator och liknande och de hade väldigt liten fördröjning. Men som sagt aldrig input -> output på nätet som sådant.

Nu har jag gått ifrån mitt nät lite granna mest för att jag har inte fått ut sladdar överallt så har börjat integrera trådlösa enheter baserat på ESP8266 som noder. I regel 1 i varje rum :)
Pen
Inlägg: 207
Blev medlem: 16 september 2006, 09:15:51
Ort: Stockholm

Re: Hussystem med Raspberry PI och 1Wire

Inlägg av Pen »

Jag inser att jag kommer att hamna i ESP8266 förr eller senare också - jag känner trycket :) . Men då blir det för prylar som inte behöver fungera vid nätspänningsbortfall (bland annat därför att jag har för många Wifi accesspunkter som måste ha kraft för att få täckning).

Kanske någon har utvecklat en scriptinterpreter till ESP innan dess så att jag slipper en hel utvecklingsmiljö - eller det kanske redan finns?
Skriv svar