欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 财经 > 产业 > modbus slave 设备通过 网关thingsboard-gateway 将数据上传到thingsboard云平台

modbus slave 设备通过 网关thingsboard-gateway 将数据上传到thingsboard云平台

2024/10/24 9:29:52 来源:https://blog.csdn.net/ADC0809608/article/details/140480758  浏览:    关键词:modbus slave 设备通过 网关thingsboard-gateway 将数据上传到thingsboard云平台

   搭建thingsboard物联网云平台花了大量时间,从小白到最后搭建成功,折磨了好几天,也感谢网友的帮助,提供了思路最终成功搞定,特此记录。

 一、thingsboard环境搭建(Ubuntu20.04LTS)

        参考官方文档,按部就班操作即可

        http://www.ithingsboard.com/docs/user-guide/install/ubuntu/

      

二、thingsboard-gateway环境搭建

      也是参考官方文档,直接安装

      Step 1. Download the deb file

wget https://github.com/thingsboard/thingsboard-gateway/releases/latest/download/python3-thingsboard-gateway.deb

Step 2. Install the gateway using apt

Install ThingsBoard IoT Gateway as package and run it as daemon use the following command:
 

sudo apt install ./python3-thingsboard-gateway.deb -y

The deb package will automatically install the necessary libraries for the IOT Gateway to work:

  1. System libraries: libffi-dev, libglib2.0-dev, libxml2-dev, libxslt-dev, libssl-dev, zlib1g-dev, python3-dev, python3-pip.
  2. Python modules: importlib, importlib-metadata, jsonschema, pymodbus, lxml, jsonpath-rw, paho-mqtt, pyserial, PyYAML, simplejson, pyrsistent.

Step 3. Check gateway status

systemctl status thingsboard-gateway

修改配置文件:/etc/thingsboard-gateway/config/tb_gateway.json

{"thingsboard": {"host": "127.0.0.1","port": 1883,"remoteShell": false,"remoteConfiguration": true,"statistics": {"enable": true,"statsSendPeriodInSeconds": 3600,"configuration": null},"deviceFiltering": {"enable": false,"filterFile": "list.json"},"maxPayloadSizeBytes": 1024,"minPackSendDelayMS": 200,"minPackSizeToSend": 500,"checkConnectorsConfigurationInSeconds": 60,"handleDeviceRenaming": true,"security": {"type": "accessToken","accessToken": "ke6h88w6f0fssjaq4s9e"},"qos": 1,"checkingDeviceActivity": {"checkDeviceInactivity": false,"inactivityTimeoutSeconds": 200,"inactivityCheckPeriodSeconds": 500},"ts": 1721138363329},"storage": {"type": "memory","read_records_count": 100,"max_records_count": 100000,"data_folder_path": "./data/","max_file_count": 10,"max_read_records_count": 10,"max_records_per_file": 10000,"data_file_path": "./data/data.db","messages_ttl_check_in_hours": 1,"messages_ttl_in_days": 7,"ts": 1721138363329},"grpc": {"enabled": false,"serverPort": 9595,"keepaliveTimeMs": 10000,"keepaliveTimeoutMs": 5000,"keepalivePermitWithoutCalls": true,"maxPingsWithoutData": 0,"minTimeBetweenPingsMs": 10000,"minPingIntervalWithoutDataMs": 5000,"keepAliveTimeMs": 10000,"keepAliveTimeoutMs": 5000},"connectors": [{"type": "modbus","name": "MODBUS CONNECT","configuration": "modbus_serial.json"}]
}

 mqtt_modbus.json配置

{"master": {"slaves": [{"type": "serial","method": "rtu","port": "/dev/ttyS1","baudrate": 9600,"timeout": 35,"stopbits": 1,"bytesize": 8,"byteOrder": "BIG","wordOrder": "BIG","retries": true,"retryOnEmpty": true,"retryOnInvalid": true,"pollPeriod": 5000,"unitId": 1,"deviceName": "Modbus Temperature Sensor","sendDataOnlyOnChange": false,"connectAttemptTimeMs": 5000,"connectAttemptCount": 5,"waitAfterFailedAttemptsMs": 300000,"attributes": [{"tag": "16int","type": "16int","functionCode": 4,"objectsCount": 2,"address": 3}],"timeseries": [{"tag": "temperature","type": "16uint","functionCode": 4,"objectsCount": 1,"address": 1},{"tag": "humidity","type": "16uint","functionCode": 4,"objectsCount": 1,"address": 2}],"attributeUpdates": [{"tag": "shared_attribute_write","type": "32int","functionCode": 6,"objectsCount": 2,"address": 29}],"rpc": [{"tag": "setValue","type": "16int","functionCode": 6,"objectsCount": 1,"address": 1},{"tag": "getValue","type": "16int","functionCode": 3,"objectsCount": 1,"address": 2}]}]},"id": "19c7e3fa-bfd8-4edb-9590-1fd570902b35"
}

三、modbus slave配置

在命令行重启网关:

sudo  systemctl restart thingsboard-gateway.service

云平台就会出现Modbus Temperature Sensor这个设备

四、新建调试界面,对设备进行调试

终于通信成功!!!!!

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com