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

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

    网卡都是pci设备,因此这里每个网卡驱动其实就是一个pci驱动.并且intel这里是把好几个万兆网卡(82599/82598/x540)的驱动做在一起的.V4L2 一样几个类型摄像头合并在一起 先说一 ...

  2. const常量与define宏定义的区别(转)

    #define RADIUS 100; const  float   RADIUS = 100; (1) 编译器处理方式不同 define宏是在预处理阶段展开. const常量是编译运行阶段使用. ( ...

  3. nginx状态监控统计

    nginx是一款很优秀的web服务器软件,很多地方都有接触和使用到他,大部分的场景压力还没达到需要调优的地步,而调优的难点其实不在于调,而在于各项状态的监控,能够很快的找到资源在什么时候出现问题,调整 ...

  4. Python_入门第一篇【持续更新...】

    1.准备 准备电脑 和 分区 1.准备配置稍高的电脑(后后期需要装虚拟机),分辨率1920*1080 2.分区: C→系统 D→Project E→软件安装盘 F→其他 准备编辑器 1.Sublime ...

  5. FTP漏洞利用复现

    目录 FTP弱口令漏洞 FTP后门漏洞利用 FTP弱口令漏洞 漏洞描述 FTP弱口令或匿名登录漏洞,一般指使用FTP的用户启用了匿名登录功能,或系统口令的长度太短.复杂度不够.仅包含数字.或仅包含字母 ...

  6. redhat-DHCP服务的配置与应用

    DHCP服务器为客户端提供自动分配IP地址的服务,减轻网管的负担 首先 rpm -q dhcp 查看是否安装dhcp yum -y install dhcp进行安装 安装完成 dhcp服务配置 dhc ...

  7. gcc和g++理解

    环境使用的编译器版本是是gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-39) 编译使用了c++11标准的程序时不能通过. 先放解决方法:g++ -std=c++11 ...

  8. CleanMyMac X是如何进行Mac文件清理的

    Mac系统进行文件清理,一般是直接将文件拖动入"废纸篓"回收站中,然后通过清理回收站,就完成了一次文件清理的操作,但是这么做并无法保证文件被彻底删除了,有些文件通过一些安全恢复手段 ...

  9. php数组学习记录01

    array_change_key_case array_change_key_case - 将数组中的所有键名修改为全大写或小写 <?php $input_array = array(" ...

  10. 简化的鸿蒙WiFi接口,仅需几行代码,简单易用!

    使用鸿蒙原始WiFI API接口进行编程,整个过程稍显繁琐,为此我们对鸿蒙原始WiFi API接口做了一层封装,形成了一套更简单易用的接口. 简化后的API接口 STA模式 // 连接WiFi热点,并 ...