Zoekresultaten : esp8266

dec 222015
 

EspruinoNet als gisteren is dit weer een blogpost in de categorie: “over een week ben ik zelf vergeten wat ik ook al weer deed, dus ik moet het even ergens documenteren”. Omdat het kerstvakantie is had ik even tijd om te experimenteren (lees: spelen) met een apparaatje dat ik een week of zo geleden uit het Midden-Oosten heb laten komen. Het gaat om een ESP12E/ESP8266. Die van mij kwam hier vandaan. Heel kort samengevat lijkt het op een Arduino, je programmeert hem als een Arduino (kun je zelfs de Arduino IDE voor gebruiken), maar hij is zo klein als een Arduino nano, kost heel weinig (deze versie €6,09 incl. verzenden) én heeft een wifi chip ingebouwd zitten. En vooral voor dat laatste betaal je bij Arduino normaal gesproken de hoofdprijs.

Goed, er zitten ook nadelen aan de ESP8266, maar daarover een andere keer meer. Mij ging het om een ander op Arduino gebaseerd initiatief, genaamd Espruino. Die biedt namelijk de mogelijkheid om JavaScript code uit te voeren én heeft ondersteuning voor Blockly bij het programmeren van hun board. Zie ook dit bericht dat ik er eerder over schreef.
Maar niet alleen voor het specifieke Espruino board, er is ook ondersteuning voor de ESP12E/ESP8266. Daarvoor moet je echter wel even de ESP12E/ESP8266 flashen met andere firmware. Potentieel is dat iets waarmee je een apparaat om zeep kunt helpen. Ik plaats hier mijn notities om het de volgende keer weer opnieuw te kunnen doen, wil je ze volgen, dan doe je dat volledig op eigen risico!

Ik voer de stappen uit op een Windows 10 machine met de ESP12E/ESP8266 aangesloten via een USB-kabel.

  • Ga met de browser naar https://github.com/espruino/EspruinoBuilds
  • Klik op de Download ZIP knop aan de rechterkant van de pagina.
  • Sla de ZIP op in een map en pak hem uit.
  • Uit de map EspruinoBuilds-master\ESP8266 heb je nodig: blank.bin, boot_v1.4(b1).bin en espruino_esp8266_user1.bin

Tegen de tijd dat je dit doet kan het zijn dat er een nieuwe versie van de bestanden is. De README.md in de ZIP heeft alle benodigde informatie, zie ook verderop.

Om de bestanden op de ESP12E/ESP8266 te kunnen plaatsen is er nog een aanvullend tooltje nodig:

  • Ga met de browser naar https://github.com/igrr/esptool-ck/releases
  • Download esptool-0.4.6-win32.zip of de versie die inmiddels het nieuwste is.
  • Open de ZIP en plaats esptool.exe in dezelfde map als de andere bestanden van hierboven.

nodemcu_devkit_v10_pinoutNu gaan we de software op de ESP12E/ESP8266 plaatsen, maar daarvoor moeten we hem eerst in een update-modus plaatsen:

  • Plaats een weerstand tussen de pin waar D3 bij staat (GPIO0) en een van de GRND pinnen (de zwarte in de afbeelding hiernaast)
  • Reset de  ESP12E/ESP8266
  • Open op de Windows-computer een dos-prompt en ga naar de map met de bestanden
  • Voer de volgende commandoregel in, vervang hierbij COM14 met de COM-poort die de ESP12E/ESP8266 op jouw computer heeft: esptool -bm qio -bz 4M -bf 40 -cp COM14 -cb 115200 -cd nodemcu -ca 0x00000 -cf "boot_v1.4(b1).bin" -ca 0x1000 -cf espruino_esp8266_user1.bin -ca 0x7E000 -cf blank.bin
  • Als de update goed gegaan is, reset dan de ESP12E/ESP8266.

Flash

Ga dan met Google Chrome naar https://chrome.google.com/webstore en zoek naar espruino. Je vindt dan de Espruino Web IDE, voeg die toe aan Chrome. Hiermee kun je verbinding maken met de ESP12E/ESP8266, code uitvoeren etc.

Klaar.

 

Deel dit bericht:
 Reacties uitgeschakeld voor Quick notes: Espruino firmware flashen naar ESP8266  Tags: , ,
mei 102018
 

Mijn kinderen herkennen de stem van “the guy with the Swiss accent” meteen zodra ik weer eens een filmpje van Andreas Spiess zit te kijken. De afgelopen drie jaar staat hij garant voor een doorlopende stroom van video’s over uiteenlopende electronica gerelateerde onderwerpen. Andreas verschijnt daarbij zelf meestal niet in beeld, je ziet alleen zijn handen, altijd netjes in witte handschoenen gestoken. En natuurlijk zijn kenmerkende stem die op een rustig, duidelijk verstaanbare manier dingen uitlegt. Daarom is het extra leuk dat hij nu ook wat duidelijker zelf in beeld komt én dat hij een overzicht geeft van zijn lab. Als je zijn kanaal nog niet volgt en ook maar iets met maken / klooien / maakonderwijs / Arduino / LoRaWAN / ESP8266 / ESP32 doet, dan moet je je heel even diep schamen en dan snel aanmelden.

Deel dit bericht:
apr 082018
 

Ik realiseer me dat de titel van dit bericht weer eens absoluut geen click-bait is. Als je toch verder leest: leuk! 🙂

Voor wie denkt: waar heeft hij het nou weer over, eerst even kort wat uitleg. Zoals je wellicht weet zijn er naast Arduino en Micro:bit tal van andere interessante oplossingen op het gebied van microprocessoren, kleine uitbreidingskaartjes met een chip er op die net als Arduino en Micro:bit gebruikt kunnen worden om sensoren te lezen, randapparaten aan te sturen, maar die vaak een fractie van het geld kosten. Bekendste op dit gebied was ongetwijfeld de ESP8266, als je de link volgt kom je bij een aantal berichten op dit blog daarover. De ESP8266 heeft inmiddels een opvolger, de ESP32. Het heeft even geduurd voordat ook de firmware en ondersteuning voor de chip op orde was, maar inmiddels zijn ontwikkelbordjes met de ESP32 goed en goedkoop te krijgen (zeker via online shops zoals AliExpress). Ook over de ESP32 heb je hier al meer kunnen lezen, de LoPy van Pycom was de eerste ESP32 die ik hier in huis haalde naar aanleiding van de Kickstarter in augustus 2016 alweer. Dat was ook mijn eerste kennismaking met MicroPython. Een programmeertaal die voor mij helemaal niet zo vanzelfsprekend was omdat ik (toen) nog niet eerder met Python geprogrammeerd had.

Sindsdien gebruikte ik MicroPython uitsluitend op de LoPy’s. Want pogingen om het op een ESP8266 handig aan het werken te krijgen waren op niets uitgelopen. Het was simpelweg teveel gedoe om de code te wijzigen.

Bij toeval kwam ik echter op YouTube deze serie instructiefilmpjes tegen:

Ik bekeek hem en was onder de indruk van het gemak waarmee, met dank aan rshell het nu mogelijk was om bestanden te uploaden en wijzigen op de ESP32. Overschakelen naar de REPL, weer terug naar de shell, het ging allemaal heel soepel. En ik had toevallig nog een ESP32 liggen die niks lag te doen.
Ik had hem aangeschaft al node voor LoRaWAN / TTN, maar helaas had ik bij het bestellen niet goed opgelet en een versie op 433Mhz besteld in plaats van op 868Mhz. Je kunt hem hier vinden (even opletten dus!). Je hebt helemaal gelijk als je zegt “maar voor 16 euro kan ik ook een Micro:bit kopen”. Klopt. Maar dat komt door de LoRa-module en het kleine LCD-schermpje. Wil je een gewone ESP32 zonder LoRa-module en zonder LCD, dan kun je er hier al eentje voor minder van 4 euro (incl. verzenden) vinden. En dan heb je dus een microprocessor mét WiFi en BLE en batterij-aansluiting.

Goed, ik ging het proberen. Maar ik wilde het niet op een Raspberry Pi doen, maar in het Linux Subsystem dat ik op Windows 10 heb draaien. Waarom? Omdat ik wilde weten of het nu eindelijk een volwaardig alternatief geworden is. Spoiler: ja, dat is het, maar je moet er wel even wat voor doen.

Lees verder….

Deel dit bericht:
mrt 182018
 

Van BirdBrain Technologies komt bovenstaand filmpje dat als inspiratie kan dienen als je als docent met robots in de klas aan de slag wilt. Het filmpje is van at BirdBrain Technologies, een bedrijf in de VS dat o.a. de Hummingbird Robotics Kit en de Finch Robot produceert. Het leuke van bovenstaande filmpje (en de “hoe maak je ze” hieronder) is dat je ze ook met andere hardware kunt maken. Een Arduino, ATTiny85 of ESP32/ESP8266 met een servo zijn genoeg.

Op de website van het bedrijf kun je meer lesvoorbeelden vinden, en ook de andere voorbeelden op het YouTube-kanaal kun je voorbeelden van gebruik van bv de Finch Robot zien die laten zien dat robots niet alleen voor “technische” zaken in te zetten zijn.

Deel dit bericht:
feb 122018
 

Voor de ESP8266 bestond WiFiManager al heel lang. Voor de ESP32 inmiddels ook (Github). Het is een bibliotheek waarmee je er voor kunt zorgen dat je in de broncode van je project niet de inloginformatie van je draadloze netwerk hoeft in te stellen, maar ook bv bij een TTN LoRaWAN node bouwt waarbij je de inlog/verbindingscodes ook niet al bij het op het apparaat zetten van de code wilt invullen.
Ander scenario is dat je je node op een netwerk aan wilt sluiten dat je nog niet kende bij het uploaden van de code.
Kortom, er zijn momenten genoeg te bedenken. Voor die momenten is WiFiManager heel handig.
Lees verder….

Deel dit bericht:
jan 202018
 

Vandaag ben ik lang bezig geweest met het aan de praat krijgen van een Sonoff Pow switch met WiFi-aansluiting. Het is een schakelaar die verbinding maakt met je draadloos netwerk, die je op afstand kunt aan/uit schakelen én die het verbruik bijhoudt. Dat is een eigenschap die mijn andere schakelaar niet hebben.

Nou dacht ik te hebben begrepen dat de schakelaar via MQTT eenvoudig aan OpenHab (het domotica systeem dat ik gebruik), maar dat bleek even tegen te vallen.
Sowieso bleek het koppelen van de schakelaar aan de standaard applicatie nogal ingewikkeld (tip: zet je telefoon in vliegtuigstand en maak dan via WiFi verbinding met de schakelaar).

Maar MQTT zit niet in de standaard firmware, daarvoor moet je die bijwerken. Om de firmware te kunnen bijwerken met je een 4-pinnige headers op het board solderen. Daarvoor moet je de behuizing openen. Tot slot heb je een USB-TTL converter nodig die je op die 4 pinnen kunt aansluiten zodat je via UART de nieuwe firmware op de in de schakelaar opgenomen ESP8266 kunt zetten.

Gelukkig had ik alle benodigdheden in huis. 

Alleen bleek het aan de praat krijgen van een alternatieve firmware iets ingewikkelder dan gedacht. Ik ben van start gegaan met ESPEasy. Maar zowel de 1.2 als de 2.0 versie daarvan leverden geen schakelaar op die een netwerk liet zien waar ik mee kon verbinden.

Ook de ESPurna firmware leek in eerste instantie helemaal niets te doen. Er verscheen geen Wifi-netwerk waarmee ik kon verbinden om de Sonoff aan mijn eigen thuisnetwerk te verbinden.

Uiteindelijk heb ik op de laptop waarop ik zat te werken Python geïnstalleerd (stond daar nog niet op) en ESPtools geïnstalleerd om het op die manier te installeren. Tot dat moment had ik gebruik gemaakt van een voor Windows gecompileerde executable.

Ook daar gaf het uploaden van de firmware in eerste instantie een foutmelding (zie afbeelding hierboven), maar hoera, ondanks dat zag ik het netwerk SONOFF netwerk (wachtwoord “fibonacci”) verschijnen. Daarna was het een kwestie van daarmee verbinden, naar http://192.168.4.1/ toe gaan en daar de instellingen aanpassen (Wachtwoord aanpassen, WiFi-netwerkverbinding aanmaken, MQTT verbinding tot stand brengen).

De schakelaar stuurt zelf een heleboel data door naar MQTT, zoals het voltage, de stroomsterkte, vermogen etc. En je kunt de schakelaar ook weer via MQTT aan en uitschakelen.

Ik heb er voor nu één. Belangrijke eerste vraag was namelijk of ik het geheel in mijn infrastructuur opgenomen zou krijgen. Dat lukt in ieder geval. Ik moet me nog wat verder inlezen op het gebied van active power, reactive power and apparent power.

Mooi lijkt me in ieder geval als ik dit soort toepassingen ook zelf kan bouwen. Wordt dus vast nog vervolgd.

 

Deel dit bericht:
jan 132018
 

The previous post about the LoRa board I bought via Aliexpress, I did in Dutch. I should have know that, like often happens with the more technical posts on my blog, the majority of people interested in it are not from the Netherlands.
So, this follow-up post about connecting a sensor to it, I’ll do in English again.

I will do the quick summary of the previous post first, so you’ll have an all-in-one topic:

This board was the first one I bought of Aliexpress. It was cheap, €13,9 incl. shipping for ESP32 + SX1276 + 0.96 inch OLED. ESP32 means WiFi (like you have with the ESP8266) *and* Bluetooth build in. If you compare that to a LoPy (about 50 euros) or a Marvin (about 85 euros), that is cheap. Problem though with Aliexpress is that you don’t always get a nice manual with the device.
Luckely there is a very active forum at The Things Network, and they have a topic specific for this combination of ESP32 and SX1276 chip. A number of people, much smarter than me, took the time there to figure out how to setup the board. All I had to do is go through their posts.

Lees verder….

Deel dit bericht:
jan 102018
 

Tot voor kort had ik 2 verschillende LoraWAN nodes in huis: een tweetal LoPy‘s, waarvan er eentje dienst doet als single channel gateway en een Marvin. Beide zijn niet bijzonder goedkoop, een LoPy met ontwikkelbordje en antenne kost zo’n 50 euro excl. verzendkosten. Een Marvin kost bijna 85 euro excl. verzendkosten. Niet echt sensoren dus die je ergens “kwijt” wilt raken. Terwijl een LoraWAN sensor toch juist vaak op een plek moet komen te hangen die iets verder van alles weg is (zoals sensoren langs een weg die fijnstof meten of zo).

Je kunt zelf een sensor bouwen door een chip te bestellen voor de communicatie, een ESP8266 te kopen, antenne etc en dan solderen. Maar dat kost tijd en extra werk.  De “868MHz/915MHz SX1276 ESP32 LoRa 0.96 Inch Blue OLED Display Bluetooth WIFI Lora Kit 32 Module IOT Development Board for Arduino” zoals de listing op AliExpress voluit luidt, is een voorbeeld van een tussenweg: voor €13,90 incl. verzendkosten heb je een ESP32 + SX1276 chip op een ontwikkelbord. Als je het LCD-scherm dat er dan op zit niet nodig hebt, kun je nog een paar euro besparen en €10,29 betalen incl. verzendkosten. Het is niet mijn eerste node op basis van een ESP32, ook de LoPy maakt daar gebruik van, maar het was wel de eerste die ik via AliExpress bestelde. En ik wist dat het daar bestellen een keerzijde heeft: documentatie is niet altijd voorhanden.

Gelukkig is er ook een heel actief forum bij The Things Network waar een heel topic specifiek voor deze combinatie van ESP32 en SX1276 chip (inclusief het OLED schermpje) ingericht is. En daar hadden sinds oktober 2017 al een paar slimme mensen alles uitgezocht wat ik nodig had om ook mijn exemplaar aan de praat te krijgen. En omdat het een proces is dat ik over een paar maanden zeker niet meer uit mijn hoofd weet te herhalen, documenteer ik het hier weer even.

Lees verder….

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:
jan 012018
 

Als je dit weblog regelmatig bezoekt, dan weet je dat we afgelopen week druk bezig zijn geweest met het last-minute deelnemen aan een experiment dat het RIVM, samen met anderen nu voor het tweede achtereenvolgende jaar uitgevoerd hebben: het meten van de hoeveelheden fijnstof tijdens de jaarwisseling.

Daarbij wordt gebruik gemaakt van relatief goedkope sensoren die door particulieren ook zelf opgehangen kunnen worden. Dat brengt uiteraard veel uitdagingen met zich mee, zo hebben wij zelf ook gemerkt toen we wilden deelnemen. Naar aanleiding van de aankondiging heb ik al een tweetal blogposts geschreven naar aanleiding van informatie die ik sindsdien gevonden had: blogpost #1 en blogpost #2. Zoals zo veel dingen lijkt het eenvoudig, maar komt er toch heel wat meer bij kijken als je het goed wilt doen.

Omdat het voor ons onmogelijk was om een Nova SDS011 sensor tijdig in huis te krijgen, zijn we aan de slag gegaan met een Shinyei PPD 42NJ samen met een BME280, een super kleine geïntegreerde sensor voor zowel luchtvochtigheid, temperatuur, luchtdruk en hoogte. Dat geheel werd in een PVC T-stuk bevestigd en achter het Frans balkon van ons huis opgehangen. De gebruikte code was een combinatie van de code van het RIVM van vorig jaar (voor de Shinyei) met de code van dit jaar (voor de SDS011 + BME280). Ik heb de code nog iets verder aangepast op basis van het script waar ik eerder over schreef zodat we ook zelf de ruwe waarden van de sensoren konden volgen. Dat was maar goed ook, want op de officiële site bleef de lijn van de meting bijna vlak:

 Sowieso worden voor de Shinyei sensoren alleen de ruwe PM2.5 metingen doorgegeven die dan op de server omgerekend zouden moeten worden naar µg/m3. Of dat hier helemaal goed gaat weet ik niet, maar omdat onze sensor pas 2 dagen voor de jaarwisseling online kwam ontbrak het aan de mogelijkheid hier nog echt contact over te hebben met het RIVM. Voor de duidelijkheid: vanuit het RIVM werd de afgelopen heel snel, vriendelijk en uitvoerig via de mail gecommuniceerd. Niets dan complimenten daarover!

De stevige piek die je in de afbeelding ziet was toen ik na registratie toch even het script met de omrekening gebruikt had (foei). Maakt niet uit, de grafiek die ik in Google Sheets liet maken (met dat stukje eruit geknipt) laat wél voldoende verschil tussen (ruwe) waarden zien om interessant te zijn.

Lees verder….

Deel dit bericht: