Category Archives: Technology

Tips and test on technological product and components. Operating system, networks, hardware, security…
Astuces et tests autour de produits et composants technologiques, systèmes, réseaux, hardware, sécurité …

Sigfox, from the poc to the prod

Sigfox is a really nice technology when you want to make a really quick experimentation in IoT. The Time To  Hello World will take you less than 5 minutes and it makes it really easy.

That said after the POC comes the production, and the way you manage your Sigfox backend for production is not the way you build your quick & dirty front-end platform for the POC.

This post will introduce how to make your Production platform and what is the difficulty you need to consider. I’ll propose you some architectural solution I’ve put in place but they are one of the ways to implement it. I won’t detail the pre-packages PaaS solution as i’m not a big fan of them : in my point of view, they are firstly responding to the POC situation, but it is only my own opinion.

Continue reading

Posted in sigfox | Tagged , | 2 Comments

LoRaWAN gateway from TheThingsNetwork

TTN Gateway

I’ve waited a long time to get it since I pledge on the kickstarter campaign but it’s now here and as all what TTN have done until now this it a really nice object.

The design itself is really good. You can easily fix it on a window or a wall.

You can hack this gateway a lot … by the way it is not yet my purpose.

And the installation process it so good.. You may understand I really liked it.

 

 

Continue reading

Posted in LoRa | Tagged , , , | 3 Comments

MongoDB collection format mass modifications

MongoDB is a NoSQL database and one of the main difference compared to relational DB is you can put in your collection documents with different structure. In fact you don’t really care about structure of documents and type of data you are storing.

This is particularly true when you start using your Mongo instance with langage like PHP or JS where the langage itself does not manage data type explicitly.

As a consequence your document format may not be optimized (like storing numbers in String and making search on them later) and once you decide to move your backend to a more structured language like Java you start to have to make this more robust and organized. At this point you may want to reformat your documents to match the right type, eventually update your previous documents to a new version.

This kind of operation can be done “easily” with Mongo scripting language. This post will details 2 of the current structure to manipulate and transform Documents.

Continue reading

Posted in Middleware, Programming | Tagged | Leave a comment

Configure Adeunis field test device on The Things Network (TTN)

The Adeunis Field Tester is a simple way to make test on a LoRaWan network. The device provide GPS information, temperature and an accelerometer to activate communications.

The device is big but it have a screen and you can have a direct feedback of the transmissions on the screen. It make it good for testing coverage manually. You can also program it to send messages periodically and easily put it in a car to create coverage maps thanks to the embedded GPS.

The following post explains how to set it to use it with TheThingsNetwork (as for any other network by-the-way).

Continue reading

Posted in LoRa | Tagged , | Leave a comment

Centos 7 – install a mongo cluster with 3 replica set

This post is describing how to setup a Mongo Db database in a clustering mode. I choose to deploy 3 replica set on 3 different bare metal server running centos 7.

You will find the different steps to make this configuration running, the way to secure it in a vlan and to activate the authentication.

I also added some elements on the way to backup it. Feel free to propose enhancement and links in the comments.

Continue reading

Posted in Systems | Tagged , , , | Leave a comment

SpringBoot – Mongo / Create a Mutex to synchronize multiple frontends

When deploying a API in a scalable environment we usually try tom implement a stateless solution to avoid parallelism conflicts between the different nodes.

This works well for event management synchronously executed. But in some case these event need to have a part of the work managed asynchronously. It was my was my case when I had to process alarm report potentially generating multiple communications with execution time not predictable. To manage this I decided to process theses operation asynchronously. There are multiple architecture for managing this like Queuing (my preferred) of dedicate asynchronous engine. I’ve in fact preferred another way to do it for keeping my infrastructure more simple : adding in all of my nodes a batch function processing the alarms asynchronously.

The alarm events are written into the database and processed by the first of the batch taking it. This allow to preserve a fully redundant and simple architecture. That said I need to ensure only one of the process will execute this process at a time and potentially split the work to do between all the nodes. For making this I had to create a mutex solution.

This post describes the way to create a Mutex solution based on MongoDB with Spring Boot.

Continue reading

Posted in Programming | Tagged , | Leave a comment

Getting started with Nucleo32 – STM32L031

I have this board in my stock since some months and never taken time to play with it. As I’m starting some developments with STM32 it’s time to do it. I’ve tried to do some stuff using it at reception but even if there is some kind of Arduino mentions on the package the start is not as easy as on Arduino. Not regarding coding (it is more complicated but it is not the problem) but regarding the development environment. You need to use different tools and find yourself the way to use each of them. In my point of view ST would do a good thing simplify all this stuff. So in this post I’ll describe how to get started by creating your first led blink project. Hope it will save your time.

 

Continue reading

Posted in Hardware | Tagged , , | Leave a comment

SpringBoot and JWT security

When creating an API you can manage a “session” with a JWT Json Web Tokens ensuring the user has login previously.

This post explains how JWT is working and how to implement it with SpringBoot using user identity stored in a Database.

This is based on a real implementation and is the sum of lots of search on Internet to make it correctly working.

Continue reading

Posted in Programming | Tagged , , | 2 Comments