Getting started with ST Murata LoRaWan board

ST Micro-Electronics is providing a development board with a Murata CMWX1ZZABZ-091 chip. This device is a module containing a STM32L0 chip (192Kb of Flash / 20Kb of RAM) associated with a Semtech SX1276 radio chip. This module can be used as a SoC for developing LoRaWan IoT devices. The Semtech chip is also capable of Sigfox. This module is a bit expensive but it is actually the one allowing LoRaWan and Sigfox communication in any of the RCZ zones.

Continue reading
Posted in Hardware | Tagged , , , | Leave a comment

Alarm your TheThingsNetwork gateway

There is actually no solution to get an alarm when a TTN gateway is shutting down. That said, all the information are accessible thanks to the different API. 

To monitor my deployed gateways, I’ve made a little script in python working with IFTTT. It connects to the The Things Network api, get the gateway status and call the IFTTT webhook in case of last gateway update too old. 

On IFTTT i’ve created an applet to generate a Push notification on phone to get the alarm.

The script is accessible in the post detail.

Continue reading
Posted in LoRa | Tagged , | Leave a comment

Make a Laird Sentrius an outdoor gateway

The Laird Sentrius LoRaWan gateway is a low cost, stable and easy to configure on The Things Network gateway. They are indoor gateway. I want to install it outdoor to offer a better coverage.

In certain situation the easiest way to install it outdoor is to use an external antenna and a long antenna cable. In some other situation this approach is complex to implement and the easiest way is to install the gateway outdoor with its antenna and network connection.

The best is to use an outdoor LoRaWan gateway. The price is usually > 600€. Even if in general the outdoor gateways includes GPS and Cellphone connectivity. In this post I’ll explain how I make one of Laird Sentrius outdoor because it costs less than 250€ for the gateway itself.

Continue reading
Posted in IoT, LoRa | Tagged , , | Leave a comment

HopeRF RFM95 and arduino a low cost LoRaWan solution

The HopeRF RFM95w module proposes to access LoRa at low cost. Its unitary price is around 4€ on shop like aliexpress. A version with a shield is also existing. Its name is Lora1276-C1 from niceRF. These different transceivers are using Semtech SX1276 chip. It makes this kind of chip interesting for regional low cost LoRaWAN design in association with a MCU. Here we are going to use it with an Arduino platform.

Continue reading
Posted in IoT, LoRa | Tagged , , , | 2 Comments

The Sigfox Micro Base Station test

The Sigfox Micro basestation has been announced during the last Sigfox Connect event in Berlin. The base-station allow to extend the Sigfox public network, at low price, for your private location.

This post is detailing my experience with the micro base-station and the field test I’ve made on an industrial site.

Continue reading
Posted in Sigfox | Tagged , , , | 4 Comments

LIbrenard is out – Open Source Sigfox stack implementation

Sigfox is not publishing its detailed specifications. For this reason different people (like me) are doing reverse engineering. Thank to this activity we are now getting more and more information on how the IoT network communication works. I’ve been the first one to publish the uplink frame in details more than a year ago.

Today, during the 35th edition of CCC Congress, Florian Euchner has published, on Github, the first Open-Source Sigfox stack : LibRenard.

This library allows to transform a Sigfox radio signal into a decoded frame (uplink demodulation). It allows to create a Sigfox radio signal from a decoded frame (downlink modulation).

The LibRenard implementation follows the Open Sigfox Protocol specification also host on Github from Florian. It details the uplink as the downlink communication frames. Making this open specification as the real first Sigfox global protocol specification published.

I really want to congratulate Florian for this excellent work. I hope the stack will be soon enriched with the native Sigfox encryption I’ve just finished to detail, with the associated OOB frames.

Posted in Sigfox | Tagged , , | 4 Comments

Stop telling me Sigfox is clear payload, for real you’re just lazy ;)

The usual attack on Sigfox network is related to the “security”. Behind this large concept, for real, the only point is related to the use of clear payload over the air. As a consequence some are extending this to the possible replay after 2048 frames so regarding a standard use of Sigfox is will be about 6 month later…

That said, for real, all of this is just ignorance from these pseudo “security” experts and developer laziness. Don’t beat me for saying that, I’m part of the lazy developer, the only difference is I’m not complaining and I’m aware the solution is in my own hands.

Because, for real, the payload encryption exists as documented in the post I’ve published on May 2017 and detailed on the Feb 2017 technical security paper published by Sigfox or like in this document.

So saying the Sigfox is not proposing payload encryption is wrong and this option is also fixing any 6 months later message replay. It’s like saying WiFi is  not secured because you can create an open-network.

So now, let’s see why encryption is not the default option, why a network encryption standard is not the best option and then see how to stop to be a lazy developer and make encryption working.

Continue reading
Posted in Security, Sigfox | Tagged , , | 2 Comments

10 things you can’t ignore when writing a Firmware

When you write an IoT firmware, there are different things you may never forget to think about… The coming 10 things you can’t ignore are coming from my experience of smart object creation and the associated field experience.

The field experience is unfortunately the real step where you will improve your firmware and discover all you have forgotten when you have written the firmware and tested it in your laboratory. In laboratory everything is perfect.

The following 10 things you can’t ignore when writing a Firmware is a non exhaustive checklist of points to verify before pushing your code to the field. It is also a list of  test conditions you can execute to validate a Firmware / device made by a third party.

Continue reading
Posted in Programming | Tagged , , | 4 Comments