室內清掃機器人部分資料收集彙總
室內清掃機器人多以演算法和專利為主。下面有些資料連結:
1 https://github.com/koalazak/rest980
2 https://github.com/NickWaterton/Roomba980-Python
3 https://github.com/incmve/roomba-esp8266
4 https://github.com/MaxguN/ld37-dungeoncleaner
5 https://github.com/koalazak/dorita980
6 https://github.com/koalazak
----機器翻譯----
--------
rest980
rest980建立一個http伺服器來對映REST API中的
安裝
$ git clone https://github.com/koalazak/rest980.git $ cd rest980 $ npm安裝
Fimrware版本
檢查您的機器人韌體版本!並在firmwareVersion
rest980 配置中設定韌體版本!
組態
該服務可以通過編輯config/default.json
或設定環境變數進行配置。
配置檔案(config/default.json ) | 環境 | 描述 |
---|---|---|
港口 | 港口 | (預設值:3000)要監聽的HTTP埠。 |
blid | BLID | (必填) Roomba bl。。* |
密碼 | 密碼 | (必填) Roomba密碼。* |
robotIP | ROBOT_IP | (可選)如果知道您的機器人IP來跳過發現並加快啟動,請設定。 |
韌體版本 | 韌體版本 | (可選)設定為1或2取決於您的機器人韌體版本。韌體1.6.6預設為1 |
enableLocal | ENABLE_LOCAL | (可選)如果要禁用本地API,請設定為“否”。預設為“是”。 |
enableCloud | ENABLE_CLOUD | (可選)如果要禁用雲API,請設定為“否”。預設為“是”。 |
活著 | 活著 | (可選)如果要在每個請求中連線並斷開與機器人的連線,請設定為“否”(緩慢但為官方移動應用程式免費使用連線)。 |
basicAuthUser | BASIC_AUTH_USER | (可選)設定為啟用基本認證。必須設定使用者和通行證。 |
basicAuthPass | BASIC_AUTH_PASS | (可選)設定為啟用基本認證。必須設定使用者和通行證。 |
sslKeyFile | SSL_KEY_FILE | (可選)設定金鑰檔案的路徑以啟用HTTPS。金鑰和證書必須設定。(如何建立自簽名證書) |
| | sslCertFile | SSL_CERT_FILE | (可選)將cert檔案的路徑設定為啟用HTTPS。金鑰和證書必須設定。(如何建立自簽名證書) |
* 有關獲取機器人blid和密碼的更多資訊和說明,請參閱dorita980
啟動API伺服器
$ cd rest980
$ DEBUG=rest980:* npm start
rest980:server Listening on port 3000
DEBUG=rest980:*
如果你願意,請省略 你可以隨身攜帶npm start
或使用Docker Image
拉碼頭圖片:
碼頭拉Koalazak / rest980
執行Docker影象:
docker run -e BLID=myuser -e PASSWORD=mypass -e ROBOT_IP=myrobotIP koalazak/rest980
Dockerfile
您也可以在本地從泊塢這個構建和測試Dockerfile
docker build . -t koalazak/rest980
API文件
現在您可以在埠3000上向此伺服器發出請求。有兩個主要端點:local
並cloud
對映到dorita980本地和雲方法。
錯誤響應:
HTTP狀態500和響應:
{"message":"human message","error":{}}
本地
操作
所有清理操作都在/api/local/action/[action]
使用GET方法的端點下,而不使用查詢引數:
可用操作:
- 開始
- 停止
- 暫停
- 碼頭
- 恢復
示例:開始清理
GET http:// 192.168。1.110:3000 / api / local / action / start
成功迴應:
{"ok":null,"id":23}
資訊
所有資訊端點正在/api/local/info/[record]
使用GET方法而不使用查詢引數:
可用記錄:
- 任務
- 無線
- lastwireless
- SYS
- SKU
- 狀態(僅在韌體2中)
示例:獲取當前任務變數
GET http:// 192.168。1.110:3000 / api / local / info / mission
成功迴應:
{ "ok":
{ "flags": 0,
"cycle": "none",
"phase": "charge",
"pos": { "theta": 179, "point": {"x": 102, "y": -13} },
"batPct": 99,
"expireM": 0,
"rechrgM": 0,
"error": 0,
"notReady": 0,
"mssnM": 0,
"sqft": 0 },
"id": 2 }
配置
所有配置端點正在/api/local/config/[configName]
使用GET
方法來獲取當前配置和POST
方法來設定新配置。
可用的configName:
- ptime(僅韌體1中的GET)
- bbrun(只有GET)
- 雲(僅GET)
- langs(只有GET
preferences
,用於設定lang) - 周
- 時間(韌體1中的POST Y GET)韌體2中只有GET)
- 優先
- carpetBoost / auto(僅POST
preferences
)用於獲取當前配置) - carpetBoost /效能(僅POST
preferences
)用於獲取當前配置) - carpetBoost / eco(只有POST
preferences
,用於獲取當前配置) - edgeClean / on(僅POST
preferences
,用於獲取當前配置) - edgeClean / off(僅POST
preferences
)用於獲取當前配置) - cleaningPasses / auto(僅POST
preferences
)用於獲取當前配置) - cleaningPasses / one(僅POST
preferences
)用於獲取當前配置) - cleaningPasses / two(僅POST
preferences
)用於獲取當前配置) - alwaysFinish / on(僅POST
preferences
,用於獲取當前配置) - alwaysFinish / off(僅POST
preferences
)用於獲取當前配置)
有關每種方法和版本韌體的響應和身體引數,請參見dorita980文件。
例子:
獲取韌體首選項1:
GET http:// 192.168。1.110:3000 / api / local / config / preferences
成功迴應:
{ok : {flags : 1024,//請參閱dorita980文件中的清潔首選項表。 lang : 2, 時區: '美洲/布宜諾斯艾利斯', 名稱: ' myRobotName ', cleanPreferences : { carpetBoost : ' auto ',// 'auto','performance',' eco'edgeClean : true, cleanPasses : ' 1 ',// '1','2',' auto'alwaysFinish : true } }, id : 2 }
有關韌體2中的偏好
在韌體1中設定首選項:
POST http:// 192.168。1.110:3000 / api / local / config / preferences
身體:
{
"flags": 1107, //