512GB op een enkele microSD kaart!

 Gepubliceerd door om 23:19  Hardware
jan 222018
 

Ik weet dat deze blogpost op termijn bij van die “opoe verteld uit de tijd dat” verhalen gaat horen. Maar jeetje, 512 Gigabyte op 1 enkele microSD kaart! Het kaartje is  15×11×1 millimeter weegt een halve gram en ik ga niet eens op zoek naar een antwoord op de vraag of er ergens al een prijs bekend is. De beschikbare info staat hier. Op naar de 1TB??

De Raspberry Pi gebruikt ook microSD en mijn grootste uitdaging bij de kaartje is altijd dat je zo vreselijk gemakkelijk kwijt raakt. Ze zijn zó klein. Dan waren die 5¼ inch floppies van vroeger toch wel handig. Ook al was daar maar voor een fractie van dit microSD kaartje (360 kB voor mijn Double-Sided, Double-Density exemplaren)…..dat zijn 1,4 miljoen floppies op 1 kaartje van 15×11×1 millimeter! 🙂

Deel dit bericht:

RP-SMA versus SMA

 Gepubliceerd door om 22:41  Hardware, LoRaWAN
jan 142018
 

Als je een antenne wilt aansluiten op een node voor bv The Things Network dan heb je meestal een kabeltje van het printplaatje naar een SMA aansluiting waar je de antenne op vast draait.

Het is belangrijk om even goed te kijken of daar niet “RP-” (reversed polarity) voor staat, want die twee passen niet op elkaar.

Het idee is dus dat je een SMA Male (bv je antenne), mét pinnetje, aansluit op een SMA Female (het kabeltje naar je printplaat, zónder pinnetje). Heb je echter een RP-SMA antenne, dan heeft de antenne geen pinnetje en moet juist de aansluiting aan de kabel een pinnetje hebben.

Goed, kijk even naar de plaatjes: een SMA Male hoort bij een SMA Female en een RP-SMA Male hoort bij een RP-SMA Female. Andere combinaties gaan in het geval van zo’n antenne / kabel niet werken.

(als je dit nooit nodig gaat hebben in je leven, dan geen probleem, maar ik had een kabeltje stuk en moest een vervangend kabeltje vinden/bestellen)

Deel dit bericht:
jan 032018
 

“Papa, hoe werkt deze dan eigenlijk?”. Dat was de vraag die ik kreeg toen mijn oudste dochter het zakje zag liggen met een van de bestellingen van AliExpress. Eerder vandaag hadden we namelijk samen naar deze blogpost gekeken toen het ging over de verschillende manieren waarop de fijnstofmeters verbinding maken met de ESP8266. Toen ging het over UART, SPI en I2C (als jou dat niets zegt, lees dan ook even die blogpost!).

Er waren twee manieren om erachter te komen op welke manier dit kleine LCD verbonden moest worden met een Arduino (of ESP8266): foetelen (!) en op de pagina van de verkoper kijken of naar de tekst bij de pinnen kijken. Dat was gemakkelijk: naast GND en VCC waren er maar 2 pinnen over, dus was het geen SPI, en met SDA en SDL bij de andere twee pinnen was het duidelijk: het was een I2C verbinding.

“Maar hoe zorg je er dan voor dat er tekst op komt? Moet dat dan pixel voor pixel?”, was de vervolgvraag. Ja, maar gelukkig ook weer niet. Daar hebben mensen namelijk “bibliotheken” voor gemaakt die een groot deel van de complexiteit verbergen. “Laten we het gewoon een uitproberen”, zei ik. Nu was de pagina van de verkoper toch nog handig, want we moesten nog een paar dingen meer weten, bijvoorbeeld of hij 3V of 5V wilde hebben. Als de verkoper die info niet online had staan, dan was even op de achterkant van het LCD scherm kijken ook handig. Daar stond namelijk OLED-091, en als je dat in Google invoert krijg je een zee van informatie. Het LCD-scherm kan zowel op 3V als op 5V en heeft een SSD1306 chip. Adafruit heeft daar een library voor gemaakt voor de Arduino en ook voor de ESP8266  is er eentje te vinden. Eitje dus om dit aan de praat te krijgen. Of zo dachten we.

Het aansluiten van de kabels, het installeren van de bibliotheken, het openen en draaien van een van de voorbeelden, dat ging inderdaad zonder problemen. Maar toen kwam de vraag: “Kunnen we ook ons eigen plaatje laten bewegen??”. Ehm, ja, maar dat duurde uiteindelijk een uur voordat het werkte. Daarom ook een blogpost om vast te leggen hoe we het uiteindelijk voor elkaar gekregen.

Lees verder….

Deel dit bericht:
dec 302017
 

Een blogpost over een oplossing waarvan ik zelf inmiddels al geconstateerd heb dat hij tóch niet zo handig is? Moet kunnen. Want ik wil in ieder geval even documenteren hoe ik e.e.a. voor elkaar gekregen heb. Wie weet heeft iemand anders er toch nog wat aan.

Naast de fijnstofsensor voor het RIVM experiment heb ik er ook eentje gemaakt die ik in de woonkamer opgesteld heb. Gewoon om te zien hoe in huis eventueel het niveau fijnstof zou stijgen als we in de keuken aan het koken waren, of een paar uur wafels stonden te bakken.

Ik wilde de data snel kunnen verwerken zonder teveel gedoe met databases of zo, zou het niet handig en mogelijk zijn om de data op te slaan in een Google Sheet?

Ik weet inmiddels dat als ik het kan verzinnen, iemand anders dat ongetwijfeld ook al gedaan heeft. Zo ook nu. En lang geleden al.In 2011 schreef Martin Hawksey een script waarmee  je via een URL data door kunt geven aan  een Google Sheet. Je moet een Sheet aanmaken en dan in de Script editor het script inplakken. Eenmalig moet je dan de Setup() procedure uitvoeren en via Publish > Deploy as web app het script publiceren. Daarbij moet je er dan voor kiezen om het script ook voor “Anonymous” beschikbaar maken. Google zal dan moord en brand schreeuwen omdat het script niet door hen getest is etc.

De werking is dan eenvoudig. Op de eerste rij van de sheet zet je de namen van de waarden die je wilt doorgeven. Tip: noem de eerste kolom “Timestamp”, dan voegt het script automatisch datum en tijd in waarop de nieuwer data is ingevoerd.

Daarna kun je via GET of POST de data doorsturen naar de Google Sheet waarbij elke waarde gelijk moet zijn aan de titel van een kolom (hoofdlettergevoelig).

Ik gebruikte een NodeMCU ESP8266. Omdat Google een beveiligde verbinding gebruikt moet je gebruik maken van een andere bibliotheek dan normaal:

#include <WiFiClientSecure.h>
en
WiFiClientSecure client2;

Lees verder….

Deel dit bericht:
dec 282017
 

OK, één bericht nog dan voordat ik ga schrijven over onze eerste fijnstofmeter die (als alles volgens plan gaat) ook tijdens de jaarwisseling online te volgen is.

Naast de bestelde Shinyei PPD42 die vorig jaar door het RIVM gebruikt is, hebben we een tweetal DSM501 modules van Samyong in huis en blijkt er nog een Plantower PMS5003 onderweg te zijn die (vanwege een wat vaag leveringsprobleem) waarschijnlijk ingehaald wordt door de Novafitness SDS011 die het RIVM dit jaar gebruikt (en die ook door o.a. OK Lab Stuttgart gebruikt wordt).

Dus was ik verder op zoek gegaan naar info specifiek voor die sensoren.

In dit bericht over de DSM501 module wordt ook gesproken over de Air Quality Index (IAQ, IQA) en de bijbehorende verschillen tussen de  Europese Common Air Quality Index (CAQI) die in 5 stappen van 0 tot 100 loopt en de 6 niveaus van de AQI index die in de VS en China gebruikt worden en die van 0 tot 500 (of meer) loopt. En er blijken meer smaken te zijn. Het bericht legt uit hoe de verschillende indexen te berekenen.

Op het forum van The Things Network kun je een hele thread vinden over sensoren met de nodige verwijzingen. Hier is een beschrijving te vinden van (nog) een oplossing gebaseerd op LoraWAN

Het aansluiten van de PMS5003 gaat net weer wat anders dan van de andere sensoren, maar ook daar is informatie over te vinden online. Hij maakt gebruik van een seriële verbinding, net zoals (zo begrijp ik van het RIVM) de SDS011.

Dit bericht ten slotte is niet erg positief over de betrouwbaarheid van de PPDN402 en op dit blog deden ze een test in de keuken waarbij de conclusie was dat het aantal deeltjes dat daar de lucht in geslingerd wordt minstens zo erg is als buiten.

Lees verder….

Deel dit bericht:
dec 212017
 

In de categorie “zodra je je ergens in begint te verdiepen ontdek je hoe weinig je er over weet/wist” even een follow-up op mijn bericht van gisteren over het zelf meten van fijnstof. Joost Wesseling van het RIVM reageerde dezelfde avond (laat) nog op mijn vraag voor wat meer informatie over het initiatief om tijdens de jaarwisseling zelf mee fijnstof te meten. Uit zijn mail bleek dat ze bij het RIVM (uiteraard) ook weten van het Venlose initiatief en Teus Hagen. Ze zijn afgelopen jaar bij hem op bezoek geweest (filmpje).

Op de YouTube pagina van Samen milieu meten vond ik ook nog een paar andere filmpjes die antwoord geven op vragen die ik nog had. Bijvoorbeeld over de te kiezen behuizing voor het geheel. Er staan 3 low-tech voorbeelden online: PVC T-stuk (video door Joost), yoghurt-emmer, plastic fles. Ik wist dat ik zelf een 4e optie gezien had op een van oorsprong Duitse site, maar die ook info in het Nederlands aanbieden: PVC bochten. Die site van OK Lab Stuttgart is sowieso een plek waar je wel een uurtje zoet kunt zijn. Je kunt daar je sensor ook aanmelden zodat jouw metingen permanent, dus niet alleen tijdens oud en nieuw op een online kaart weergegeven worden. Ook hier met ondersteuning voor Nederland en er zijn nog genoeg plekken waar nog niet gemeten wordt.

Op instructables.com staat een beschrijving van het opzetten van een configuratie met de Shinyei PPD42 sensor waarbij ze een belangrijke hack toepassen: ze plakken de opening bij het detectiegebied af zodat er geen licht op valt, dat schijnt de hoeveelheid “ruis” bij de metingen te verminderen.

Ook heb ik inmiddels de beschrijving gevonden van het gebruik van de Shinyei sensor in combinatie met The Things Network (TTN). Het voordeel daarvan is dat je sensoren ook kunt ophangen in gebieden waar je geen toegang tot een draadloos netwerk hebt, al is dit wel een sensor waarvoor je een stopcontact in de buurt moet hebben want op een batterij gaat het vanwege de continue metingen niet werken.

Bij de beschrijving van de TTN-oplossing werd verwezen naar de behuizing die je hierboven bij het bericht afgebeeld ziet. Kost zo’n €20,- in aanschaf. Iets duurder, maar als je niet zo van het knutselen bent wat mij betreft ook wel een optie.
Lees verder….

Deel dit bericht:
dec 182017
 

Zal ik beginnen met de opmerking dat je prima kunt leven zónder de oplossing waar ik nu over ga schrijven? Goed, dan weet je dat in ieder geval. Los daarvan heb ik best een speciale relatie met onze kerstboom. Die gaat verder terug dan 2015, maar voor deze blogpost hou ik het daar even bij. In dat jaar sloot ik de lampjes van de boom namelijk aan op een ELRO KlikAanKlikUit kloon. Dat is zo’n stopcontact dat je met een afstandsbediening aan/uit kunt schakelen. Maar als je zo’n zender aansluit op een Raspberry Pi, dan kan dat ook vanuit je smartphone. Het resultaat kun je hier zien/lezen.

Vorig jaar besloot ik nog dat het te vroeg was om gebruik te maken van stembesturing, de benodigde hardware was nog niet te koop in Nederland en veel te duur (200 dollar). Dit jaar was dat al heel anders, de hardware kostte minder dan de helft: €39,- voor een Raspberry Pi 3b, een paar euro voor een micro-SD kaartje en goede voeding en €33,- voor de Google AIY Voice Kit. Die laatste was niet heel gemakkelijk te vinden, na de initiële verspreiding via MagPi duurde het een paar maanden voordat er een nieuwe batch gemaakt was voor gewone verkoop. Maar ik had er eentje.

Het in elkaar zetten van de hardware is niet heel moeilijk, een kwestie van het volgen van de stappen op de website (of in het boekje op papier dat er bij zit), je moet bij Google een account hebben, een project aanmaken en een bestand downloaden naar de Raspberry Pi. Gemakkelijk genoeg allemaal.

Lees verder….

Deel dit bericht:
dec 052017
 

De vraag/opdracht was heel ruim: maak iets rond het thema “Engel” dat als surprise kan dienen voor Sinterklaas.

Het werd al heel snel een Kerstboom met engeltjes en een ster er op. Met in de kerstboom LED-lampjes die aangestuurd worden door een ATTiny85 chip die van stroom voorzien wordt door een knoopcelbatterij. Oorspronkelijk was het idee om de ster met behulp van een servo te laten bewegen, maar die functionaliteit is door tijdgebrek geschrapt.

Ook hebben we er bewust voor gekozen om de “technologie” zichtbaar te maken. Dat betekent dat je aan de achterkant van de kerstboom de draadjes, de ATTiny85, de batterij etc. kunt zien zitten. Een deel van de “bekabeling”, de “ground” terug vanuit de LEDs gaat nu via kopertape. Achteraf gezien was het mooier geweest ook de voedingslijnen met kopertape te doen, maar dit kan ook.

We waren in dit geval mijn twee tieners en ikzelf. Ik prijs mezelf namelijk heel gelukkig dat zij inmiddels de leeftijd en interesse hebben om zo’n project als een familieproject te zien. We zijn aan de tafel begonnen met overleggen, mijn oudste dochter kan goed tekenen, zij tekende dus uit de vrije hand een kerstboom. Mijn jongste kan prima overweg met de elektrische figuurzaag en nam het uitzagen en verven voor zijn rekening. Het versieren van de ster liet hij over aan zijn zus, de andere versieringen hebben ze met z’n tweeën verzorgd.

Lees verder….

Deel dit bericht:

Het programmeren van een ATTiny85

 Gepubliceerd door om 06:52  Arduino, Hardware
dec 042017
 

Hoewel ik al ervaring had met het programmeren van een ATTiny85 als die onderdeel was van een Digispark board (links op de foto),  heb ik dit weekend geleerd dat het programmeren van een losse chip (rechts op de foto, de andere 9 exemplaren zitten in het buisje erboven) iets ingewikkelder is/was. Was eigenlijk omdat het nu ik het een keer gedaan heb weet en het niet echt moeilijker is.

Het Digispark board had zelf nog een USB-aansluiting, die had ik nu niet. Nou dacht ik dat ik daar een oplossing voor had in de vorm van een “Pluggable Development Board Voor ATtiny13A/ATtiny25/ATtiny45/ATtiny85 Programmering Editor Micro Usb Power Connector” (link). Inmiddels heb ik begrepen dat het  mogelijk moet zijn om, door eerst een bootloader op de ATTiny85 te zetten, ik iets kan met dat board. Maar vooraf nog niet.

Dus moest ik aan de slag met de “bekend” alternatieve optie waarbij een Arduino Uno gebruikt wordt om de code op de ATTiny85 te zetten. Daarvoor is de volgende constructie nodig:

De detailbeschrijving van het aansluiten kun je hier vinden.

De Arduino Uno moet dan een script krijgen dat standaard te vinden is in de IDE via Bestand > Voorbeelden > ArduinoISP > ArduinoISP

Daarna was het even zoeken naar de dingen die ik moest doen om het ATTiny85 script *via* de Arduino Uno naar de ATTiny85 te krijgen.

Uiteindelijk heb ik hier de url voor de Board managers voor “attiny” (https://raw.githubusercontent.com/damellis/attiny/ide-1.6.x-boards-manager/package_damellis_attiny_index.json) en “ATTinyCore” (http://drazzy.com/package_drazzy.com_index.json) gevonden, die toegevoegd via Bestand > Voorkeuren en daarna de beide boards geïnstalleerd.

Daarna was het een kwestie van het instellen van board, de programmer moest omgezet naar “Arduino as ISP” en wonder boven wonder werkte het allemaal daarna.

Dát het werkte wist ik was toen ik de chip aangesloten had op het circuit dat ik eerst getest had met het Digispark board. Dat is een werkwijze die ik iedereen kan aanraden. Het programmeren van de Digispark via USB gaat veel sneller, je hoeft niet en chip om te prikken etc.
Maar dat kan dus wellicht straks ook met het ontwikkelboard, nadat ik een bootloader op een ATTiny85 chip gezet heb.

Ik kan het me helemaal voorstellen als je denkt “Wat een gedoe!”. Dat klopt. Maar daar staat tegenover dat de ATTiny85 ook een pareltje is. Qua afmetingen, qua prijs (minder dan 1 euro per stuk), het gegeven dat je hem gewoon op een 3V knoopcelbatterij kunt aansluiten. Kortom, voor “kleine” projecten, papercircuits etc. is het een fantastische chip.

p.s. het script waarmee ik aan de gang ging dit weekend kwam hier vandaan. Blijkt ook prima op de ATTiny85 te draaien.

Deel dit bericht:
dec 022017
 

Google heeft weer een geinig nieuw experiment de wereld in gestuurd: Paper Signals. Het principe is heel simpel: je print een vouwmodel op papier, knipt het uit volgens de instructies. Je neemt een ESP8266, een servomoter en 3 kabels. Vouw het geheel samen. Maak een account aan bij Google zodat je via je smartphone en Google Assistent commando’s aan het “signal” door kunt geven. Zet de benodigde code op de ESP8266 (kwestie van wat variabelen in een bestandje aanpassen voor jouw wifi-netwerk, jouw code bij Google etc en dan uploaden). En klaar.

Het resultaat is dan bv een signal met een paraplu er op die open gaat wanneer het gaat regenen. Je geeft dan via de Google Assistent, met stemcommando’s, door dat die bepaalde signal het weer in jouw woonplaats bij moet houden.  Zo hebben ze al een voorbeeld voor een signal voor raketlanceringen, een countdown klok (leuk voor in de klas om af te tellen naar de Kerstvakantie), eentje voor het weer die aangeeft of het korte broeken weer is of niet (voor de meeste leraren is het nooit korte broeken weer in de klas!!). Maar je kunt ook zelf nieuwe sjablonen verzinnen.

Google gebruikt voor hun kit de Adafruit Feather HUZZAH en die is niet heel goedkoop. Maar als ik naar de bijgevoegde code kijk, dan zit daar op het eerste oog niets in dat niet op een willekeurig ESP8266 zou kunnen draaien. Ik heb het nog niet kunnen testen, maar dit zou ook op een Wemos D1 mini van 2 euro uit China moeten kunnen werken. Logisch ook omdat de ESP8266 niet veel hoeft te doen. Hij hoeft alleen via WiFi contact te maken met de Google dienst, te luisteren naar opdrachten die hem vertellen hoe de servo moet draaien en de servo op basis daarvan aansturen.

Let op! Ik ga er vanuit dat dit een experiment is van Google dat met name op de Google Assistant gericht is. Garantie dat de API en de dienst jaren in de lucht blijft heb je bij Google sowieso niet vaak. Maar ja, dan haal je de onderdelen toch weer uit elkaar en gebruik je ze voor wat anders?

 

 

Deel dit bericht: