Articles
MQTT Logger
A Node.js application which stores data from IoT devices sent over MQTT into an InfluxDB time-series database. It allows the management of multiple data sources into a MongoDB database.
Rebuilding the GUI of this CMS with Nuxt.js
I have been using this CMS for several years now and overall, it has served me well. However, as the GUI of the CMS was built as an single page application (SPA), meta tags and other SEO options could not easily be generated for each article.</p><p>To solve this problem, I rebuilt this GUI using Nuxt.js as as to leverage server-side rendering (SSR). Articles are now fetched from the CMS API server-side, which allows meta tags to be set before sending content to clients.
Weight tracker
Managing one's body weight can be quite a challenge. And as the quote from Peter Drucker goes, "You can't manage what you can't measure". So, I built a body weight scale that can upload data to an API of my choice, which was the object of this article.
IoT LED controller
Smart lights are usually some of the first appliances to be added to a smart home. Although those can nowadays be purchased easily from various brands, I wanted to have my own hardware so as to integrate it better with other devices and software. Thus, I decided to an IoT LED controller that I can use in various projects where lighting has to be controlled via network protocols.
IoT EM4305 RFID Reader
RFID tags come in various forms and sizes, from standard plastic cards to chips that can be implanted in one's hand. I got particularly interested in RFID rings, which can be purchased online for less than USD 20$. Those are based on EM4305 chips, which require a compatible reader. Thus, I designed an IoT EM4305 reader that can exchange data over MQTT with other devices.
Combining two independent git repositories
This article presents how to combine two independent and unrelated git repositories.
Wardrobe and outfits management web app
Have you ever bought a piece of clothing only to come home and realize you already had a similar one in your wardrobe? This happened to me the other day so I decided to fix the problem. To do so, I designed a simple web application in which the user can keep track of all the garments they own.
Fixing "File locked" Nextcloud errors
When syncing files with NextCloud, some might get stuck in a "locked" state. Here is how to unlock them.
OpenProject in Kubernetes
OpenProject is an awesome project management application that can be installed on one's own server. This makes it ideal for users who want to keep control over their data. However, at the time of writing this article, OpenProject does not yet provide installation methods for Kubernetes so I decided to write my own manifest files.
IoT Kernel
Over the years, I have written firmwares for various IoT devices such as lights, locks or heaters. Those firmwares would generally handle a common set of basic functions like managing wifi connection, serving a configuration web interface over HTTP or exchange MQTT messages. However, having to implement and maintain those functions for each individual firmware quickly became tedious work. Consequently, I decided to write a library to handle all those basic functions. This library is used as a base for IoT device firmwares, on top of which device-specific logic can easily be added.