Expandable rack IoT platform for home or industry use.
a few cheeky shots to show how the rails are coming together:
I haven't updated this project in a little while, work is ongoing.
I am building two development rigs in order to help with coding and also for me to try out new hardware configurations.
Both rigs are on 3D printed DIN rail brackets, with space for a front and back rail mount.
Front rail contains a mixture of Pi and Arduino boards, and back rail contains all power distribution and some 13A UK sockets for automation control.
The first rig is built around a 4 channel sonoff switch.
Channel one controls a Pi Zero W housed in a RasPiBox Zero Lite powered via a DIN rail power supply. This will run a webserver and an MQTT broker.
Channel two controls a Wemos D1 in an ArduiBox Open enclosure powered by another rail supply.
Channels 3 and 4 control directly two 13A sockets on the back of the rail. A third 13A socket is connected to the Wemos board via a relay.
Rig two has no built in switching; it is to be plugged into rig 1's sockets when needed.
This rig will feature another RaspiBox Zero Lite, plus a SimpliBox USB relay box (which in turn controls the 13A sockets on this rig).
A Pi 3B with a Relay HAT will also be on this board.
These rigs will give me the freedom to test a plethora of options, be it Pi or Arduino based.
I am excited to get them wired up!
I have built various systems using the DIN rail as a simple way of tying together my modular designs, however I have always found myself relying on off-the-shelf enclosures for my projects.
In this project I aim to create a simple, modular setup that I can use to for a wide range of applications using common components.
The main unit is the brains of the project. While there will be a few GPIO pins broken out The inputs and outputs of this unit will focus on communication; i2c, serial and wifi. Using these the unit will provide a WebGUI for the user, output data to an MQTT server, display information on an attached screen and co-ordinate the use of any additional slave units added to the board on the i2c bus.
A reasonably compact but simple to assemble design is the aim of the game here.
The screen used will be a 20x4 i2c lcd screen. All components will be mounted to a board the exact same size as the 20x4 display, using standoffs to screw the two together. The lower board will contain a NodeMCU header (to the right of the board to avoid the i2c backpack on the screen, USB port pointing out of the top, a 4 pin header for the screen to connect to the i2c bus, a row of screw terminals along the bottom edge of the board (vcc in, ground, tx, rx software serial pins and a few extra GPIO and grounds broken out), onboard 5v/3.3v regulators to power the NodeMCU and and two RJ45 connectors for attaching the slaves.
The RJ45 pins will carry: VCC, GND, 5v, GND, 3.3v, GND, SDA, SCL
Variations - I also aim to make a variation of this board featuring a Pi Zero as the main controller. Design would remain mostly the same with the headers and regulators hopefully being the only parts requiring movement.
The slave units will act as expansion boards for the main controller. Relays, pH Sensors, temperature sensors, extra pins and more can easily be added using the slave units.
In order to handle the additional components I am planning to add a small microcontroller such as an AtTiny85 to control the slave device, act as an i2c slave and store basic information on the connected device. This information will allow the main Unit to utilise the attached peripherals and use it correctly.
This is pretty flexible depending on the components involved, however each board will contain the two rj45 connectors for daisychaining the boards, a socket for the AtTiny, and the actual components. Some Ideas for expansions are: Relay board, pH/Temp sensor board, LED board, Analog input board, opto-isolated io board, button boards etc
In order to make the board neat I will aim to keep them the same height as length as the Main unit, even if the width varies.
I've been putting a lot of thought into this project, and how to make hardware that will be compatible for as many applications as possible.
In order to do that I have come up with a series of modular boards that will make putting together a setup for almost any application easy.
I'm looking to design some PCBs for This however this will take some time to get to grips with the necessary software.
I'm looking for a collaborator to assist in this step to share my ideas with and to make sure it is feasible and also help me with the design phase of the boards.
If you would like to jump on board please get in touch!
I am entering one of the two components of this planned project into an IoT contest over on Hackster.io.
This contest entry focuses on the IoT Control Unit, which is ESP8266 driven so meets the criteria for the contest.
The Pi-powered Hub Unit will be documented over there for future contest use.
Soon I will be adding more documentation to the project here on Hackaday.io following some more work on the code; I'm happy with the builds using enclosures by the magnificent @Hartmut Wendt and am now currently focusing on integrating MQTT to have my network function as intended.