开发实践丨用小熊派STM32开发板模拟自动售货机
摘要:本文内容是讲述用小熊派开发板模拟自动售货机,基于论坛提供的工程代码,通过云端开发和设备终端开发,实现终端数据在的华为云平台显示。
本文内容是讲述用小熊派开发板模拟自动售货机,基于论坛提供的工程代码,通过云端开发和设备终端开发,实现终端数据在的华为云平台显示。通过实际操作和学习,提升了华为云应用能力和物联网相关技能。本文也适用于IoT物联网开发全栈成长计划,第三阶段学习交流用。感谢大家批评指正!
实验资源
云平台:华为云物联网设备接入服务
通信协议:mqtt
通信方式:WiFi
开发环境:VSCode
工程代码:Huawei_LiteOS_Lab_AIoT 下载链接:https://bbs.huaweicloud.com/blogs/174611
模型文件:AIoT123_Model 下载链接:https://bbs.huaweicloud.com/blogs/174611
模拟设备:小熊派开发板(stm32)
实验步骤
一.云端开发
前提:注册华为云,并且通过实名认证
- 创建产品
华为云⇒物联网⇒设备接入IoTDA
产品⇒创建产品 ,如下图所示:

如下图所示:
所属资源空间:随便选一个
产品名称(自定义):AIOT
协议类型:MQTT
数据格式:JSON
厂商名称(自定义):123
设备类型(自定义):123

- 添加模型
打开刚才创建的产品⇒上传模型文件。如下图所示:

选择本地下载好的AIoT123_Model.zip文件(下载链接请看本文开始)⇒点击确定
会显示上传成功⇒点击确认。如下图所示:



- 增加设备
点击设备⇒注册设备

如下图所示:
所属资源空间:与产品的选择保持一致。
所属产品(刚才创建):AIOT。
设备识别码(自定义):456789123。
设备名称(自定义):AIOT_123。
设备认证类型:密钥。
密钥(自定义),不要忘了设置密码,后边要用。

点击确认后,会提示设备创建成功,如下图所示。找个记事本把设备ID和密码保存起来待用。

二.终端开发
关于开发工具VSCode和IoTLink插件下载和安装, 请参考https://bbs.huaweicloud.com/forum/thread-83464-1-1.html
- 导入工程
下载Huawei_LiteOS_Lab_AIoT工程文件(下载链接请看本文开始部分),解压。打开VSCode导入工程,如下图所示:

如下图所示:
工程目录:D:\iot\Huawei_LiteOS_Lab_AIoT\targets\STM32L431_BearPi
makefile:D:\iot\Huawei_LiteOS_Lab_AIoT\targets\STM32L431_BearPi\GCC,选择makefile文件
硬件平台:STM32L431
点击确定

- 配置工程
修改Demos\oc_mqtt_demo\oc_mqtt_vending_machine.c文件,把云平台的设备ID和密码(之前在记事本保存好的),分别替换第98和第99的xxxxxx。
如下图所示:

修改wifi账号和密码,找一个附近常用可以上网的WiFi账号和密码。需要修改2处,第一处是.config文件。第二处是iot_config.h文件。如下图所示:


- 编译工程
修改完文件后,保存一下。点击build,如下图所示:

- 下载到开发板
连接好小熊派开发板,把AT开关拨到MCU端,点击Download。如下图所示:

如下图显示:下载成功后,显示屏上会显示商品名称。操作F1(选择)和F2(确定)按键,随便选择一个商品,然后选择Submit,F2下单。

三.云平台接收显示数据
华为云⇒物联网⇒设备接入IoTDA⇒设备,可以看到有数据上来了,如下图显示:

打开设备影子,可以查看详细数据,如下图所示:

本文分享自华为云社区《手把手教你_基于小熊派STM32开发板模拟自动售货机_连接华为云IOT物联网平台》,原文作者:mjj13 。
开发实践丨用小熊派STM32开发板模拟自动售货机的更多相关文章
- 小熊派IoT开发板系列教程正式发布——免费学习
[摘要] 小熊派开源社区针对小熊派IoT开发板首次规划了小熊派未来的系列教程.从基础到进阶的设计,可适应具有不同基础的开发者,通过该系列教程的学习,开发者能够轻松掌握IoT产品的开发.该系列教程包括单 ...
- 小熊派4G开发板初体验
开发板硬件资源介绍 前阵子小熊派发布了一款超高性价比的4G开发板(19.8元包邮),但是板子仅限量1000套.小熊派官方给我送了一块,我们一起来学习学习: 板子做得小巧精致,控制核心用的是移远的EC1 ...
- Android游戏开发实践(1)之NDK与JNI开发03
Android游戏开发实践(1)之NDK与JNI开发03 前面已经分享了两篇有关Android平台NDK与JNI开发相关的内容.以下列举前面两篇的链接地址,感兴趣的可以再回顾下.那么,这篇继续这个小专 ...
- Android游戏开发实践(1)之NDK与JNI开发01
Android游戏开发实践(1)之NDK与JNI开发01 NDK是Native Developement Kit的缩写,顾名思义,NDK是Google提供的一套原生Java代码与本地C/C++代码&q ...
- Android游戏开发实践(1)之NDK与JNI开发02
Android游戏开发实践(1)之NDK与JNI开发02 承接上篇Android游戏开发实践(1)之NDK与JNI开发01分享完JNI的基础和简要开发流程之后,再来分享下在Android环境下的JNI ...
- Android游戏开发实践(1)之NDK与JNI开发04
Android游戏开发实践(1)之NDK与JNI开发04 有了前面几篇NDK与JNI开发相关基础做铺垫,再来通过代码说明下这方面具体的操作以及一些重要的细节.那么,就继续NDK与JNI的学习总结. 作 ...
- 实践案例丨利用小熊派开发板获取土壤湿度传感器的ADC值
摘要:一文带你用小熊派开发板动手做土壤湿度传感器. 一.实验准备 1.实验环境 一块stm32开发板(推荐使用小熊派),以及数据线 已经安装STM32CubeMX 已经安装KeilMDK,并导入stm ...
- WePY - 小程序敏捷开发实践丨掘金开发者大会
声明:内容转载他处,如有侵权,可协商下架 本主题虽然在其它地方讲了很多次,但还是有非常多新内容.因为很多东西正在做或者想要做.本次分享主要分为以下几个部分: WePY 的介绍 WePY 的用户 上面展 ...
- 开发实践丨昇腾CANN的推理应用开发体验
摘要:这是关于一次 Ascend 在线实验的记录,主要内容是通过网络模型加载.推理.结果输出的部署全流程展示,从而快速熟悉并掌握 ACL(Ascend Computing Language)基本开发流 ...
随机推荐
- innodb为什么需要doublewrite(转)
InnoDB的page size默认是16KB,而操作系统的一个block size是4KB,磁盘io block则更小.那么InnoDB的page刷到磁盘上要写4个操作系统block,在极端情况下( ...
- Cephfs 操作输出到日志查询系统
前言 文件系统当中如果某些文件不见了,有什么办法判断是删除了还是自己不见了,这个就需要去日志里面定位了,通常情况下是去翻日志,而日志是会进行压缩的,并且查找起来非常的不方便,还有可能并没有开启 这个时 ...
- The Dos and Don'ts for Ceph for OpenStack
Ceph和OpenStack是一个非常有用和非常受欢迎的组合. 不过,部署Ceph / OpenStack经常会有一些容易避免的缺点 - 我们将帮助你解决它们 使用 show_image_direct ...
- 如何统计Ceph的RBD真实使用容量
前言 ceph的rbd一直有个问题就是无法清楚的知道这个分配的空间里面到底使用了多少,这个在Jewel里面提供了一个新的接口去查询,对于老版本来说可能同样有这个需求,本篇将详细介绍如何解决这个问题 查 ...
- centos 6 系统下同步本地时间
1.date显示系统时间 [root@oldboy ~]# dateTue Mar 31 22:45:55 CST 2020 #CST是指是指某中标准时间 非东八区时间 更改时间的三种方法 1.c ...
- JVM(一)-JVM入门
JVM的定义: JVM是Java Virtual Machine(Java虚拟机)的缩写,JVM是一种用于计算设备的规范,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的 ...
- 蓝鲸平台开启consul.conf UI界面
#第一步: vi /data/bkce/etc/supervisor-consul.conf 修改参数: command=/usr/bin/consul agent -config-file=/dat ...
- msfvenom制作payload
windows msfvenom -a x86 --platform Windows -p windows/meterpreter/reverse_tcp LHOST=攻击机IP LPORT=攻击机端 ...
- springboot实战开发全套教程,让开发像搭积木一样简单!Github星标已上10W+!
前言 先说一下,这份教程在github上面星标已上10W,下面我会一一给大家举例出来全部内容,原链接后面我会发出来!首先我讲一下接下来我们会讲到的知识和技术,对比讲解了多种同类技术的使用手日区别,大家 ...
- gitlab private-token利用工具
在渗透测试中,经常会遇到只获得gitlab PRIVATE-TOKEN的情况,而gitlab提供了一系列的api给我们通过这个token去访问gitlab. 所以做了个简单的gitlab工具,以供紧获 ...