Zoekresultaten : marvin

mrt 282017
 

My apologies to my regular Dutch readers, given the nature of the topic I am going to do this post in English also. I promise to return to the regular Dutch posts.

When I wrote about connecting the Marvin board to the LoRaWAN network in the previous post, my conclusion was: wow, great, KPN truly does offer easy access to LoRaWAN and it even has coverage in my hometown whereas The Things Network (TTN) has a far from complete coverage in the Netherlands. (Yes, I know, I can add my own gateway, but before I’m going to spend a lot of money on something like this, I would like to play with it first).

Downside of KPN was/is the costs involved in using it beyond the 71 (72?) day trial period. So I wanted to try to connect the Marvin to The Things Network. For that I first needed something that could act as a gateway. I do have a LoPy, but had been unable to get that setup as a gateway. Luckily I also had a Dragino Lora Shield that I had ordered via AliExpress for $19.- a while back. I hadn’t had the time to try and get it to work as a single channel gateway, but now I did. I used the easy to follow instructions available on mobilefish.com. In my case I used an old Raspberry Pi 1 since it does not have to do too much anyway and I am only going to use it for testing purposes.

Within 10 minutes I had my first gateway online. Thanks Robert!

Next step was getting the Marvin to connect to TTN. I am really new to everything LoRaWAN related, but have some Arduino experience, so a .ino file does not scare me. I took a look at the Arduino script that I used for the temperature / humidity measurements (side note: a working version of the script for KPN is available on github). I could not find too much that looked KPN specific.

The only thing that I had to set for KPN were the set_nwkskey,  set_appskey and set_devaddr variables. So next I had a look around in the devices section of the console at TTN. And what do you know? If you select Activation by Personalisation (ABP) as the authentication method, then TTN provides you with just those three keys. Would it really be that easy? Yes! 🙂

Lees verder….

Deel dit bericht:
mrt 272017
 

I will do this post in English because the number of potential readers will increase, and because I do have some additional questions that are more likely to be answered this way.

So, last weekend I played around with my Pycom LoPy boards. A while back they announced that it would finally be possible to setup a LoRaWAN Nano Gateway with TTN (The Things Network) using the board. Now, I know there are fierce discussions about this, yes, I do realize that “There are no true or half true LoRaWAN (or even π % true) devices. There are LoRaWAN devices and non LoRaWAN devices“. In my case I simply want to be able to experiment with LoRaWAN and get some nodes connected for testing. Without TTN coverage in my home village that is not going to happen. Now, I might pay for the 300-400 euro for a simple “true” gateway, but it means I will have to have a working setup first. Otherwise I am not sure that it will ever work. But this post is not about The Things Network, nor about Pycom and the Lopy boards. There is a webinar scheduled this week, hopefully after that I will be able to set things up.

It is just an introduction as to why, when I unboxed the Marvin board that got delivered earlier this week, I was not that hopeful about actually getting it to work. And I was wrong. 🙂

Lees verder….

Deel dit bericht:
nov 122016
 


Na de LoPy loopt er op het moment weer een LoRa Kickstarter campagne: de Marvin, een project van RDM Makerspace uit Rotterdam.

De Marvin verschilt op een aantal punten van de LoPy.
marvin

Zo beschikt hij niet over WiFi of BLE (Bluetooth Low Energy), is er geen sprake van een externe antenne (zat blijkbaar wel bij de prototypes) en is er geen ondersteuning voor microPython ingebakken.
Daar staat tegenover dat hij een USB-aansluiting heeft zodat je hem eenvoudig (zonder extra uitbreiding) via de USB-poort van de computer aan kunt sluiten en kunt programmeren én je hem eenvoudig op een powerbank kunt steken om hem te laten functioneren. Ook zitten er vijf “Grove” aansluitingen op waarmee je eenvoudig sensoren aan kunt sluiten (mits die ook een Grove aansluiting hebben).

Ook de chip is anders, de LoPy gebruikt de gloednieuwe ESP32 terwijl de Marving gebruik maakt van de toch al wat oudere Atmel 32u4. Tot slot is hij net wat duurder. Een LoPy kun je al kopen voor €29,95. Koop je het ontwikkelbord erbij (wel zo handig) dan komt daar nog eens €16,- bovenop, een antenne set nog eens €9,-
Dan nog, bij die complete set, zit je lager dan de €70,- die de kale Marvin moet gaan kosten. Het zal dus van het gebruiksscenario’s af gaan hangen wat je voorkeur heeft.

 

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:
dec 202017
 

Vandaag vindt in Amsterdam bij De Waag Society de workshop plaats ter voorbereiding van de meting van de luchtkwaliteit tijdens de jaarwisseling 2017-2018. Dit doen ze weer samen met het RIVM die een hele site heeft over het samen meten aan luchtkwaliteit. Ze zochten deelnemers in Amsterdam en daar woon ik niet, dus helaas. Op de site van het RIVM (b)lijkt het echter niet alleen om metingen in Amsterdam te gaan, logisch eigenlijk ook natuurlijk. Op die site staat ook dat ze dit jaar met The Things Network (TTN) en LoraWAN aan de slag gaan. Extra interessant natuurlijk.

Dichter bij huis, in Venlo, werken studenten van Fontys bij het Greentechlab aan een experiment voor (o.a.) tijdens de jaarwisseling. Omroep Venlo had er een reportage over (klik even door voor de video). Hier geen uitgebreide pagina, maar ik herken in het filmpje de Marvin van RDM Makerspace, dat betekent in ieder geval dat ze ook met LoraWAN aan de slag gaan. Niet duidelijk is of ze dan KPN gebruiken (en bv een demo-account) of “gewoon” TTN. De standaard bijgeleverd temperatuur en vochtigheidssensor zit er ook aan. Ik kan in het filmpje niet zien welke sensor ze gebruiken. Want daar zit nogal wat variatie in.

Het RIVM heeft er een hele pagina over online staan (en de website bevat nog veel en veel meer info). Het wordt dan al heel snel “technisch” met term en als PM 2.5 en PM 10. De getallen 10 en 2.5 verwijzen naar de afmetingen van deeltjes die gemeten kunnen worden in microns (micrometers). Dan heb je het over klein en nog kleiner. Het RIVM blijkt te meten met PM10, dus deeltjes van 10 micrometer en kleiner. Dat is een beetje balen want de sensoren die ik heb liggen (nog niet getest overigens) meten 2,5 micrometer en kleiner. Dat lijkt dan nauwkeuriger, maar als we het hebben over “fijnstof” dan telt alles van 10 micrometer en kleiner mee.  En dus is het handiger om in diezelfde maat te meten. Overigens, voor fijnstof geldt hoe kleiner de deeltjes hoe slechter en hoe minder van alles hoe beter. Er is geen veilige ondergrens.

Ik heb het RIVM om meer info gemaild. De sensor die zij gebruikten, de Shinyei PPD 42NJ  zou ik deze week nog in huis moeten kunnen hebben. De aansluiten op de Marvin moet relatief gemakkelijk zijn, dan zou het vooral gaan om de vraag hoe ik verbinding maak met de centrale backend van het RIVM om er voor te zorgen dat mijn data uit Deurne ook in hun overzicht/meting opgenomen wordt.  Wordt (hoop ik) vervolgd.

p.s. de kaarten met overzichten van de niveaus fijnstof zijn best verontrustend.

Deel dit bericht:

LoRaWAN with LoPy and KPN + Loggly

 Gepubliceerd door om 15:49  Hardware, LoRaWAN
mei 202017
 

In the Netherlands, KPN was the first to offer nationwide coverage of a IoT network based on LoRaWAN. You can read about my first tests using their Network in combination with the Marvin node in this post. Unlike with the IoT network that for example is currently being rolled out by T-Mobile, which uses NB-IoT and different hardware than The Things Network (TTN), switching a device from the TTN network to the KPN network is simple: just change the DEV_ADDR, NWK_SWKEY, APP_SWKEY values in the config.py of you Pycom LoPy to the values that are provided in the management environment of KPN (see image left). No changes in the microPython code needed. You could even have a device connect to both networks and switch between them (although you probably don’t want to do that when you’ve got a battery powered node).

KPN offers a free test period where you can test your nodes on their infrastructure without having to pay. It is what I used for my train trip last month where I used both the Marvin node (connected to KPN) and the LoPy (connected to TTN) as a way to get a feel for coverage while moving in the Netherlands.

Besides the fact that KPN offers a commercial solution, the free test version (don’t know about the paid version) has a number of differences: unlike TTN where they provide a number of integration options (Cayenne, Data Storage provided by TTN, HTTP integration, IFTTT Maker), KPN only offers HTTP integration. This means you have to provide a destination URL for an HTTPS endpoint where the data is stored. In the Marvin workshop they use Hookbin.com as a free and easy to setup endpoint. But endpoints created there only store data for a limited time. That is why I now use the free version of Loggly.com to collect the data. But of course, the data is only useful if I manage to get it from Loggly to my own local system.

A second difference is a bit of a mystery. If I used the Marvin to send data over the KPN network, the data gets encrypted by the Marvin, but automatically is being decrypted again on the KPN server. But if I use the LoPy to send data over the KPN network, the data shown in the debug console at KPN and the data received by Loggly is still encrypted.

I managed to get both challenges resolved and in this post I’ll do a write-up not of the (lengthy) process of getting to the working code, but of the end result. All code is available on Github.

Lees verder….

Deel dit bericht:
mei 142017
 

At AliExpress they sell a number of cheap GPS modules that you can use for Arduino. I ordered one (this one) GY-NEO6MV2 for €6,82 incl. free shipping (the seller doesn’t offer free shipping anymore so you might want to shop around a bit) and wanted to try it out on the LoPy. Now, I wanted to say that using it is really easy, it is, but then again there were more than enough bumps in the road to get it to work the way I wanted it. But hey, what is life without some challenges?

First things first: the GPS module is easy to use. It use UART to connect to it. As soon as you have got something that is willing to listen to it, power it (it worked using 3.3V), it start sending you GPS data that you only need to interpret. I soldered 4 header pins to the module, connected the VCC to the 3.3V, GND to GND on the Pyboard, the TX line to “P11” and the RX line to “P12”.

As soon as you connect power to the LoPy, the GPS unit is powered. The red light blinking means that the unit is working and sending data. You just need to listen to it.  The code to do that is available here on GitHub.

To start listening:  com = UART(1,pins=(config.TX, config.RX), baudrate=9600)

To interpret the data coming from the module, I use the MicropyGPS module. It is initialized using my_gps = MicropyGPS().

After that it is a matter of checking if there is any data available, and then feed it character by character to the module:

if com.any():
    my_sentence = com.readline()
    for x in my_sentence:
        my_gps.update(chr(x))

 

Lees verder….

Deel dit bericht:
apr 152017
 

Now that Alex explained everyone how to use MQTT in combination with the LoPy, I thought it was time to show some more advanced uses of MQTT in case you still had no idea why you would bother learning to understand it.
The nice thing about MQTT (MQ Telemetry Transport or Message Queue Telemetry Transport) as a protocol, is that it is not tied to the LoPy or WiPy that Alex used in his example. You can use it in combination with many different devices, tools and applications. For example, in our house, I use a Mosquitto MQTT broker as the central backbone for the home automation. For those that can understand Dutch, see this blogpost I did in 2014, or the one about the lights in my Christmas tree.

MQTT is also supported by The Things Network (TTN) meaning that you can retrieve all the data that your nodes send to TTN using MQTT. This also means you can use MQTT as a way to create a local backup of the data that your nodes send this way.
You can also use it in combination with the KPN LoRaWAN network, but the setup is slightly different. So in this post I am going to focus on TTN, although like before I will be using both the Marvin board and the LoPy board (in combination with Puck.js although that is completely optional of course).

I will be using Node-RED installed on one of my Raspberry Pi devices and I will be using MySQL as the database backend. I will be posting about MySQL versus MongoDB versus InfluxDB one of these days, but on a Raspberry Pi for now this was the quickest and easiest solution.

Let’s dive in:

Lees verder….

Deel dit bericht:
apr 072017
 

What happens if you take a LoRaWAN node with you in a train while you travel across the Netherlands for about 2,5 hours? I did not know and wanted to find out today because I had to be in Zwolle for a meeting.

So I charged a big external battery (with 2 USB ports), drilled a couple of holes in a plastic container to guide through the micro-USB connectors, and put in some bubble foil inside for safe transport. I drilled another hole to connect the external antenna for the LoPy node. Besides the LoPy, I put the Marvin in the box, with the temperature/humidity sensor on the outside of it. Not that it really mattered, today was going to be about finding gateways while I was on the road.

Things did not look good for the experiment though in the morning. The Things Network (TTN) backbone was acting up again. That was a bummer, because I still had to change the code on the LoPy. It had the code installed for the Circuit Playground and I wasn’t planning on bringing that also. So I changed the code to a simple “send a number every 30 seconds” but was not able to test it before leaving for the train.

To make matters more balanced: I decided to have the Marvin connect to the KPN network (still got 60 days left on my free trial), but the Hookbin.com server decided that today was a good day to refuse to work. And I needed a place to store the data sent by the Marvin. Luckily I found loggly.com another site that you can use as a destination for KPN nodes. I think it is better than Hookbin btw because it keeps more records and even the free plan should be enough for most people. Another nice thing was that Loggly also can act as an HTTP-integration for TTN, so I could collect both the data sent via KPN and the data sent via TTN in one single place. Quick tip: Loggly provides you with an http:// url for the endpoint, KPN doesn’t accept http:// but you can simply change the provided url to https:// and then it works.

OK, into the train. I wasn’t really sure what to expect. A train means lots of metal and a fast moving object (and nodes).

Lees verder….

Deel dit bericht: