STM32+MQTT+微信小程序

本文介绍了使用STM32F103单片机配合DHT11温湿度传感器、OLED显示屏和ESP8266实现物联网设备的基本功能,包括硬件安装、Keil编程、云连接(OneNET和MQTT)、微信小程序开发及数据交互。
摘要由CSDN通过智能技术生成

实验器材:

硬件:Stm32f103系列单片机  DHT11温湿度传感器  LED灯 OLED显示屏 ESP8266  USB TO TTL   蜂鸣器  GP2Y1014AU0F 

软件:keil

实验内容:

  1. 根据原理图安装硬件
  2. 操作流程:首先对于物联网来说,分为感知层、传输层、应用层。

先完成硬件部分的程序

  1. 建立工程模板,点亮LED灯
  2. 添加OLED,DHT11,蜂鸣器驱动文件

原理图:

5573767a45f94ecbbddf3895aa4a7956.png

连接图:

97b352986c3442ddaffe6be630bb41cd.png

注意:一般要导入别人的程序需要去修改以下这些地方:

bbdd9bf8a5494efeabae370fe677ac3e.png

aac3a18fc50549db8583971e47381065.png

5d8302119037462582ccd0d5d92469a5.png

f7c9ab1a456f498eacf69b9e1131d823.png

e8b4a852c3864e2a8fc584112b5d09fc.png

添加完按键、蜂鸣器等的驱动后,现在就需要云连接。

步骤如下:

  1. 进入one net  找到资源程序  移植onenet驱动程序

导入方法,将程序导入文件夹后

4458137cab764ab8b45c6a91f2d97afd.png

导入keil中,然后指定文件位置

99c9d2db621a4eeca3d8581e0b1ef3c9.png

f598b197ad7e46f8858c6071e65845ea.png

导入完成之后,要使用MQTT服务器,设备采集数据发送到MQTT服务器

488c70dad2b643738ef5a24c3f0da0b8.png

接下来,使用MQTT fx给服务器发送消息

861b8f958b084ec098ecba4423bba6ff.png

8a475b6c98994c32914a705a3ea0b1a8.png

这里也可以使用json来解码

28e38ea29c7a46f1a81d90bd0f13cc87.png

所谓json就是键值对,这里大家可以去b站搜索学习哈,这里简单说明一下供大家理解。

Json格式为    {“key”:”value”},例如

{

“姓名”:”小胡”,

“班级”:”物联网”

}

这就是设备上行数据

接下来需要让我们的设备接收MQTT服务器发送来的数据,也就是设备订阅命令发送到上位机,这里需要用到CJson,去官网下载即可,然后按照同样的方法导入到Keil中。同样使用MQTTfx模拟上位机

4f565e8a5df74d79994cab6a8d141689.png

此时便可以发现蜂鸣器关闭,如果为0则蜂鸣器打开

接下来写微信小程序

打开微信开发者工具,新建一个Image文件夹,用来存放图片,在app.Json当中,使用tabbar底边栏,将图片放入

db2ad6977faf4b09bd36e6d62f718142.png

接下来进行微信顶栏的开发

在这里我们加入一个天气预报

进入主页,index

完成基本界面的绘制

接下来让小程序连接MQTT的一个服务器

完成连接之后,就要让天气预报实时更新

打开和风天气控制台,申请KEY

f80d637f82b1404e8e1d8680167e0e31.png

e1beafc5aca64745972abb0e026da4db.png

在这里就可以获得一个免费的key

加入到程序中,运行

0dd9f59c71a14c1bb5c2745137bf8a53.png

  • 9
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值