开发实践丨用小熊派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)基本开发流 ...
随机推荐
- 优测 x QTA 兼容性测试全面启动啦
鉴于Android系统开放性开发,以及Android系统在智能机市场的覆盖率超高的特点,APP的兼容性测试需求大幅提升.为迎合市场需求,优测(Utest)与QTA合作,全力打造兼容性测试服务.由优测提 ...
- MySQL架构(面)
和其它数据库相比,MySQL有点与众不同,它的架构可以在多种不同场景中应用并发挥良好作用.主要体现在存储引擎的架构上,插件式的存储引擎架构将查询处理和其它的系统任务以及数据的存储提取相分离.这种架构可 ...
- FreeSql接入CAP的实践
CAP CAP 是一个基于 .NET Standard 的 C# 库,它是一种处理分布式事务的解决方案,同样具有 EventBus 的功能,它具有轻量级.易使用.高性能等特点. https://git ...
- Check Host:实时监控网站或者服务器是否可以访问
如果你拥有一个网站,那么最重要的事情就是要保证它24小时都能够访问.不过国内的虚拟主机服务非常糟糕,经常会出现各种状况,所以我们需要一个软件,可以让我们第一时间知道网站出现了无法访问的情况,从而通知售 ...
- flink1.10版本StreamGraph生成过程分析
1.StreamGraph本质 本质就是按照用程序代码的执行顺序构建出来的用于向执行环境传输的流式图,并且可以支持可视化展示给用户的一种数据结构. 2.StreamGraph.StreamNode和S ...
- Flink处理函数实战之四:窗口处理
欢迎访问我的GitHub https://github.com/zq2599/blog_demos 内容:所有原创文章分类汇总及配套源码,涉及Java.Docker.Kubernetes.DevOPS ...
- linux qt 5.12.6 编译mysql驱动
环境:ubuntu 18.4 x64.qt 5.12.6 问题:安装后是没有mysql的驱动的 解决过程: 各种搜索,先后安装了mysql mysql-client,mysql-server,和各种l ...
- Cypress系列(90)- Cypress.Cookies 命令详解以及如何跨测试用例共享 Cookies
如果想从头学起Cypress,可以看下面的系列文章哦 https://www.cnblogs.com/poloyy/category/1768839.html Cypress.Cookies 共有三个 ...
- XML、XSL、XSLT、DTD、XSD的区别
前言: 在众神的努力之下,js已经可以跨出浏览器走向不同的领域了 也因为这个,对前端工程师的要求也不仅仅是会写写h5页面做交互.前端涉及的领域越来越广,对开发人员对素质能力要求越高. 以前因设备不同导 ...
- Lombok之@Builder注解
Lombok之@Builder注解 前言 Lombok大家都知道,在使用POJO过程中,它给我们带来了很多便利,省下大量写get.set方法.构造器.equal.toString方法的时间.除此之外, ...