主控制器會利用 WiFi 送出控制資料到智能小車的無線路由器,當智能小車的無線路由器接收後,會將控制資料送到 PIC 16F877A 處理器板作解碼,解碼後將控制指令傳送到智能小車的機件作出不同的動作,而智能小車上的環境資料數據,如雷達測距、電量和溫度資料等等,也會用車上的無線路由器發送到主控制器,主控制器接收資料數據後,便會顯示出智能小車的情況,所以智能小車與主控制器是需要定出通信協議,筆者使用了機器人創意工作室的上位機與下位機通信協議V1.0版,方便測試。
智能小車與主控制器的通信協議 |
通信協議:
通信協議包定義
|
||||||
下行資料協定
|
||||||
|
包頭
|
類型位
|
命令位
|
數據位元
|
包尾
|
備註
|
停止
|
FF
|
0x00
|
0x00
|
0x00
|
FF
|
電機動作指令由於各人的接線方式不同,可能指令與動作不對應,只需要在上位機指令設置中調整指令位置即可
|
前進
|
FF
|
0x00
|
0x01
|
0x00
|
FF
|
|
後退
|
FF
|
0x00
|
0x02
|
0x00
|
FF
|
|
左轉
|
FF
|
0x00
|
0x03
|
0x00
|
FF
|
|
右轉
|
FF
|
0x00
|
0x04
|
0x00
|
FF
|
|
左前轉
|
FF
|
0x00
|
0x05
|
0x00
|
FF
|
|
左後轉
|
FF
|
0x00
|
0x06
|
0x00
|
FF
|
|
右前轉
|
FF
|
0x00
|
0x07
|
0x00
|
FF
|
|
右後轉
|
FF
|
0x00
|
0x08
|
0x00
|
FF
|
|
自動巡航
|
FF
|
0x00
|
0x0F
|
0x00
|
FF
|
|
舵機1
|
FF
|
0x01
|
0x01
|
1號舵機角度
|
FF
|
舵機角度範圍為0-180度,折換成16進制為0x00-0xB4
|
舵機2
|
FF
|
0x01
|
0x02
|
2號舵機角度
|
FF
|
|
舵機3
|
FF
|
0x01
|
0x03
|
3號舵機角度
|
FF
|
|
舵機4
|
FF
|
0x01
|
0x04
|
4號舵機角度
|
FF
|
|
舵機5
|
FF
|
0x01
|
0x05
|
5號舵機角度
|
FF
|
|
舵機6
|
FF
|
0x01
|
0x06
|
6號舵機角度
|
FF
|
|
舵機7 (雲台1)
|
FF
|
0x01
|
0x07
|
7號舵機角度
|
FF
|
|
舵機8(雲台2)
|
FF
|
0x01
|
0x08
|
8號舵機角度
|
FF
|
|
左側速度檔位元
|
FF
|
0x02
|
0x01
|
左側檔位值
|
FF
|
檔位值範圍:0-10
|
右側速度檔位元
|
FF
|
0x02
|
0x02
|
右側檔位值
|
FF
|
|
開燈
|
FF
|
0x04
|
0x00
|
0x00
|
FF
|
接線方式為灌電流形式
|
關燈
|
FF
|
0x04
|
0x01
|
0x00
|
FF
|
智能小車資料協定 (上行)
| ||||||
包頭
|
類型位
|
數據位元1
|
數據位元2
|
包尾
|
備註
| |
雷達資料
|
FF
|
0x03
|
距離值
|
角度值
|
FF
|
資料位元1為距離值,資料位元2作為角度值。
|
電量
|
FF
|
0x60
|
電量值
|
0x00
|
FF
|
資料位元1的範圍為:0-10
|
濕度
|
FF
|
0x61
|
濕度值
|
0x00
|
FF
| |
輻射
|
FF
|
0x62
|
輻射值
|
0x00
|
FF
| |
溫度
|
FF
|
0x63
|
溫度值
|
0x00
|
FF
|
WIFI機器人網•機器人創意工作室上位機與下位機通信協議V1.0版
2013年6月1日 天氣報告
氣溫:28.0 度 @ 22:30
相對濕度:百分之79%
天氣:天色良好
沒有留言:
張貼留言