資料介紹
軟件簡介
iot-modbus 是一個物聯網通訊協議。
- 基礎架構采用Spring Boot2.x + Netty4.X + Maven3.6.x
- 日志采用 logback。
- 使用 netty 通訊實現 java 控制智能設備。
- 支持COM(串口)和TCP協議,支持服務端和客戶端兩種模式。
- 同時支持設備組多臺設備高并發通訊。
- 采用工廠設計模式,代碼采用繼承和重寫的方式實現高度封裝,可作為SDK提供封裝的接口,讓具體的業務開發人員無需關心通訊協議的底層實現,直接調用接口即可使用。
- 實現了心跳、背光燈、掃碼、刷卡、指靜脈、溫濕度和門鎖(支持多鎖)、LCD顯示屏等指令控制、、三色報警燈控制。
- 代碼注釋豐富,包括上傳和下發指令調用例子,非常容易上手。
版本說明
- V1.0.0版本僅支持TCP服務端通訊模式;
- V2.0.0版本支持TCP服務端和客戶端兩種模式,客戶端模式還增加了心跳重連機制。
- V3.0.0版本支持COM(串口)和TCP協議,增加logback日志按文件大小和時間切割輸出。
- V3.1.0版本代碼優化,抽取公共模塊子工程。
- V3.2.0版本TCP通訊增加支持LCD顯示屏控制指令,支持批量控制LCD顯示屏。
- V3.2.1版本串口通訊增加支持LCD顯示屏控制指令,支持批量控制LCD顯示屏。
- V3.2.2版本串口通訊接收指令數據拆包處理代碼優化,網口通訊增加支持三色報警燈控制指令。
- V3.2.3版本串口通訊增加支持三色報警燈控制指令,串口通訊接收指令數據拆包處理代碼優化。
- V3.2.4版本使用netty集成Rxtx對串口數據進行數據拆包處理,并且對指靜脈指令進行優化。
安裝教程
1. ?系統Windows7以上;
2. ?安裝Jdk1.8以上;
2. ?安裝Maven3.6以上;
3. ?代碼以Maven工程導入Eclipse或Idea。
使用說明
- 工程結構說明:
- iot-modbus //物聯網通訊父工程
- ├── doc //文檔管理
- ├── iot-modbus-client //netty通訊客戶端
- ├── iot-modbus-common //公共模塊子工程
- ├── iot-modbus-netty //netty通訊子工程
- ├── iot-modbus-serialport //串口通訊子工程
- ├── iot-modbus-server //netty通訊服務端
- ├── iot-modbus-test //使用樣例子工程
- └── tools //通訊指令調試工具
- 配置文件查看iot-modbus-test子工程resources目錄下的application.yml文件;
- 啟動文件查看iot-modbus-test子工程App.java文件;
- 服務啟動后,服務端端口默認為:8080,netty通訊端口默認為:4000;
- 通訊指令調試工具,查看tools目錄下的NetAssist.exe;
- 通訊指令采用Hex編碼(十六進制);
- 串口通訊依賴文件查看doc/serialport目錄,Windows環境下rxtxParallel.dll和rxtxSerial.dll文件拷貝到JDK安裝的bin目錄下,Linux環境將librxtxParallel.so和librxtxSerial.so文件拷貝到JDK安裝的bin目錄下;
- postman指令下發樣例請查看doc/postman/通訊指令下發.postman_collection.json文件,包括門鎖(單鎖/多鎖)、掃碼、背光燈、LCD顯示屏燈、三色報警燈指令。
指令格式
1. ?以心跳指令(7E 04 00 BE 01 00 00 74 77 7F)作為樣例說明,下標從0開始;
2. ?第0位為起始符,長度固定占1個字節,固定格式:7E;
3. ?第1、2位為數據長度,計算方法是從命令符到數據位(即:從3位到指令長度-3位),長度固定占2個字節,例如:04 00,表示長度為4;
4. ?第3位為指令符,長度固定占1個字節,例如:BE,表示心跳指令;
5. ?第4位為設備號,長度固定占1個字節,例如:01,表示設備號為1;
6. ?第5位為層地址,長度固定占1個字節,例如:00,表示設備所有的層不執行;
7. ?第6位為槽地址,長度固定占1個字節,例如:00,表示設備所有的槽不執行;
8. ?指令長度-3位到-2位為校驗位,采用CRC16_MODBUS(長度,命令,地址,數據)校驗,例如:74 77,詳細查看:ModbusCrc16Utils.java工具類;
9. ?末位為結束符,長度固定占1個字節,固定格式:7F。
通訊指令
1. ?心跳上傳指令
- iot-modbus作為服務端,通過心跳來維持通訊,啟動服務端后,打開NetAssist.exe指令調試工具,先往服務端發送心跳指令;
- 硬件往服務端發送:7E 04 00 BE 01 00 00 74 77 7F ,為必要指令。
2. ?背光燈上傳指令
- 硬件往服務端發送:7E 05 00 88 01 00 00 00 AF E3 7F?
3. ?掃碼指令下發
- 服務端往硬件下發:7E 05 00 08 01 00 00 01 6F FD 7F?
- 第7位為數據位,長度固定占1個字節,例如:01,表示開開啟掃碼頭。
4. ?掃碼指令上傳
- 硬件往服務端發送:7E 24 00 8F 01 00 00 03 45 30 30 34 30 31 30 38 32 38 30 32 41 36 39 33 0D 02 00 00 01 02 13 73 02 00 00 01 02 13 73 9B 79 7F
- 數據為:03 45 30 30 34 30 31 30 38 32 38 30 32 41 36 39 33 0D 02 00 00 01 02 13 73 02 00 00 01 02 13 73為條碼信息。
5. ?刷卡指令上傳
- 硬件往服務端發送:7E 08 00 84 01 00 00 86 14 AE 02 7C 53 7F?
- 數據位:86 14 AE 02為卡號信息。
6. ?單開鎖下發指令
- 服務端往硬件下發:7E 05 00 03 01 00 00 01 CA 3C 7F
- 第7位為數據位,長度固定占1個字節,例如:01,表示開1號鎖。
7. ?多開鎖下發指令
- 服務端往硬件下發:7E 08 00 03 FF FF FF 01 00 02 01 7F B0 7F?
- FF FF FF為指令做兼容填補位,后面 01 00 02 01是數據位,其中:01表示1號鎖,00表示上鎖;02表示2號鎖,01表示開鎖。
8. ?鎖狀態上傳指令
- 硬件往服務端發送:7E 0D 00 83 01 00 00 FF FF FF 01 00 05 02 00 01 EE 99 7F?
- FF FF FF為指令做兼容填補位,后面 01 00 05 02 00 01是數據位,其中:01表示1號鎖,00表示上鎖,05表示傳感器狀態碼;02表示2號鎖,00表示上鎖,01表示傳感器狀態碼。
- 指靜脈和溫濕度指令(不作說明,詳細查看代碼);
- LCD顯示屏批量控制下發指令(不作說明,詳細查看代碼);
- 三色報警燈控制下發指令(不作說明,詳細查看代碼)。
開源項目
- gitee地址:https://gitee.com/takeoff/iot-modbus
- github地址:https://github.com/luorongxi/iot-modbus
- 物聯網通訊標準及微控制器設計方案資料下載
- 物聯網通信技術 20次下載
- Modbus通訊協議的詳細資料講解
- YL-300T低功耗窄帶物聯網無線模組的數據手冊免費下載 14次下載
- 路燈管控領域是使用WF-IoT好還是PLC好詳細應用比較說明 4次下載
- 物聯網是什么?現在物聯網通信標準和協議有哪些?物聯網應用的概述
- 基于Modbus通訊協議的智能儀表設計 27次下載
- Modbus通訊協議的原理和標準 12次下載
- MODBUS通訊協議中文版 0次下載
- HLPA+_Modbus標準通訊協議格式 10次下載
- 基于C++的modbus通訊協議模型實現 54次下載
- MODBUS通訊協議及編程 64次下載
- MODBUS通訊協議詳細介紹 38次下載
- Modbus_通訊協議詳解 0次下載
- ModBUS協議通訊的應用
- MQTT和Modbus協議的區別 1899次閱讀
- 物聯網中常用協議及應用場景 2282次閱讀
- PLC通訊協議MODBUS的應用及編程 1291次閱讀
- 常見的PLC通訊協議 6817次閱讀
- 如何進行Modbus通訊測試 6241次閱讀
- 最常用的物聯網通信協議有哪些 8781次閱讀
- 英創信息技術WinCE下的Modbus主控通訊協議軟件概述 1852次閱讀
- 如何正確的選擇物聯網通訊技術 866次閱讀
- 藍牙、WiFi和ZigBee物聯網三種通訊技術的優缺點分析 1.7w次閱讀
- 十大物聯網通訊技術解析 9275次閱讀
- SoC設計為眾多不同的IoT和互聯設備帶來了嵌入式智能 4949次閱讀
- 一主多從Modbus通訊協議的無線通訊 1w次閱讀
- 了解Modbus通訊協議是什么! 8289次閱讀
- modbus rtu通訊協議格式詳細說明 7w次閱讀
- 物聯網通訊方式掌上資料大全 4494次閱讀
下載排行
本周
- 1山景DSP芯片AP8248A2數據手冊
- 1.06 MB | 532次下載 | 免費
- 2RK3399完整板原理圖(支持平板,盒子VR)
- 3.28 MB | 339次下載 | 免費
- 3TC358743XBG評估板參考手冊
- 1.36 MB | 330次下載 | 免費
- 4DFM軟件使用教程
- 0.84 MB | 295次下載 | 免費
- 5元宇宙深度解析—未來的未來-風口還是泡沫
- 6.40 MB | 227次下載 | 免費
- 6迪文DGUS開發指南
- 31.67 MB | 194次下載 | 免費
- 7元宇宙底層硬件系列報告
- 13.42 MB | 182次下載 | 免費
- 8FP5207XR-G1中文應用手冊
- 1.09 MB | 178次下載 | 免費
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費
- 2555集成電路應用800例(新編版)
- 0.00 MB | 33566次下載 | 免費
- 3接口電路圖大全
- 未知 | 30323次下載 | 免費
- 4開關電源設計實例指南
- 未知 | 21549次下載 | 免費
- 5電氣工程師手冊免費下載(新編第二版pdf電子書)
- 0.00 MB | 15349次下載 | 免費
- 6數字電路基礎pdf(下載)
- 未知 | 13750次下載 | 免費
- 7電子制作實例集錦 下載
- 未知 | 8113次下載 | 免費
- 8《LED驅動電路設計》 溫德爾著
- 0.00 MB | 6656次下載 | 免費
總榜
- 1matlab軟件下載入口
- 未知 | 935054次下載 | 免費
- 2protel99se軟件下載(可英文版轉中文版)
- 78.1 MB | 537798次下載 | 免費
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420027次下載 | 免費
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費
- 5Altium DXP2002下載入口
- 未知 | 233046次下載 | 免費
- 6電路仿真軟件multisim 10.0免費下載
- 340992 | 191187次下載 | 免費
- 7十天學會AVR單片機與C語言視頻教程 下載
- 158M | 183279次下載 | 免費
- 8proe5.0野火版下載(中文版免費下載)
- 未知 | 138040次下載 | 免費
評論
查看更多