structors droogkast

Gestart door structor, mei 23, 2016, 01:01:02 AM

Vorige topic - Volgende topic

structor

Ik ben net als zovelen aardig geinspireerd geraakt door Mac's droogkast, maar ik probeerde sterk te blijven...

Na de Coppa workshop begon het toch aardig te kriebelen, dus bij mijn schoonpa een zoekopdracht voor een mooie koelkast uitgezet. Maar een mooie koelkast zonder vriesvak blijkt minder courant dan verwacht, dus het duurde en duurde totdat ineens er een mooi examplaar in de garage van huize Structor stond.



Tja toen moest ik ineens een droogkast gaan bouwen en dat kwam niet zo best uit qua tijd, maar tja het blijft toch mooi werk, dus hop werk aan de kant en los.

Dus eerst maar eens gaan kijken wat er allemaal in de elektronica doos lag en we vonden

  • een niet zo veel gebruikte remote controller voor mijn bbqcontroller
  • een nog nooit gebruikt, roomboardmet een sht11 vocht en temparetuur sensor en nog wat andere zaken
  • een raspberry pi

Dat is nog niet zo compleet, dus gauw online gegaan en we bestelden (sommige winkels hebben erg leuke spulletjes, dus structor is licht uit de bocht gevlogen).

  • Medisana UHW - Luchtbevochtiger (inmiddels ontvangen)
  • 2x een ventilatordinges met filter (nog onderweg)
  • een keramische lamp van 50W (ontvangen)
  • 2x een water level sensor, te gebruiken hopelijk voor de luchtbevochtiger en de overloop)(onderweg)
  • 2x dht22, voor de breek zeg en ter vergelijk(onderweg)
  • 2x een HC711, een versterker voor een load cell(onderweg)
  • 2x een UZC-131, een loadcell tot 5kg, met deze en voorgaande wil ik 'realtime' het gewicht gaan monitoren. Ik zag dat Leon hier ook al mee bezig was (dacht ik eens origineel te zijn) (onderweg)
  • een rasp pi camera, voor de geinige filmpjes (geen idee of het op mijn rasp past, anders moet die geupgrade worden) (onderweg)
  • een 4 kanaal relaisbord (binnen)
  • een long range wifi antenne voor de pi (onderweg)
  • 2x een arduino uno

Mijn wensen lijstje voor mijn kast zijn

  • aangestuurd door een losse controller, scheiding van verantwoordelijkheden bevalt ook goed bij de controller voor de Q
  • met standalone webpages
  • online koppeling, via de controller site van het genootschap
  • integrale aansturing van temperatuur, vochtigheid
  • online metingen
  • logging met database
  • insitu upgraden van de controller via de raspberry

Welnu het meeste voor de kast is nog onderweg, maar goed dat is geen reden om stil te zitten. Dus hop jeenode uit de bestaande remote controller gesloopt. Het roomboard erop en..... Ruk shit resultaten, dan de tang er maar bij en knipperdeknip, zo nu is er alleen nog een sht11 en een ldr. En weldra waren er via de computer temperatuur en vochtigheids metingen te zien, ook nog redelijk in de buurt van een thermapen.



Daarna zijn mijn oudste dochter en ik (je moet dochters veel met techniek besmetten) bezig geweest met het aansluiten via een breadboardje van het relais bord, maar dat is niet gebeurd (want geen foto's).

Tja en aangezien de vorige incarnatie al een scherm had, was die er ook weer zo aangeprutst.



Vervolgens ben ik gister losgegaan, met een protobordje om de rasppi en de jeenode aan elkaar te knutselen. De eerste versie van dit bordje is zo gekozen dat de hele boel naast elkaar komt te liggen. Dat is makkelijk tijdens het 'debuggen', dan kun je nog meten. Later wordt deze vervangen door een variant, zodat de rasp onder de jeenode komt te liggen. Het aan elkaar koppelen van een jeenode en een rasp is opzich niet zo spannend, want beide lopen op 3.3V en het zijn maar een paar draadjes. Er was ook een heel compleet artikeltje, voor de liefhebber hier.
Ik zit dus nog hevig in dubio of ik de bestelde uno's wel ga gebruiken, want deze zijn 5V. Echter op een jeenode heb je niet alle pootjes tot je beschikking, dus we gaan het meemaken....

Toen de fysieke koppeling tot stand was gebracht, heb ik de arduino voorzien van een vers image. Ik heb gekozen voor raspbian (er stond voor de heatermeter openwrt op). Vervolgens heb mijn gebruiker rechten gegeven op de seriele poort en alle kernel logging van de seriele poort. Vervolgens heb ik de boel aangezet en hieperdehiep, in 1 x alles goed en kwam de eerste berichtjes van de jeenode op de rasp pi binnen.



Vandaag zijn we verder gegaan, mijn jongste dochter wilde ook graag solderen. Dus hop korte instructie en lekker zelf proberen.



Na het solderen was het de bedoeling om de bouwmarkt leeg te shoppen en de kast onder handen te nemen, echter er kwam een kink in de kabel. Maar vanavond kon ik de boel weer oppakken, de bestaande jeenode software is van losse freubels geupgrade naar een eerste versie, die redelijk gezien mag worden. Het seriele protocol waar de jeenode en de rasppi is voor versie 0.1 klaar gemaakt en inmiddels succesvol getest (setpoint temp (low/high), setpoint luchtvochtigheid,  koelkast controlled, uit of aan, luchtvochtigheid controlled, uit of aan). Er zit een eerste versie voor het controleren van de vochtigheid en de temperatuur in, voorlopig alleen op koelen en bevochtigen. Hieronder nog even een ploatie van de testrun (deze is gedaan zonder rasp pi, aangezien ik daar een lange netwerk kabel voor neer moet leggen).



De vervolgstappen zijn:

  • de kast onderhanden nemen
  • een broker maken (of lenen) tussen de website en het seriele protocol
  • een website maken (apache, php, angular 2.0), geen van allen hebben we ervaring in maar dat mag de pret niet drukken
  • een insitu programmer maken
  • de software verder uitbreiden
  • nadenken hoe we de extra onderdelen nog gaan aansluiten

Maar goed de werkweek begint weer, dus ik verwacht niet eerder progress dan in het weekend, wordt vervolgd!

Bart


BertM

HOPPA!!!

Dat is nog eens een eerste post  :-)< :-)<

je hebt er goed de sokken inzitten, lijkt in niets op mijn gefreubel :-(

Alle setpoints hardcoded?

structor

Ik sla nog niks op in de eeprom, das ook nog een volgende stap (heb ik demo code voor liggen). Maar ik kan via seriele communicatie de setpoints setten en getten, dus na een reset ben ik nu nog even alles kwijt. Daarnaast kan ik ook de temperatuur, luchtvochtigheid in controlled mode zetten, of dat ik zelf de knop in een stand zet. Voor de lamp heb ik alleen nog maar handmatig aan en uit.

Tjoepie

Lekkere binnenkomer zo  :-))) Ik ben echt heel benieuwd wat dit gaat worden!

Leon

Ga je een MQTT Broker gebruiken? Ben zelf de mogelijkheden van de ESP8266 ESP-07 aan het onderzoeken om de zaken te regelen.

BertM

Citaat van: Leon op mei 27, 2016, 02:11:15 PM
Ga je een MQTT Broker gebruiken? Ben zelf de mogelijkheden van de ESP8266 ESP-07 aan het onderzoeken om de zaken te regelen.
De ESP is super! Draai nu op een developer board en dat gaat goed met ds18B20. Heb er nu een webinterface inzitten en probeer OTA aan de praat te krijgen
Nu bezig me in MQTT en node-red te verdiepen.

Bartjeq

Tsja,  ik heb geen dochter.....anders was ik al klaar geweest Sm*g  maar mooi werk!

structor

@Leon: Ik heb me nog nooit in MQTT verdiept, dus ik sluit niks uit.

Waarom vind je de ESP zo handig voor dit doeleinde? Ik had zelf het idee om de radio zover mogelijk van sensoren te houden. Nu komen de temperatuur en vochtsensor in de kast, dus ver genoeg we. Maar voormezelf zit ik nog te kijken naar de weeg sensoren en die zullen toch via AD uitgelezen moeten worden, dus... Maar misschien maak ik daar uiteindelijk wel een one wire met een extra arduino van....

Ik ben vandaag weer aan de gang, eens kijken of ik op de rasp een broker in de lucht kan krijgen tussen de arduino en de toekomstige website. Ik laat me hier licht inspireren door de brewpi code base.

BertM

De radio blijft ook wel uit de buurt van de  sensoren, de sensoren komen aan kabels.
Als je kijkt wat je kunt met deze sensor van 2 euro, hij is krachtiger als een Arduino. Heeft ook gpio in en uitgangen, er kan een webserver op draaien vor configuratie.

Kan ook allemaal op een Arduino, maar die is ietjes duurder.

structor

Na een weekend waarin alles tegenzat rondom project droogkast, heb ik gisteravond  een productief avondje gehad...

De webapi zijn een paar methodes op geimplementeerd, ik kan dus sensordata via een rest-interface in een database plaatsen. En eveneens uitlezen.
Daarna heb ik de python broker die de arduino vanaf de raspberry uitleest uitgebreid, zodat deze (nu) iedere minuut zijn sensor data upload.
En vervolgens heb ik de (angular2) website aangesloten op de api laag voor een deel.

Hieronder zie je het resultaat. Op links zie je de python broker (de zwarte prompt), hierin zie je wat de arduino naar de raspberry verstuurd. Bij de usbmit (het was laat het had submit moeten zijn :blush:) wordt de data naar de webapi laag verstuurd. Op rechts zie je de website. De grafiek komt voort uit afgelopen nacht aan data. De grafiek heeft nu zoveel punten (op rechts), dat ze eigenlijk niet eens duidelijk meer zijn. Ik moet dus nog een data-reductie truukje toepassen bij het ophalen, of gewoon (veel) minder data opslaan.
De bovenzijde (het paneeltje) is nog niet aangesloten



Kortom progress maar nog voldoende te doen!

BertM

Mooi hoor!

Neem aan dat er ook nog een horizontale as  bijkomt met de tijd, of dat hij verborgen is.
Lees je alleen de data nog of stuur je ook al?

Ben zelf nu de ESP module aan het testen, maar die geeft nog af en toe een hikje waardoor ik in 1 keer weer terug ben in 1970  W!nk

per minuut lijkt me ook erg veel, ik gebruik het voor het testen ook, maar denk dat ik in real live misschien wel naar 1 keer per kwartier ga.

welke database gebruik je ?

structor

Ja de as wordt nu even verborgen door de chrome-debug tools.

De data van de grafiek komt uit de arduino (via de database). Ik heb mysql op de raspberry draaien, het geheel is nu nog niet echt snel, maar vermoedelijk is dat met een paar indexen op de db wel op te lossen.

Ik denk dat ik naar 2 tabellen ga voor de sensor data, de eerste waar je wel veel opslaat per minuut en de tweede die idd per kwartier ofzo opslaat. De eerste ga ik dan als circulaire buffer beschouwen met een max aantal punten er in, dus 1 log item erbij en 1 eraf. Die eerste finegrained tabel kan je dan fijn gebruiken om je kast te 'tunen'.

Ik zal nog eens een deftige tekening maken met welke componenten ik heb en hoe informatie 'stroomt'.

Waarom heb je tijd nodig op de ESP? Ik gebruik mijn arduino puur als sensor node, welke realtime state kent en doorgeeft en dus heb je geen tijd nodig. In de broker (op de pi) besluit ik of het weer tijd is om op te slaan naar de db en die moet dan ook tijd kennen. Maar goed de pi heeft gewoon een volwaardig OS met goede time tracking. Op de arduino moet ik ook nog een watchdog implementeren, zodat de koelkast gegarandeerd aangestuurd blijft ook al vliegt er op de arduino iets uit de bocht, dan zal hij zich zelf resetten.

BertM

Nog niet aan gedacht, de tijd kan natuurlijk ook van de Pi.
Gebruik de tijd in de mqtt payload en sla deze dan in de cloud op.
Op het moment dat ik de broker gebruik van de Pi kan het natuurlijk ook van daar opslaan.
Nog veel uit te zoeken dus..

structor

Zo tussen het bbq-en door wat tijd gevonden om eens met de kast zelf bezig te gaan. Er zitten twee ventilator gaten in. De gaten zijn afgewerkt met pvc afvoer buizen naar voorbeeld van Mac en vastgekit. De covers moeten nog geplaatst worden. De interne wcd's hangen op hun plekje en zijn bedraad. Voor de sensoren heb ik een utp kabel naar binnen gebracht, hier ga ik mijn sensoren aan knopen. Ook dat moet nog...