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樣例程序.
並將紅線圈出的地方,改為你自己無線路由器的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(嵌入式設備)
(2) Micro USB線
(3) 無線熱點(即無線路由器)
軟件工具
Arduino IDE 軟件
操作步驟
1.從Android/test_APP路徑下拷貝AllJoynOn-1.01.11.apk(alljoynOn是高通設計的應用)安裝到手機,並運行;
2、運行后手機軟件界面如下圖,表明還未發現任何設備
3. 將services庫並拷貝到Arduino庫目錄下
4.從Arduino IDE菜單欄文件->示例->service選項分類中,打開service.ino樣例程序.
並將紅線圈出的地方,改為你自己無線路由器的ssid和密碼。
5.在菜單欄工具中,選擇Arduino Due並選擇正確的串口號,上傳樣例程序,並打開串口調試助手,看到一些打印信息,如連接到網絡,等待和手機進行連接等。連接成功后如下圖:
6、通過手機端的按鈕和滑動條可以控制Triton板子上led的開關和led進度條的顯示,如圖所示:
說明:設備內我有加了Notification Service 給手機隨機發消息,在實際應該過程中是有告警才發消息,如果你覺得消息討厭可以在手機端設置忽略消息如下圖,注意其中的Yes
或通過修改設備端代碼來實現。
7、我們自己編譯的apk為Android/test_APP/ControlPanelBrowser.apk;源代碼為Android\src\alljoyn-controlpanel-14.02.00-rel\java\samples\ControlPanelBrowser
預告 物聯網實驗5 android手機外網實時控制arduino設備。。