]> git.basschouten.com Git - openhab-addons.git/commitdiff
[nibeheatpump] Readme for NibeGW for Arduino with Hardware and compilation hints...
authormschlenstedt <Michael@schlenn.net>
Sun, 4 Dec 2022 10:52:47 +0000 (11:52 +0100)
committerGitHub <noreply@github.com>
Sun, 4 Dec 2022 10:52:47 +0000 (11:52 +0100)
* Hints for compiling and connecting hardware

bundles/org.openhab.binding.nibeheatpump/contrib/NibeGW/Arduino/README.md [new file with mode: 0644]

diff --git a/bundles/org.openhab.binding.nibeheatpump/contrib/NibeGW/Arduino/README.md b/bundles/org.openhab.binding.nibeheatpump/contrib/NibeGW/Arduino/README.md
new file mode 100644 (file)
index 0000000..04bb0f7
--- /dev/null
@@ -0,0 +1,125 @@
+# NibeGW Hardware and Compiling hints
+
+
+## RS-485 Modules
+
+For settting up a NibeGW you need a RS485 module. 
+While ProDiNo already have RS-485 support included, you need a separate module for Arduino Uno.
+Most cheap modules out there are compatible with 5V voltage and therefore compatible with Arduino based hardware.
+Mostly you will get one of two commonly used designs:
+
+* Modules based on Max1348 chip, which has 2 pins on the Arduino side (RXD, TXD) + VCC + GND
+* Modules based on Max485 chip, which has 4 pins on the Arduino side (RO, RE, DE, DI) + VCC + GND
+
+Both types of modules work fine with NibeGW.
+The difference between the two is, that the Max485 chip needs to be switched between RX mode and TX mode manually while the Max1348 chip do this automatically.
+That is why you need an extra "direction pin" on the Arduino to switch the module with Max485 chip between the two modes.
+
+#### Wiring diagram for Max1348 based modules:
+
+```
+ TX  RX   5V  GND    Arduino
+ |   |    |    |
+ |   |    |    |
+ |   |    |    |
+ RX  TX  VCC  GND    Max1348 based module
+```
+
+#### Wiring diagram for Max485 (PIN2 is used as direction pin here):
+
+```
+ TX  RX  PIN2      5V  GND    Arduino
+ |   |    |        |    |
+ |   |    |        |    |
+ |   |    |---|    |    |
+ DI  RO   DE  RE  VCC  GND    Max485 bases module
+```
+
+
+## Ethernet Shield W5100
+
+This Ethernet shield is based on Wiznet W5100 Ethernet Chip.
+It is supported by the Arduino Ehternet Library.
+No special configuration is needed, NibeGW supports this shield out of the box.
+
+ProDiNo already have Ethernet included, so there's no need for a separate Ethernet Shield.
+Also the ProDiNo Ethernet is supported by NibeGW out of the box.
+
+
+## Arduino Uno
+
+Arduino Uno has only one serial port which is shared with USB. 
+So make sure to disconnect all hardware (ethernet shield, RS485 module, etc.) while uploading the compiled sketch to the Arduino.
+Furthermore do not use the USB port while Arduino is communicating with the Nibe heatpump.
+
+For compiling NibeGW, you have to make the following changes to the code:
+
+#### Config.h:
+
+Comment out support for all special boards:
+
+```
+//#define PRODINO_BOARD
+//#define PRODINO_BOARD_ESP32
+//#define TRANSPORT_ETH_ENC28J6A0
+//#define ENABLE_DYNAMIC_CONFIG
+```
+
+Comment out debugging on the serial console:
+
+```
+//#define ENABLE_SERIAL_DEBUG
+```
+
+Adjust the settings for your ethernet connection, target ip and ports and modbus module to simulate.
+Leave the serial configuration untouched - it is fine for Arduino Uno.
+
+#### NibeGW.h:
+
+Enable support for HARDWARE_SERIAL:
+
+```
+//#define HARDWARE_SERIAL_WITH_PINS
+#define HARDWARE_SERIAL
+```
+
+##  ProDiNo ESP32 Ethernet v1 
+
+Todo
+
+
+## ProDiNo Ethernet V2
+
+Todo
+
+
+## Debugging
+
+Debugging messages are available by connecting to port 23 to your NibeGW via telnet. Enable debugging in Config.h:
+
+```
+#define ENABLE_DEBUG
+#define VERBOSE_LEVEL 5
+#define ENABLE_REMOTE_DEBUG     // Remote debug is available in telnet port 23
+```
+
+You can connect to NibeGW with any telnet client. You can also set some options via telnet. With 'h' you get a menue with all available options:
+
+```
+Arduino NibeGW
+Commands:
+ E -> exit
+ i -> info
+ 1 -> set verbose level to 1
+ 2 -> set verbose level to 2
+ 3 -> set verbose level to 3
+ 4 -> set verbose level to 4
+ 5 -> set verbose level to 5
+```
+
+On the target IP you can see the receiving udp messages with netcat (if you changed the default target port 9999, you also have to adjust it here):
+
+```
+nc -lu 9999 | hexdump -C
+```
+