Articles

DHT and PIR sensor module

DHT and PIR sensor module thumbnail
This project consists of an HC-SR501 PIR motion sensor and a DHT22 temperature and humidity sensor connected to a Wemos D1 mini, an ESP8266 breakout board.
ESP8266ElectronicsProjectsIoT

BLE presence detection

BLE presence detection thumbnail
I wanted my home automation system to detect when I arrive home so as to unlock my door automatically or let me know if I leave the apartment without turning the A/C off. I figured my smartphone could be used to achieve this since it is equipped with a vast array of sensors and connectivity options. For example, I could use an app like OwnTracks which would send an MQTT message once I enter a certain perimeter around my apartment. However, constantly monitoring one's GPS location is wasteful in terms of battery life. Another option would be to ping my phone's IP address to check if it is connected to the WiFi, but smartphones can sometimes take a while to connect. So, I decided to use BLE advertising, which does not use too much battery while still remaining constantly active.
ESP32ProjectsIoTBluetooth

Odroid XU4 server

Odroid XU4 server thumbnail
Having one's own server provides the ability to run web services 24/7. However, having a computer running all the time can significantly increase one's electricity bill. The objective of this project was to build a low power home server capable of running common software (Apache, Node.js, etc.) while only consuming little power.
3D printingProjectsLinux

Light controller with PIR sensor

Light controller with PIR sensor thumbnail
This is an IoT ceiling light controller which includes an HC-SR501 PIR motion sensor. It is built around a Wemos D1 mini (ESP8266 breakout board), which controls a homemade TRIAC breakout board. TRIACs provide the advantage of switching devices on and off silently, as opposed to a mechanical relay.
IoTESP8266ProjectsElectronicsMQTT

Serving web applications with Apache

Let's imagine we have a server with Apache2 listening on port 80. Since port 80 is used, other web apps, developed for example with Node.js, must use another port. Consequently, one would need to open a new port on one's router every time a new app is developed.
TutorialsApacheLinux

Users and groups in Linux

In linux, or at least Ubuntu, a user can be added using:
BashTutorialsLinux

Credit card transactions web scraper

Credit card transactions web scraper thumbnail
The company behind my credit card provides a web interface which includes a log of the transactions that have been made. The objective of this project is to automatically retrieve this log everyday and store its data in a database so as to display it on a custom dashboard.
ProjectsPuppeteer

IoT ceiling lights

IoT ceiling lights thumbnail
An IoT RGBW LED controlled via MQTT with integrated motion and illuminance sensor.
IoTWIPElectronicsProjectsMQTT +1

IoT scale

IoT scale thumbnail
Keeping track of one's body weight usually involves manually writing down measurements on a spreadsheet or similar. To automate the process, I removed the electronics of a cheap scale, keeping only the load cells, and replaced it with my own.
ProjectsESP8266IoTElectronics

IoT Current consumption monitoring system

IoT Current consumption monitoring system thumbnail
When you don't know how much power your air conditioner draws, it's easy to leave it running without feeling too guilty. And then the electricity bill comes...
MQTTProjectsIoTNode.jsElectronics +1