原创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库目录下

原创alljoyn物联网实验之手机局域网控制设备

4.从Arduino IDE菜单栏文件->示例->Alljoyn选项分类中,打开AJ_LedService.ino样例程序.

原创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(嵌入式设备)

(2)   Micro USB线

(3)   无线热点(即无线路由器)

软件工具

Arduino IDE 软件

操作步骤

1.从Android/test_APP路径下拷贝AllJoynOn-1.01.11.apk(alljoynOn是高通设计的应用)安装到手机,并运行;

2、运行后手机软件界面如下图,表明还未发现任何设备

原创alljoyn物联网实验之手机局域网控制设备

3. 将services库并拷贝到Arduino库目录下

原创alljoyn物联网实验之手机局域网控制设备

4.从Arduino IDE菜单栏文件->示例->service选项分类中,打开service.ino样例程序.

原创alljoyn物联网实验之手机局域网控制设备

并将红线圈出的地方,改为你自己无线路由器的ssid和密码。

5.在菜单栏工具中,选择Arduino Due并选择正确的串口号,上传样例程序,并打开串口调试助手,看到一些打印信息,如连接到网络,等待和手机进行连接等。连接成功后如下图:

原创alljoyn物联网实验之手机局域网控制设备

6、通过手机端的按钮和滑动条可以控制Triton板子上led的开关和led进度条的显示,:

原创alljoyn物联网实验之手机局域网控制设备

说明:设备内我有加了Notification Service 给手机随机发消息,在实际应该过程中是有告警才发消息,如果你觉得消息讨厌可以在手机端设置忽略消息如下图,注意其中的Yes

原创alljoyn物联网实验之手机局域网控制设备

或通过修改设备端代码来实现。

7、我们自己编译的apk为Android/test_APP/ControlPanelBrowser.apk;源代码为Android\src\alljoyn-controlpanel-14.02.00-rel\java\samples\ControlPanelBrowser

预告     物联网实验5  android手机外网实时控制arduino设备。。

更多相关文章
  • 物联网实验4alljoyn物联网实验之手机局域网控制设备
    AllJoyn开源物联网协议框架,官方描述是一个能够使连接设备之间进行互操作的通用软件框架和系统服务核心集,也是一个跨制造商来创建动态近端网络的软件应用.高通已经将该项目捐赠给了一个名为“AllSeen联盟”的组织,该组织由Linux基金会监督,这是迄今为止推动家庭和工业物联网应用与创新的最广泛的跨 ...
  • 局域网中设备的管理之Stack&Cluster
     局域网中设备的管理通常采用 stack .cluster和snmp等方法. 下面我们来讨论一下stack 和cluster.Stack  也叫作堆叠.堆叠是由一些通过堆叠口相连的以太网交换机组成的一个管理域,其中包括一个主交换机和若干个从交换机.堆叠在一起的以太网交换机可以看作为一个设备,用户可以 ...
  •   这个TOP用了很久了,对NP阶段学习BGP很不错的,我都是一直用这个TOP坐实验~~!现在共享出来,~!!  下载地址:[url]http://www.rayfile.com/files/9225e168-d94a-11dd-ac27-0014221b798a/[/url] 
  • 一GPIO编程实验LED流水灯控制
    7个寄存器 是R1-R16.(当然,里面有很多是分几个模式的,所以总共有37个)类似于单片机的R0-R7.GPXCON,GPXDAT等等是另外的寄存器,应该叫,特殊功能寄存器,类似于单片机的P0,P1,TCON,等等.GPXCON:是X管脚的控制寄存器,控制它们的模式,比如输出模式,输入模式……GP ...
  • Android系统中Vibrator对象负责对手机震动的处理,具体的实现方法:1.获取振动器Vibrator的实例:Vibrator vibrator = (Vibrator) getSystemService(VIBRATOR_SERVICE);  getSystemService(VIBRATO ...
  • 方案主要介绍F5 LTM设备构建手机银行缓存服务器的负载均衡群集.提高缓存手机银行服务可用性的同时,提供易于横向扩展的群集架构.采用irules和ihealth,实时获知后端服务器的运行和负载情况,并通过合理的算法和策略,将用户端的请求交给最合适的真实服务器来处理,保障用户手机银行的服务质量,提高上 ...
  • 局域网中设备的管理之snmp
    .下面我们通过一个案例来说明.实验背景:在企业网中,我们想时刻查看每个设备的健康状况.需求分析:一般的网络管理是通过telnet的,然,它很不方便.我们可以通过snmp监听每个设备的健康状况.实验拓扑图:配置:SWdis cu# sysname sw#vlan 1#interface Vlan-in ...
  • 交换机 802.1x 设置步骤及要点(适用机型:FSM7328S/FSM7352S/FSM7352PS/GSM7328S/GSM7352SGSM7324/GSM7312/GSM7248/GSM7224/GSM7212)一.802.1x端口认证原理为什么需要IEEE802.1x?随着宽带以太网建设规模 ...
一周排行
  • 这篇博客,用来累积工作中别人和自己翻过的错误,希望对朋友们有所帮助  
  •     Android 中的TabHost相当于VC或者Swing中的选项卡,本文中所提到的选项卡就代表TabHost.在Android中选项卡由TabActivity来实现,TabActivity是一个Activi ...
  • centos 安装包[rpm]和光盘iso文件 http://mirror.centos.org/centos/ 对应如上包的代码 http://vault.centos.org/ git.centos.org ce ...
  •   因为一时粗心大意,在安装F10时没有选择自动登录功能,所以每次登录系统都要输入登录密码,虽说是小儿科,但老觉得有点烦,既然F10中没有图形设置,就只好修改gdm的配置文件了.#vi /etc/gdm/custom ...
  • ios如何使用ASIHttpRequest进行http通信
    ASIHTTPRequest是一个对CFNetwork API进行了封装,并且使用起来非常 ...
  • 11种方法检测软件可靠性软件的安全可靠性是衡量软件好坏的一个重要标准,安全性指与防止对程序及数据的非授权的故意或意外访问的能力有关的软件属性,可靠性指与在规定的一段时间和条件下,软件能维持其性能水平能力有关的一组属性 ...
  • onkeyup="value=value.replace(/[^\a-\z\A-\Z\u4E00-\u9FA5\.]/g,'')" //禁止复制粘贴右键菜单剪切 onpaste=" ...
  • 优化内存使用主要是三个原则: CPU如何操纵特定的数据类型 数据和指令需要占用多少存储空间 数据在内存中的布局方式 处理大量数据时,使用可以满足要求的最小字节数据类型,能用short就不用int,能用int就不用lo ...
  • 上传代码到github上有很多种方法,在这里我介绍一种比较简单的一种.工具嘛,越简单越好用啊. 1.首先下载github在windows下的客户端 下载地址:https://desktop.github.com/ 这 ...
  • 我们想要的是同时完成表名对调,如果是先后的对掉,用RENAME的话可能会导致有些数据写入失败,那怎么办? 其实也不难,从MySQL手册里就能找到方法,那就是:同时锁定2个表,不允许写入,然后对调表名. 我们通常只锁一 ...