20160415_jeffrey - silenceuncrio/diary GitHub Wiki
Index
- 0830 - How to parse JSON data in Android
- 0920 - LinkIt CGI app json
- 1110 - cgi app 控制 iplug on/off
- 1130 - review
- 1305 - review
- 1440 - 室內定位
- 1450 - review IoT 架構
- 1610 - mantis wiki IoT Platform Architecture
0830
複習一下昨天學到的東西
How to parse JSON data in Android 這篇真的寫得很棒... 趕緊再複習一次
0920
來寫一隻 run 在 LinkIt 上的 CGI 讓 app 呼叫並印出 json 內容
1110
目前已改寫了 app
並加入了 cgi 讓 app 呼叫
cgi 可以控制 iplug 做 on/off 的動作
1130
好好的來 review 一下截至目前所做的
先把功能大方塊列出來
-
gatt_client
- source code: D:\git\gatt_client
- 目標板: CSR BLE Module
-
uart
- source code: D:\ubuntu_share\linkit\uart
- 目標板: LinkIt Smart 7688
-
cgi
- source code: D:\ubuntu_share\linkit\cgi
- 目標板: LinkIt Smart 7688
-
JsonParsing
- source code: C:\Users\JEFFREY\AndroidStudioProjects\JsonParsing
- 目標板: Android 裝置
1305
繼續 review
功能大方塊間的連接方式如下, 加上了 O'SMART Plug
[O'SMART Plug]---[gatt_client]---[uart]---[cgi]---[JsonParsing]
加上目標板
[O'SMART Plug ]---[gatt_client ]---[uart]--------[cgi]---[JsonParsing]
[O'SMART Plug ]---[CSR BLE Module]---[LinkIt Smart 7688]---[Android 裝置]
所以從板子的角度來看各大軟體方塊的話
- O'SMART Plug
- 第三方
- CSR BLE Module
- gatt_client
- LinkIt Smart 7688
- uart
- cgi
- Android Device
- JsonParsing
用更抽象的角度來看
- BLE Device
- BLE Module
- IoT Device
- Android Device
1440
剛剛 jammy 分享他去上課的內容給我們
投影片準備的相當不錯
主題是 室內定位
1450
先趁這個機會從架構面再來好好 review 一下 IoT 架構
把 AMEBA 一起拉進來
從最抽象面來看看有那些 IoT Device
- Smart Phone
- 目前幾乎人手一支的智慧手機
- 用來控制 IoT Gateway
- IoT Gateway
- IoT 中樞設備
- 可以跟多個 IoT WiFi Box 溝通
- 可以跟多個 IoT BLE Box 溝通
- IoT WiFi Box
- 具有 WiFi 介面與外部設備溝通
- 可以接不只一種 IoT 周邊, 所以稱為 IoT Box
- IoT BLE Box
- 具有 BLE 介面與外部設備溝通
- 可以接不只一種 IoT 周邊, 所以稱為 IoT Box
再從實際面來看目前被拿來時做的設備
- Smart Phone
- Android 手機
- IoT Gateway
- LinkIt Smart 7688
- IoT WiFi Box
- AMEBA
- 接了一些 IoT 周邊
- IoT BLE Box
- 只有接一個繼電器包裝成智慧插頭
- 第三方廠商提供我們公司貼牌
- O'SMART Plug
實際面來看的設備目前我實作的軟體
- Smart Phone
- JsonParsing
- IoT Gateway
- uart
- cgi
- gatt_client(CSR BLE Module)
- IoT WiFi Box
- 工讀生們實作
- IoT BLE Box
- 第三方廠商提供
- 搭配文件說明控制方式
1610
修改公司的 mantis wiki 的 IoT Platform Architecture 如下
Application Scenario
IoT Gateway
IoT WiFi Box
IoT BLE Box
感覺這樣的架構更加抽象化
更方便從上層的應用端來做討論
1635
gateway 與 box 之間有了 binding 之後便可以開始做溝通
不管是 WiFi binding 或是 BLE binding
溝通的目的有甚麼呢?
- gateway 想知道 某 box 上有什麼 IoT 周邊
- gateway 想知道 某 box 上某 IoT 周邊的狀態 - 例如溫度
- gateway 想控制 某 box 上某 IoT 周邊 - 例如繼電器
- box 想通知 gateway 某 IoT 周邊狀態改變 - 例如偵測到聲音
WiFi Binding 我們用的是 RESTful HTTP API
不管是 gateway 或是 WiFi box
都同時扮演著 HTTP Server 與 Client 的角色
BLE binding 用的是 BLE - Bluetooth Low Energy
BLE 有自己定義的一套溝通方式
非常想很溝通的內容抽想化成幾種後同時套在 WiFi 及 BLE 上面
但又怕跟 HTTP Protocol 或 BLE 搞混
套用 icos 的字眼似乎是不錯的 idea
先回憶一下 icos 現成的動作有哪些
- init - 叫某個模組做初始化
- get setting - 要某個模組的 setting
- set setting - 設定某個模組的 setting(未套用)
- apply setting - 要某個模組套用 setting
- get status - 要某個模組的 status
好想有點搞頭喔
下禮拜繼續