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

物联网实验4 alljoyn物联网实验之手机局域网控制设备的更多相关文章

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

    AllJoyn开源物联网协议框架,官方描述是一个能够使连接设备之间进行互操作的通用软件框架和系统服务核心集,也是一个跨制造商来创建动态近端网络的软件应用.高通已经将该项目捐赠给了一个名为“AllSee ...

  2. [nRF51822] 12、基础实验代码解析大全 · 实验19 - PWM

    一.PWM概述: PWM(Pulse Width Modulation):脉冲宽度调制技术,通过对一系列脉冲的宽度进行调制,来等效地获得所需要波形. PWM 的几个基本概念: 1) 占空比:占空比是指 ...

  3. [nRF51822] 11、基础实验代码解析大全 · 实验16 - 内部FLASH读写

     一.实验内容: 通过串口发送单个字符到NRF51822,NRF51822 接收到字符后将其写入到FLASH 的最后一页,之后将其读出并通过串口打印出数据. 二.nRF51822芯片内部flash知识 ...

  4. [nRF51822] 10、基础实验代码解析大全 · 实验15 - RTC

    一.实验内容: 配置NRF51822 的RTC0 的TICK 频率为8Hz,COMPARE0 匹配事件触发周期为3 秒,并使能了TICK 和COMPARE0 中断. TICK 中断中驱动指示灯D1 翻 ...

  5. [nRF51822] 9、基础实验代码解析大全 · 实验12 - ADC

    一.本实验ADC 配置 分辨率:10 位. 输入通道:5,即使用输入通道AIN5 检测电位器的电压. ADC 基准电压:1.2V. 二.NRF51822 ADC 管脚分布 NRF51822 的ADC ...

  6. 实验四 Android程序设计 实验报告

    实验四 Android程序设计 实验报告 目录 代码托管地址 Android程序设计-1 Android程序设计-2 Android程序设计-3 Android程序设计-4 Android程序设计-5 ...

  7. 自学华为IoT物联网_06 智慧家庭物联网常见问题及解决方案

    点击返回自学华为IoT物流网 自学华为IoT物联网_06 智慧家庭物联网常见问题及解决方案 1. 家庭中遇到的问题 2.1 华为智慧家庭概念的发展历程 2.2 华为智慧家庭的解决方案架构 智慧家庭主要 ...

  8. 20172302《程序设计与数据结构》实验四Android程序设计实验报告

    课程:<程序设计与数据结构> 班级: 1723 姓名: 侯泽洋 学号:20172302 实验教师:王志强老师 实验日期:2018年5月30日 必修/选修: 必修 1.实验内容 (1)And ...

  9. 2017年 实验三 C2C模拟实验

    [实验目的] 掌握网上购物的基本流程和C2C平台的运营 [实验条件] ⑴.个人计算机一台 ⑵.计算机通过局域网形式接入互联网. (3).奥派电子商务应用软件 [知识准备] 本实验需要的理论知识:C2C ...

随机推荐

  1. 从直播编程到直播教育:LiveEdu.tv开启多元化的在线学习直播时代

    2015年9月,一个叫Livecoding.tv的网站在互联网上引起了编程界的注意.缘于Pingwest品玩的一位编辑在上网时无意中发现了这个网站,并写了一篇文章<一个比直播睡觉更奇怪的网站:直 ...

  2. iOS开发系列--Swift语言

    概述 Swift是苹果2014年推出的全新的编程语言,它继承了C语言.ObjC的特性,且克服了C语言的兼容性问题.Swift发展过程中不仅保留了ObjC很多语法特性,它也借鉴了多种现代化语言的特点,在 ...

  3. .NET 基础 一步步 一幕幕[面向对象之构造函数、析构函数]

    构造函数.析构函数 构造函数: 语法: //无参的构造函数 [访问修饰符] 函数名() :函数名必须与类名相同. //有参的构造函数 [访问修饰符] 函数名(参数列表):函数名必须与类名相同. 作用: ...

  4. Android性能优化之利用LeakCanary检测内存泄漏及解决办法

    前言: 最近公司C轮融资成功了,移动团队准备扩大一下,需要招聘Android开发工程师,陆陆续续面试了几位Android应聘者,面试过程中聊到性能优化中如何避免内存泄漏问题时,很少有人全面的回答上来. ...

  5. 通过重建Hosting系统理解HTTP请求在ASP.NET Core管道中的处理流程[下]:管道是如何构建起来的?

    在<中篇>中,我们对管道的构成以及它对请求的处理流程进行了详细介绍,接下来我们需要了解的是这样一个管道是如何被构建起来的.总的来说,管道由一个服务器和一个HttpApplication构成 ...

  6. Solr高级查询Facet

    一.什么是facet solr种以导航为目的的查询结果成为facet,在用户查询的结果上根据分类增加了count信息,然后用户根据count信息做进一步搜索. facet主要用于导航实现渐进式精确搜索 ...

  7. Unity3D 5.3 新版AssetBundle使用方案及策略

    1.概览 Unity3D 5.0版本之后的AssetBundle机制和之前的4.x版本已经发生了很大的变化,一些曾经常用的流程已经不再使用,甚至一些老的API已经被新的API所取代. 因此,本文的主要 ...

  8. 【Java每日一题】20170104

    20170103问题解析请点击今日问题下方的"[Java每日一题]20170104"查看(问题解析在公众号首发,公众号ID:weknow619) package Jan2017; ...

  9. Maven搭建SpringMVC+Hibernate项目详解 【转】

    前言 今天复习一下SpringMVC+Hibernate的搭建,本来想着将Spring-Security权限控制框架也映入其中的,但是发现内容太多了,Spring-Security的就留在下一篇吧,这 ...

  10. 关于BAPI_PATIENT_CREATE(病患主数据创建)

    第一次使用BAPI,遇到几个问题.现总结如下. CALL FUNCTION 'BAPI_PATIENT_CREATE' EXPORTING client = * INSTITUTION = '*' * ...