本文分享自华为云社区《智慧路灯实验手册(MQTT+Wi-Fi)-完善版-云社区-华为云》,作者:华为云社区精选。 版本说明 本示例代码工程基于IoTLINK2.1.0版本构建。 简介 智慧路灯是城市智能化道路上重要一环,智慧路灯的实施具有节约公共照明能耗、较少因照明引起的交通事故等多种社会意义。路灯也是大家在日常生活中可以强烈感知到的公共设施,更易理解其智能化的场景。 本实验基于NB-IoT和WIFI实现智慧路灯案例,实现实时数据的采集,实现命令下发的响应,实现端云互通。 E53_SC1扩展板采用了E53标准接口,包含了一个路灯灯珠,一个BH光照强度传感器,其中路灯灯珠使用普通GPIO控制,BH使用IIC接口通信。 开发前准备 环境准备 ?已注册华为云官方帐号。未注册可点击注册页面完成注册。 ?已完成实名制认证。未完成可在华为云上点击实名认证完成认证,否则无法使用设备接入功能。 ?已开通设备接入服务。未开通则访问设备接入服务,点击“免费试用”后开通该服务。 ?已下载IDE:HuaweiLiteOSStudio1.45+(含扩展插件) ?已下载编译烧录工具包:包含arm-none-eabi、build、openocd-0.10.0。 ?已下载ST-Link驱动包:ST-Link.zip 硬件准备 ?开发板:小熊派开发板(含WIFI通信扩展板、E53_SC1案例扩展板) 环境配置 1.硬件连接 连接好E53_SC1案例扩展板和Wi-Fi通信扩展板。将串口选择开关拨到AT-MCU模式,并用USB线将开发板与电脑连接,如图所示。 2.IDE安装配置 1)下载并解压HUAWEI-LiteOS-Studio.zip。 2)双击运行HUAWEI-LiteOS-Studio-Setup-x64-1.45.9.exe,根据提示步骤完成默认安装。 3)启动运行HUAWEI-LiteOS-Studio,在IDE活动栏中,打开扩展视图,点击更多操作...,在弹出的菜单中选择从VSIX安装,然后指定中文语言包MS-CEINTL.vscode-language-pack-zh-hans-1.45.1.vsix文件路径,即可完成安装。 4)根据提示重启IDE,即可切换为中文界面。 3.编译烧录工具配置 下载并解压Tools.zip,将解压后的arm-none-eabi、build、openocd-0.10.0全部拷贝到C:\Users\xxx\.huawei-liteos-studio\tools目录下。 注:xxx为本地PC用户名,请根据实际路径进行配置。 4.驱动安装 下载并解压ST-Link.zip,根据操作系统类型,双击配套的执行文件进行安装。 开始使用 1.创建产品 对于设备上报至物联网平台的数据,云端物联网平台要能够解析设备上报的数据。故需要在设备接入服务侧完成产品模型定义,编解码插件开发部署等。 产品模型是用来描述设备能力的文件,通过JSON的格式定义了设备的基本属性、上报数据和下发命令的消息格式。定义产品模型,即在物联网平台构建一款设备的抽象模型,使平台理解该款设备支持的属性信息。 步骤1进入设备接入服务控制台,选择左侧导航栏“产品”进入页面。 步骤2单击右上角的“创建产品”,按照页面提示填写信息。 ?所属资源空间:选择默认资源空间 ?产品名称:自定义,如MQTT_streetlight ?协议类型:MQTT ?数据格式:JSON ?设备类型选择:自定义类型 ?设备类型:自定义,如MQTT_streetlight 步骤3单击“确定”,创建产品成功。 步骤4单击“查看详情”,进入产品详情页面。在“模型定义”页签下,单击“上传模型文件”。 步骤5添加产品模型文件“Smart_Light_profile.zip”,并单击“确定”完成上传。 模型文件下载链接:Smart_Light_profile.zip 查看服务列表,属性和命令信息如下: 2.注册设备 步骤1进入设备接入服务控制台,选择左侧导航栏“设备”进入设备列表页面。 步骤2单击右上角的“注册设备”,按照页面提示填写相关参数。 ?所属资源空间:选择上一步创建产品时选择的资源空间 ?所示产品:选择刚创建的产品,如MQTT_streetlight ?设备标识码:自定义,如streetlight ?设备名称:自定义,如streetlight_01 ?设备认证类型:选择“密钥” ?密钥/确认密钥:自定义,如 步骤3单击“确定”,添加设备成功,请保存好设备ID和密钥,用于设备接入平台认证。 3.导入代码工程 步骤1获取项目工程代码包并解压(注:路径不要包含中文、空格)。 获取项目工程:MQTT_StreetLight_Demo.rar 步骤2启动HUAWEILiteOSStudio工具,单击“OpenProject”,打开项目工程。 项目工程预览如下: 4.配置项目工程 步骤3单击 打开工程配置,目标板选择STM32LRC,并“确认”。 步骤4填写编译器配置选项后,单击“确认”。 ?编译器类型:arm-none-eabi ?编译器目录:请根据实际路径配置,例如c:\Users\xxx\.huawei-liteos-studio\tools\arm-none-eabi\bin ?Make构建器:请根据实际路径配置,例如c:\Users\xxx\.huawei-liteos-studio\tools\build\bin\make.exe ?Make脚本:请根据打开的项目工程进行配置,例如targets\STM32L_BearPi\GCC\Makefile 步骤5填写烧录器配置选项后,单击“确认”。 ?烧录方式:选择OpenOCD ?端口:选择USB ?烧录器配置:请根据实际路径配置,例如.\tools\openocd-0.10.0\bin-x64 ?Interface文件:默认值 ?Target文件:默认值 ?烧录文件:无需配置,待项目工程编译成功后会自动填充,例如.\targets\STM32L_BearPi\GCC\build\Huawei_LiteOS.bin 5.修改配置参数 步骤1在代码中修改设备信息。 1)打开文件:*\targets\STM32L_BearPi\iot_config.h 2)修改CN_EP_DEVICEID为在物联网平台注册设备时生成的设备ID,修改CN_EP_PASSWD为在物联网平台注册设备时填写的密钥。 3)修改完成,请按Ctrl+S保存修改。 步骤2配置WIFI用户名和密码。 此处只能使用用户名密码加密方式认证的WIFI,不能使用其他加密方式的WIFI。(可以使用手机开启WIFI热点,数据量不大不会占用太多个人流量) 开发板Wifi模块仅支持2.4GHz频段的热点,暂不支持5GHz频段。 1)打开文件:*\targets\STM32L_BearPi\.config 2)修改CONFIG_ESP_SSID为热点设备名称,修改WIFI_ESP_PWD为热点密码。 3)修改完成,请按Ctrl+S保存修改。 4)打开文件:*\targets\STM32L_BearPi\iot_config.h 5)修改CONFIG_ESP_SSID为热点设备名称,修改WIFI_ESP_PWD为热点密码。 6)修改完成,请按Ctrl+S保存修改。 6.编译烧录 步骤1单击 进行编译,单击 进行烧录。 如果修改了.config文件和iot_config.h文件,请单击 全量重新编译,否则修改点可能不会生效。 步骤2单击 打开串口终端,选择端口,设置波特率,开启串口,可以在接收区查看到打印的日志信息。 步骤3在LCD屏上,可以看到实时数据显示。 7.调试运行 步骤1在物联网平台中,可以看到设备实时上报属性数据。 步骤2在物联网平台中下发控制命令(开启路灯),查看命令下发结果及开发板的响应。 注:当前MQTT设备仅支持同步命令下发,NB设备仅支持异步命令下发。 示例代码 案例程序文件: "targets\STM32L_BearPi\Demos\oc_streetlight_template\oc_streetlight_template.c" 参考 详细了解IoT设备接入服务,请参考IoTDA帮助文档。 修订记录 转载请注明原文网址:http://www.13801256026.com/pgjg/pgjg/6792.html |