Accéder au contenu principal

ESP32 compatibility, 433mhz 315mhz communication, BLE presence detection and mi flora readings

While I was waiting for the ESP32 developement environment to be enough mature I found a presence detection implementation from @touliloup. It was the opportunity to put my hands on the ESP32 doit board that was waiting for me.




I started with the BLE gateway development. The first attempt with the libraries supplied with the Arduino ESP32 environement was not successfull. I had to add the library from Neil Kolban :

With the examples provided it was quite easy to setup a first system that display on the serial monitor the BLE devices nearby.



The next step was to integrate the function with MQTT and by the way to recover the same level of funcionnality we already had with esp8266 + hm10. Not so difficult until there.

The goal of OpenMQTTGateway is to be able to have on a single system several gateways so as to centralize the telecommunication part of your controller.  In this context the following is easy to guess ;  add another telecom gateway to the ESP32.

The RCSwitch library used by the RF gateway is compatible with ESP32, we are lucky...
IRremote or IRremote ESP8266 not still we will see later.

The first test of modifications were quite satisfying. But the difficult part was not there.

On Arduino Mega or ESP8266 you are able with OpenMQTTGateway to have working in the quasi same time RF,IR and BLE. The goal was of course to reproduce this behaviour with ESP32.
The good thing with this new chip it has two cores and we can decide to attribute functions to one or other core.
An ideal architecture for a multiple gateway implementation !
After some searches and a lot of test I affected the BLE gateway to core 0 with a priority set to 1. The RF gateway works in the same time on core 1.


With this setup the BLE gateway cohabits with the RF gateway. And cherry on the cake it seems more sensitive compared to ESP8266 for RF signal detection.

But we are not yet iso functionnality with BLE gateway, the mi flora compatibility is missing.
With the first tests I was not able to access Mi Flora data with the Neil library. Neithe the service data used with HM10 neither the characteristic 0x35 interesting for the data were accessible. 

A request was already opened for service data access, I added the complementary infos for my need and witht the reactivity of @nkolban and @chegewara the function was implemented to read service data ! 

After that the work was not so différent from what I did with HM10 mi flora integration. Some decoding of hexa data and code factoring and 
OpenMQTTgateway is now working on ESP32 for RF, presence detection and Mi Flora sensor values readings !!





All the code and the wiki are updated on the github:
https://github.com/1technophile/OpenMQTTGateway

Notice that ESP32 dev environnement is still moving and should be considered for beta usage and not production usage in my point of view.

Commentaires

Posts les plus consultés de ce blog

433toMQTTto433 - Bidirectional ESP8266 NodeMCU gateway between RF 433Mhz signal and MQTT

The goal  is to act as a gateway between 433Mhz sensors and a MQTT broker or between the MQTT broker and 433Mhz actuators, It enables to:
receive MQTT data from a topic and send RF 433Mhz signal corresponding to the received MQTT data publish MQTT data to a different topic related to received 433Mhz signal 
It can be an interesting part in an home automation system so as to interface sensors and actuators (wall sockets) with software like openhab.

List of compatible sensors here

The interest of putting this gateway to an ESP8266 and not on a raspberry pi is to be able to manage security actions at gateway level (power on a siren, cut power to certain devices) following RF data received by sensors without being dependent to the PI for security related actions.

[EDIT] all infos are now centralized into the github repository take a look at it you will find up to date info about OpenMQTTGateway

You need:

Software:

MosquittoArduino IDE latest version (tested ok with 1.6.10)esp8266 board added to t…

Infrared IR, 433mhz and MQTT on ESP8266 bidirectional gateway OpenMQTTGateway

Following discussions on the home assistant forum people gave me the idea to add Infrared communication to the 433mhz gateway. 

The goal is to act as a gateway between 433Mhz sensors, infrared remote controls and a MQTT broker or between the MQTT broker and 433Mhz actuators, infrared devices, It enables to:
receive MQTT data from a topic and send RF 433Mhz signal corresponding to the received MQTT data publish MQTT data to a different topic related to received 433Mhz signal receive MQTT data from a topic and send infrared signal corresponding to the received MQTT data publish MQTT data to a different topic related to received infrared signal 
It can be an interesting part in an home automation system so as to interface sensors and actuators (wall sockets), your tv, home cinema, hifi ... with software like openhab or home assistant.

List of compatible RF sensors here

[EDIT] all infos are now centralized into the github repository take a look at it you will find up to date info about OpenMQT…

433toMQTTto433 - Bidirectional Arduino gateway between RF 433Mhz signal and MQTT

The goal of the Arduino 433toMQTTto433 is to act as a gateway between 433Mhz sensors and a MQTT broker or between the MQTT broker and 433Mhz actuators, It enables to:
receive MQTT data from a topic and send RF 433Mhz signal corresponding to the received MQTT data publish MQTT data to a different topic related to received 433Mhz signal 
It can be an interesting part in an home automation system so as to interface sensors and actuators with software like openhab.

The interest of putting this gateway to an arduino and not on a raspberry pi is to be able to manage security actions at arduino level (power on a siren, cut power to certain devices) following RF data received by sensors without being dependent to the PI for security related actions.

[EDIT] all infos are now centralized into the github repository take a look at it you will find up to date info about OpenMQTTGateway

You need:
Arduino UNO W5100 Ethernet shield 433Mhz Receiver XD RF 5V and transmitter FS1000A 
Transmitter VCC must be p…