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. SQL:指定名称查不到数据的衍伸~空格 换行符 回车符的批量处理

    异常处理汇总-数据库系列  http://www.cnblogs.com/dunitian/p/4522990.html 先看看啥情况 复制查询到的数据,粘贴一下看看啥情况 那就批量处理一下~ 就这样 ...

  2. Sublime配置python开发环境

    Package Control Package Control 是Sublime 里直接安装附加插件的包管理器.可以通过以下步骤手动安装: 1.点击Preferences > Browse Pa ...

  3. SQL必备知识点

    经典SQL语句大全 基础 1.说明:创建数据库.说明:删除数据库drop database dbname3.说明:备份sql server--- 创建 备份数据的 device.说明:创建新表crea ...

  4. Mac OS、Ubuntu 安装及使用 Consul

    Consul 概念(摘录): Consul 是 HashiCorp 公司推出的开源工具,用于实现分布式系统的服务发现与配置.与其他分布式服务注册与发现的方案,比如 Airbnb 的 SmartStac ...

  5. SDWebImage源码解读之SDWebImageCache(上)

    第五篇 前言 本篇主要讲解图片缓存类的知识,虽然只涉及了图片方面的缓存的设计,但思想同样适用于别的方面的设计.在架构上来说,缓存算是存储设计的一部分.我们把各种不同的存储内容按照功能进行切割后,图片缓 ...

  6. canvas与html5实现视频截图功能

    这段时间一直在研究canvas,突发奇想想做一个可以截屏视频的功能,然后把图片拉去做表情包,哈哈哈哈哈哈~~ 制作方法: 1.在页面中加载视频 在使用canvas制作这个截图功能时,首先必须保证页面上 ...

  7. Win10 UWP开发系列——开源控件库:UWPCommunityToolkit

    在开发应用的过程中,不可避免的会使用第三方类库.之前用过一个WinRTXamlToolkit.UWP,现在微软官方发布了一个新的开源控件库—— UWPCommunityToolkit 项目代码托管在G ...

  8. python中IndentationError: expected an indented block错误的解决方法

    IndentationError: expected an indented block 翻译为IndentationError:预期的缩进块 解决方法:有冒号的下一行要缩进,该缩进就缩进

  9. golang sync.WaitGroup bug

    注意,这个结构体,要是想在函数之间传来传去的话,必须要使用指针....... 这个结构体里没有 指针,这个类型可以说没有“引用特性”. 被坑了一晚上.特此记录.

  10. RMS:Microsoft Office检测到您的信息权限管理配置有问题。有关详细信息,请与管理员联系。(转)

    原文:https://zhidao.baidu.com/question/435088233.html RMS有两种方式: 1.使用微软的服务器,这个是连接到微软的服务器上面做权限控制,在今年5月份之 ...