久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2779|回復: 0
打印 上一主題 下一主題
收起左側

基于GoKit的產品開發

[復制鏈接]
跳轉到指定樓層
樓主
ID:111475 發表于 2016-3-30 23:17 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
      

  
        
編制人
      
        
Sean
      
        
審核人
      
        
      
批準
        
產品名稱
      
        
      
        
產品型號
      
        
      
文檔編號
        
會簽日期
      
        
      
        
版本
      
        
0.9.0
      
GizWits
修訂記錄
  
        
修改時間
      
        
修改內容
      
        
版本
      
        
修改人
      
        
備注
      
        
2014-09-30
      
        
創建
      
        
0.9.0
      
        
Sean
      
        
      
        
      
        
      
        
      
        
      
        
      
        
      
        
      
        
      
        
      
        
      
        
      
        
      
        
      
        
      
        
      

      
目錄
1.      開發GoKit       1
1.1.      開發過程(思路)       1
1.2.      了解GoKit       1
1.3.      定義新產品       1
1.4.      選擇產品模板       1
1.5.      調整產品參數       2
1.6.      生成MCU協議       3
1.7.      生成虛擬設備       3
1.8.      GoKit工程與調試       4
1.9.      協議細節       4
1.9.1.      WIFI模塊獲取MCU基本信息       4
1.9.2.      WIFI讀取MCU屬性       5
1.9.3.      設定LEDR       5
1.9.4.      設定LEDG       6
1.9.5.      設定電機轉速       7
1.9.6.      MCU主動上報狀態       7
2.      GoKit為例,開發新產品       8

      1.開發GoKit1.1.開發過程(思路)
1)了解GoKit - 了解GoKit能夠支持的硬件功能
2)定義新產品 - 基于這些硬件功能設計一個簡單產品
3)選擇產品模板 - 選擇一個已有的類似產品作為模板快速定義產品
4)調整產品參數 - 根據自己產品的需要對模板中的各屬性字段(數據點)進行添加、刪除或修改
5)生成MCU協議與示例代碼 - 產品數據點保存后,立即生成完成的MCU開發協議以及對應的示例代碼
6)生成虛擬設備 - 如果您沒有GoKit開發板,不需要再做任何的MCU開發,生成的虛擬設備已經具備你所設計的產品功能
7)GoKit工程與調試 - 在您創建的GoKit工程中,添加示例代碼,即可完成MCU協議數據的解析和組包,您只需完成對IO口的操作即可
8)協議細節 - 當然,如果您想詳細了解MCU協議,我們會給您一一介紹
1.2.了解GoKit
    GoKit能夠提供的硬件功能為:
1)一顆STM32F103C8T6芯片,LPFQ封裝,提供JTAG編程接口;
2)一個紅外探測器,可以探測是否有阻擋;
3)一個R、G、B可編程全彩LED燈;
4)一個可編程電機;
5)一個溫濕度傳感器;
6)一個復位按鍵和四個自定義按鍵,可以根據需要自行設定,比如按鍵改變電機轉速、按鍵改變LED顏色等;
    此外,GoKit提供USB串口,可以更方便的對MCU進行調試或者升級。
1.3.定義新產品
    基于GoKit提供的以上功能,我們可以設計一些簡單且實用的產品,比如小狗寵物屋,我們設計這款產品功能如下:
1)當小狗在屋里的時候,LED亮綠色,當小狗不在屋的時候,LED亮紅色,當小狗連續一個小時不在屋的時候,上報一條報警給主人;
2)當溫度達到或者超過28度的時候,打開寵物屋的排風扇(電機),當溫度降到28以下的時候,關閉寵物屋的排風扇(電機);
    以上兩個功能就可以很好的完成一個智能產品,當然,你也可以定義很多有趣的產品,比如兒童玩具之類的。    接下來我們可以以一個已有的產品模型為基礎進行快速開發;
1.4.選擇產品模板
    我們選擇GoKit開發模板,會自動出現已經定義好的數據點,如下圖所示:
1.5.調整產品參數
小狗寵物屋這個產品中,我們需要關心的屬性有:
1)LED的顏色R值(紅色)
2)LED的顏色G值(綠色)
3)環境溫度
4)電機轉速
5)紅外探測
這五個屬性值保留,并使用默認的配置,其余的屬性可以刪除;
如下圖所示:
五個屬性分別可以進行更詳細的編輯:
1)LED的R值(紅色),用RGB表示發,一共有0-254種紅色(數據范圍為0-254),所以,我們用一個字節就可以描述(數據類型為uint8),這個屬性是可以設定也可以讀取的(讀寫類型為可寫),由于沒有負數,也沒有浮點,MCU可以直接用一個字節描述這個屬性,所以不需要做修正,所以分辨率為1,增量為0;
2)LED的G值定義同上;
3)環境屬性,我們定義溫度范圍為0-50度,用一個字節可以表示(數據類型是數據,uint8),這個屬性僅能讀取,不能設置(讀寫屬性是只讀),同樣不需要修正(k=1,m=0);
4)紅外探測屬性,可以探測是否有阻擋(是一個布爾類型),僅能讀取(讀寫類型為只讀);
5)電機轉速我們定義范圍0-1000,0表示停止,用兩個字節描述,不用修正;
1.6.生成MCU協議
數據點保存后,會生成如下的MCU協議,協議在下文有詳細解釋:
FF FF 00 05 01 01 00 00 07
FF FF 00 47 02 01 00 00 30 30 30 30 30 30 30 34 30 30 30 30 30 30 30 32 30 30 30 30 30 30 30 31 30 30 30 30 30 30 30 31 64 36 39 61 66 35 39 65 33 38 63 37 31 31 65 34 61 32 39 64 35 32 35 34 30 30 35 32 38 37 36 64 01 2C CA  
                                 
FF FF 00 06 03 02 00 00 02 0d
FF FF 00 10 04 02 00 00 03 55 aa bb cc 80 00 80 23 00 00 42
FF FF 00 0d 03 04 00 00 01 02 00 CC 00 00 00 00 e3
FF FF 00 05 04 04 00 00 0d
FF FF 00 0d 03 05 00 00 01 04 00 00 BB 00 00 00 d5
FF FF 00 05 04 05 00 00 0e
FF FF 00 0d 03 07 00 00 01 10 00 00 00 00 e0 00 08
FF FF 00 05 04 07 00 00 10
FF FF 00 10 05 01 00 00 04 55 aa bb cc 80 00 80 23 01 03 c7
FF FF 00 05 06 01 00 00 0c
1.7.生成虛擬設備
產品屬性(數據點)定義好以后,就會自動生成虛擬設備,即使沒有GoKit開發板,您也可以使用虛擬設備進行調試,虛擬設備的使用,可以參考文檔中心的快速開始;
    虛擬設備操作頁面如下圖所示:
1.8.GoKit工程與調試
到此,可以進行代碼開發了,在后期,我們會提供根據產品定義自動生成的代碼片段,您可以創建一個標準的MCU工程,在您的工程中添加我們為您的產品生成的代碼片段,這部分代碼片段,完成了協議的解析,命令的組包,校驗和的計算等各種問題,您只需要傳入屬性值就可以輸出完成的狀態包,您收到命令后,可以方便的進行命令拆分;具體的試用方法,參見代碼片段中的注釋說明。
通過這些協議,可以方便的管理GoKit上的各個硬件,只需要在MCU中對響應IO口進行操作即可。
1.9.協議細節1.9.1.WIFI模塊獲取MCU基本信息
完整協議包: FF FF 00 05 01 01 00 00 07
拆分:
FF FF         包頭
00 05         長度,表示后面還有5個字節
01            wifi要獲取mcu基本信息的命令
01            序列號
00 00        標志位,保持0即可
07            校驗值,從長度到校驗和前的字節相加值
MCU給WIFI模塊返回基本信息:
完整協議包:FF FF 00 47 02 01 00 00 30 30 30 30 30 30 30 34 30 30 30 30 30 30 30 32 30 30 30 30 30 30 30 31 30 30 30 30 30 30 30 31 64 36 39 61 66 35 39 65 33 38 63 37 31 31 65 34 61 32 39 64 35 32 35 34 30 30 35 32 38 37 36 64 01 2C CA
拆分:
FF FF        包頭
00 47        長度,表示后面有71個字節(47為16進制)
01            mcu給wifi返回基本信息的命令
01            序列號,需要和上述wifi的查詢包中的sn相同
00 00        標志位,保持0即可
30 30 30 30 30 30 30 34        機智云協議版本號
30 30 30 30 30 30 30 32        P0協議版本號
30 30 30 30 30 30 30 31        MCU硬件版本號
30 30 30 30 30 30 30 31        MCU軟件版本號
64 36 39 61 66 35 39 65 33 38 63 37 31 31 65 34 61 32 39 64 35 32 35 34 30 30 35 32 38 37 36 64                產品的product_key
01 2C        綁定超時時間
CA            校驗值,從長度到校驗和前的字節相加值   
1.9.2.WIFI讀取MCU屬性
完整的協議包:FF FF 00 06 03 02 00 00 02 0d
拆分:
FF FF        包頭
00 06        長度,后面有6個字節
03            wifi向mcu發送數據的命令
02            序列號
00 00        標志位,保持0即可
02            查詢狀態命令
0d            校驗值,從長度到校驗和前的字節相加值
MCU返回當前屬性值
完整的協議包:FF FF 00 10 04 02 00 00 03 55 aa 80 00 01 23 BC
拆分:
FF FF        包頭
00 10        長度,后面有16個字節
04            mcu向wifi發送數據的命令
02            序列號
00 00        標志位,保持0即可
03            mcu響應wifi的查詢狀態命令
55            LED的R值
aa            LED的G值
80 00        電機轉速
01            紅外探測結果(最低位一位表示紅外探測結果,0:探測無,1:探測有)
23            溫度值
BC            校驗值,從長度到校驗和前的字節相加值
1.9.3.設定LED的R值
完整的協議包:FF FF 00 0d 03 04 00 00 01 01 CC AA 00 00 00 00 8C
拆分:
FF FF        包頭
00 0d        長度
03            wifi向mcu發送數據的命令
04            序號
00 00        標志位,保持0即可
01            控制類命令
01            控制屬性標志組合,01表示第一個屬性值有效
CC AA 00 00 00 00    屬性數據
8C            校驗值,從長度到校驗和前的字節相加值
說明:
1)wifi給mcu發送控制指令時,會含有mcu所有的屬性信息,這個屬性信息和mcu給wifi上報的屬性信息格式以及順序完全相同(在定義產品的時候就確定了),wifi可以根據需要設定控制屬性標志組合,用位表示,最右為第0位,最左為最高位,屬性順序和位順序對應,將想控制的屬性對應的位置1,表示要控制該屬性;
2)本產品中,可以控制的屬性依次有:LED R值、LED G值、電機轉速三個屬性;
3)可以單獨控制一個屬性,比如單獨設定LED R值,此時為0x01, 用位描述是0000 0001;
4)也可以一次控制多個屬性,比如同事設定LED R值和G值,此時為03,用位描述是0000 0011;
5)或者同時設定LED R值、G值以及電機轉速,此時為0x07,用位描述是0000 0111;
6)此字段的長度根據定義產品時的可寫屬性個數自動確定,本產品共有3個可寫屬性,一個字節即可表示,若定義9個可寫屬性,則自動用2個字節表示,依次類推;
MCU收到控制命令后的響應
完整的數據包:FF FF 00 05 04 04 00 00 0d
拆分:
FF FF        包頭
00 05        長度
04            mcu響應wifi的命令
04            序號,與wifi發出的數據包中的sn相同
00 00        標志位,保持0即可
0d            校驗碼
1.9.4.設定LED的G值
完整的協議包:FF FF 00 0d 03 04 00 00 01 02 CC AA 00 00 00 00 8C
拆分:
FF FF        包頭
00 0d        長度
03            wifi向mcu發送數據的命令
04            序號
00 00        標志位,保持0即可
01            控制類命令
02            控制屬性標志組合,02表示第二個屬性值有效
CC AA 00 00 00 00    屬性數據
8D            校驗值,從長度到校驗和前的字節相加值
MCU收到控制命令后的響應
同上
1.9.5.設定電機轉速
完整的協議包:FF FF 00 0d 03 04 00 00 01 03 00 00 00 10 00 00 28
拆分:
FF FF        包頭
00 0d        長度
03            wifi向mcu發送數據的命令
04            序號
00 00        標志位,保持0即可
01            控制類命令
03            控制屬性標志組合,03表示第三個屬性值有效
00 00 01 00 00 00    屬性數據
28            校驗值,從長度到校驗和前的字節相加值
MCU收到控制命令后的響應
同上
1.9.6.MCU主動上報狀態
完整的協議包:FF FF 00 10 05 01 00 00 04 AA BB 00 01 01 23 A4
拆分:
FF FF        包頭
00 0C        長度
05            mcu主動給wifi發送數據的命令
01            序號
00 00        標志位,保持0即可
04            mcu上報狀態
AA BB 00 01 01 23    完整的屬性數據
A4            校驗值,從長度到校驗和前的字節相加值
WIFI收到后的響應
完整的協議包:FF FF 00 05 06 01 00 00 0c
拆分:
FF FF         包頭
00 05        長度
06            wifi響應mcu的數據命令
01            序號,和mcu發出的數據包中sn相同
00 00        標志位,保持0即可
0c            校驗碼
2.以GoKit為例,開發新產品
如果您想做自己的更復雜的產品,可以仿照小狗寵物屋的方法,先確定產品功能,再依靠某個模板建立數據模型,然后用虛擬設備或者實體設備進行調試,協議和寵物屋類似;只要您定義清楚了設備,就自動生成了虛擬設備和測試APP,并且可以連接M2M平臺進行調試;當然如果您有硬件并且試用了我們Gagent模塊,馬上就可以用SDK以及demo App進行實體設備的配置、發現、大小循環控制。

   


分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 欧美久久久久 | 免费黄色成人 | 国产一区在线免费观看视频 | 特黄av| 中文精品视频 | 日韩免费| 国产欧美在线 | 亚洲第一在线 | 日韩福利在线观看 | 国产乱一区二区三区视频 | 国产精品欧美大片 | 亚洲一区视频 | 丁香五月网久久综合 | 偷拍亚洲色图 | gogo肉体亚洲高清在线视 | 欧美精品久久久 | 日本精品久久久久久久 | 麻豆一区一区三区四区 | 黄色香蕉视频在线观看 | 91视频进入 | 亚洲国产精品视频一区 | 久久精品亚洲欧美日韩精品中文字幕 | 久久久久久免费精品一区二区三区 | 日韩欧美专区 | 欧美日韩在线免费 | 北条麻妃一区二区三区在线视频 | 日韩欧美福利视频 | 日韩国产精品一区二区三区 | 国产精品有限公司 | 亚洲精品一区在线观看 | 日韩三级电影一区二区 | 国产精品高潮呻吟久久av黑人 | 黄色网页在线 | 国产在线一区观看 | 成人在线精品视频 | 欧美精品久久久久久久久老牛影院 | 久久久免费少妇高潮毛片 | 精品中文字幕一区二区三区 | 91看片视频| 亚洲视频免费播放 | 在线激情视频 |