Articles
DHT and PIR sensor module
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.
BLE presence detection
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.
Odroid XU4 server
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.
Light controller with PIR sensor
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.
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.
Users and groups in Linux
In linux, or at least Ubuntu, a user can be added using:
Credit card transactions web scraper
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.
Low pass filter for Arduino/ESP8266/ESP32
A low pass filter written as class for Arduino code
Express authorization middleware
Many applications require some form of authorization mechanism to prevent users from accessing restricted content. Authenticated users are commonly in possession of a cookie containing identification data. With the authentication microservice that I designed, this cookie contains a JWT that contains the user's username. This JWT is sent in the authorization header of HTTP requests. Thus, authorization can be performed easily within each application by simply decoding the JWT. To do so, I designed this simple middleware for ExpressJS.
LINE Bot
<p>LINE offers an API to developers looking into creating chat bots. I created my own so that I could send myself notifications.</p>