摘要:本文内容是讲述用小熊派开发板模拟自动售货机,基于论坛提供的工程代码,通过云端开发和设备终端开发,实现终端数据在的华为云平台显示。

本文内容是讲述用小熊派开发板模拟自动售货机,基于论坛提供的工程代码,通过云端开发和设备终端开发,实现终端数据在的华为云平台显示。通过实际操作和学习,提升了华为云应用能力和物联网相关技能。本文也适用于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开发板模拟自动售货机的更多相关文章

  1. 小熊派IoT开发板系列教程正式发布——免费学习

    [摘要] 小熊派开源社区针对小熊派IoT开发板首次规划了小熊派未来的系列教程.从基础到进阶的设计,可适应具有不同基础的开发者,通过该系列教程的学习,开发者能够轻松掌握IoT产品的开发.该系列教程包括单 ...

  2. 小熊派4G开发板初体验

    开发板硬件资源介绍 前阵子小熊派发布了一款超高性价比的4G开发板(19.8元包邮),但是板子仅限量1000套.小熊派官方给我送了一块,我们一起来学习学习: 板子做得小巧精致,控制核心用的是移远的EC1 ...

  3. Android游戏开发实践(1)之NDK与JNI开发03

    Android游戏开发实践(1)之NDK与JNI开发03 前面已经分享了两篇有关Android平台NDK与JNI开发相关的内容.以下列举前面两篇的链接地址,感兴趣的可以再回顾下.那么,这篇继续这个小专 ...

  4. Android游戏开发实践(1)之NDK与JNI开发01

    Android游戏开发实践(1)之NDK与JNI开发01 NDK是Native Developement Kit的缩写,顾名思义,NDK是Google提供的一套原生Java代码与本地C/C++代码&q ...

  5. Android游戏开发实践(1)之NDK与JNI开发02

    Android游戏开发实践(1)之NDK与JNI开发02 承接上篇Android游戏开发实践(1)之NDK与JNI开发01分享完JNI的基础和简要开发流程之后,再来分享下在Android环境下的JNI ...

  6. Android游戏开发实践(1)之NDK与JNI开发04

    Android游戏开发实践(1)之NDK与JNI开发04 有了前面几篇NDK与JNI开发相关基础做铺垫,再来通过代码说明下这方面具体的操作以及一些重要的细节.那么,就继续NDK与JNI的学习总结. 作 ...

  7. 实践案例丨利用小熊派开发板获取土壤湿度传感器的ADC值

    摘要:一文带你用小熊派开发板动手做土壤湿度传感器. 一.实验准备 1.实验环境 一块stm32开发板(推荐使用小熊派),以及数据线 已经安装STM32CubeMX 已经安装KeilMDK,并导入stm ...

  8. WePY - 小程序敏捷开发实践丨掘金开发者大会

    声明:内容转载他处,如有侵权,可协商下架 本主题虽然在其它地方讲了很多次,但还是有非常多新内容.因为很多东西正在做或者想要做.本次分享主要分为以下几个部分: WePY 的介绍 WePY 的用户 上面展 ...

  9. 开发实践丨昇腾CANN的推理应用开发体验

    摘要:这是关于一次 Ascend 在线实验的记录,主要内容是通过网络模型加载.推理.结果输出的部署全流程展示,从而快速熟悉并掌握 ACL(Ascend Computing Language)基本开发流 ...

随机推荐

  1. JAVA基础之接口与内部类

    接口与内部类 目录 接口与内部类 1. Lambda表达式 1. 关于懒计算 2. Predicate接口 3. 关于方法引用 4. 关于构造器引用 5. 关于变量的作用域 2. 内部类 1. 局部内 ...

  2. Linux 网络栈 转载

    此文章  来自      http://arthurchiao.art/blog/tuning-stack-rx-zh/ [译] Linux 网络栈监控和调优:接收数据(2016) Published ...

  3. 极客mysql38

    InnoDB 引擎把数据放在主键索引上,其他索引上保存的是主键 id.这种方式,我们称之为索引组织表(Index Organizied Table). 而 Memory 引擎采用的是把数据单独存放,索 ...

  4. centos 新装的常见问题

    1.没有1080分辨率 vi /etc/X11/xorg.conf Section "Monitor" Identifier "Monitor0" Vendor ...

  5. Ceph如何实现文件系统的横向扩展

    前言 在跟一个朋友聊天的时候,聊到一个技术问题,他们的一个环境上面小文件巨多,是我目前知道的集群里面规模算非常大的了,但是目前有个问题,一方面会进行一倍的硬件的扩容,而文件的数量也在剧烈的增长着,所以 ...

  6. 使用Actor模型管理Web Worker多线程

    前端固有的编程思维是单线程,比如JavaScript语言的单线程.浏览器JS线程与UI线程互斥等等,Web Woker是HTML5新增的能力,为前端带来多线程能力.这篇文章简单记录一下搜狗地图WebG ...

  7. Web基础_0x00_Web工作方式

    web工作方式 对于普通的上网过程,系统其实是这样做的:浏览器本身是一个客户端,当输入URL的时候,首先浏览器会去请求DNS服务器,通过NDS获取相应的域名对应的IP,然后通过IP地址找到IP对应的服 ...

  8. jboss反序列化漏洞实战渗透笔记

    一.利用shodan,fofa或谷歌搜索关键字:8080/jmx-console/ 二.下载java反序列化终极测试工具进行验证漏洞 三.记住User Current Directory:  C:\j ...

  9. MongoDB动态建表方案(官方原生驱动)

    MongoDB动态建表方案(官方原生驱动) 需求前提:表名动态,表结构静态,库固定 1.导入相关依赖 <dependency> <groupId>org.mongodb< ...

  10. Word1-提取图片文字

    1.OneNote # 将图片以图片格式粘贴在OneNote中-右键选择"复制图片中的文本"-粘贴"只保留文本"即可 这种方式识别率较高!!! 2.手机QQ图片 ...