Skip to content
Julian Todd edited this page Sep 21, 2019 · 9 revisions

There are a number of ESP8266 and ESP32 devices in operation connecting to the MQTT network. This page is to keep track on where they are and what code is loaded on them.

Device name mac-address ipnumber sensor location code date
whitesp B4:E6:2D:8C:1F:AD 10.0.37.129 IR temp Room 29 JMDN/P/IR 2019-09-21
esp8266LOLIN 2C:3A:E8:0F:1D:C7 10.0.31.229 LED ticker Room1 main window JMDN/P/LED 2019-06-24
esp32co2 B4:E6:2D:8C:1F:B1 10.0.32.28 CO2 ppm Room1 TV wall JMDN/SK/Main 2019-06-22
esp8266B EC:FA:BC:A7:A8:07 10.0.35.194 Temp strng Room1-29 window JMDN/SK/esp8266_Main 2019-06-28
esp32powflash CC:50:E3:96:06:54 10.0.37.64 Electric use Meter room JMDN/proj/eflash 2019-09-21
esp32ledstrip 10.0.36.254 LED pow monitor Front desk JMDN/proj/LEDmsgpan 2019-09-11
esp32ledstrip2 10.0.35.196 LED issues ticker Ceiling I-beam JMDN/proj/LEDmsgpan 2019-09-11

Most of these devices are commissioned and uploaded using the Jupyter Micropython Kernel with code pulled in from the Jupyter Micropython Developer Notebooks.

The all-in-one ESP32 based sensor identification and display code is at: "Sensor_Kennel/Main"

You can get the ip-numbers of all these devices with the command: mosquitto_sub -v -h mqtt.local -t "+/ip". See all the data from a device with: mosquitto_sub -v -h mqtt.local -t "esp32co2/#". Send a message to be displayed on a device with: mosquitto_sub -h mqtt.local -t "esp32co2/message" -m "Hi there".

ESP32 implementations

Most of the code uses a forked MQTT asynchronous driver that implements mDNS. The code in a minimal mDNS implementation used just to convert "mqtt.local" into an ipnumber.

The all-in-one code that handles many I2C sensors wired onto an ESP32 is at: https://github.com/goatchurchprime/jupyter_micropython_developer_notebooks/blob/master/Sensor_Kennel/Main.ipynb This can run an OLED screen (if it exists), connect to the MQTT server. The code is based on an adaptation of the asynchronous MQTT library with mDNS implemented.

ESP8266 implementations

The ESP8266 has a WebREPL command line system that uses a socket by pasting in the ipnumber in place of 192.168.4.1, clicking on "Connect" and using the password "wpass". (The WebREPL system on the ESP32 only works when there is no program running, and so it is almost useless.)

Issues

The minimal mDNS implementation does not work on ESP8266, so the ipnumber of the mqttbroker have to be hard-coded. This is 10.0.30.194 (when connected to the ethernet wire to the normal wifi) or 10.0.30.130 (when it has a hotspot).

The esp8266B temperature string that goes between the two rooms needs resetting every 36 hours (click the button the the side of the board) as there is a problem with the Dallas OneWire library which crashes the system. This needs to be investigated or handled with a watchdog system.

The esp32powflash is inaccessible and in the meter room. Ask John or Julian to power cycle it if there's a problem.

☝️ Filter all pages above!
(Full search available on the top left of page)

WiFi: DoES Liverpool, password: decafbad00

or

Clone this wiki locally