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. 从0开始搭建SQL Server AlwaysOn 第二篇(配置故障转移集群)

    从0开始搭建SQL Server AlwaysOn 第二篇(配置故障转移集群) 第一篇http://www.cnblogs.com/lyhabc/p/4678330.html第二篇http://www ...

  2. 开源:Taurus.MVC 框架

    为什么要创造Taurus.MVC: 记得被上一家公司忽悠去负责公司电商平台的时候,情况是这样的: 项目原版是外包给第三方的,使用:WebForm+NHibernate,代码不堪入目,Bug无限,经常点 ...

  3. ASP.NET Core 折腾笔记一

    前言: 在ASP.NET Core 1.0时,曾折腾过一次,后因发现不了System.Data而停止. 更因VS2015提示过期Delete掉VS了,其实主要还是笔记本的硬盘空间吃紧. 快双十一了,本 ...

  4. 一步一步教你用CSS画爱心

    今天小颖给大家分享一个用CSS画的爱心,底下有代码和制作过程,希望对大家有所帮助. 第一步: 先画一个正方形.如图: <!DOCTYPE html> <html> <he ...

  5. 【走过巨坑】android studio对于jni调用及运行闪退无法加载库的问题解决方案

    相信很多小伙伴都在android开发中遇到调用jni的各种巨坑,因为我们不得不在很多地方用到第三方库so文件,然而第三方官方通常都只会给出ADT环境下的集成方式,而谷歌亲儿子android studi ...

  6. fir.im Weekly - 关于 iOS10 适配、开发、推送的一切

    "小程序"来了,微信变成名副其实的 Web OS,新一轮的Web App 与Native App争论四起.程序员对新技术永远保持灵敏的嗅觉和旺盛的好奇心,@李锦发整理了微信小程序资 ...

  7. C#与C++通信

    # C#与C++相互发送消息 # ## C#端: ## namespace CshapMessage { /// /// MainWindow.xaml 的交互逻辑 /// public partia ...

  8. Canvas讲解

    1.Canvas是什么? 简单地说canvas是画布,可以进行画任何的线.图形.填充等一系列的操作,而且操作的画图就是js, 提供简单的二维矢量绘图. 2.步骤: <canvas id=&quo ...

  9. Android中ListView实现图文并列并且自定义分割线(完善仿微信APP)

    昨天的(今天凌晨)的博文<Android中Fragment和ViewPager那点事儿>中,我们通过使用Fragment和ViewPager模仿实现了微信的布局框架.今天我们来通过使用Li ...

  10. 编译器开发系列--Ocelot语言5.表达式的有效性检查

    本篇将对"1=3""&5"这样无法求值的不正确的表达式进行检查. 将检查如下这些问题.●为无法赋值的表达式赋值(例:1 = 2 + 2)●使用非法的函数 ...