Articles

Camera viewer

Camera viewer thumbnail
IP cameras are cheaper than ever and with the ESP32-CAM boards it is now possible to stream video for less than USD 10. However, IP cameras are commonly either only accessible from within their network, or use servers from third party companies to allow users to see the video feed from anywhere in the world. As both scenarios are inconvenient, I decided to create a camera viewer application that can proxy the video feed to a web interface.
WebProjectsMongooseMongoDBNode.js

DWC hydroponics system

DWC hydroponics system thumbnail
I am not much of a cook so salads are usually one of my favorite options for a healthy meal. So, just like for everything else, I started wondering if I could make my own. However, I don't have access to a garden so I started looking into solutions to grow vegetables indoors. I settled for hydroponics, which seemed to provide a good balance between yield and operational hassle. Specifically, I went for a Deep Water Culture type of hydroponic system as it is usually considered easy for beginners to setup.
FeaturedHydroponicsProjects3D printingElectronics +1

An RFID ring as a front door key

An RFID ring as a front door key thumbnail
Global warming and the COVID-19 pandemic are some the many challenges humanity is having to face. However, I somehow decided that the problem I was going to solve is having to take my keys out of my pocket whenever I lock or unlock my front door.
IoTArduinoRFIDProjects

MongoDB K8s manifest

Here's a simple manifest to deploy MongoDB with data persistence in microk8s:
MongoDBKubernetes

Cert-manager Certificate Issuer

With cert-manager installed, SSL certificates can be automatically obtained for Ingresses deployed in a Kubernetes cluster. To achieve this, one must deploy the appropriate ClusterIssuers to the cluster. Here are example manifests to do so.
KubernetesTutorials

K8s NGINX Deployment for Ingress test

An NGINX container can be quite useful to test whether one's Kubernetes setup is working. Here is one example manifest file that deploys such container with an appropriate service and ingress.
TutorialsKubernetes

IoT pan-tilt platform

IoT pan-tilt platform thumbnail
With the COVID-19 pandemic, many of us cannot participate in family gatherings or other similar events in person. Instead, some opt for video-call applications like zoom, but then get constrained to the field of view of camera of the device used for the call.
ElectronicsIoTWIPMQTTProjects

Encrypting Mosquitto using Certbot

This article presents how to encrypt a Mosquitto MQTT broker using SSL certificates obtained with Let's Encrypt
SecurityMQTTTutorials

Energy transformation demonstration

Energy transformation demonstration thumbnail
Earlier this year, a friend of mine was organizing an event to promote eco-friendly behaviors. She wanted someone to talk about our relationship with energy and asked me to give a presentation on the topic, which I agreed to. I wanted the presentation to be entertaining so I designed a set of hardware demonstrations aimed at explaining physical concepts related to energy.
EnergyElectronicsWIPProjectsIoT

Getting Python's requests library to use a local DNS (Core-DNS, Docker-compose, etc.) while behind a proxy

When using Python's requests library, the requests are send through the proxy set as environment variables. Consequently, if the DNS to be used comes before said proxy, the host might not be resolved. This typically happens when resolving a host in Kubernetes using Core-DNS. If the request first leaves the Kubernetes cluster to reach the proxy, then the DNS server becomes unreachable, making the request fail.
DevOpsPythonTutorials