智能硬體開發文檔

智能硬體開發文檔

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遠程伺服器yumiot.com:8088(強烈建議)或者使用47.95.228.49:8088(不推薦使用)。

5.1.1 測試伺服器連接:

語法:yumtest{開發者id設備類型}$

yumtest只是測試能否與伺服器正常通信,不能直接做正常設備開發使用。

例如:開發者id是:123456,準備開發一款智能開關設備其設備類型是1d。設備類型可以在開發者個人中心—>設備管理中查看。

將WiFi連接到yumiot伺服器 yumiot.com:8088

發送:yumtest{1234561d}$

這時WiFi模塊將收到 yumid{1234561d000000},其中yumid{}是信息頭,12356是開發者id,1d是設備類型,000000是測試設備id。

5.1.2 正式伺服器連接:

語法:yum{開發者id設備類型}$

例如:開發者id是:123456,準備開發一款智能開關設備其設備類型是1d。設備類型可以在開發者個人中心—>設備管理中查看。

將WiFi連接到yumiot伺服器 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月新項目:中國獨立開發者項目列表

TAG:開發文檔 | 智能硬體 | 獨立開發者 |