打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
【学习分享】初探Mbed BLE Sensors Tag开发-GPIO测试
Linknode 测评
非常个高兴拿到了电子技术应用提供的LINK node V11开发板.
首先我们来了解一下,LINK NODE是何方神圣.
1简介:
LinkNode 是由LinkSprite出品的明星产品,同时LinkSprite也是一家非常棒的高科技公司,具备PCDUINO/开源硬件和神目视觉图像识别两大产品主线.基于LinkSprite的智能产品,我们可以快速实现自己的物联网应用,加快产品的上市.
LinkNode 就是其出品的诸多智能硬件产品中的一员;
LinkNode实际上也是一个产品系列,包含5大产品:
图0: LinkNode家族
目前正在测评的实际上是其中的基于蓝牙BLE4.0的 Mbed BLE Sensors Tag, 为了简化,下文中,还是以LinkNode来表示.但是大家要明白其实LinkNode不止这一款;
LinkNode 是一款可穿戴设备原型开发板,支持BLE4.0,完全兼容mBed编程。板上集成了功能强大的器件,如nRF51822低功耗蓝牙SoC、LIS3DH超低功耗三轴线性加速度传感器、BMP180气压/温度传感器等等。同时,嵌入了一个兼容mBed下载的编程器,使得应用的开发和下载变得非常方便。
LinkNode由两个模块组成。一个是BLE4.0 的Sensors Tag模块,该模块兼容mbed,大大简化了基于ARM微控制器开发蓝牙可穿戴设备的过程和部署。在线的Mbed编译器提供了丰富的例程和函数,可加速BLE应用的部署。常见的如GPIO,定时器,adc,串口都有例程支持,上手非常快.
图1 : 传感器部分( BLE TAG 部分)
大家要问,在mbed在线平台中,有没有Link Node 的平台选项,可以告诉大家,没有,但是.
Linnk node 是兼容mbed 的,那么我们应该选择哪个platform呢. 因为主控mcu是一个Nordic出品的Soc, 大家懂得.在mbed在线平台中,可以看到Link node所兼容的对象,他们拥有同样的主控,nRF51822,此外,外设也是类似的.两个用户按键,双色led,甚至是另外一部分下载器也是一样,所有的功能引脚,都是兼容的.
图1-2  nRF51822-mKIT
另一个模块是一个编程器,可替代Jlink下载器的功能,兼容ARM的mBed下载,大大简化了下载流程。用户只需将编译生成的bin文件放到系统可识别的磁盘中即可完成程序下载。相信玩过mbed平台的同学都会非常熟悉.编程器会自动将该程序下载到Sensors TAG中,无须其他操作。
图2: 编程器(mbed兼容 )
编程器模块的主控制器是ATSAM3U2C,这个是Atmel公司推出的 M3核的微控制器,拥有128KB的Flash,最高主频96MHz。
编程器模块的拥有一个micro-USB(兼容最新的android手机数据线)口用于从电脑下载程序,一系列的GPIO口用于独立使用这个编程器,还有一个开关,一个复位按钮,由此构成了一个ATSAM3U2C的最小单片机系统。
2板上资源的使用
下面我们逐一测试板载资源,板上资源总揽:
· NRF51822: 蓝牙低功耗&2.4GHz 无线SoC
· LIS3DH:超低功耗三轴加速度传感器
· BMP180:温度气压传感器
· mbed编程器:采用ATSAM3U2CA-AU ARM-based flash MCU
· 8 x GPIO pins
· 1 x UART port
· 1 x 双色 LED
· 2 x 用户按键
· 1 x 蜂鸣器
2-1 GPIO使用
第一个例程,从最基础的讲起,也让同学们感受一下mbed的魅力,个人觉得,mbed从语法上已经具备了arduino的简易性,易学性,但是其开发环境,也就是ide,却有是简单的不能在简单,切实的验证了未来的一种开发方式的发展方向,任何人,随时随地,可以上网,就可以编译,编程器,可能就是简化为一条USB线了.
图3: 板载硬件资源的引脚图
图4: 主芯片的原理图
下面我们进行编程,mbed的基础知识就不再多说,说白了就是提供一个整套的软件库,类似于st的固件库,以MDK开发为例,只要把相应的库(支持包的文件夹),拷贝到自己的工程,然后就可以按照mbed的语法标准来编程了.mbed 具备了很多c++的面向对象的特性,但是用户编程,还是以c为主的 ,不会c++的根本不需要担心,大家可以下载我的例程来体会, 核心代码在main.cpp
如下:
/* 包含 mbed支持包,头文件形式 */
#include "mbed.h"
/* 定义led所在的引脚 : 注意与引脚影射图对应 .*/
DigitalOut LED_RED (P0_20);
DigitalOut LED_BLUE(P0_19);
/* 主函数,实现双色led的交替点亮  */
int main()
{
while(1)
{
LED_RED  = 0;
LED_BLUE = 1;
wait(0.2);//mbed提供的延时函数
LED_RED  = 1;
LED_BLUE = 0;
wait(0.2);
}
}
大家奇怪了.怎么才能获得mbed支持包呢, 可以直接访问mbed.com,注册开发者账号,然后选择对应平台,再打开云端的开发环境,通过一系列图片来展示
1,选择平台
图5: 选择platform,并且准备打开编译器
2 打开编译器,也就是编译环境,一切都在浏览器中哦,从linknode插上电脑后,形成的U盘中,也有专门的网页文件可以跳转到
 图6:编译器,编辑环境
3 新建一个程序 ,
图7 点击 New
图8 跳出窗口,进行相关设置,
4 代码编辑
5 ,如果需要离线开发,可以导出工程,网站会把我们的 工程打包成MDK,IAR,等其他ide格式,然后形成压缩包, 供我们下载到本地,也就是形成本文最后的工程文件.
我们可以把这个当作模版,进行离线版,开发,也就是类似于其他arm的开发过程了. Linknode的编程器除了形成哪个用于下载的U盘 ,还有一个标准的Jlink 和一个usb串口
那么本地开发的时,我们就可以利用这个jlink来调试下载 .
利用这个板载的jlink功能下载还是非常给力的,
6 补充一点, 如果是在线编译,可以点击compile,按钮和mdk里的图标一致,编译成功后,会生成xxx.hex 可以在浏览中下载到本地,然后拖进link node的U盘就可以了.
图10 : 点击编译
图11:  编译中,请稍后
1
<br>
图12 编译完成后,选择下载,
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
Linknode开发板评测
智能蓝牙技术原理及设计方案集锦
第二课Nordic蓝牙开发板
学习IoT,BLE编程绝佳平台,nRF52832 BLE(蓝牙低能耗)开发板
mbed HTTP
MicroPython/OpenMV下Arduino Nano 33 BLE/Sence编程
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服