mirror of
https://github.com/openhab/openhab-addons.git
synced 2025-01-26 23:31:41 +01:00
e7fcd03d59
* Hints for compiling and connecting hardware
126 lines
3.4 KiB
Markdown
126 lines
3.4 KiB
Markdown
# 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
|
|
```
|
|
|