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设备。。