Getting started with GNURadio & scapy

GNURadio is an open-source software for making Software Defined Radio. It can be used to model a radio transmission or the process a real radio communication.

Scapy is a python tool set able to interact with GNURadio. Basically GNURadio will receive an signal from a SDR key and process it to get a digital sequence. Scapy will process this sequence and potentially generate a new sequence to be process by GNURadio to be transmitted.

There are plenty of example of GNURadio/Scappy usage to hack, simulate, learn many radio protocols like WiFi, GSM, Bluetooth… I want to play a little with Sigfox also so that’s why I started to investigate on this tool.

As this tool is a bit complicated, this post details the key element having helped me to getting started with this tool.

Continue reading

Review Laird Sentrius LoRaWan Gateway

After having tested different LoRaWan gateway like Kerlink iFemToCell, TheThingsGateway and Kerlink Wirnet, in the past two years, I was looking for a new low cost indoor gateway for deploying TheThingsNetwork (the global crowd-sourced LoRaWan network) in my city.

Gateway are not all easy to shop, Kerlink at first. As one of my iFemToCell has burned into the hell this summer with no reason after only 3 months powered-on I was not looking for the same. TheThingsGateway has different semiconductor provider reseller but myne suffer of certain instabilities actually and I need to reboot on regular basis. So that’s the reason of this new try.

Let’s see how to setup on TTN.

Continue reading

STM32 and Low Power Mode

STM32 ARM MCU are proposing different low power mode for saving energy when running IoT on battery. Some basic example of low power are delivered with the SDK as part of CubeMx solution but these example are not really complete, not well documented and in my point of view difficult to use in a Fresh new project. Basically my current feeling with STM32 is these guy are pretty good to write thesis on how to do magic stuff with the MCU, writing hundreds of pdf pages about really detailed stuff but they are really bad for providing some line of code to illustrate this valuable content with something practicable you can use on the go. So after spending a week working on a working and understood example of low power code, I’ll share with you the result of this work…

Continue reading

STM32 and Arduino, working with a custom board

Arduino is supporting STM32 platform and after following the installation steps, you can easily work with the st-microelectronics development kit.

In the real life you need to create a specific setup once your prototype is transformed into a custom board. This setup redefines the pin mapping, the target MCU and needs to refine the firmware transfer method as you will use and external STLINK programmer.

In this post we are going to see the different step for doing this.

Continue reading

Arduino for STM32

In a previous post I explained how to getting started with STM32 with classical Eclipse or Keil environments. These environments are very cool for starting from scratch in designing firmware. That said, you have to recreate a lot of basic functions and libraries to create your firmware.

On the other hand, the Arduino community is proposing a lot a existing libraries and a development framework with a large number of supported features. The STM32 community looks active and that’s a good way to quickly create advanced firmware.

That said there is different point blocking in my point of view for using Arduino as a professional environment:

  • Outside of the core libs and some nice one, most of the lib are badly written
  • The official editor is a mess if you manage more than 3 files…
  • Writing libraries with official editor is… “impossible”

For this reason, in this tuto, I’ll use Visual Code Studio  to see if the 2 last point can be solved. Regarding the first point, there is nothing better than using well coded libraries and rewrite (and share) the badly written one.

Continue reading

Getting started with Arduino MKRWAN1300 & LoRaWan TTN

After making some post on Arduino MKRFOX1200, here I come with the first steps to use MKRWAN1300 board to send your first frame on TTN and also how to use them for discovering the TTN coverage around.

MKRWAN1300 board is a LoRaWan Arduino board based on the Murata CMWX1ZZABZ module. This module is capable for LoRaWan in Europe (868Mhz), NA (915MHz) Asia (923MHz) …. It is also capable for Sigfox in both zone (but actually not with this board as much as I know). Producing 14dB emission and capable for 20dB emission for FCC zone. The price of the Arduino board is about 40€ and it is largely available on Internet.

In this post we are going to see how to make the first steps with this board and create a device to map the TTN network coverage with and without a GPS.

Continue reading

How to get some Sigfox Subscriptions ?

This is a Frequent question I received from many hackers or companies: How can I get a Sigfox subscription for my IoT device?

We need to start saying a Sigfox subscription is a right to have its device data to be proceeded for a year. In the LPWA technology there is no SIM cards or any physical things attached to the subscription. You buy a device from a semiconductor company, when this device is compatible with Sigfox you have an ID attached to this device. This ID is uniq and used to identify the device on the Sigfox network. So once you have a subscription, you attach this subscription to this device ID then you will be able to access your device data from the Sigfox backend.

That’s clarified we can address the question of this post: what are the way to access a subscription?

Continue reading

Enhanced Sigfox API services

Since I’m using Sigfox backend there are a lot of operations I’m regularly manually doing. Thanks to the Sigfox API, it is possible to automate these manual operations to gain in productivity and save time.

The most consuming operation were for me to manage the device type because each of them have multiple callback and every callback uses many parameters. The callback replication is for me a recurrent operation when adding a new contract, when creating a new version of application, when instancing for dev, prod… It’s also a complex operation when you have to ask a third party ( like a client ) to configure a device-type for connecting to your service. As a consequence these operations are the first one I’ve automated thanks to the Sigfox Api.

I’ve decided to publish this usefull code to let you saves time on these operation with a new set of API accessible on IngeniousThings Sigfox Api portal and available on GitHub as OpenSource.

In this set of API (actually 3, will grow) you will find operation to export/import a full deviceType configuration and to duplicate a DeviceType.

Have fun !