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

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

前言

从今天开始学习高通主打的物联网框架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标准客户端与运行在嵌入式设备的瘦客户端间的通信。


目录
相关文章
|
6月前
|
Android开发
基于Amlogic 安卓9.0, 驱动简说(五):基于GPIO、LED子系统的LED驱动
这篇文章是关于如何在基于Amlogic T972的Android 9.0系统上,使用GPIO和LED子系统来实现LED驱动的教程,包括了DTS设备树配置、驱动源码编写以及如何在用户空间控制LED的亮度和开关。
195 0
基于Amlogic 安卓9.0, 驱动简说(五):基于GPIO、LED子系统的LED驱动
|
6月前
|
自然语言处理 Shell Linux
基于Amlogic 安卓9.0, 驱动简说(一):字符设备驱动,手动创建设备
本文是关于在Amlogic安卓9.0平台上创建字符设备驱动的教程,详细介绍了驱动程序的编写、编译、部署和测试过程,并提供了完整的源码和应用层调用示例。
156 0
基于Amlogic 安卓9.0, 驱动简说(一):字符设备驱动,手动创建设备
|
7月前
|
传感器 芯片
嵌入式通信协议全解析:SPI、I²C、UART详解(附带面试题)
通信是指人与人或人与自然之间通过某种行为或媒介进行的信息交流与传递。从广义上来说,通信是指需要信息的双方或多方在不违背各自意愿的情况下采用任意方法、任意媒质,将信息从某方准确安全地传送到另方。在出现电波传递通信后,通信被单一解释为信息的传递,是指由一地向另一地进行信息的传输与交换,其目的是传输消息。通信方式包括利用“电”来传递消息的电信,这种通信具有迅速、准确、可靠等特点,且几乎不受时间、地点、空间、距离的限制,因而得到了飞速发展和广泛应用。
1402 0
|
传感器 网络协议 IDE
【基于Arduino IDE平台开发ESP8266连接巴法云】
【基于Arduino IDE平台开发ESP8266连接巴法云】
2750 0
|
JavaScript
Arduino Ethernet构建简易服务器
Arduino Ethernet构建简易服务器
|
XML 测试技术 网络安全
开发调试工具:可编程 USB 转串口适配器开发板
首先声明一下,大家都是搞硬件开发的,这几种接口当然是很简单的事,但有些时候对于一个新的设备或者芯片的测试,有个现成的工具当然更顺手,节省时间,也更可靠嘛。
|
异构计算 Windows
VHDL串口通信 在FPGA开发板上测试 并解决没有识别到下载接口USB_Blaster(No Hardware问题)
今天在调试 VHDL 串口通信,当使用 Quartus II 13.0 综合好的文件下载到 FPGA 开发板时发现,没有识别到下载USB_Blaster
591 0
VHDL串口通信 在FPGA开发板上测试 并解决没有识别到下载接口USB_Blaster(No Hardware问题)
|
Python
树莓派和arduino蓝牙通信
树莓派上使用蓝牙通信模块来和arduino进行通信,首发在csdn https://blog.csdn.net/qq_33902044/article/details/98465301
2544 0