jul 252019
 

Terwijl iedereen het warm heeft in Nederland en ook vandaag weer een nieuw warmterecord bereikt is, dacht ik “laat ik eens een blogpost over hitte maken”, schijnt actueel te zijn.

Was het ook voor mij, zo bleek. Sinds maandag ligt er namelijk een Raspberry Pi 1B in een (open) kistje in de tuin, verbonden aan de antenne voor de NOAA satellieten (zie dit bericht).
En die plek in de tuin wordt (zo weet ik inmiddels) overdag tamelijk warm. Elders had ik gelezen dat ook telefoons, laptops etc. problemen konden krijgen als ze het te warm krijgen (de Raspberry Pi 4 wordt uit zichzelf al snel te warm en schakelt dan terug in snelheid), dus wilde ik weten hoe warm die Raspberry Pi het had.

Uiteraard bleek al iemand anders het antwoord op die vraag uitgewerkt te hebben, in deze blogpost van Lars kun je het script vinden dat hij gebruikt. Ik zou meteen even het tweede, uitgebreidere script gebruiken dan krijg je ook de processorbelasting, het percentage gebruik van de micro-SD kaart en het geheugengebruik. Lars legt uit hoe je die informatie via MQTT kunt doorsturen. Hij stuurt het door naar een externe MQTT-server van Adafruit, ik gebruik (uiteraard) mijn eigen MQTT-server die onderdeel is van de Home Assistant installatie die de rest van de apparaten aanstuurt.

Daar bleek al snel dat de Raspberry Pi in de tuin het vandaag wel heel erg warm kreeg.

Na deze screenshot steeg de temperatuur nog door naar 101,4 °C. Dat is veel meer dan de 85 °C die als maximum voorgeschreven wordt. Het zit nog ruim onder de 125 °C die in het bericht genoemd wordt, maar voor mij was het voldoende reden om de Raspberry Pi af te sluiten en voor de rest van de dag maar even binnen neer te zetten. Er kwam een geur van de case af een beetje leek op een hete soldeerbout, lijkt me niet goed.
Ik heb de cronjob voor het script op 1 keer updaten elke 10 minuten staan. Bij gebruik van Home Assistant kan ik dan eenvoudig een waarschuwing instellen voor als de temperatuur boven de 90 °C uit komt. Niet direct noodzakelijk voor deze testopstelling die na morgen toch weer afgebroken wordt, maar handig om te weten ook voor de andere systemen die in huis in gebruik zijn. Omdat het hier om de temperatuur in de processor zelf gaat, is een graad of 40 °C hier helemaal geen probleem.

Het script werkte niet “zomaar” op mijn Raspberry Pi. Python was uiteraard al geïnstalleerd, maar voor het verkrijgen van de info en het versturen van berichten via MQTT waren twee andere libraries nodig:

sudo pip install paho-mqtt
sudo pip install psutil

Nou, en dan voor de geschiedenisboeken toch nog even een aantal andere temperaturen om het huis: De airco staat UIT op de studeerkamer op zolder, AAN op de eerste verdieping (waar de slaapkamers liggen). De serre heeft een dak van dubbellaags kunststof dus dat is een broeikast, maar zoals je ziet doet de volle zon op het balkon aan de voorkant van het huis (op het zuiden) ook haar werk.

Tja, gewoon rustig aan doen dus.

Deel dit bericht:

Sneeuwvlokken voor gevorderden

 Gepubliceerd door om 21:58  Agenda, coding
dec 152018
 

Als ik zeg “je hebt altijd baas boven baas”, dan klinkt dat negatief, maar wat ik bedoel in dit geval is dat wat ik ook doe, er altijd wel iemand is die iets doet waarvan ik dan denk “oh, zo zou het ook nog kunnen, dat is wel heel erg cool”. En dat bedoel ik dan juist positief. Dan valt er nog wat te leren.

Zo ook bij het bericht dat ik bij Adafruit las over de HoLLiday party bij Lab64 vorige week. Geen sneeuwvlokken uit de lasersnijder of de snijplotter. Nee, zelf ontworpen PCB’s in de vorm van sneeuwvlokken die ter plekke gesoldeerd en geprogrammeerd werden. In het bericht heel veel foto’s van wat er in ieder geval uitziet als een gezellige activiteit. Het enige dat eigenlijk ontbreekt zijn een aantal gifjes van de resultaten. De sneeuwvlokken zijn capacitive touch (aanraakgevoelig) en (na solderen) voorzien van neopixels en een SAMD21 zoals ook op de Adafruit Feather M0 waar het ontwerp op gebaseerd is (en dat mag, want Adafruit heeft dat ontwerp open source beschikbaar gemaakt).

Het is geen project voor beginners, dat zie je ook als je naar de materiaallijst kijk.  Ze wilden het event geschikt maken voor beginners, daarom hoefde je niet alles zelf te doen als je dat te spannend vond, En als voor jou solderen ook nog nieuw is: de tutorial die ze linken ziet er heel handig uit.

Kortom, een leuke activiteit die de nodige planning kost, maar die (aan de foto’s te zien) voor een groep studenten op zijn minst een leuke middag opgeleverd heeft. De vraag is natuurlijk of ze na die sessie echt anders zijn gaan denken over electronica / programmeren, of ze de volgende keer bij een project hier nu eerder ook mee aan de slag zouden gaan….want daar deden ze het voor.

Ik wil tot slot ook wel even ongevraagd de oproep van de mensen van Lab64 herhalen:

This all made possible because Adafruit invests time and resources providing open source designs and software. Please support Adafruit and open-source hardware by purchasing products from Adafruit and documenting your projects!!

Ik heb een paar Adafruit boards in huis zoals de  Circuit Playground Express en de Circuit Playground Developer Edition (nu “Classic”), maar ik moet bekennen dat ze het qua prijs en bestelgemak wel heel veraf liggen van de leveranciers die via AliExpress boards met een ESP8266 of EPS32 aanbieden. Daarom koop ik er niet zo heel vaak (maar documenteer ik wat ik er mee doe zo goed mogelijk).

/ht Adafruit

Deel dit bericht:

Programmeren & Kunst

 Gepubliceerd door om 21:45  coding, Onderwijs
mrt 072018
 

Waarschuwing! Als je weinig tijd hebt, een deadline voor je werk, klusjes die je echt nog moet doen, lees dan niet verder. Want de kans is groot dat je namelijk het komende uur of langer bezig bent naar aanleiding van deze blogpost.

Ok, je bent gewaarschuwd. Het bericht van vandaag gaat over de workshop die Felienne Hermans vandaag tijdens de tweede dag (ochtend) van de NIOC conferentie verzorgde. Hij was getiteld “Programmeren & Kunst” en ik had al uit de beschrijving begrepen dat we ook echt met Python aan de slag zouden gaan.

Nou ken ik voldoende (micro)Python om me wel te redden, maar het ging me om de combinatie met Kunst. Felienne had op dinsdag tijdens haar keynote er al kort iets over verteld.

De WORKshop begon met het op het beeldscherp typen van dat woord door Felienne: dit is een WORKshop, dus pak je laptop maar.

Voor de workshop maakten we gebruik van repl.it, een gratis dienst waarmee je o.a. een Python editor en live REPL in je browser krijgt. Geen noodzaak dus om Python op je computer te installeren. Handig en snel, zeker ook in een onderwijssetting. Wil je de code bewaren, dan is het aanmaken van een gratis account handig. Leuk ook is dat je je code heel eenvoudig kunt delen. De code voor de gif hierboven bij het bericht is hier te vinden. Wil je zelf verder werken met die code dan kun je op de “fork” knop klikken.

En het laat meteen de waarschuwing zien: vandaag bij de workshop was ‘spirograaf’ niet de opdracht waar we aan gewerkt hebben. Dat heb ik daarna gedaan, toen ik eigenlijk ‘even snel’ een blogpost had willen maken, waarvan het daarna een stuk langer duurde voordat die af was. De PDF met uitleg is hier te vinden.

Tijdens de workshop ging het om het verzinnen van gekke verhalen. Felienne liet kort zien dat je maar een klein stukje code nodig hebt (haar voorbeeld kun je hier forken) om te beginnen bouwen aan een gek verhaal. Daarna gaf ze het al snel aan ons over. Niet iedereen had een laptop en ook nu was dat handig. Want in groepjes was de opdracht veel leuker: maak een gek verhaal in Python. De docentinstructie kun je hier vinden.

Het resultaat van ons groepje staat hier. Elke keer als je op de run-knop drukt, krijg je een ander verhaaltje.

Leuk was dat er heel verschillende resultaten uit kwamen van de verschillende groepjes. Dus niet alleen in gekozen woorden, maar sommigen waren wat verder gegaan met loops, keuzes, input opvragen etc.
Iedereen ging ook best wel los op de opdracht. En dat was heel grappig om te zien: minimale code vooraf uitgelegd, een heel eenvoudige online omgeving en je kunt volwassenen en kinderen/jongeren los laten gaan in hun creativiteit en dan intussen laten oefenen met hun programmeervaardigheden.

 

Deel dit bericht:
jan 052017
 

Ik moet even wat code parkeren naar aanleiding van wat “vakantie-uitzoekwerk”. Ik heb mijn DIY ontvanger en zender voor 433.92Mhz, voor het schakelen van mijn lampen, de kerstboom etc. vervangen door een RFXcom RFXtrx433E USB 433.92MHz Transceiver. Natuurlijk is zelfgebouwd heel leuk en leerzaam, maar de RFXcom heeft al meteen laten zien dat hij een stuk betere ontvangst heeft dan mijn eigen creatie. Net als de andere systemen, communiceert de RFXcom niet rechtstreeks met mijn OpenHab systeem, maar via een MQTT-server.

De RFXcom adapter hangt aan een Raspberry Pi machine. Niet die waar de MQTT-server en OpenHab zelf op staan, dat bleek net wat veel van het goede. Onhandig is dat RFXcom zelf geen Debian software beschikbaar stelt. Maar gelukkig zijn er anderen die daar  voor gezorgd hebben.  Zoals Anton, die deze code in Python beschikbaar gemaakt heeft.

Welke protocollen in RFXcom?
Stap #1 is om te bepalen welke protocollen de RFXcom moet ondersteunen bij het ontvangen. Hoe minder hoe beter, dan raakt hij minder in de war. Welke protocollen de verschillende apparaten gebruiken kun je opzoeken, maar je kunt ook de rfxcom applicatie opstarten en luisteren naar wat er binnen komt. Alleen, die draait niet op Debian. Een optie is om de adapter “door te verbinden” naar een poort op de Raspberry Pi en dan vanaf een andere computer verbinding te maken. Dit kan met de tool “socat”, die je even moet installeren op de Raspberry Pi en dan moet je het volgende commando runnen:
sudo socat tcp-listen:10001,fork,reuseaddr file:/dev/ttyUSB0,raw &
Het is wel belangrijk om daarna het proces weer te killen, want het Python-script en socat kunnen niet tegelijkertijd gebruik maken van de USB-poort.
Lees verder….

Deel dit bericht: