|
@@ -1,9 +1,24 @@
|
|
|
-## HomeServerIOExt
|
|
|
-
|
|
|
-When migrating my home control server from a Raspberry Pi to x86 hardware I needed an interface to connect some sensors (door contact, PIR sensors, temperature sensor)
|
|
|
-which were previously connected to the RPi´s GPIOs.
|
|
|
-
|
|
|
-This simple solution consists of an Arduino Nano which is connected to the host via USB and a daemon written in Python which publishes the states over MQTT.
|
|
|
-
|
|
|
-The Arduino reads the sensors/IO-Pins and sends state changes via Serial.
|
|
|
-The Python program runs as a daemon, receives the serial data and sends values/states to an MQTT broker.
|
|
|
+## HomeServerIOExt
|
|
|
+
|
|
|
+When migrating my home control server from a Raspberry Pi to x86 hardware I needed an interface to connect some sensors (door contact, PIR sensors, temperature sensor)
|
|
|
+which were previously connected to the RPi´s GPIOs.
|
|
|
+
|
|
|
+This simple solution consists of an Arduino Nano which is connected to the host via USB and a daemon written in Python which publishes the states over MQTT.
|
|
|
+
|
|
|
+- Arduino reads the sensors/IO-Pins and sends values/state changes via Serial
|
|
|
+- Python program runs as a daemon, receives the serial data and sends values/states to an MQTT broker
|
|
|
+
|
|
|
+### Installation
|
|
|
+
|
|
|
+- download/copy ioext directory to /home/pi/ioext
|
|
|
+- edit ioext.py - change configuration for serial, MQTT etc (serial should be accessed via /dev/serial/by-id/...)
|
|
|
+- if python3 and/or pip is not installed - install it as root: apt install python3 python3-pip
|
|
|
+- install requirements: pip install -r requirements.txt
|
|
|
+- chmod +x /home/pi/ioext/ioext.py
|
|
|
+- test it: ./ioext.py
|
|
|
+
|
|
|
+install systemd service (as root):
|
|
|
+- cp /home/pi/ioext/ioext.service /usr/lib/systemd/system
|
|
|
+- systemctl daemon-reload
|
|
|
+- systemctl enable ioext
|
|
|
+- systemctl start ioext
|