智能硬體開發文檔
Yumiot入門開發教程
一、前期準備:
1.1 一個WiFi模塊、一台電腦、一部手機(電腦也可以模仿手機)。
1.2 一款能夠連接外網的WiFi模塊,即可以做伺服器使用,也可以做客戶端使用,市面上的絕大多數WiFi模塊都可以適用。
1.3 會對WiFi有一個基本的開發基礎,例如C語言。根據不同WiFi模塊的開發不同,所用的開發語言也不同。
二、設備開發流程
第一步:註冊成為開發者
第二步:選擇並註冊設備id
第三步:開發WiFi模塊
2.1 配置WiFi模塊連接伺服器
2.2 配置WiFi模塊連接手機端
2.3 根據yumiot交互規則,進行控制程序編寫。
三、註冊成為開發者
3.1 進入http://yumiot.com官網,點擊註冊,選擇開發者註冊
3.2 根據提示填寫信息。
3.3 查看你的郵箱收件箱,點擊激活鏈接完成註冊
3.4 進入yumiot官網,點擊登錄——>開發者,成功登錄後點擊左側個人資料,查看開發者ID
在設備管理—>設備註冊界面,選擇要開發的設備類型,以及設備數量,然後點擊設備註冊,完成新設備註冊。(注意:每開發一款新的設備都需要生產一個設備ID)
注意:自定義中文名稱用於在用戶手機端以及PC端顯示,英文名稱用於開發者程序編寫中使用。
例:下圖中的自定義功能區,用戶手機端將顯示 智能燈 設備,擁有兩種狀態,分別為開和關。
程序示例:
開燈:led=on
關燈:led=off
3.6 在全部設備、已開發設備、未開發設備中查看你的設備情況。其中,設備序列號是開發者每次註冊的設備的功能和狀態號,用於不同序列的版本控制。
四、常用語法說明
4.1 完整設備號(ID)、開發者ID、設備類型、設備ID
例:1234561d000001
前6位是開發者ID,7-8位是設備類型、9-14位是設備ID。完整設備號=開發者ID+設備類型+設備ID。
如上例中,123456是開發者ID,1d是設備類型、000001是設備ID,1234561d00001是完整設備號。
4.2 通信交互語法
4.2.1 向伺服器請求設備ID
yum{開發者ID設備類型}$
yum{}是通信標識,每次與伺服器請求都需要使用這種格式。
是發送結束符,每次通信都需要使用。
例:yum{1234561d}$
4.2.2 伺服器返回設備ID
格式:yumid{完整設備號}
例:yumid{1234561d000001}
注意:獲取到設備ID後需要在WiFi模塊中對(完整設備號)進行存儲
4.2.3 向伺服器發送控制命令
格式:yum{完整設備號}[功能1](狀態1)
[ ]標識符中的是設備功能,在每個設備中至少需要有一個,不能為空。
( )標識符是設備狀態,在每個功能中至少有一個狀態,可以值為null,表示該設備不執行任何狀態。
例:有一款LED燈設備,有個開關功能,該功能有兩種狀態,分別是開on、關off。
開燈控制命令寫法:yum{12345618000001}[LED](on)$
關燈控制命令寫法:yum{12345618000001}[LED](off)$
4.2.4 伺服器返回狀態
格式:yum{完整設備號}[功能](狀態)……
例:yum{12345618000001}[LED](on)
12345618000001該設備,要執行LED功能改變狀態為on。
此命令就是點亮一個LED燈
4.2.5 接收手機端連接路由器命令
格式:yumssid:路由器賬號
yumpass:路由器密碼
例:yumssid:YUMIOT
yumpass:12345678
控制WiFi模塊連接名為YUMIOT的路由器,連接密碼是12345678
4.2.6 向手機端發送連接狀態
格式:yumget{session.狀態}
session分別有兩種狀態
狀態1:session.ok 表示成功連接路由器;
狀態2:session.error 表示連接路由器失敗。
例:yumget{seeion.ok}
4.2.7 向手機端返回完整設備號
格式:yum{設備ID}
例:yum{12345612000001}
4.2.8 手機端返回狀態碼
返回格式:yumget{seeion.狀態}
session分別有兩種狀態
狀態1:session.ok 表示操作成功;
狀態2:session.error 表示操作失敗。
例:yum{session.ok}
五、配置WiFi模塊
5.1 配置伺服器連接
配置WiFi連接yumiot遠程伺服器http://yumiot.com:8088(強烈建議)或者使用47.95.228.49:8088(不推薦使用)。
5.1.1 測試伺服器連接:
語法:yumtest{開發者id設備類型}$
yumtest只是測試能否與伺服器正常通信,不能直接做正常設備開發使用。
例如:開發者id是:123456,準備開發一款智能開關設備其設備類型是1d。設備類型可以在開發者個人中心—>設備管理中查看。
將WiFi連接到yumiot伺服器 http://yumiot.com:8088
發送:yumtest{1234561d}$
這時WiFi模塊將收到 yumid{1234561d000000},其中yumid{}是信息頭,12356是開發者id,1d是設備類型,000000是測試設備id。
5.1.2 正式伺服器連接:
語法:yum{開發者id設備類型}$
例如:開發者id是:123456,準備開發一款智能開關設備其設備類型是1d。設備類型可以在開發者個人中心—>設備管理中查看。
將WiFi連接到yumiot伺服器 http://yumiot.com:8088
發送:yum{1234561d}$
這時WiFi模塊將收到yumid{1234561d000001},其中yumid{}是信息頭,12356是開發者id,1d是設備類型,000001是設備id。
5.1.3 保存設備ID
5.2 配置WiFi模塊連接手機端
開發步驟:手機連接WiFi模塊,並向WiFi模塊發送路由器賬號密碼,WiFi模塊接收路由器賬號密碼並連接遠程伺服器。
5.2.1 手機連接WiFi模塊,並向WiFi模塊發送路由器賬號和密碼WiFi模塊將收到兩個消息:
yumssid:路由器賬號
yumpass:路由器密碼
這時,WiFi模塊將使用接收到的路由器賬號和密碼連接路由器。成功連接後向手機端發送連接成功消息,否則發送連接錯誤消息。
發送消息格式:yumget{session.狀態}
session分別有兩種狀態
狀態1:session.ok 表示成功連接路由器;
狀態2:session.error 表示連接路由器失敗。
例:yumget{seeion.ok}
5.2.2 WiFi模塊連接路由器成功,進行yumiot伺服器連接。
具體連接實例,參考第四章第1節配置伺服器連接。 伺服器連接成功後,將收到完整的設備ID號。
5.2.3 向手機端發送完整設備號。
發送格式:yum{設備ID}
例:yum{12345612000001}
手機端會返回一個狀態碼, 返回格式:yumget{seeion.狀態}
session分別有兩種狀態
狀態1:session.ok 表示操作成功;
狀態2:session.error 表示操作失敗。
例:yumget{session.ok}
5.3 根據yumiot交互規則,進行控制程序編寫。完整實例流程
5.3.1 接收手機端連接路由器命令。
接收:yumssid:路由器賬號
接收:yumpass:路由器密碼
5.3.2 WiFi模塊連接路由器,並向手機端返回狀態碼
發送:yumget{session.ok}
5.3.3 保存路由器賬號和密碼,並連接yumiot伺服器
發送:yum{1234561d}$
5.3.4 保存完整設備號,並向手機端發送完整設備號。
接收:yumid{1234561d000001}
發送:yum{12345612000001}
接收:yumget{ session.ok }
推薦閱讀:
※我的自由職業之路-從外包到遠程工作
※一個人的遊戲之路起步艱難,我不放棄!
※2018年3月新項目:中國獨立開發者項目列表