nov 272018
 

Na de succesvolle test afgelopen zaterdag en de optimalisaties in de code op zondag (zie dit bericht) mocht de TTGO T-Beam gisteren en vandaag met me mee naar het werk.

Niet in de auto, maar in mijn rugzak in de bus en trein. Dat was gisteren (maandag) tamelijk teleurstellend. Behalve mijn eigen gateway kwam ik, totdat ik in Nijmegen was, onderweg geen enkele actieve gateway tegen. Mijn reis ging van Deurne met de bus naar Venray (Oostrum) en daarna met de boemel via Vierlingsbeek, Boxmeer, Cuijk, Mook-Molenhoek naar Nijmegen Heyendaal. Op zich klopt dat met de info op TTNMapper.org, die geeft daar ook geen actieve gateways (p.s. op moment van typen heeft TTNMapper wat problemen en worden *alle* gateways als offline aangegeven, dat is echter niet zo), maar de grote cirkels op de dekkingskaart deden hopen dat er toch wel ontvangst mogelijk was.
 
Hoe anders was dat vandaag. Toen moest ik namelijk door naar Arnhem. Ook nu tot Nijmegen geen ontvangst, maar vanaf Heyendaal naar Presikhaaf en de wandeling tot op het HAN terrein waren, qua ontvangst in ieder geval, perfect. Tijdens het stukje lopen waren er steeds minimaal 2 gateways die het bericht ontvingen. Het ziet er ook naar uit dat de “beweeg ik of niet?” aanpassing in het script goed werkt. Nu is het zo dat als de TTGO T-Beam wakker wordt (na 30 seconden) er eerst gekeken wordt of de huidige locatie minimaal 50 meter afwijkt van de oude locatie. Zo niet dan gaat de TTGO T-Beam weer 30 seconden in slaap (en als hij na 5 minuten nog niet bewogen heeft stuurt hij alsnog een bericht). Het aantal datapunten op de TTNMapper kaart is precies goed. Maar 1 datapunt terwijl ik op de bus sta te wachten, een viertal datapunten op station Nijmegen, maar daar verplaats ik me ook daadwerkelijk tussen perrons, maar 1 datapunt vanaf station Arnhem waar de stoptrein ongeveer 5 minuten still bleef staan.

Absolute uitblinker was/is een gateway die in Arnhem op een (hoog) flatgebouw staat (zie foto hierboven). Deze gateway was namelijk in staat om berichten te ontvangen vanaf Nijmegen Heyendaal, op ruim 14 km afstand. En dat met SF7, via een node die in mijn rugzak zat met een standaard kleine antenne. Ik vind het indrukwekkend, zeker ook gezien de compacte omvang van de TTGO T-Beam. Natuurlijk, niet iedereen kan een gateway met antenne op een flatgebouw zetten, maar afgaande op de beschrijving is ook dit een gateway op basis van een Raspberry Pi, dus zelfs al je stoer doet qua kabels, antenne etc. is dat een gateway die (zo schat ik) geen 1.000 euro gekost zal hebben. Ben jij de eigenaar van “home-made-second-ic880a-rpi3” en wil je meer vertellen over de gateway/kosten/plaatsing etc dan hoor ik het heel erg graag!!

Er komen nog wel wat dagen aan die de moeite van het tracken waard zijn. Volgende week dinsdag leg ik met de auto het traject Deurne – Druten – Roermond – Arnhem – Deurne af. En en een week later reis ik met de trein het traject Nijmegen – Zutphen – Apeldoorn (daar stap ik dan uit voor een paar uur en dan terug naar huis via) – Amersfoort – Utrecht – Den Bosch – Eindhoven – Deurne. Niet helemaal de route van april 2017 maar wel eentje die in de buurt komt. De TTGO T-Beam gaat beide dagen zeker ook mee.

Deel dit bericht:
nov 252018
 

Gisteren schreef ik over de TTGO T-Beam, een ESP32 met LoRa chip, GPS en een batterijhouder voor een 18650 Li-ion batterij gecombineerd. Ik had er het “standaard” script beschikbaar om hem als node voor TTNMapper.org in te zetten. Het script werkt, is nog lang niet geoptimaliseerd, maar het was goed genoeg voor een eerste test.

Hij ging gisteren mee, in de auto, naar Zuid-Limburg.  Gewoon voor op het dashboard. Zuid-Limburg is, zo kun je zien op TTNMapper.org niet  het gebied van Nederland met de beste dekking qua TheThingsNetwork. Conclusie is in ieder geval dat ik van de beschikbare gateways onderweg, het merendeel in ieder geval bereikt heb.

De maximale afstand die ik bereikt heb is 9,18 kilometer naar een gateway in Roermond. Dat vind ik niet slecht als je bedenkt dat ik op dat moment waarschijnlijk gewoon met een kilometer of 130 per uur over de A2 reed in een metalen doos. Ook daar ben ik zeker niet ontevreden over.

Belangrijkste minpunt van de eerste test gisteren was het gegeven dat de 3,7V 18650 oplaadbare Li-ion batterij niet eens een beetje in de buurt van de te verwachten capaciteit kwam. Dat was eigenlijk niet eens nieuws, YouTube staat vol van filmpjes waarin de exemplaren uit het Oosten getest worden en waarbij duidelijk wordt dat 9900 mAh een sprookje is. Ik heb helaas geen setup die de capaciteit van de accu goed kan testen. Maar na 3,5 uur stopte de eerste batterij er mee. Was wel 3,5 uur van continue werken en elke 30 seconden via TTN versturen van de coördinaten.

Lees verder….

Deel dit bericht:
nov 242018
 

Ruim een jaar geleden, april 2017, nam ik 2 LoRaWAN nodes mee op een treinrit van 2,5 uur. Een LoPy node en een Marvin node, een stevige powerbank en mijn smartphone werden gebruikt om data te verzamelen en te loggen.

Het idee was simpel, maar ook wel weer ingewikkeld:

Vergeet voor het gemak de Mavin node even, die maakte verbinding met KPN, dat doe ik vandaag niet. De LoPy node deed niets anders dan om de zoveel seconden te proberen een bericht via het TTN-netwerk te versturen met daarin de temperatuur / luchtvochtigheid die gemeten werden door een aangesloten DHT11.

Prima, maar ik wilde niet alleen de data doorsturen, ik wilde ook weten, als de data aan kwam, hoever ik dan van de betreffende gateway die de data ontvangen had af was. En tegelijkertijd wilde ik een bijdrage leveren aan de dekkingskaart zoals die op ttnmapper.org te vinden is. Die kaart geeft een beeld van de op dit moment beschikbare gateways en de plekken waar je zou mogen verwachten dat je data via het TTN-netwerk kunt versturen.

Om dat te doen draaide op mijn telefoon een app. Die app maakte verbinding (via 4G) met de server van het TTN-netwerk zodat hij daar kon kijken of de data van mijn LoPy node binnengekomen was. Als dat zo was, dan haalde de app ook de GPS-coördinaten van de gateway die de data ontvangen had op (die informatie wordt ook op de TTN-server opgeslagen), keek naar de GPS-locatie van mijn telefoon en stuurde die gecombineerde informatie naar de TTNmapper server. Snap je het nog?

Deze methode werkte eigenlijk best goed, maar had als nadeel dat de externe accu best groot was, mijn telefoon de hele tijd in de buurt moest zijn en de app moest draaien, de accu van de telefoon werd best wel belast omdat hij steeds dataverbinding en gps aan het gebruiken was. Kortom, niet echt ideaal om dagelijks te doen.

Inmiddels zijn we dus ruim anderhalf jaar verder en  ga ik vandaag een oplossing testen die een stuk compacter is. Ik maak dan namelijk gebruik van een TTGO T-Beam. De link is naar de verkoper op Aliexpress waar ik hem zelf besteld (en betaald) heb. Hij kost nu (op moment van schrijven), met verzendkosten € 26,06
Ik heb er zelf € 25,56 incl. verzendkosten voor betaald, de prijzen schommelen soms een beetje. Hou er rekening mee dat je de kans loopt dat je op de bestelling BTW (+21%) en inklaringskosten (+€12,50) moet betalen.

De TTGO T-Beam is een board op basis van een ESP32 met een NEO-6M GPS chip en een LoRa schip op het board. Aan de achterkant zit een grote batterijhouder. Niet voor een AA-batterij maar voor een 3,7V 18650 oplaadbare lion batterij. Ik heb er daar 2 van 9900 mAh gekocht bij deze verkoper met bijbehorende oplader (die had ik namelijk nog niet) voor totaal € 12,73 inclusief verzendkosten. Dus al met al ben je (zonder BTW en inklaringskosten) zo’n 38 euro kwijt aan deze setup. Dat is duurder dan de goedkoopste LoRaWAN node die je kunt krijgen, maar goedkoper dan een LoPy of Warvin node, zeker als je een externe accu erbij moet kopen.

Het voordeel van deze setup is dat je geen gebruik meer hoeft te maken van je telefoon. De TTGO T-Beam heeft zijn eigen GPS aan boord en stuurt die data door naar de TTN-server. Daar kun je een rechtstreekse verbinding maken met de TTNmapper server en er voor zorgen dat die GPS data doorgestuurd wordt en gebruikt kan worden.
Hoe dat moet wordt hier allemaal uitgelegd inclusief de code die je op de TTGO T-Beam moet zetten.

Het werkte allemaal meteen. Ik moest eerst een minuut of 10 wachten voor de GPS fix. Dat had ik ook wel verwacht omdat ik binnen was en het de allereerste keer was dat de node op zoek ging naar de GPS. Ik weet nog niet hoe lang dat normaal buiten gaat duren. Voor nu laat ik hem gewoon even aan staan.
Ik heb ook nog geen idee van de batterijduur. Ik neem hem vandaag mee in de auto, mocht de batterij echt heel snel leeg zijn, dan heb ik eerst een reservebatterij en anders gaat hij gewoon aan de 5V aansluiting van de auto (dat is in de trein idd wat moeilijker, dus ik wil wel even weten hoeveel uur hij dit vol houdt).

Het aardig bij TTNmapper is dat ik nog steeds kan zien welke data mijn specifieke node aangeleverd heeft, dat betekent dat ik vandaag ook kan zien of er data binnen komt. Niet zo live en realtime als met de app (die zelfs een geluidje liet horen bij dataontvangst) maar goed genoeg om een idee te krijgen.

En natuurlijk is er nog ruimte voor uitbreiding. Deze node heeft geen ingebouwd micro-SD kaart slot zoals sommige anderen wel al hebben, dus lokaal loggen van de data zodat ik kan zien hoeveel data niet ontvangen wordt, is nog niet mogelijk. Ik heb wel externe uitbreidingen die dat kunnen doen, maar dat vergt dan ook even wat aanpassing in de code.

Mooi is dat de TTG T-Beam in een stevig doosje geleverd wordt. Ik moet nog even een gaatje in de zijkant boren voor de antenne, dan kan hij hiermee ook eenvoudig en veilig mee in de trein. Wordt vervolgd.

 

Deel dit bericht:
okt 282018
 

De site/toepassing is niet nieuw, maar ik had simpelweg nog geen reden gehad om er eerder naar te kijken: MIT App Inventor.

Vandaag heb ik er voor het eerst mee geëxperimenteerd. De aanleiding is een wat groter project waarbij ik sensorwaarden die via een ESP32 worden verzameld direct op een mobiel apparaat wil kunnen ontvangen (dus niet via WiFi / MQTT etc). Het idee is om daar BLE (Bluetooth Low Energie) voor te gebruiken, de ESP32 heeft standaard WiFi en BLE ingebouwd. Maar de standaard apps die je voor BLE kunt downloaden hadden wat moeite met het verwerken en zeker met het netjes weergeven van de data die op deze manier binnen kwam. Zelf een app bouwen voor iOS of Android had ik in het verleden wel al eens geprobeerd, maar in beide gevallen was het installeren van de benodigde tools/software en het krijgen van een basisbegrip van hoe e.e.a. werkt al voldoende reden om daar niet teveel extra tijd in te steken.

Ik was dan ook een beetje sceptisch toen ik de verwijzing naar MIT APP Inventor tegenkwam. Maar, de eerste indruk na een paar uurtjes testen is heel positief. Goed, de eerste beperking voor nu is nog dat er nog geen ondersteuning is voor iOS. Dat was voor mij geen echt probleem, ik heb beide ter beschikking.
Heel prettig is wat mij betreft dat ik meteen in de online omgeving aan de slag kon. Ik kon met een Google account inloggen, naar keuze voor mij dan dus via @gmail.com of via @ixperium.nl omdat we Google Apps for Education gebruiken. Maar helemaal mooi werd het na het koppelen van mijn Android toestel via de MIT AI2 Companion App die ik via Google Play kon installeren. Na het scannen van een QR-code of het invoeren van een korte code werd mijn toestel gekoppeld aan het project waar ik mee bezig was. Dat betekende dat wijzigingen meteen werden doorgevoerd en te testen waren.

Het bouwen van een applicatie voelde heel vertrouwd, enerzijds heb je de ontwerpomgeving waar je knoppen, lijsten etc. op je scherm plaatst. Om er voor te zorgen dat die knoppen daadwerkelijk iets doen gebruik je de “Blocks” omgeving. Als je met Scratch kunt werken of met de Blocky achtige omgevingen zoals ook bij de Micro:bit gebruikt worden, dan kun je hiermee eenvoudig overweg.
En ook wijzigingen die je hier doorvoert worden meteen in de app op je smartphone doorgevoerd.

Heb je app helemaal klaar, dan kun je een .apk bestand downloaden op je smartphone. Dat is dus een “echte” app die gewoon zelfstandig werkt, los van de online omgeving. Nou staan de meeste smartphone tegenwoordig zo ingesteld dat ze niet zomaar apps installeren die niet in Google Play staan. Maar als het goed is, dan is dat één vinkje dat je moet aanzetten. Ik heb nog niet uitgezocht hoeveel werk de optie is om je app via Google Play te delen via App Inventor, want dat is voor mijn doel niet nodig.

Conclusie
Voorlopige conclusie is dat deze omgeving voldoende flexibiliteit biedt voor wat ik nodig heb.  De app is nog niet klaar dus nog geen filmpje etc. van het eindresultaat. Dat wordt nog vervolgd.

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:
feb 082018
 

De kans is groot dat je bovenstaande video al gezien hebt, maar ik wilde hem hoe dan ook hier nog even opnemen. Andreas Spies heeft een uitgebreide test uitgevoerd van de ESP32 bordjes voor LoRaWAN waar ik ook eerder mee aan de slag was. De conclusie is hard maar duidelijk: de bijgeleverde antennes zijn knudde. Op zich geen gigantisch probleem, die kan ik vervangen, maar het maakt wel duidelijk (samen ook met de discussies op het TTN forum over antennes) dat antennes uit China niet echt verstandige aankopen zijn.
Voor het overige moet ik bekennen dat ik een deel van zijn uitleg niet kan volgen, met name daar waar hij de prestaties van de verschillende LoRa componenten gaat vergelijken. Ik heb dus nog wat te leren.
Niet iedereen geeft de video een duimpje omhoog, ik kan niet helemaal achterhalen waarom niet. Er is één kijker die inhoudelijke bezwaren heeft als het gaat om de manier van testen. Die discussie moet ik even aan me voorbij laten gaan.
Er is inmiddels een versie 2 beschikbaar van de nodes, ook die heeft Andreas in bestelling om te testen. Wordt dus vervolgd.

Deel dit bericht:
jan 132018
 

Time for part 2 of the post about getting the “cheap” Chinese ESP32 + SX1276 board connected to The Things Network.

The picture in this and the other post shows the board with a DHT11 temperature and humidity sensor already connected. I stopped using the small case that was on sale, because with the pinheaders soldered to the board and dupont cables connected to it, it no longer fitted.

Also, I am no longer using the small antenna that was provided with the board. I seem to have accidentally twisted the cable that you use to connect the SMA socket to the U.FL IPX connector on the board. The only suitable antenna I had available, was one that was provided as part of the LoPy kickstarter kits (which apparently is different from the antenna sets they sell now). The antenna I got in the kit is a RP-SMA antenna meaning the cable is also RP-SMA. Long story short: I can connect the LoPy cable + LoPy antenna to the board, but the the provided small antenna won’t fit on the LoPy cable. With the LoPy antenna combi I’ve been able to get about 500 meters range outdoors, combined with the single channel LoPy nanogateway. Which is absolutely not bad at all, also given that I’m fixed not to just one channel there but also to SPF7. I’ll do further comparisons once the replacement cable has arrived.

So, the DHT11 sensor. It helped that I managed to figure out that the provided pinout chart was incorrect. Once I know to which actual ports the DHT11 was connected, it was a matter of integrating the library and code into the existing code.  To keep the number of things that could go wrong manageable, I first tested jut the DHT11 code. I provided an example here. If that doesn’t work, don’t bother with the connection to TTN.

Lees verder….

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: