Basic WiFi/MQTT sensor node


Tip

You might want to read this document on our documentation space, all inline links will be working there.

Introduction

A beehive monitoring sensor node based on the Adafruit Feather HUZZAH, featuring an ESP8266 MCU. Telemetry data is transmitted using WiFi/MQTT. The most recent firmware version is available at node-wifi-mqtt.ino.

Open Hive Adafruit Feather HUZZAH

Platform and supported peripherals

Details

Wiring

These Fritzing schematics describe the breadboard hardware wiring of the ESP8266 MCU with its sensor equipment (HX711, DS18B20 and DHT33).

ESP8266 with HX711, DS18B20 and DHT33 on breadboard, top view.

Top view


ESP8266 with HX711, DS18B20 and DHT33 on breadboard, bottom view.

Bottom view

Firmware

Clone git repository

# Get hold of the source code repository including all dependencies
git clone --recursive https://github.com/hiveeyes/arduino

# Select this firmware
cd node-wifi-mqtt

Configure

Have a look at the source code node-wifi-mqtt.ino and adapt setting variables according to your environment.

Configure WiFi and MQTT settings:

// WiFi parameters
#define WLAN_SSID       "change-to-your-ssid"
#define WLAN_PASS       "change-to-your-pw"

// MQTT server
#define MQTT_BROKER     "swarm.hiveeyes.org"
#define MQTT_PORT       1883
#define AIO_USERNAME    ""
#define AIO_KEY         ""

Build

The build system is based on makeESPArduino, a Makefile for ESP8286 Arduino projects.

Setup SDK:

mkdir ~/sdk; cd ~/sdk
git clone https://github.com/esp8266/Arduino esp8266-arduino

# Download appropriate Espressif SDK
cd esp8266-arduino/tools
./get.py

Build firmware:

# Announce path to SDK
export ESP_ROOT=~/sdk/esp8266-arduino

# Run Makefile
make

Enable more verbose output:

export VERBOSE=true

Upload to MCU

make upload