你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

ST IoT之路,B-L475E-IOT01A开发板试玩(转载)

[复制链接]
eefishing 发布时间:2017-9-27 16:39

看到一篇不错的文章,转载了,在此分享给大家(文章有点长...)


ST的产品和技术宣传总是能吸引开发者的眼球。且不说各种类型的研讨会、产品培训,单说不定期的向开发者甚至爱好者免费派发各种类型的开发板,就吸引了不少潜在的用户,再加上ST对各种开发板的低价定位策略,确实赚足了眼球。

ST针对其各种MCU产品,推出了不同类型的开发板。如针对入门级用户的NUCLEO及DISCO系列,面向大客户版的EVAL系列,一直深受开发者好评。X-CUBE系列则进一步拓展了开发板的使用范围,将传感器及其它外设引入了,让ST的生态系统更趋完美。

B-L475E-IOT01A则更进一步,将ST的MCU及相关的外设演绎得淋漓尽致,可谓一板在手,夫复何求!

STMicroelectronics B-L475E-IOT01A探索套件支持开发可直接连接至云服务器的应用。 该探索套件通过利用低功耗通信、多路传感和基于ARM® Cortex® -M4内核的STM32L4系列特性,支持开发广泛应用。 由于支持Arduino Uno V3和PMOD连接,因此可提供无限的扩展能力,即提供海量的专用附加板选择。

看热闹,先来看热闹。

11.png


B-L475E-IOT01A的外包装,官方为之命名为IoT node。其实我们已见过太多以IoT命名的开发板,大多只不过提供了ETH/WIFI/BLE中的一种而已,而B-L475E-IOT01A,才是真正的实至名归。

12.png


探索套件整体风格与以前的DISCO略有不同。除了Arduino UNO兼容接口之外,开发板上新增了大量的传感器及其它器件,看到三个铁壳子封装的家伙了么?

13.png


B-L475E-IOT01A将部分元器件移到了背面,包括部分排针接口,所以开发板还贴心的提供了六角支撑柱,并且已安装好了。

开发板正面特写,中央是主控MCU,型号为STM32L475VGT6,100针接口。B-L475E-IOT01A也包含了ST-LINK/V2-1下载/调试器。

14.png


下面是开发板其它角度的欣赏。

0000.jpg



看热闹不过是隔靴搔痒。

B-L475E-IOT01A的魅力,不只是几张图片就可以诠释的。

接下来看看B-L475E-IOT01A给我们带来了什么,看看会有几处令你怦然心动!

17.png

B-L475E-IOT01A探索套件为我们带来了:

• ST超低功耗STM32L475VGT6,内置1Mb/128kb的Flash/SRam存储组合,运行稍大一点的应用无压力

• 64Mbit的QSPI外置存储

• SPBTLE-RF蓝牙模块,兼容BLE 4.1

• SPSGRF-915次吉赫兹RF模块(另外还有一款同型号的支持的是868MHz)

• ISM43362-M3G-L44 WiFi模块,支持802.11 b/g/n通信

• M24SR NFC模块

• 2路数字microphone(MP34DT01)

• HTS221温湿度传感器

• LIS3MDL,高性能三轴磁力计

• LSM6DSL三轴陀螺仪

• LPS22HB压力计

• VL53L0X姿态传感器

• USB OTG接口

• PMOD接口,Arduino UNO V3接口

• 灵活的供电接口设计

• ST生态支持


必须得承认,B-L475E-IOT01A确实带来了惊喜,甚至有点惊艳!

这,还是我们以前所认识的DISCO么?除了尺寸,甚至比EVAL板还要强大了,有木有!?

四大无线组件,为B-L475E-IOT01A插上飞翔的翅膀,你想飞,就让你飞,而且是任意飞


       SPBTLE-RF是一款易用的BLE模块,兼容BLE 4.1标准。该模块同时支持服务器及客户端模式,通过SPI与主控MCU通信,接收及发送指令及数据。

21.png

SPBTLE-RF内嵌完整的BLE协议栈,主要包括GAP, GATT, SM, L2CAP, LL, RFPHY等,通过软件配置,可以实现BLE低功耗配置,最大发射功率+4dBm,板载天线,并通过了CE、FCC及BQE认证。

SPSGRF-915是一款支持915MHz的低频通信模块,支持2-FSK, GFSK, MSK, GMSK, OOk及ASK等不同调制模式,最高通信速率可达500kbps,通过SPI接口与主控MCU通信。在LoRa及NB-IoT大行其道的今天,ST也表明了其立场,咱也支持!

22.png

Inventek ISM43362-M3G-L44的WiFi模块提供了接入WiFi的能力,该模块内包括一个STM32主控MCU及一个BroadCom的通信模块,内置RF天线,通过UART与L475通信。模块内置TCP/IP协栈,通过AT命令与之进行交互。

23.png

Inventek ISM43362-M3G-L44支持802.11 b/g/n通信,加密方式支持WPA/WPA2,保证通信安全。

除了无线模块,B-L475E-IOT01A套件包含的传感器也相当丰富,当然这些传感器大多是ST自家的模块。其实这些模块很多都曾以X-CUBE模块的方式单独提供。将这些零散的传感模块都扔到一块,笔者很喜欢!这里择其一二进行介绍。

LIS3MDL是一款超低功耗三轴磁力计,该模块可以选择通过I2C接口或者SPI接口与MCU通信,该模块包含自我检测能力,在最终的应用中可以用来检测设备功能是否正常。精度方面,LIS3MDL可以实现 ±4/ ±8/ ±12/±16 gauss范围内的磁场强度检测,一般地磁强度大约在0.4~0.6之间,可见 LIS3MDL的应用范围还是非常广的。

LSM6DSL是一款低功耗的3D陀螺仪,高性能运行模式下消耗约0.65mA电流,LSM6DSL通过事件中断来实现可靠、有效的运动检测,可以在硬件层面实现自由落体、单击/双击等感知能力。LSM6DSL的检测包括线性方面的加速度及旋转加速度两种类型,前者的精度包括 ±2/±4/±8/±16g ,后者则可以对 ±125/±245/±500/±1000/±2000 dps范围内的加速度进行检测。

相比于前面介绍的两种传感器而言,大多数用户对VL53L0X可能会比较陌生一点。

VL53L0X是一款激光测距传感器,这是ST在ToF领域推出的的一款很拉风的应用。VL53L0X有很多优势,一是测距时间短,约30ms左右;其次是功耗低,工作模式下约20mW功耗;VL53L0X输出的是精确到毫米的测距结果,目标物体的颜色和反射光不会影响测距结果,且内部激光器发射940nm波长非可见光,不伤害眼睛,消除了与其它红外接近检测传感器发射红光分散人们注意力的问题,增强了对外部光源的抗干扰性能。

24.png

这么多好东西,在B-L475E-IOT01A都可以体验!正所谓春风得意马蹄疾,一日看尽长安花!

现在准备上电。

B-L475E-IOT01A出厂默认固件是使用AWS提供的IoT功能来演示如何实现物联网功能,上电后可以在串口输出中看到如下信息

25.png

B-L475E-IOT01A先要接入Internet,这里看到的画面是连接到WiFi的画面,由于还没有配置好WiFi接入参数,所以这里看到的是接入失败的信息。别急,在系统上电后迅速按下用户按键,会看到如下的画面

26.png

输入y开始配置WiFi接入参数,只要指定SSID及PASSWORD即可,下面是指定了SSID及口令之后的显示信息

31.png

可以看到WiFi接入成功,B-L475E-IOT01A已获取到了IP地址。后面的画面是需要接入AWS用到的CA证书,这个需要先申请AWS的账号,然后再根据AWS提供的证书来一步一步配置。

笔者尝试申请了一个免费的AWS账号,只可惜在信用卡认证的时候显示信用卡不支持,作罢!

不过就算不使用AWS功能,还有很多值得体验的特性,如WIFI,如BLE,如激光测距等功能,下面我们一一体验。

最新的CUBEMX中软件包中已支持B-L475E-IOT01A开发板,里面提供了许多测试例程,可以直接运行这些例程,也可以在此基础上稍加修改,添加自己的功能。这里只体验三个功能,即WIFI、BLE及距离传感器。

Inventek ISM43362-M3G-L44支持802.11 b/g/n通信,加密方式支持WPA/WPA2。打开CUBEMX的L4软件包,里面的目录结构如下

32.png

WiFi目录下包含两个示例程序,一个是Client,另一个是Server。使用Keil打开Server工程文件,对工程文件进行必要的修改,这里只要修改上级路由的SSID及PASSWORD两个值即可,该代码位于main.c文件的顶部,如下

  1. /* Includes ------------------------------------------------------------------*/
  2. #include "main.h"
  3. /* Private defines -----------------------------------------------------------*/
  4. /* Update SSID and PASSWORD with own Access point settings */
  5. #define SSID "SSID"
  6. #define PASSWORD "PASSWORD"
  7. #define WIFI_WRITE_TIMEOUT 10000
  8. #define WIFI_READ_TIMEOUT 10000
  9. #define TERMINAL_USE
  10. #define PORT 80
复制代码

修改SSID及PASSWORD两个值,端口值默认为80,这也是WEB SERVER默认使用的端口值,不必修改。

编译,上传代码至B-L475E-IOT01A,在浏览器地址栏内输入通过DHCP获取的IP地址(查看B-L475E-IOT01A获取到的IP地址,可以使用终端软件连接到开发套件查看),这里的IP地址为192.168.88.16,得到的结果如下

33.png


工程使用了温度传感器,将采集到的温度通过WEB方式显示到WEB页面,另外WEB代码还演示了远程点灯的功能,点击LED on/off,使用提交功能,实现远程控制LED灯的亮灭。

第二个演示的功能是BLE的点灯功能,板载的BLE模块充当SERVER,通过手机或其它客户端程序连接至GATT服务器,执行写入或读取操作。值得一提的是B-L475E-IOT01A完全支持使用mbed来进行软件开发,mbed基于云端服务,使得代码的共享更容易,另外mbed封装了底层的API细节,使得开发起来更具备高级语言的开发特性,代码也更简洁。下面是mbed的main.c部分代码

  1. DigitalOut alivenessLED(LED1, 0);
  2. DigitalOut actuatedLED(LED2, 0);
  3. const static char DEVICE_NAME[] = "LED";
  4. static const uint16_t uuid16_list[] = {LEDService::LED_SERVICE_UUID};
  5. static EventQueue eventQueue(/* event count */ 10 * EVENTS_EVENT_SIZE);
  6. LEDService *ledServicePtr;
  7. ..........
  8. void onDataWrittenCallback(const GattWriteCallbackParams *params) {
  9. if ((params->handle == ledServicePtr->getValueHandle()) && (params->len == 1)) {
  10. actuatedLED = *(params->data);
  11. }
  12. }
复制代码

虽然现在开发者对mbed的评价是毁誉参半,但不可否认,使用mbed来开发嵌入式应用,开发周期必将大大缩短,同时代码的质量也能得到保证,毕竟这是全球开发人员智慧的集结。

编译后下载到本地的hex代码 ,可以使用拖放的方式拖到mbed磁盘,代码即实现下载并运行。

测试工具使用的是nRF connect Android版程序,测试的部分结果如下(作图),发现LED服务,点击connect按钮,则连接到LED服务(右图)

未标题-2.jpg


默认的LED服务只提供了一个Characteristic,可对之进行读写操作,写入1,则点亮LED2,写入0,则熄灭LED2。

41.png


使用nRF connect进行读写时要注意,这里选择的是以byte方式来操作,写入0的话要输入0x00。

下面的图显示的BLE心率报告功能,心率数据是虚拟的,为的只是演示。测试结果如下

42.png

43.png


最后一个测试的是距离传感器,看下传说中以mm为精度的距离传感模块到底性能如何。

测试代码用的是CUBEMX里的Proximity工程文件,打开该工程,不需要修改,直接编译、上传代码至开发板。

44.png


将传感器与被测试的目标(这里是个小纸盒)摆开一定的距离,同时为了更好的演示实际效果,使用了直尺做简单的距离测量,如上图所示。最终的测试结果如下

45.png


实际距离约100mm左右,上图测试结果显示为96mm,官方宣称测试精度误差为3%,测试结果显示非常接近实际值了。另经多次测试,发现测试值一般略小于实际值,而且每次测试结果会有小小波动,不过波动值不大。不错!

还有其他很多有趣而实用的功能,这里就不一一介绍了。

B-L475E-IOT01A是所有ST官方开发板中值得拥有并收藏的一款板子。

低功耗MCU配合众多的低功耗传感器堪称绝配,L4系列MCU在低功耗与高性能之间取得了一个很好的平衡点,静如处子,动如脱兔,正是B-L475E-IOT01A的真实写照。

史无前例的无线组合配置,与某开发板宣称的WIFI/BLE一个也不能少,B-L475E-IOT01A则是一笑而过:一个也不能少,什么才是一个也不能少?

最后,配置齐全的传感器组合,诠释了什么才是真正的重装上阵! B-L475E-IOT01A,我来了!



收藏 1 评论8 发布时间:2017-9-27 16:39

举报

8个回答
creep 回答时间:2017-9-27 16:53:06
膜拜N神!
zero99 回答时间:2017-9-27 17:07:18
anny 回答时间:2017-9-27 20:26:07
多谢分享!!!!
Paderboy 回答时间:2017-9-27 20:42:19
膜拜N神。。
epochal 回答时间:2017-9-27 20:46:05
大神!!!
anobodykey 回答时间:2017-9-27 21:16:19
好厉害,这个板子有送迈?
wolfgang2015 回答时间:2017-9-29 16:58:55
花花花~~~~~~买买买~~~~
talos 回答时间:2019-12-13 14:12:34
为啥我的板子reset然后user之后出现下面的情况
http://community.st.com/sfc/serv ... tId=05T0X00000gviwG

所属标签

STM32团队

意法半导体微控制器和微处理器拥有广泛的产品线,包含低成本的8位单片机和基于ARM® Cortex®-M0、M0+、M3、M4、M33、M7及A7内核并具备丰富外设选择的32位微控制器及微处理器


最新内容

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
微信公众号二维码 微信公众号
手机版二维码 手机版