历史上的今天
返回首页

历史上的今天

今天是:2025年01月22日(星期三)

正在发生

2018年01月22日 | 使用STM32快速开发AliOS Things硬件与软件环境

2018-01-22 来源:互联网

ST与阿里巴巴集团旗下的云计算科技公司——阿里云合作,推出基于STM32L4 IoT探索套件快速开发AliOS Things的方案。STM32用户可以在STM32L4 IoT上运行阿里的物联网操作系统AliOS,无缝连接阿里云。本文以WiFi连接阿里云收发消息为例介绍了,如何获得AliOSThings开源代码,和如何基于IoT探索套件STM32B-L475E-IOT01A与STM32常用开发工具IAR来快速编译、烧写、调试MQTT应用。


硬件概述


**这块开发板使用的是ST低功耗MCU系列中的STM32L475这款芯片,拥有1M字节的Flash和128K字节的SRAM。


**支持WiFi,蓝牙,SubG, NFC等多种无线连接方式。因为它还支持Arduino接口,所以使用者也可以很方便的通过Arduino接口来扩展其他的无线连接模块,比如GSM模块。


**板上还集成了64Mbits的Quad-SPIFlash。


**板上还搭载了多种传感器,比如温湿度传感器,高性能3轴磁力计,加速度传感器,陀螺仪,接近传感器和压力传感器等。方便开发者用来进行多种应用的演示。


**板子上还有两个数字全角度麦克风。若需要,还可以实现语音控制的功能。


软件环境


**阿里巴巴AliOSThings开发包


**IAR开发环境。然而,AliOSThings开发包内建也支持使用KEIL和GCC开发STM32应用,不需要用户额外花时间从零开始对工程文件进行设置。


**串口工具Tera Term。可用来显示程序运行的信息和配置WiFi用户名和密码。


AliOS Things


AliOS Things 是 AliOS 家族旗下的、面向 IoT 领域的、轻量级物联网嵌入式操作系统。完整源代码开发包可在同页面通过GIT或者ZIP包下载。以ZIP包下载为例,你可以找到右边的“Clone or download”按钮(下图中的绿色按钮)



会出现一个选择界面如下,选择“Download ZIP”(下图中的蓝色按钮),然后保存AliOS-Things-master.zip就可以了。



目前下载后的压缩包大小不到100M。


使用IAR编译


IAR是STM32开发人员常用的开发工具,如何安装IAR就不在本文赘述。


有了IDE后,接下来就是解压缩AliOS-Things-master.zip到任意目录。然后进到AliOS-Things-master\projects\IAR\mqttapp目录,选择IAR工程文件alios.eww。工程文件打开后应该是这个样子:



直接按F7或者选择菜单里“make”就可以开始编译。



调试运行


使用micro usb连接到B-L475E-IOT01A开发板。在板子上,该usb口靠近一个LED灯,而离黑色Reset和蓝色用户按钮较远。点击“Download and Debug”按钮,中间弹出STLink连接确认窗口,请点击确认。程序会自动下载到开发板里,并停在主函数main那里。你可以随时在菜单里选择“Debug->Go”或者直接按F5运行。若需要看到完整AliOS运行日志,可以等到串口连接后再让程序继续运行。

Tera Term串口配置


需要使用串口终端程序Tera Term(其他类似串口软件亦可)来配置网络或者察看程序运行的日志。


第一次使用Tera Term,需要对串口通信进行配置。在菜单里选择“Setup->SerialPort”。



配置参数如下图所示。



配置完成后,在“File”菜单里选择“NewConnection”。



选择串口Serial。如果板子连接正常,这里的串口信息会自动显示出来,点击OK就可以了。若这里显示的串口号与先前串口通信配置的不一样,需要返回去修改。或者,在配置之前,先利用这里的信息看下实际的串口端口号是什么。



你可以看到有以下运行日志,表示程序已经运行,可以配置WiFi了。



在串口配置WiFi


首次启动时需要手动配网,配网命令:

netmgr connect ssid password open|wep|wpa|wpa2

最后一个是安全接入参数,输入内容为open或wep或wpa或wpa2,对于WiFi AP设定的连接安全协议。后续会保持WiFi配置在kv里,如果网络环境不变,按Reset按钮(板子的黑色按键),开机后会自动连接WiFiAP。



程序循环上报Sensor和LED灯的数据


程序会循环上报Sensor和LED灯的数据到云端。发送数据结束或者网络连接异常,可以按黑色Reset按钮重新体验。

其它


习惯使用KEIL开发环境的STM32用户,可以在解压缩后的开发包AliOS-Things-master\projects\Keil\B-L475E-IOT01\mqttapp下找到你需要的工程。对于GCC用户,则可以从https://github.com/alibaba/AliOS-Things/wiki了解如何下载配置相关的软件;在环境配置完成后,直接在VS Code里选择target目标mqttapp@b_l475e就可以进行GCC环境下的编译。


总结


对于STM32用户,AliOSThings内建对多款STM32 L0/L4 MCU的支持,支持主流的IAR/KEIL/GCC快速开发环境。本文基于STM32L4 IoT探索套件,以AliOSThings物联网MQTT应用为例,详细描述了如何获取AliOSThings资源以及编译、调试运行STM32应用。整个过程也显示了结合STM32与AliOS Things可迅速建立物联网节点。STM32用户可在此基础上来创建更多物联网应用。

推荐阅读

史海拾趣

AMD(超微)公司的发展小趣事
  1. 公司成立与早期发展:AMD(Advanced Micro Devices)公司成立于1969年,由Jerry Sanders在美国加利福尼亚州圣克拉拉创立。最初,AMD致力于生产挑战Intel在x86处理器市场的产品,但起初面临着市场份额不足和技术挑战等问题。然而,随着时间的推移,AMD逐渐在市场上获得了一席之地,并推出了一系列创新产品。

  2. x86处理器市场竞争:AMD在x86处理器市场与Intel展开了激烈的竞争。1991年,AMD推出了第一款x86兼容处理器386DX-40,开始了与Intel的竞争。此后,AMD不断推出更快、更强大的处理器,如K6系列、Athlon系列等,一度取得了一定的市场份额。

  3. ATI收购与图形处理器发展:为了拓展业务,AMD于2006年收购了图形处理器制造商ATI Technologies。这一收购使AMD进入了图形处理器市场,并推出了一系列创新的图形处理器产品,如Radeon系列。AMD通过不断推出高性能、高度集成的图形处理器,赢得了广大用户的青睐。

  4. 全球Foundry战略:为了降低制造成本并提高生产效率,AMD实施了全球Foundry战略。2008年,AMD成立了GlobalFoundries,将自己的制造业务转移给这家独立的半导体制造公司。这一举措使AMD得以专注于设计和研发,提升了公司的竞争力。

  5. 技术创新与新市场拓展:除了在x86处理器和图形处理器市场取得成功外,AMD还不断进行技术创新,拓展新的市场。例如,AMD在数据中心领域推出了EPYC系列服务器处理器,致力于满足云计算和大数据处理的需求。此外,AMD还在游戏主机市场与Sony和Microsoft等公司合作,提供高性能的处理器和图形处理器。

这些故事展示了AMD在其创立以来的发展历程,包括在x86处理器市场的竞争、图形处理器领域的扩展、全球Foundry战略的实施以及在新兴市场的技术创新和市场拓展等方面取得的成就。

Elpac公司的发展小趣事

作为一家有社会责任感的企业,Elpac公司始终关注环境保护和可持续发展。公司积极采用环保材料和清洁能源,努力降低生产过程中的能耗和排放。同时,Elpac公司还积极参与各种公益活动和社会事务,回馈社会、关爱弱势群体。这些举措不仅提升了公司的品牌形象和社会影响力,也为公司的长远发展注入了正能量。

以上是关于电子行业里某假设性“Elpac公司”的发展故事,希望对您有所帮助。

Ceratech Corporation公司的发展小趣事

随着电子行业的快速发展,对电感产品的需求也日益增长。Ceratech Corporation公司敏锐地捕捉到了这一市场机遇,决定拓展电感产品线。公司投入大量研发资源,成功开发出一系列新型电感产品,这些产品不仅性能优异,而且具有广泛的应用范围。通过不断拓展电感产品线,Ceratech Corporation进一步巩固了其在电子行业的地位。

Hirschmann公司的发展小趣事
虽然TC4013的时钟频率不是直接决定延时时间的因素,但它会影响定时器的触发频率和输出信号的周期。通过调整时钟信号的频率,可以在一定程度上改变输出信号的周期或占空比,从而间接影响定时电路的延时效果。然而,这种方法通常用于调整输出信号的频率特性,而非直接调整延时时间。
Aleph America Corporation公司的发展小趣事
在自动化控制系统中,定时电路常用于实现各种定时控制功能,如延时启动、定时关闭、周期性操作等。这种可编程定时电路可以根据实际需求灵活设置延时时间和输出特性,满足复杂的控制要求。
Flambeau公司的发展小趣事

在追求经济效益的同时,Flambeau公司始终不忘履行社会责任和环保使命。公司积极响应全球可持续发展号召,将环保理念融入产品研发、生产和销售的各个环节。通过采用环保材料、优化生产工艺、推广循环经济等措施,Flambeau有效降低了产品生命周期中的环境影响。此外,公司还积极参与环保公益活动和社会责任项目,为推动电子行业的绿色可持续发展贡献力量。

问答坊 | AI 解惑

提高超声波测距精度的设计

提高超声波测距精度的设计的方法…

查看全部问答>

新建SENSOR调试群

在论坛讨论太慢 强烈要求大家进去一起讨论学习:QQ群号:22280050…

查看全部问答>

进程间如何做到互斥?

gpio寄存器都是以组的形式出现(一个寄存器对应一组gpio.pin),我们的多个驱动会用到同一组gpio的不同pin来做一些使能复位等控制,那么会出现对不同pin但同组即同寄存器操作的状况吗?在同一进程下,我们可以用线程同步的互斥体来避免冲突。如果是 ...…

查看全部问答>

用数据线连接手机并控制STK卡菜单,这个能否实现?请高手指点

就是用手机数据线连接计算机后,直接用AT命令(或其他方式)控制SIM卡(STK)的菜单 执行SIM卡(STK)菜单的功能,是否能实现,如果能请说出详细的步骤。或者其他的实现方法 主要就是能在计算机上操作SIM卡(STK)菜单执行移动的增值服务功能。 如果不用 ...…

查看全部问答>

关于定时器和串口通讯问题

51有两个定时器,如果两个定时器的初始化一样,怎么知道是用哪个定时器作为波特率发生器。 初学者,请指教。…

查看全部问答>

格式化分区的问题

运行到pfnFormatVolume(hPart, NULL,  &pfo, NULL, NULL)后, 就停在这了。 重启后发现分区Part01里的内容已经清空。pfnFormatVolume出不来会是什么原因? 代码帖上来了: void CFormatDlg::OnFormat() {       &nb ...…

查看全部问答>

请大家帮忙推荐一下,开发atmega48用哪种环境比较好?

请大家帮忙推荐一下,开发atmega48用哪种环境比较好?谢谢大家了!…

查看全部问答>

突发奇想

原来提交方案的时候曾经提到过光控功能,可惜后来因为比较忙,就偷懒给省略掉了。今天在看以前画的电路图时突发奇想,画了个光控部分的草图。因为今天比较晚了,所以先传上原理图,改日再对其原理做介绍。 实现的功能是: 1、灯正在使用中,检 ...…

查看全部问答>

基于AT91SAM7X256下ucos的通信项目(外包)

【项目内容描述】把原来裸机写的3000行代码移植到ucos上,使具有tcp/ip的socket通讯功能,和别的主机通过tcp/ip通信 最好在北京。   费用大概1.5万左右,还可以再商量。   联系qq:340283020…

查看全部问答>

关于MSP430f4152读写操作的问题

void flash_read_kuai(unsigned char * Ptr)    //*ptr为flash地址指针;{  unsigned char i;  for(i=0;i<10;i++)  {    RamCode=*Ptr;         &nb ...…

查看全部问答>