【学习分享】初探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 编译完成后,选择下载,

(0)

相关推荐

  • [开放评测]Linknode开发板驾到,还不赶紧来申请?

    EEWORLD新进5块LinkNode开发板,已经到了哦~先睹为快: 姓名:LinkNode 自我介绍:我是一款可穿戴设备原型开发板,支持BLE4.0,完全兼容mBed编程.我的身上集成了功能强大的器 ...

  • 干货|BLE入门谈:从空中数据收发理解BLE(下)

    点此查看>>从空中数据收发理解BLE(上)在使用带BLE功能的MCU进行应用开发的时候,需要先熟悉BLE的API. 然而,各厂家的BLE API风格差异很大,要比不同器件平台硬件驱动库HA ...

  • 神器系列-艾刷做开发板

    首先用万用表找出LED的控制IO是PB4和PB7. 然后在Mbed的网站上(https://developer.mbed.org/compiler/)创建一个STM32F401的例程,使用blink模 ...

  • Nordic 中心设备添加自定义服务处理

    Nordic 中心设备添加自定义服务处理 照搬ble_nus_c.c和ble_nus_c.h内容来完成自定义服务的处理.这里中心设备我采用的工程例子是 ble_app_uart_c. 将compone ...

  • 物联网开发板对对碰系列之四——Hexiwear 开发Mbed

    物联网开发板对对碰系列之一--概述 物联网开发板对对碰系列之二--Hexiwear 物联网开发板对对碰系列之三--Hexiwear 开发平台 1. Hexiwear出厂时内置一个firmware,可以 ...

  • 利用nRF51822模块制作BLE抓包器

    为什么要DIY抓包器 KW41Z活动 正搞得如火如荼,大量小伙伴即将拿到FRDM-KW41Z开发套件,不过貌似这次活动不提供USB-KW41Z,抓包器类似于逻辑分析仪,当你要用它时,往往能起到事半功倍 ...

  • [STM32]Nucleo-F446RE(主控:STM32F446RE)测评

    测: *基本概念: 1. 什么是Nucleo?(说实话,作者我也是对这个概念很好奇) Nucleo是意法半导体加入ARM embed项目后的又一个风格系列板卡,有两个鲜明的特点:1.兼容Arduino ...

  • Linknode开发板评测

    一.开箱与三个sensortag对比 拿到LinkNode,看了看包装,Mbed BLE sensors Tag,那咱也当他是一个sensortag吧,正好手头还有两颗Ti的sensortag,一起比 ...

  • NRF52832学习笔记(33)

    一.功耗模式 nRF52 上只有两种电源模式:SYSTEM_ON 和 SYSTEM_OFF 1.1 SYSTEM_ON低功耗模式 SYSTEM_ON:此状态有持续延迟和低功率子模式.当系统空闲进入 S ...

  • 物联网开发板对对碰系列之三——Hexiwear 开发平台

    物联网开发板对对碰系列之一--概述 物联网开发板对对碰系列之二--Hexiwear 1.按照Hexiwear的定位,这是一款以OpenSDA支持的开发板,因此,基于NXP的全系列开发工具都是完全兼容. ...