RPI-Monitor implementation for integration into ioBroker. It is the same implementation as for iobroker.rpi, but with GPIOs.
Works only with node >= 0.12
ioBroker must run under root to may control GPIOs.
After installation you have to configure all required modules via administration page.
After start of iobroker.rpi, all selected modules generates an object tree in ioBroker within rpi.. e.g. rpi.0.cpu
Be sure, that python and build-essential are installed:
sudo apt-get update
sudo apt-get install -y build-essential python
Following Objects are available after selection:
- cpu_frequency
- load1
- load5
- load15
- cpu_voltage
- mem_arm
- mem_gpu
- memory_available
- memory_free
- memory_total
- net_received
- net_send
- sdcard_boot_total
- sdcard_boot_used
- sdcard_root_total
- sdcard_root_used
- swap_total
- swap_used
- soc_temp
- uptime
- wifi_received
- wifi_send
On configuration page you can select following modules:
- CPU
- Raspberry
- Memory
- Network
- SDCard
- Swap
- Temperature
- Uptime
- WLAN
- Odroid C1
- Raspberry Pi 1
You can read and control GPIOs too. All what you need to do is to configure in the settings the GPIOs options (additional tab).
After some ports are enabled following states appear in the object tree:
- rpi.0.gpio.PORT.state
The numeration of ports is BCM (BroadComm pins on chip). You can get the enumeration with gpio readall
.
For instance PI2:
+-----+-----+---------+------+---+---Pi 2---+---+------+---------+-----+-----+
| BCM | wPi | Name | Mode | V | Physical | V | Mode | Name | wPi | BCM |
+-----+-----+---------+------+---+----++----+---+------+---------+-----+-----+
| | | 3.3v | | | 1 || 2 | | | 5v | | |
| 2 | 8 | SDA.1 | ALT0 | 1 | 3 || 4 | | | 5V | | |
| 3 | 9 | SCL.1 | ALT0 | 1 | 5 || 6 | | | 0v | | |
| 4 | 7 | GPIO. 7 | IN | 1 | 7 || 8 | 0 | IN | TxD | 15 | 14 |
| | | 0v | | | 9 || 10 | 1 | IN | RxD | 16 | 15 |
| 17 | 0 | GPIO. 0 | IN | 0 | 11 || 12 | 0 | IN | GPIO. 1 | 1 | 18 |
| 27 | 2 | GPIO. 2 | IN | 0 | 13 || 14 | | | 0v | | |
| 22 | 3 | GPIO. 3 | IN | 0 | 15 || 16 | 0 | IN | GPIO. 4 | 4 | 23 |
| | | 3.3v | | | 17 || 18 | 0 | IN | GPIO. 5 | 5 | 24 |
| 10 | 12 | MOSI | IN | 0 | 19 || 20 | | | 0v | | |
| 9 | 13 | MISO | IN | 0 | 21 || 22 | 1 | IN | GPIO. 6 | 6 | 25 |
| 11 | 14 | SCLK | IN | 0 | 23 || 24 | 1 | IN | CE0 | 10 | 8 |
| | | 0v | | | 25 || 26 | 1 | IN | CE1 | 11 | 7 |
| 0 | 30 | SDA.0 | IN | 1 | 27 || 28 | 1 | IN | SCL.0 | 31 | 1 |
| 5 | 21 | GPIO.21 | IN | 1 | 29 || 30 | | | 0v | | |
| 6 | 22 | GPIO.22 | IN | 1 | 31 || 32 | 0 | IN | GPIO.26 | 26 | 12 |
| 13 | 23 | GPIO.23 | IN | 0 | 33 || 34 | | | 0v | | |
| 19 | 24 | GPIO.24 | IN | 0 | 35 || 36 | 0 | IN | GPIO.27 | 27 | 16 |
| 26 | 25 | GPIO.25 | OUT | 1 | 37 || 38 | 0 | IN | GPIO.28 | 28 | 20 |
| | | 0v | | | 39 || 40 | 0 | IN | GPIO.29 | 29 | 21 |
+-----+-----+---------+------+---+----++----+---+------+---------+-----+-----+
| BCM | wPi | Name | Mode | V | Physical | V | Mode | Name | wPi | BCM |
+-----+-----+---------+------+---+---Pi 2---+---+------+---------+-----+-----+
- (janfromberlin) GPIO configuration as output with defined initial value
- (foxriver76) No longer use adapter.objects
- (Apollon77) Adjust gpio errors
- (Apollon77) Error messages for not existing values are logged only once
- (Apollon77) Nodejs 10 support
- (bluefox) Admin3 support
- (Homoran) fixed Mem available readings on Stretch
- (olifre) Fixup swap_used calculation.
- (bluefox) Add GPIO direction indication
- (bluefox) Use BCM enumeration
- (bluefox) fix start of adapter
- (bluefox) just version change
- (bluefox) implement GPIOs control
- (bluefox) Try catch by eval (bluefox) do not process if exec fails
- (husky-koglhof) Fixed value calc. Set Value to 2 digits
- (husky-koglhof) Workaround for node 0.10.x
- (bluefox) Some Fixes
- Initial commit. Alpha Version.
Copyright (c) 2015-2020 husky-koglhof [email protected]
MIT License