I have been thinking a bit about creating a stand-alone HMI component. Basically a terminal with a touch display and optional keyboard, mouse and customized input equipment. The key principle would be that we use a Ethernet/RSX as bacbone for data traffic, while the HMI takes care of graphics, input etc.
This is just some random GIF I found on the net, but an HMI app could consist of a set of standard components where layout is controlled by XML files that are uploaded from the device. Communication could be Ethernet/RSX. Equiped with a Plain VM this could be an interesting concept where HMI logic is executed on the HMI unit and only events/data transferred to/from the rest of the system.
Making the app above might seem complicated, but it’s nothing I have not done before from scratch in C/C++. I am thinking more and more about creating a standard HMI app in Qt since that can run on Windows, Linux, Android, OsX etc. I need to check around for options.
Since we are talking about a network of stand-alone units we could create a full control center as well.
The latest version of the backbone bus. It is only 10cm long and with max 8 boards. Connectors are 2 x RSX, 5V PSU, and Actuator PSU’s. On the right side is jumpers and resistors for RS-485 terminator and bias.
The backbone’s can be connected in many ways simply by connecting RSX1 to RSX1 and mount the boards in any way you want. They can easily scale up from a single card to a large multiple backbone system. 32 devices can easily be directly connected, but using an active RSX switch you can scale much higher.
I think I have reached a point where I want to order PCB’s and get going. In this case I want to start with the Backbone, CCM and 3xRSX modules. I need to modify the SWD on the Servo Module + the main purpose with the Servo was actually to test the design. The Servo module have doen it’s job as it forced an important change on the backbone.
I also need to start on the 3D for the fittings and see if I can manage to print those with a 3D printer.
The RSX connectors on the backbone are high speed designed for very short range, but we can also interconnect using 3xRSX modules. I do however still need the RSX Switch with power for sensors, so I will push 2 more modules.
- The active RSX switch.
- An upgrade of my preious RSX Sensor (Temperature, humidity, light, distance).
I actually have a few RSX devices in rev 1 that need an update so we can start making a system consisting of sensors and actuators. One step at the time.
I still got a few components to make\upgrade before I have a full Home Automation network. The CCM and RSX module allows me to create a central, but I need sensors and I need to feed the sensors power. One solution to this is to create an active RSX Switch with power output on each network.
The RS-X Switch as drawn here will take 2 x Ethernet or 2 x RS-X (M1 & M2) input and provide 4 x RS-X output with power. Each of RS-X E1,E2,E3 & E4 can be switched on/off separately and be used for networks or 1:1 with sensors/actuators.
The functionality in the switch is simple message switching. The idea of having 2 x Ethernet and 2 x RS-X Input is redundancy, but I realise this might be a bit tight to achieve so will see what pins & space I have available.
This module will also be a great RS485 Hub used stand-alone.
3D of a 3-port RS485 GW. This actually have 5 RS485 (or RS-X). 2 on the backbone bus running high speed, and 3 isolated with lower speeds in front. These can be used Standard RS485, RSX or even Profibus/485.
The MCU is actually capable of running 3 port Profibus using UART’s saving the need for specialised hardware.
This module do not have the Raspberry PI Zero W add-on option. The reason is because the connector would conflict with the isolation area.
This is a block diagram of the All-In-One Home Central. This is basically a merge between two PLC cards to create a smaller, mobile bread & butter node. I am not going to do anything on this yet – I simply want the MicroPLC modules up running first since this is re-use of the same technology.
This also provide a full wireless RS-X switch as an alternative to the low cost wired one. The RPI module have sufficient juice for a secure wireless connection.
IoT is all about wireless connections these days. The main challenge is that providing sufficient security becomes a challenge becausse you need some computing power for secure encryptions – which easily drive cost and size. Myself I prefer to use secure wireless links to cover distances between buildings and floors, while I use more classic wired networks locally.
To enable this I need two new components to my Home Automation system:
This is a basic PLC module to provide 3 x External RS-X networks. I will create a all-in-one with these integrated later, but we can stick to the PLC backbone for now. Isolating everything will drive cost and size, but I want these 3 connections isolated because they will support long distance wiring exposing the entire system for lightning or pulses from other quipment. I will only get 3 networks on each card, but I can stack loads of cards if I need to.
The second component is an Active RS-X Switch. This will bridge between an isolated network to a short distance non-isolated with 12V power added. With 4 connectors we can connect 4 devices or add passive switches to create entire sub-networks. We can also add another Active Switch by chaining these up to create larger networks.
The main advavtage is that we add power locally and don’t attempt to send DC power over any distance. Power is best transported as AC. We also create barriers where a lightning strike or other spikes will only have limited impact while we still can add low cost sensors in numbers. I created sensors and passive switch earlier that I will make upgrade revisions of.
These pictures show the annotated 3D. Full PDF documentation can be found on the Download page (here).
- 4 pin HMI header.
- Super capacitor for RTC.
- Raspberry PI Zero W mounting holes.
- Ethernet RJ45
- GPS Antenna
- GSM/GPRS Antenna
- Nano SIM Card holder.
- Standard mounting holes. M2.5 in each corner.
- SIM808 module
- Analogue Audio/USB connector.
- 4V PSU (MIC29302BU)
- 2 x MAX3485 for RS485.
- 3.3V PSU (LM1113)
- 40 pin PLC backbone connector
- 40 pin Raspberry PI 2/3/Zero W connector
- Audio/USB available on back side. 5V + VBUS available here.
- Test holes for PCM
- Extra wiring to enable swapping of PCN In/Out
This is the 3-port RS-485 Hat with full isolation. Kind of cool with a black PCB. I have an earlier 5 port (3 x RS485 + 2 x CAN), but decided I needed a isolated version for RS-X since I plan to deploy it with long wires.
This board enable 3-4 RS-X networks with full isolation. We connect 2 x RS-X to the backbone and 3-4 (a total of 5-6 UART) to external networks. In addition I want to add RTC and SPI Flash if I have pins & space. The red box on RS-X Ex mark that these are galvanic isolated networks.
A Modular PLC system will have some size & cost, and as a home central should be small, easy to hide and low cost it might be wise to produce a specialized “All In One” solution. The diagram above illustrate the content with “backbone” replaced by a MCU. The C firmware will basically only be a simplified version of what we use on the modular system. The content focus on communication only since we expect distributed nodes communicating through RS-X to perform the sensor/actuator parts.