User Tools

Site Tools


projects:farmrobot:batteriemanagement

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
projects:farmrobot:batteriemanagement [2021/03/21 18:44]
jonas
projects:farmrobot:batteriemanagement [2021/03/21 19:02] (current)
jonas [Modbus Python and Watson-IoT MQTT publish on Raspberry Pi 4B]
Line 104: Line 104:
  
 ===== Modbus Python and Watson-IoT MQTT publish on Raspberry Pi 4B ===== ===== Modbus Python and Watson-IoT MQTT publish on Raspberry Pi 4B =====
-Using FTDI USB adapter which can be interfaced on /dev/ttyUSB0 +Using FTDI USB adapter which can be interfaced on /dev/ttyUSB0\\ 
 +Adding the current user to the "dialout" user group to access serial interfaces without root permissions:
     sudo adduser pi dialout     sudo adduser pi dialout
-    + 
 +Installing prerequisites:\\
     sudo apt install python3     sudo apt install python3
     wget https://bootstrap.pypa.io/get-pip.py     wget https://bootstrap.pypa.io/get-pip.py
     sudo python3 get-pip.py     sudo python3 get-pip.py
-    sudo pip install pymodbus +    sudo pip install pymodbus\\ 
-\\+ 
 +ModbusSerialClient is the Modbus client that is used to interface the registers on the BMS:
     from pymodbus.client.sync import ModbusSerialClient     from pymodbus.client.sync import ModbusSerialClient
  
-Using IBM Watson IoT platform+=== IBM Watson IoT platform ===
  
 Creating a new device and gathering credentials: https://q74k3e.internetofthings.ibmcloud.com/dashboard/devices/browse/ Creating a new device and gathering credentials: https://q74k3e.internetofthings.ibmcloud.com/dashboard/devices/browse/
Line 129: Line 131:
     pip install wiotp-sdk     pip install wiotp-sdk
  
-Modbus communication implementation based on: https://github.com/clarkni5/tinybms/blob/master/python/tinybms.py+Modbus communication implementation based on: https://github.com/clarkni5/tinybms/blob/master/python/tinybms.py\\
  
 +=== Code: ===
 <file py pc_bms_modbus_mqtt.py> <file py pc_bms_modbus_mqtt.py>
 import numpy as np import numpy as np
Line 234: Line 237:
  
 ===== Web Interface to view and graph the data ===== ===== Web Interface to view and graph the data =====
 +An easy way to set up a web interface is to host a node-red instance on a server, for example on a stationary Raspberry Pi 4, which can be accesses via network or can be made accessible with port forwarding from the internet.\\
 +
 Setting up a Raspberry Pi 4B with docker and docker run portainer. Setting up a Raspberry Pi 4B with docker and docker run portainer.
 Create a new Node-Red Stack with a compose file, which creates a node-red web instance on the device on port 1880. Create a new Node-Red Stack with a compose file, which creates a node-red web instance on the device on port 1880.
Line 256: Line 261:
 networks: networks:
   node-red-net:   node-red-net:
-<\file>+</file>
  
-The node-red webapp can then be accessed via "http://'ip-adress':1880"+The node-red webapp can then be accessed via [[http://ip-adress:1880]]\\ 
 +The Node-RED Dashboard module is needed to display the data with node-red\\ 
 +To install, click the Menu Button and choose "Manage palette". Click the "Install" tab and search for "node-red-dashboard".\\ 
 +Then click on install and install in the pop-up window. Then return to the main view.\\ 
 +{{:projects:farmrobot:node-red-palette.png?600|}}
  
  
projects/farmrobot/batteriemanagement.1616352271.txt.gz · Last modified: 2021/03/21 18:44 by jonas