Blynk, PlatformIO and ESP32

Blynk is an IoT-platform that consists of a Blynk server, custom projects within an iOS/Android mobile app and custom hardware IoT-nodes (Arduinos etc) using a Blynk library. The mobile app communicates with the hardware via the Blynk server and you can use the mobile interface for displaying sensor data from the hardware nodes or control actuators on the nodes.

You can use the cloud version of the Blynk server or host your own instance. In this post, I will show how I have setup a Blynk server on a Raspberry Pi and how I am using it for mobile communication with an ESP32 board that is developed with PlatformIO for Atom.

Continue reading →


Using CH340 devices with OSX

I have several low-cost development boards that use the CH340/CH341 usb-to-serial chip for usb communication. Unfortunately, with OSX Sierra, the official CH340 driver cause a Kernel Panic (freeze + reboot) of the Mac when a device is connected. The reason is that the drivers are not signed correctly. I’ve found an alternative driver ($8) that was really worth the money.

Continue reading →

The Sensor433 library and Geeetech transmitters and receivers

As I use 433MHz transmitters for sending sensor data from many of my IoT-nodes, I have made a re-usable Arduino library for this purpose. The transmitted sensor data is picked up by one single receiver (an ESP8266 board) that converts the values to MQTT messages on my local network. In this post I will describe this library, my setup and also a set of new 433MHz transmitters and receivers that I have upgraded to.

Continue reading →

Radio chirp data incorporated in an MQTT environment

Internet-of-things does not require that every device has to be directly connected to the Internet. The complexity and possible security issues with every sensor having its own IP address would in fact be overwhelming. A better approach would be to use more light-weight protocols for the sensor and actuator data and locally aggregate and filter these data at common points before making them available on the Internet. In this post I will describe a theory and implementation of transmitting small radio chirp messages from an Arduino Pro mini and then receive these data on a Raspberry Pi for transformation to MQTT messages for the Internet.

Continue reading →

Processing and Arduino

Processing is an open-source IDE with a Java-based programming language that is aimed at lowering the learning threshold for interactive graphics creation. It can be used for teaching programming, making prototypes, creating art experiments or just generating crazy visual stuff in general. The community is very active and there are tons of useful contributed libraries. Wiring and the Arduino IDE are spin-offs from Processing and there are many cool things happening in the JavaScript version of Processing, p5.js (more about this in an upcoming post).

In this post I will connect a Processing sketch with an Arduino for the purpose of visualizing the input and output pins of the hardware board with graphics in Processing.

Continue reading →

A low energy open door detector with radio signals and MQTT

This blog post describes how I have set up a door-open detector at home. It uses a small ATtiny85 board that broadcasts a 433 MHz signal every time the door is opened. The signal is fetched by a Raspberry Pi that in turn publishes an MQTT message that results in the event being stored in a database and also being re-published to a cloud service. The circuit is only active when the door is open (and in that state only consumes 10mA), so the whole setup can be driven by a battery pack that is bound to last for a very long time.

Continue reading →

A self-hosted MQTT environment for Internet of Things – Part 2

In the second post in this series, I will setup two ESP8266 microcontrollers with MQTT publishing through a Raspberry Pi-hosted Mosquitto broker. The idea is that the microcontrollers will send sensor data (like temperatures or other events) that one or several MQTT subscribers can act on.

Continue reading →