天天看點

物聯網實驗4 alljoyn物聯網實驗之手機區域網路控制裝置

  AllJoyn開源物聯網協定架構,官方描述是一個能夠使連接配接裝置之間進行互操作的通用軟體架構和系統服務核心集,也是一個跨制造商來建立動态近端網絡的軟體應用。高通已經将該項目捐贈給了一個名為“AllSeen聯盟”的組織,該組織由Linux基金會監督,這是迄今為止推動家庭和工業物聯網應用與創新的最廣泛的跨行業聯盟(更多資料了解

www.allseen.org

)。

  Alljoyn包含core核心部分和service服務架構部分,service是基于core之上的,對于core和service本教程分别有一個執行個體進行講解。

3.4.1 core部分實驗

硬體清單

(1)   Triton(嵌入式裝置)

(2)   Micro USB線

(3)   無線熱點(即無線路由器)

軟體工具

Arduino IDE 軟體

操作步驟

1. 從Android/test_APP路徑下拷貝MyAlljoyn.apk安裝到手機,并運作;

2. 這時手機界面會有一個進度條提示Finding Led Service.Please wait...,即等待裝置端加傳入連結接。

3.  将Alljoyn庫并拷貝到Arduino庫目錄下

4.從Arduino IDE菜單欄檔案->示例->Alljoyn選項分類中,打開AJ_LedService.ino樣例程式.

物聯網實驗4 alljoyn物聯網實驗之手機區域網路控制裝置

并将紅線圈出的地方,改為你自己無線路由器的ssid和密碼。

5.在菜單欄工具中,選擇Arduino Due并選擇正确的序列槽号,上傳樣例程式,并打開序列槽調試助手,看到一些列印資訊,如連接配接到網絡,等待和手機進行連接配接等。

6、在手機端提示連接配接成功(界面上有success 資訊)後,可以通過手機端的按鈕控制Triton闆子上led的開關。

7、裝置端的源代碼為AJ_LedService.ino、due_led.cpp和due_led.h,其中alljoyn主要的業務邏輯代碼在due_led.cpp中, AJ_LedService.ino中隻是初始化wifi網絡

8、手機端android的源代碼在Android/src/MyAlljoyn/路徑下,基于此源碼可以開發其他各種豐富的應用,比如控制繼電器、電機等等。

3.4.2 services部分

(1)   Triton(嵌入式裝置)

1.從Android/test_APP路徑下拷貝AllJoynOn-1.01.11.apk(alljoynOn是高通設計的應用)安裝到手機,并運作;

2、運作後手機軟體界面如下圖,表明還未發現任何裝置

物聯網實驗4 alljoyn物聯網實驗之手機區域網路控制裝置

3. 将services庫并拷貝到Arduino庫目錄下

物聯網實驗4 alljoyn物聯網實驗之手機區域網路控制裝置

4.從Arduino IDE菜單欄檔案->示例->service選項分類中,打開service.ino樣例程式.

物聯網實驗4 alljoyn物聯網實驗之手機區域網路控制裝置

5.在菜單欄工具中,選擇Arduino Due并選擇正确的序列槽号,上傳樣例程式,并打開序列槽調試助手,看到一些列印資訊,如連接配接到網絡,等待和手機進行連接配接等。連接配接成功後如下圖:

物聯網實驗4 alljoyn物聯網實驗之手機區域網路控制裝置

6、通過手機端的按鈕和滑動條可以控制Triton闆子上led的開關和led進度條的顯示,如圖所示:

物聯網實驗4 alljoyn物聯網實驗之手機區域網路控制裝置

說明:裝置内我有加了Notification Service 給手機随機發消息,在實際應該過程中是有告警才發消息,如果你覺得消息讨厭可以在手機端設定忽略消息如下圖,注意其中的Yes

物聯網實驗4 alljoyn物聯網實驗之手機區域網路控制裝置

或通過修改裝置端代碼來實作。

7、我們自己編譯的apk為Android/test_APP/ControlPanelBrowser.apk;源代碼為Android\src\alljoyn-controlpanel-14.02.00-rel\java\samples\ControlPanelBrowser        

預告     物聯網實驗5  android手機外網實時控制arduino裝置。。

繼續閱讀