資料介紹
軟件簡介
iot-modbus 是一個(gè)物聯(lián)網(wǎng)通訊協(xié)議。
- 基礎(chǔ)架構(gòu)采用Spring Boot2.x + Netty4.X + Maven3.6.x
- 日志采用 logback。
- 使用 netty 通訊實(shí)現(xiàn) java 控制智能設(shè)備。
- 支持COM(串口)和TCP協(xié)議,支持服務(wù)端和客戶端兩種模式。
- 同時(shí)支持設(shè)備組多臺設(shè)備高并發(fā)通訊。
- 采用工廠設(shè)計(jì)模式,代碼采用繼承和重寫的方式實(shí)現(xiàn)高度封裝,可作為SDK提供封裝的接口,讓具體的業(yè)務(wù)開發(fā)人員無需關(guān)心通訊協(xié)議的底層實(shí)現(xiàn),直接調(diào)用接口即可使用。
- 實(shí)現(xiàn)了心跳、背光燈、掃碼、刷卡、指靜脈、溫濕度和門鎖(支持多鎖)、LCD顯示屏等指令控制、、三色報(bào)警燈控制。
- 代碼注釋豐富,包括上傳和下發(fā)指令調(diào)用例子,非常容易上手。
版本說明
- V1.0.0版本僅支持TCP服務(wù)端通訊模式;
- V2.0.0版本支持TCP服務(wù)端和客戶端兩種模式,客戶端模式還增加了心跳重連機(jī)制。
- V3.0.0版本支持COM(串口)和TCP協(xié)議,增加logback日志按文件大小和時(shí)間切割輸出。
- V3.1.0版本代碼優(yōu)化,抽取公共模塊子工程。
- V3.2.0版本TCP通訊增加支持LCD顯示屏控制指令,支持批量控制LCD顯示屏。
- V3.2.1版本串口通訊增加支持LCD顯示屏控制指令,支持批量控制LCD顯示屏。
- V3.2.2版本串口通訊接收指令數(shù)據(jù)拆包處理代碼優(yōu)化,網(wǎng)口通訊增加支持三色報(bào)警燈控制指令。
- V3.2.3版本串口通訊增加支持三色報(bào)警燈控制指令,串口通訊接收指令數(shù)據(jù)拆包處理代碼優(yōu)化。
- V3.2.4版本使用netty集成Rxtx對串口數(shù)據(jù)進(jìn)行數(shù)據(jù)拆包處理,并且對指靜脈指令進(jìn)行優(yōu)化。
安裝教程
1. ?系統(tǒng)Windows7以上;
2. ?安裝Jdk1.8以上;
2. ?安裝Maven3.6以上;
3. ?代碼以Maven工程導(dǎo)入Eclipse或Idea。
使用說明
- 工程結(jié)構(gòu)說明:
- iot-modbus //物聯(lián)網(wǎng)通訊父工程
- ├── doc //文檔管理
- ├── iot-modbus-client //netty通訊客戶端
- ├── iot-modbus-common //公共模塊子工程
- ├── iot-modbus-netty //netty通訊子工程
- ├── iot-modbus-serialport //串口通訊子工程
- ├── iot-modbus-server //netty通訊服務(wù)端
- ├── iot-modbus-test //使用樣例子工程
- └── tools //通訊指令調(diào)試工具
- 配置文件查看iot-modbus-test子工程resources目錄下的application.yml文件;
- 啟動(dòng)文件查看iot-modbus-test子工程App.java文件;
- 服務(wù)啟動(dòng)后,服務(wù)端端口默認(rèn)為:8080,netty通訊端口默認(rèn)為:4000;
- 通訊指令調(diào)試工具,查看tools目錄下的NetAssist.exe;
- 通訊指令采用Hex編碼(十六進(jìn)制);
- 串口通訊依賴文件查看doc/serialport目錄,Windows環(huán)境下rxtxParallel.dll和rxtxSerial.dll文件拷貝到JDK安裝的bin目錄下,Linux環(huán)境將librxtxParallel.so和librxtxSerial.so文件拷貝到JDK安裝的bin目錄下;
- postman指令下發(fā)樣例請查看doc/postman/通訊指令下發(fā).postman_collection.json文件,包括門鎖(單鎖/多鎖)、掃碼、背光燈、LCD顯示屏燈、三色報(bào)警燈指令。
指令格式
1. ?以心跳指令(7E 04 00 BE 01 00 00 74 77 7F)作為樣例說明,下標(biāo)從0開始;
2. ?第0位為起始符,長度固定占1個(gè)字節(jié),固定格式:7E;
3. ?第1、2位為數(shù)據(jù)長度,計(jì)算方法是從命令符到數(shù)據(jù)位(即:從3位到指令長度-3位),長度固定占2個(gè)字節(jié),例如:04 00,表示長度為4;
4. ?第3位為指令符,長度固定占1個(gè)字節(jié),例如:BE,表示心跳指令;
5. ?第4位為設(shè)備號,長度固定占1個(gè)字節(jié),例如:01,表示設(shè)備號為1;
6. ?第5位為層地址,長度固定占1個(gè)字節(jié),例如:00,表示設(shè)備所有的層不執(zhí)行;
7. ?第6位為槽地址,長度固定占1個(gè)字節(jié),例如:00,表示設(shè)備所有的槽不執(zhí)行;
8. ?指令長度-3位到-2位為校驗(yàn)位,采用CRC16_MODBUS(長度,命令,地址,數(shù)據(jù))校驗(yàn),例如:74 77,詳細(xì)查看:ModbusCrc16Utils.java工具類;
9. ?末位為結(jié)束符,長度固定占1個(gè)字節(jié),固定格式:7F。
通訊指令
1. ?心跳上傳指令
- iot-modbus作為服務(wù)端,通過心跳來維持通訊,啟動(dòng)服務(wù)端后,打開NetAssist.exe指令調(diào)試工具,先往服務(wù)端發(fā)送心跳指令;
- 硬件往服務(wù)端發(fā)送:7E 04 00 BE 01 00 00 74 77 7F ,為必要指令。
2. ?背光燈上傳指令
- 硬件往服務(wù)端發(fā)送:7E 05 00 88 01 00 00 00 AF E3 7F?
3. ?掃碼指令下發(fā)
- 服務(wù)端往硬件下發(fā):7E 05 00 08 01 00 00 01 6F FD 7F?
- 第7位為數(shù)據(jù)位,長度固定占1個(gè)字節(jié),例如:01,表示開開啟掃碼頭。
4. ?掃碼指令上傳
- 硬件往服務(wù)端發(fā)送: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
- 數(shù)據(jù)為: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. ?刷卡指令上傳
- 硬件往服務(wù)端發(fā)送:7E 08 00 84 01 00 00 86 14 AE 02 7C 53 7F?
- 數(shù)據(jù)位:86 14 AE 02為卡號信息。
6. ?單開鎖下發(fā)指令
- 服務(wù)端往硬件下發(fā):7E 05 00 03 01 00 00 01 CA 3C 7F
- 第7位為數(shù)據(jù)位,長度固定占1個(gè)字節(jié),例如:01,表示開1號鎖。
7. ?多開鎖下發(fā)指令
- 服務(wù)端往硬件下發(fā):7E 08 00 03 FF FF FF 01 00 02 01 7F B0 7F?
- FF FF FF為指令做兼容填補(bǔ)位,后面 01 00 02 01是數(shù)據(jù)位,其中:01表示1號鎖,00表示上鎖;02表示2號鎖,01表示開鎖。
8. ?鎖狀態(tài)上傳指令
- 硬件往服務(wù)端發(fā)送:7E 0D 00 83 01 00 00 FF FF FF 01 00 05 02 00 01 EE 99 7F?
- FF FF FF為指令做兼容填補(bǔ)位,后面 01 00 05 02 00 01是數(shù)據(jù)位,其中:01表示1號鎖,00表示上鎖,05表示傳感器狀態(tài)碼;02表示2號鎖,00表示上鎖,01表示傳感器狀態(tài)碼。
- 指靜脈和溫濕度指令(不作說明,詳細(xì)查看代碼);
- LCD顯示屏批量控制下發(fā)指令(不作說明,詳細(xì)查看代碼);
- 三色報(bào)警燈控制下發(fā)指令(不作說明,詳細(xì)查看代碼)。
開源項(xiàng)目
- gitee地址:https://gitee.com/takeoff/iot-modbus
- github地址:https://github.com/luorongxi/iot-modbus
- 物聯(lián)網(wǎng)通訊標(biāo)準(zhǔn)及微控制器設(shè)計(jì)方案資料下載
- 物聯(lián)網(wǎng)通信技術(shù) 23次下載
- Modbus通訊協(xié)議的詳細(xì)資料講解
- YL-300T低功耗窄帶物聯(lián)網(wǎng)無線模組的數(shù)據(jù)手冊免費(fèi)下載 14次下載
- 路燈管控領(lǐng)域是使用WF-IoT好還是PLC好詳細(xì)應(yīng)用比較說明 4次下載
- 物聯(lián)網(wǎng)是什么?現(xiàn)在物聯(lián)網(wǎng)通信標(biāo)準(zhǔn)和協(xié)議有哪些?物聯(lián)網(wǎng)應(yīng)用的概述
- 物聯(lián)網(wǎng)通訊方式及技術(shù)特點(diǎn) 1次下載
- 基于Modbus通訊協(xié)議的智能儀表設(shè)計(jì) 28次下載
- Modbus通訊協(xié)議的原理和標(biāo)準(zhǔn) 13次下載
- MODBUS通訊協(xié)議中文版 0次下載
- 基于C++的modbus通訊協(xié)議模型實(shí)現(xiàn) 55次下載
- MODBUS通訊協(xié)議及編程 68次下載
- MODBUS通訊協(xié)議詳細(xì)介紹 38次下載
- Modbus_通訊協(xié)議詳解 0次下載
- ModBUS協(xié)議通訊的應(yīng)用
- MQTT和Modbus協(xié)議的區(qū)別 4.4k次閱讀
- 物聯(lián)網(wǎng)中常用協(xié)議及應(yīng)用場景 3.5k次閱讀
- PLC通訊協(xié)議MODBUS的應(yīng)用及編程 2.3k次閱讀
- 常見的PLC通訊協(xié)議 8.6k次閱讀
- 如何進(jìn)行Modbus通訊測試 9.9k次閱讀
- 最常用的物聯(lián)網(wǎng)通信協(xié)議有哪些 9.6k次閱讀
- 英創(chuàng)信息技術(shù)WinCE下的Modbus主控通訊協(xié)議軟件概述 2.5k次閱讀
- 如何正確的選擇物聯(lián)網(wǎng)通訊技術(shù) 1.2k次閱讀
- 藍(lán)牙、WiFi和ZigBee物聯(lián)網(wǎng)三種通訊技術(shù)的優(yōu)缺點(diǎn)分析 1.9w次閱讀
- 十大物聯(lián)網(wǎng)通訊技術(shù)解析 10k次閱讀
- SoC設(shè)計(jì)為眾多不同的IoT和互聯(lián)設(shè)備帶來了嵌入式智能 5.4k次閱讀
- 一主多從Modbus通訊協(xié)議的無線通訊 1.1w次閱讀
- 了解Modbus通訊協(xié)議是什么! 8.9k次閱讀
- modbus rtu通訊協(xié)議格式詳細(xì)說明 7.2w次閱讀
- 物聯(lián)網(wǎng)通訊方式掌上資料大全 6k次閱讀
下載排行
本周
- 1耗盡型MOS FET產(chǎn)品目錄選型表
- 0.14 MB | 2次下載 | 免費(fèi)
- 2TI系列-米爾TI AM62L核心板開發(fā)板-高能效低功耗嵌入式平臺
- 1.51 MB | 次下載 | 免費(fèi)
- 3WILLSEMI韋爾20年半年度報(bào)告由代理分銷經(jīng)銷一級代理分銷經(jīng)銷
- 3.30 MB | 次下載 | 免費(fèi)
- 4LRC 樂山無線電InTWSApplications家電由原廠代理分銷經(jīng)銷一級代理分銷經(jīng)銷供應(yīng)
- 85.84 KB | 次下載 | 免費(fèi)
- 5LAT1596 一文說明白 STM32G4 雙 Bank 啟動(dòng)與升級
- 0.64 MB | 次下載 | 5 積分
- 6LAT1594_基于事件喚醒低功耗之介紹
- 0.37 MB | 次下載 | 5 積分
- 7PT8P2309 觸控 A/D 型 8-Bit MCU規(guī)格書
- 4.05 MB | 次下載 | 免費(fèi)
- 8PT8P2308 觸控 A/D 型 8-Bit MCU規(guī)格書
- 4.13 MB | 次下載 | 免費(fèi)
本月
- 1美的電磁爐電路原理圖資料
- 4.39 MB | 19次下載 | 10 積分
- 2反激式開關(guān)電源設(shè)計(jì)解析
- 0.89 MB | 11次下載 | 5 積分
- 3耗盡型MOS FET產(chǎn)品目錄選型表
- 0.14 MB | 2次下載 | 免費(fèi)
- 4簡易光伏控制器原理圖資料
- 0.07 MB | 1次下載 | 5 積分
- 52EDL05x06xx系列 600V半橋門驅(qū)動(dòng)器帶集成自舉二極管(BSD)手冊
- 0.69 MB | 1次下載 | 免費(fèi)
- 6國產(chǎn)千兆網(wǎng)口芯片PT153S中文資料
- 1.35 MB | 次下載 | 免費(fèi)
- 7斯丹電子 | 用于芯片測試系統(tǒng)的射頻干簧繼電器
- 5.11 MB | 次下載 | 免費(fèi)
- 8SFI立昌ESD/TVS管原廠代理分銷經(jīng)銷一級代理分銷經(jīng)銷
- 294.76 KB | 次下載 | 免費(fèi)
總榜
- 1matlab軟件下載入口
- 未知 | 935137次下載 | 10 積分
- 2開源硬件-PMP21529.1-4 開關(guān)降壓/升壓雙向直流/直流轉(zhuǎn)換器 PCB layout 設(shè)計(jì)
- 1.48MB | 420064次下載 | 10 積分
- 3Altium DXP2002下載入口
- 未知 | 233095次下載 | 10 積分
- 4電路仿真軟件multisim 10.0免費(fèi)下載
- 340992 | 191448次下載 | 10 積分
- 5十天學(xué)會(huì)AVR單片機(jī)與C語言視頻教程 下載
- 158M | 183360次下載 | 10 積分
- 6labview8.5下載
- 未知 | 81605次下載 | 10 積分
- 7Keil工具M(jìn)DK-Arm免費(fèi)下載
- 0.02 MB | 73829次下載 | 10 積分
- 8LabVIEW 8.6下載
- 未知 | 65991次下載 | 10 積分
電子發(fā)燒友App





創(chuàng)作
發(fā)文章
發(fā)帖
提問
發(fā)資料
發(fā)視頻
上傳資料賺積分
評論