電子發(fā)燒友App

硬聲App

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線(xiàn)課程
  • 觀(guān)看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示
創(chuàng)作
電子發(fā)燒友網(wǎng)>電子資料下載>電子資料>iot-modbus物聯(lián)網(wǎng)通訊協(xié)議

iot-modbus物聯(lián)網(wǎng)通訊協(xié)議

2022-04-20 | zip | 2.44 MB | 次下載 | 2積分

資料介紹

授權(quán)協(xié)議 Apache
開(kāi)發(fā)語(yǔ)言 Java
操作系統(tǒng) 跨平臺(tái)
軟件類(lèi)型 開(kāi)源軟件
所屬分類(lèi) 其他開(kāi)源、 物聯(lián)網(wǎng)

軟件簡(jiǎn)介

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ù)端和客戶(hù)端兩種模式。
  • 同時(shí)支持設(shè)備組多臺(tái)設(shè)備高并發(fā)通訊。
  • 采用工廠(chǎng)設(shè)計(jì)模式,代碼采用繼承和重寫(xiě)的方式實(shí)現(xiàn)高度封裝,可作為SDK提供封裝的接口,讓具體的業(yè)務(wù)開(kāi)發(fā)人員無(wú)需關(guān)心通訊協(xié)議的底層實(shí)現(xiàn),直接調(diào)用接口即可使用。
  • 實(shí)現(xiàn)了心跳、背光燈、掃碼、刷卡、指靜脈、溫濕度和門(mén)鎖(支持多鎖)、LCD顯示屏等指令控制、、三色報(bào)警燈控制。
  • 代碼注釋豐富,包括上傳和下發(fā)指令調(diào)用例子,非常容易上手。

版本說(shuō)明

  1. V1.0.0版本僅支持TCP服務(wù)端通訊模式;
  2. V2.0.0版本支持TCP服務(wù)端和客戶(hù)端兩種模式,客戶(hù)端模式還增加了心跳重連機(jī)制。
  3. V3.0.0版本支持COM(串口)和TCP協(xié)議,增加logback日志按文件大小和時(shí)間切割輸出。
  4. V3.1.0版本代碼優(yōu)化,抽取公共模塊子工程。
  5. V3.2.0版本TCP通訊增加支持LCD顯示屏控制指令,支持批量控制LCD顯示屏。
  6. V3.2.1版本串口通訊增加支持LCD顯示屏控制指令,支持批量控制LCD顯示屏。
  7. V3.2.2版本串口通訊接收指令數(shù)據(jù)拆包處理代碼優(yōu)化,網(wǎng)口通訊增加支持三色報(bào)警燈控制指令。
  8. V3.2.3版本串口通訊增加支持三色報(bào)警燈控制指令,串口通訊接收指令數(shù)據(jù)拆包處理代碼優(yōu)化。
  9. V3.2.4版本使用netty集成Rxtx對(duì)串口數(shù)據(jù)進(jìn)行數(shù)據(jù)拆包處理,并且對(duì)指靜脈指令進(jìn)行優(yōu)化。

安裝教程

1. ?系統(tǒng)Windows7以上;
2. ?安裝Jdk1.8以上;
2. ?安裝Maven3.6以上;
3. ?代碼以Maven工程導(dǎo)入Eclipse或Idea。

使用說(shuō)明

  1. 工程結(jié)構(gòu)說(shuō)明:
  • iot-modbus //物聯(lián)網(wǎng)通訊父工程
  • ├── doc //文檔管理
  • ├── iot-modbus-client //netty通訊客戶(hù)端
  • ├── iot-modbus-common //公共模塊子工程
  • ├── iot-modbus-netty //netty通訊子工程
  • ├── iot-modbus-serialport //串口通訊子工程
  • ├── iot-modbus-server //netty通訊服務(wù)端
  • ├── iot-modbus-test //使用樣例子工程
  • └── tools //通訊指令調(diào)試工具
  1. 配置文件查看iot-modbus-test子工程resources目錄下的application.yml文件;
  2. 啟動(dòng)文件查看iot-modbus-test子工程App.java文件;
  3. 服務(wù)啟動(dòng)后,服務(wù)端端口默認(rèn)為:8080,netty通訊端口默認(rèn)為:4000;
  4. 通訊指令調(diào)試工具,查看tools目錄下的NetAssist.exe;
  5. 通訊指令采用Hex編碼(十六進(jìn)制);
  6. 串口通訊依賴(lài)文件查看doc/serialport目錄,Windows環(huán)境下rxtxParallel.dll和rxtxSerial.dll文件拷貝到JDK安裝的bin目錄下,Linux環(huán)境將librxtxParallel.so和librxtxSerial.so文件拷貝到JDK安裝的bin目錄下;
  7. postman指令下發(fā)樣例請(qǐng)查看doc/postman/通訊指令下發(fā).postman_collection.json文件,包括門(mén)鎖(單鎖/多鎖)、掃碼、背光燈、LCD顯示屏燈、三色報(bào)警燈指令。

指令格式

1. ?以心跳指令(7E 04 00 BE 01 00 00 74 77 7F)作為樣例說(shuō)明,下標(biāo)從0開(kāi)始;
2. ?第0位為起始符,長(zhǎng)度固定占1個(gè)字節(jié),固定格式:7E;
3. ?第1、2位為數(shù)據(jù)長(zhǎng)度,計(jì)算方法是從命令符到數(shù)據(jù)位(即:從3位到指令長(zhǎng)度-3位),長(zhǎng)度固定占2個(gè)字節(jié),例如:04 00,表示長(zhǎng)度為4;
4. ?第3位為指令符,長(zhǎng)度固定占1個(gè)字節(jié),例如:BE,表示心跳指令;
5. ?第4位為設(shè)備號(hào),長(zhǎng)度固定占1個(gè)字節(jié),例如:01,表示設(shè)備號(hào)為1;
6. ?第5位為層地址,長(zhǎng)度固定占1個(gè)字節(jié),例如:00,表示設(shè)備所有的層不執(zhí)行;
7. ?第6位為槽地址,長(zhǎng)度固定占1個(gè)字節(jié),例如:00,表示設(shè)備所有的槽不執(zhí)行;
8. ?指令長(zhǎng)度-3位到-2位為校驗(yàn)位,采用CRC16_MODBUS(長(zhǎng)度,命令,地址,數(shù)據(jù))校驗(yàn),例如:74 77,詳細(xì)查看:ModbusCrc16Utils.java工具類(lèi);
9. ?末位為結(jié)束符,長(zhǎng)度固定占1個(gè)字節(jié),固定格式:7F。

通訊指令

1. ?心跳上傳指令
- iot-modbus作為服務(wù)端,通過(guò)心跳來(lái)維持通訊,啟動(dòng)服務(wù)端后,打開(kāi)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ù)位,長(zhǎng)度固定占1個(gè)字節(jié),例如:01,表示開(kāi)開(kāi)啟掃碼頭。
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為卡號(hào)信息。
6. ?單開(kāi)鎖下發(fā)指令
- 服務(wù)端往硬件下發(fā):7E 05 00 03 01 00 00 01 CA 3C 7F
- 第7位為數(shù)據(jù)位,長(zhǎng)度固定占1個(gè)字節(jié),例如:01,表示開(kāi)1號(hào)鎖。
7. ?多開(kāi)鎖下發(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號(hào)鎖,00表示上鎖;02表示2號(hào)鎖,01表示開(kāi)鎖。
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號(hào)鎖,00表示上鎖,05表示傳感器狀態(tài)碼;02表示2號(hào)鎖,00表示上鎖,01表示傳感器狀態(tài)碼。

  1. 指靜脈和溫濕度指令(不作說(shuō)明,詳細(xì)查看代碼);
  2. LCD顯示屏批量控制下發(fā)指令(不作說(shuō)明,詳細(xì)查看代碼);
  3. 三色報(bào)警燈控制下發(fā)指令(不作說(shuō)明,詳細(xì)查看代碼)。

開(kāi)源項(xiàng)目

- gitee地址:https://gitee.com/takeoff/iot-modbus

- github地址:https://github.com/luorongxi/iot-modbus

?

下載該資料的人也在下載 下載該資料的人還在閱讀
更多 >

評(píng)論

查看更多

下載排行

本周

  1. 1山景DSP芯片AP8248A2數(shù)據(jù)手冊(cè)
  2. 1.06 MB  |  532次下載  |  免費(fèi)
  3. 2RK3399完整板原理圖(支持平板,盒子VR)
  4. 3.28 MB  |  339次下載  |  免費(fèi)
  5. 3TC358743XBG評(píng)估板參考手冊(cè)
  6. 1.36 MB  |  330次下載  |  免費(fèi)
  7. 4DFM軟件使用教程
  8. 0.84 MB  |  295次下載  |  免費(fèi)
  9. 5元宇宙深度解析—未來(lái)的未來(lái)-風(fēng)口還是泡沫
  10. 6.40 MB  |  227次下載  |  免費(fèi)
  11. 6迪文DGUS開(kāi)發(fā)指南
  12. 31.67 MB  |  194次下載  |  免費(fèi)
  13. 7元宇宙底層硬件系列報(bào)告
  14. 13.42 MB  |  182次下載  |  免費(fèi)
  15. 8FP5207XR-G1中文應(yīng)用手冊(cè)
  16. 1.09 MB  |  178次下載  |  免費(fèi)

本月

  1. 1OrCAD10.5下載OrCAD10.5中文版軟件
  2. 0.00 MB  |  234315次下載  |  免費(fèi)
  3. 2555集成電路應(yīng)用800例(新編版)
  4. 0.00 MB  |  33566次下載  |  免費(fèi)
  5. 3接口電路圖大全
  6. 未知  |  30323次下載  |  免費(fèi)
  7. 4開(kāi)關(guān)電源設(shè)計(jì)實(shí)例指南
  8. 未知  |  21549次下載  |  免費(fèi)
  9. 5電氣工程師手冊(cè)免費(fèi)下載(新編第二版pdf電子書(shū))
  10. 0.00 MB  |  15349次下載  |  免費(fèi)
  11. 6數(shù)字電路基礎(chǔ)pdf(下載)
  12. 未知  |  13750次下載  |  免費(fèi)
  13. 7電子制作實(shí)例集錦 下載
  14. 未知  |  8113次下載  |  免費(fèi)
  15. 8《LED驅(qū)動(dòng)電路設(shè)計(jì)》 溫德?tīng)栔?/a>
  16. 0.00 MB  |  6656次下載  |  免費(fèi)

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935054次下載  |  免費(fèi)
  3. 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
  4. 78.1 MB  |  537798次下載  |  免費(fèi)
  5. 3MATLAB 7.1 下載 (含軟件介紹)
  6. 未知  |  420027次下載  |  免費(fèi)
  7. 4OrCAD10.5下載OrCAD10.5中文版軟件
  8. 0.00 MB  |  234315次下載  |  免費(fèi)
  9. 5Altium DXP2002下載入口
  10. 未知  |  233046次下載  |  免費(fèi)
  11. 6電路仿真軟件multisim 10.0免費(fèi)下載
  12. 340992  |  191187次下載  |  免費(fèi)
  13. 7十天學(xué)會(huì)AVR單片機(jī)與C語(yǔ)言視頻教程 下載
  14. 158M  |  183279次下載  |  免費(fèi)
  15. 8proe5.0野火版下載(中文版免費(fèi)下載)
  16. 未知  |  138040次下載  |  免費(fèi)