1. 程式人生 > >室內清掃機器人部分資料收集彙總

室內清掃機器人部分資料收集彙總

室內清掃機器人多以演算法和專利為主。下面有些資料連結:

    

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中的

所有dorita980方法,以通過HTTP請求來控制iRobot Roomba 980。

安裝

$ git clone https://github.com/koalazak/rest980.git
$ cd rest980
$ npm安裝

Fimrware版本

檢查您的機器人韌體版本!並在firmwareVersionrest980 配置中設定韌體版本

組態

該服務可以通過編輯config/default.json或設定環境變數進行配置。

配置檔案(config/default.json環境描述
港口港口(預設值:3000)要監聽的HTTP埠。
blidBLID(必填) Roomba bl。。*
密碼密碼(必填) Roomba密碼。*
robotIPROBOT_IP(可選)如果知道您的機器人IP來跳過發現並加快啟動,請設定。
韌體版本韌體版本(可選)設定為1或2取決於您的機器人韌體版本。韌體1.6.6預設為1
enableLocalENABLE_LOCAL(可選)如果要禁用本地API,請設定為“否”。預設為“是”。
enableCloudENABLE_CLOUD(可選)如果要禁用雲API,請設定為“否”。預設為“是”。
活著活著(可選)如果要在每個請求中連線並斷開與機器人的連線,請設定為“否”(緩慢但為官方移動應用程式免費使用連線)。
basicAuthUserBASIC_AUTH_USER(可選)設定為啟用基本認證。必須設定使用者和通行證。
basicAuthPassBASIC_AUTH_PASS(可選)設定為啟用基本認證。必須設定使用者和通行證。
sslKeyFileSSL_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上向此伺服器發出請求。有兩個主要端點:localcloud對映到dorita980本地和雲方法。

錯誤響應:

HTTP狀態500和響應:

{"message":"human message","error":{}}

本地

操作

所有清理操作都在/api/local/action/[action]使用GET方法的端點下,而不使用查詢引數:

可用操作:

  • 開始
  • 停止
  • 暫停
  • 碼頭
  • 恢復

示例:開始清理

GET http:// 192.1681.1103000 / api / local / action / start

成功迴應:

{"ok":null,"id":23}

資訊

所有資訊端點正在/api/local/info/[record]使用GET方法而不使用查詢引數:

可用記錄:

  • 任務
  • 無線
  • lastwireless
  • SYS
  • SKU
  • 狀態(僅在韌體2中)

示例:獲取當前任務變數

GET http:// 192.1681.1103000 / 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.1681.1103000 / 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.1681.1103000 / api / local / config / preferences

身體:

{ 
  "flags": 1107, //