EasyIot:旨在搭建最簡潔的IOT框架,不涉及業務場景,個人/公司可在此基礎上做二次開發
【適用場景】
1. 智能櫃(寄存櫃、快遞櫃、取餐櫃、自提櫃)、售貨機等帶觸摸工控一體機
2. 物聯網網關
【架構實現】
硬件通過串口通信和工控機交互(下發開鎖指令及反饋鎖狀態),工控機通過調用服務端webapi方式進行數據交互,服務端通過socket方式實現下行控制
【開發工具】
數據庫:MySql5.7
開發工具:Visual Studio
【程序說明】
EasyIot.WebApi:通信層(Swagger + TcpServer)
EasyIot.WebApp:管理后台(賬號:admin 密碼:123456)
EasyIot.WinApp:終端程序(賬號:13100110011 密碼:5625)
備注:全套框架采用Net5.0,源碼在下載后,將easyiot.sql導入mysql數據庫,即可
【協議說明】
1. 串口協議
Demo: 開0號板的通道1:
上位機發送:57 4B 4C 59 09 00 82 01 83
設備端回復:57 4B 4C 59 0B 00 82 00 01 00 81
2. WebApi協議 - 接口采用DES加密方式
2.1 數據接口(查詢)
http://127.0.0.1:5101/api/Main/Download
【發送】
原始報文 {"content":"select * from device"}
加密報文 {"content":"UcUX5X7f7+z4mupbrcR6CLSHtsbKA4/rYLHja2tvglc="}
【返回】
加密報文 {"result":"OPhTmQE+pp5oEwlE/xODTSWkCkE0vud6f+jlrGWH9WGf4GJzB0djo49rfFu5Oc7APrmbTltaZXupqohSvZWaoPNNh+3lNk4ReUQPiKwsYG4tFe8fHzedOW51ssTR0H8rJnKwor4nFeN1K839nbgaSVsaqb61coRRT1N726dBKAaymeLrTS58hLeJHTMGMFSXqBeiLcVPZDX82O9z4p+E8I5l44sMNy8i4XF9OR3cHp2dpZCP6h54YVB4Zo3hyKVWC2l7NuZGPhrWARxLuytk9mXx0xI9p3fr6iavO4d8C4I=","message":"操作成功","code":200}
解密報文 {"Code":200,"Message":"操作成功","Result":"[{\"Id\":5,\"SortCode\":1,\"CreateTime\":\"2021-11-06T18:17:17\",\"CreateUserId\":1,\"UpdateTime\":\"2021-11-06T18:17:17\",\"UpdateUserId\":1,\"DeviceCode\":\"1001\",\"DeviceName\":\"蝦咚1號快遞櫃\",\"LastActive\":\"2021-11-07T16:12:54\"}]"}
2.2 數據接口(更新)
http://127.0.0.1:5101/api/Main/Upload (同查詢接口)
2.3 業務處理接口
http://127.0.0.1:5101/api/Main/Process
2.4 下發控制接口
http://127.0.0.1:5101/api/Main/Control
3. TCP SERVER
標識頭+數據長度+協議類型+協議內容(uid+任務id+內容)
1.心跳包
IOT=0021&1001&1636305141&01&&
2.透傳接口 - 調用/api/Main/Control
【測試用例】
Http測試
串口測試(安裝虛擬串口工具,點擊 串口測試,用串口工具反饋信息)
SOCKET測試
其他功能
【怎么提問】
如果要對項目有相關疑問,建議您這么做:
1、仔細看下readme、wiki,如果有必要可以查看下issue.
2、如果您的問題還沒解決,可以提issue.
3、QQ私聊一般不接受無償技術咨詢和支持
【聯系方式】
QQ:505645074
【源碼地址】
gitee: https://gitee.com/CHHC1880/easyiot
【支付寶贊賞】
如果你喜歡這個項目的話,煩請在github或者gitee上給我點個小星星;創作不易,我也需要您一杯咖啡的贊助,能讓我持續創作