Raspberry Pi as I smart io expander

Hi All.
I just need some help and feed back.
I want to build a Raspberry Pi Controll hub. That runs separate from my RPI 3 that has openhab and mqtt installed on.

the PI Controll center (panel with a raspberry pi and GPIO Breakout) will basically run all my GPIo Requirements and send / and receive information via MQTT to my openhab server. it will also handel my weather station information from rs-485 and send the info via mqtt to my openhab server… it will mostly be my temp/humid sensors and also some analog readings. and some relay controls.

it will also expand to more controls . the whole idea is to take the bulk of the GPIO away from my openhab server and run them from a central point in the roof cavity . my server sits in my Workstation and the sensor cable runs would be extremely long.

would this work ?

Absolutely. An Arduino Mega would be sufficient I think (Without the panel though…)

1 Like

I under stand that the raspberry pi would be a overkill in a way. but there is some things I want to experiment with . the pannel will basically be supply from a 12v Power line that also feeds the alarm system the panel will have buck power converters in one for 5 v 3a and one 3.3v 3A . it will also have battery backup. later stage I also want to create the same setup but this is for my pump station outside for monitoring water usage and tank levels. and also controle my irrigation system .

This is what I originally wrote https://github.com/rkoshak/sensorReporter to do. I still use it for an RPi wired to control my garage and another one wired to my door sensors.

Thank you. Will have a look. It looks like what i need for my panel.

might have mis read it. just some questions.

  1. if I use a dht 22 how do I read the temp and humid. (is it one topic)
  2. how would I read i2c my anologs are from a ad1115 ?
  3. is there a command list ?

thank you again. it is a amazing piece of code.

Definitely works: I have seperate raspberry’s from my ‘openhab raspberry’ that take care of a lot of input and output functions.

Communication is with MQTT, while the ‘peripheral’ raspberries (an old 1B and a zero W) also take care of some “peripheral decisions” e.g. a raspberry is taking care of some heating functions, without the need to involve the central openhab raspberry (a pi3), it only uses openhab as UI to get a ‘setTemperature’ value and to display if it is ON or OFF, and what the temperature is.
My Pi Zero takes care of some security features.
In fact this is no different from using a number of Wemos’ and or Arduino boards in the periphery as well.
Several of my Wemos boards operate quite independent, only using Openhab as a UI, but not depending on rules to determine the bulk of their actions. As example: An ESP8266 takes care of my greenhouse. If it is getting too hot or humid, it will decide itself to open a window, does not need OH rules for that, but it does report back into openhab.
In fact, my 'central OH raspi" hardly runs any I/O
All communication via MQTT
So even if my OH server down, there is still a lot of operational functionality, I only just miss the UI

yes thats my plan . as i first wanted to run everything of of the openhab server a RPI3b
but am afraid of load constraints. I am going to run my wemos for more remote parts of the house. and a RPI 3B for the rest in house. and would prefer it as I want it to run off of ethernet and wifi as a fall over to my 4g Network. same with my RPI openhab server. the remote pi will also later on be integrated in to my security system and more and want to keep them separate but also integrated if that makes sense, then my 3rd pi will have a open sprinkler board on and controle my irrigation and water system for the home.

not just load constraints but also a lot of long wires :slight_smile:

that was a big part that I was concerned about. and also that I am going to use analog signals for my mq-2 sensors . that would influence te readings a lot.

1 Like

I didn’t write the DHT22 code but looking at the code it publishes them to separate topics under the configured path. If you set Destination = sensor7/dht22 in the config then it will publish the temp to sensor7/dht22/temperature and humidity to sensor7/dht22/humidity.

I don’t know but I do know there are dozens of tutorials and libraries for working with I2C in Python.

I don’t know what you mean by “command list”. The default.ini shows how to configure all of the plug-ins and has comments describing what each parameter does for the most part.

Hi thank you. Will read up some more. Thanks for all the work done.