In recent months and years I have been working on a series of projects that have involved the usual suspects; Raspberry Pi, Arduino, ESP8266 devices etc.
The projects I ave been working on have ranged from Aquarium monitors and other home automation/monitor applications all the way to an industrial controller running in a factory to notify staff of PLC activity.
Having found many ways to connect these projects to the networks they are used on I decided it was time to develop a universal setup that I can deploy for a all the variety of projects i attempt.
My new universal setup contains two, DIN mountable units; the controller and the Hub.
The Hub, a Raspberry Pi powered unit, acts as an access point for all the controllers and connects the DINternet Network to the Home or Work network.
The controller, an ESP8266-powered unit, is the focus of this project.
The controller itself is a simply build; a Wemos D1 (ESP8266 board in the Arduino Uno form factor), a 4 channel arduino relay shield, and a fantastic case (the ArduiBox from hwhardsoft.de) with it's additional OLED display shield.
While simple, it is a very versatile unit; the onboard relays can control a variety of devices in a home automation setup or trigger all kinds of equipment, the Wemos pins broken out to the screw terminals can be used to interface with a vast array of inputs and outputs, the case's built in prototyping area can be used to add to your c ircuitry (such as perhaps adding a port expander to add more Analog pins to the Wemos' solitary Analog pin), and the opnboard display can show a variety of sensor information, relay status or even the IP address information for the device.
I am currently in the process of migrating my coding for the project to MQTT, so the Controller devices will be able to publish data to the MQTT broker (server running on the Pi) and can also subscribe to other channels, creating a great platform to create all kinds of projects.
The Pi itself will act as a MQTT client as well as the broker, meaning it will be able to display all data from all the controllers in an centrally controlled interface.