1. 创建HelloWorld工程
打开IoT Studio,点击创建IoT Studio工程:
Studio初始界面
填写工程设置,需要注意一下几点:
- 工程名称和目录中不可以有中文或者空格
- SDK版本选择最新的IoT_LINK版本,当前最新1.0.0
- 硬件平台选择
STM32L431RC_BearPi
- 示例工程选择
hello_world_demo
Studio创建工程
创建完成之后进入IoT Studio界面如图:
Studio项目界面
2. IoT_LINK SDK
在创建工程时,会选择 SDK 版本,如图:
Huawei IoT link SDK
Huawei IoT link SDK(下文统一简称SDK)是部署在具备广域网能力、对功耗/存储/计算资源有苛刻限制的终端设备上的轻量级互联互通中间件,您只需调用API接口,便可实现设备快速接入到物联网平台以及数据上报和命令接收等功能。
SDK提供端云协同能力,集成了MQTT、LwM2M、CoAP、mbedtls、LwIP 全套 IoT 互联互通协议栈,且在这些协议栈的基础上,提供了开放 API,用户只需关注自身的应用,而不必关注协议内部实现细节,直接使用SDK封装的API,通过连接、数据上报、命令接收和断开四个步骤就能简单快速地实现与华为OceanConnect云平台的安全可靠连接。使用SDK,用户可以大大减少开发周期,聚焦自己的业务开发,快速构建自己的产品。
SDK和LiteOS的关系
Huawei IoT link SDK 的底层拥有OS适配层,可以适配Linux、MacOS、LiteOS,以及其它第三方OS(需要自行适配),本教程中所使用的SDK底层所适配的OS是LiteOS。
SDK和IoT Studio的关系
为了用户开发方便,SDK的代码不会出现在 IoT Studio 中,IoT Studio中只有用户的目标工程代码(target),但是,SDK的代码会在编译的时候被编译进工程。
那么,SDK的代码在哪里?如何查看SDK的代码?
SDK的代码在C:UsersAdministrator.icodesdkIoT_LINK_1.0.0
目录下,其中 Administrator 是我的用户名,在实际情况中会是你当前的用户名,SDK 的代码较多,所以建议使用VS Code 直接打开 IoT_LINK_1.0.0
文件夹查看。
如何更新SDK
SDK不断的进行更新,可以在 IoT Studio 的工程中进入“文件 -> 首选项”,选择“SDK 管理”,如果有新的版本被检测到,状态会变为“可更新”,更新方法为:选中该SDK,然后点击“安装/更新”即可:
每次打开工程时都要看看SDK是否有更新,最近的一次更新为2019-11-28(今天),另外,更新SDK后,需要重新创建工程以刷新配置。
3. HelloWorld Demo
HelloWorld的示例代码在 Demos/hello_world_demo/hello_world_demo.c
文件中,示例代码中创建了一个名称为 helloworld,优先级为 2 的任务,该任务每隔 4s 在串口打印一次数据,代码如下:
#include <osal.h>
static int app_hello_world_entry()
{
while (1)
{
printf("Hello World! This is LiteOS!rn");
osal_task_sleep(4*1000);
}
}
int standard_app_demo_main()
{
osal_task_create("helloworld",app_hello_world_entry,NULL,0x400,NULL,2);
return 0;
}
4.编译
IoT Studio使用 arm-none-eabi-gcc 工具链进行编译,使用 make 工具构建编译,使用*.mk
文件留给用户配置一些 makefile 中的选项。
设置编译器和make工具路径
还记得在上一篇文章中安装IoT Studio时查看的开发工具路径吗?没错,接下来我们就需要配置这两个路径:
arm-none-eabi-
编译器路径
编译器的路径在:C:UsersAdministratoropenSourceToolsGNU Tools Arm Embedded7 2018-q2-updatebin
,其中 Administrator 是我的用户名,更换为你的用户名即可。
在IoT Studio中进入“工程 -> 工程配置”,选择“编译器”,配置编译器路径:
make
构建器路径
make构建器的路径在C:UsersAdministratoropenSourceToolsGNU MCU EclipseBuild Tools2.11-20180428-1604bin
,其中 Administrator 是我的用户名,更换为你的用户名即可。
在IoT Studio中进入“工程 -> 工程配置”,选择“编译器”,配置make路径:
设置工程的makefile
整个工程的 makefile 在 GCC
目录下,在编译之前,要确保在IoT Studio中指定该makefile:
makefile选择界面
编译工程
指定 makefile 之后,点击编译按钮
即可编译整个工程,所有的编译输出信息会在控制台打印:
控制台界面
目前SDK中的警告不用管,再次点击编译即可。
5. 烧录
IoT Studio 支持使用 Jlink 或者 ST-Link 下载程序,小熊派开发板板载ST-Link下载器,并且是STLink-v2.1版本,所以使用 OpenOCD 通过ST-Link 进行下载,下载设置如图:
OpenOCD参数中st-link-v2.cfg 和 st-link-v2-1.cfg 是不同的!
设置完成之后,连接小熊派开发板到PC,点击下载按钮
即可,控制台会打印出下载信息:
控制台界面
烧录完成之后,开发板自动复位,程序开始运行,可以看到LCD屏幕显示如下字样:
代码语言:javascript复制Welcome to IoTCluB!
BearPi IoT Develop Board
Powerd by Huawei LiteOS!
Please wait for system init!
6. 查看串口输出结果
IoT Studio 集成了串口终端,可以很方便的查看串口输出信息。
在使用之前首先进行串口的设置:
串口终端设置界面
连接小熊派开发板,并且确保小熊派开发板右上角的串口选择开关拨到AT-MCU一端。
然后点击查看按钮
选择串口终端:
串口终端查看界面
在控制台会显示串口终端界面,点击打开串口按钮即可,可以看到Demo程序在串口的输出如图:
串口终端控制台界面