【AllJoyn框架】连接PC与Arduino Due开发板

xiaozhu12371237 2016-03-23 04:33:51
加精


前言

从今天开始学习高通主打的物联网框架AllJoyn,并定期记录学习过程。由于目前网上教程很少,所以要认真阅读官方文档。下载回来的文档比较多,根据名字也不好判别先看哪个,后看哪个,所以目前就靠感觉先看一部分文档再说,若能看懂就照着做一遍,若看不懂就多看。大致原则就是先把部署过程熟悉,然后是基本概念,接着掌握SDK,最后才是源码的学习。本着开源分享的精神,学习笔记记录在此,以飨读者。

1、AllJoyn介绍

AllJoyn是一个中性平台系统,旨在简化邻近异构分布式移动通信网络系统。这里的异构性不仅表示不同的设备,而且可以是具有不同操作系统和不同类型的设备(例如个人电脑、手机、平板电脑和消费性电子产品),并且使用不同的通信技术。

2、需提前准备的资料

文档方面,网上资料并不多,只能求助于官方文档了,其分成了好几块,并不是完整的PDF。另外,源码是必须要有的,包括核心目录alljoyn_core、瘦客户端目录ajtcl等,文档中已给出了下载路径。在今天这个实验中,我重点看的文档是以下两个:

Configuring the Thin Client BuildEnvironment (Arduino + Ethernet Shield).pdf

configuring_the_build_envir_windows_xp_and_windows_7.pdf

硬件方面,alljoyn支持的平台还是挺多的,在这里我们就可看到它支持arduino。所以我选择的硬件平台是Arduino Due + 以太网扩展板.工具软件就采用arduino-1.5.6,其支持Due板

3、安装AJTC库到Arduino IDE

首先下载安装scons,不过先要把python安装好,它被安装到了python的Scripts文件夹中。正如上面第二个文档所说,我们要添加scons命令到环境变量.然后下载uncrustify,并且添加环境变量最后进入到瘦客户端目录ajtcl,执行:scons TARG=arduino那么就会在当前目录的build目录下生成arduino_due\libraries\AllJoyn,就可以在IDE中导入AllJoyn目录了

4、在Due中运行alljoyn瘦客户端实例AJ_LedService

选择文件-例子-AllJoyn-AJ_LedService,连接好硬件,点上传即可

5、在win7运行AllJoyn标准客户端AJSC

进入alljoyn_core目录,执行以下命令:scons OS=win7 CPU=x86 MSVC_VERSION=11.0 BINDINGS=cpp.一段时间过后,在build目录下就会有文件生成了.文档中说,若要将AJTC代码连接到AJSC,需要设置ALLJOYN_DIR环境变量到alljoyn目录,它是alljoyn_core的上一层目录。

6、进入alljoyn_core\build\win7\x86_64\debug\dist\cpp\bin,执行例子ledctrl.exe



保证刚才上传到Due板的AJ_LedService在运行,此时在上图命令行中输入on或off,就可使得板上led灯亮或灭。与此同时,在IDE的串口终端我们可以观察到相关输出:



在板上运行的其实是一个alljoyn bus object(服务),其向外公开了on和off方法。一旦有客户端连接到服务并循环接收命令时,on和off方法就会被调用。甚至当我们输入flash 100时,LED灯就会每100ms闪烁,这也就实现了运行在windows下alljoyn标准客户端与运行在嵌入式设备的瘦客户端间的通信。


...全文
2206 4 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
line_us 2016-03-25
  • 打赏
  • 举报
回复
邻近异构分布式移动通信网络系统
业余草 2016-03-24
  • 打赏
  • 举报
回复
line_us 2016-03-24
  • 打赏
  • 举报
回复
物联网框架AllJoyn

2,851

社区成员

发帖
与我相关
我的任务
社区描述
本论坛以AI、WoS 、XR、IoT、Auto、生成式AI等核心板块组成,为开发者提供便捷及高效的学习和交流平台。 高通开发者专区主页:https://qualcomm.csdn.net/
人工智能物联网机器学习 技术论坛(原bbs) 北京·东城区
社区管理员
  • csdnsqst0050
  • chipseeker
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧