0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

基于物联网的远程温湿度监测系统(3)机智云代码移植

机智云 2022-04-27 11:02 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群


前言

本项目主要通过使用STM32F103C8T6作为主控MCUESP8266作为数据透传模块,接入机智云AIoT云平台,通过在线智能产品,实现了远程联网、温湿度监测、APP控制等功能。

上文介绍了“创建云端产品,烧录Gagent”,“DHT11驱动的编写”。本文主要介绍,机智云代码工程移植、采集数据上发、控制数据下拉、配置入网。

机智云代码工程移植

前面我们有说到,在机智云平台创建产品完成后,生成了一个 MCU 的工程,这个工程是 CubeMX 所创建的,为了保持一致性,我们选择使用 HAL 库进行开发。

1、创建一个新的 CubeMX 工程。

芯片选型为:STM32F103RCTx


2、配置相关外设

2.1 SYS 配置为 SWD 调试

fec766de-c581-11ec-8521-dac502259ad0.png

2.2 使能外部高速时钟,并配置为外部晶振

fede1640-c581-11ec-8521-dac502259ad0.png

2.3 配置 TIM3 相关参数,机智云的通信协议中会用到

fef3ae24-c581-11ec-8521-dac502259ad0.png

2.4 配置 TIM2 相关参数,用于实现 us 级的延时

ff071e32-c581-11ec-8521-dac502259ad0.png

2.5 配置 USART1,用在 PC 端打印信息

ff288c8e-c581-11ec-8521-dac502259ad0.png

2.6 配置 USART2,用于连接 ESP-8266

ff3b74c0-c581-11ec-8521-dac502259ad0.png

2.6 配置所用到的 IO 口

两个按键

两个按键的公共端配置为 推挽输出模式、低电平且下拉

两个按键的自由端配置为 输入模式、上拉

DHT11 DATA 引脚

配置为 推挽输出模式、高电平且上拉

LED

配置为 推挽输出模式、低电平

ff526f68-c581-11ec-8521-dac502259ad0.png

2.7 配置时钟树

输入频率根据板子上的晶振频率填写,我们现在是 8 MHz。接着锁相环进行 9 倍频,使 AHB、APB1、APB2 桥的频率达到最高。

ff6fab6e-c581-11ec-8521-dac502259ad0.png

2.8 自动生成 CubeMX 工程

最好对下面的选项进行勾选。

ff83642e-c581-11ec-8521-dac502259ad0.png

3、将机智云平台生成的协议 demo 移植进入自己的工程

打开机智云工程文件夹,将其中的 Gizwits、Hal、Utils 文件夹复制到自己的工程文件夹中。

ff9545cc-c581-11ec-8521-dac502259ad0.png

Keil 中将复制的所有文件导入工程

ffafb45c-c581-11ec-8521-dac502259ad0.png

ffc3defa-c581-11ec-8521-dac502259ad0.png

修改 hal_key.c 中的初始化

语句中对应的IO 口和引脚号改为自己配置好的

ffd84c32-c581-11ec-8521-dac502259ad0.png

完成上述步骤后,工程移植成功。

采集数据的上发

voidgizwitsHandle(dataPoint_t*dataPoint)

参数 dataPoint [in]:用户设备数据点。

该函数中完成了相应协议数据的处理即数据上报的等相关操作。

自定义相关代码如下:

void userHandle(void)
{
  DHT11_Read_Data(&temperature, &humidity);
 currentDataPoint.valuetemperature = temperature;//Add Sensor Data Collection
  currentDataPoint.valuehumidity = humidity;//Add Sensor Data Collection
}

控制数据的下拉

int8_tgizwitsEventProcess(eventInfo_t*info,uint8_t*gizdata,uint32_tlen)

参数 info [in]:事件队列

参数 data [in]:数据

参数 len [in]:数据长度

用户数据处理函数,包括wifi状态更新事件和控制事件。

自定义相关代码如下:

case EVENT_LED:
  currentDataPoint.valueLED = dataPointPtr->valueLED;
  GIZWITS_LOG("Evt: EVENT_LED %d \n", currentDataPoint.valueLED);
if(0x01 == currentDataPoint.valueLED)
  {
//user handle
    PCout(15) = 1; // led灯亮
  }
else
  {
//user handle  
    PCout(15) = 0; // led灯灭
  }
break;

ESP8266配置入网

有两种配网的方式:airlink、softap。

这里我们选用 softap 模式进行配网。

步骤如下:

1、板子上电后,短按 按键2 进入 softap 模式

如果想要查询是否处于 softap 模式,可以将串口连接至 PC,查看打印出的相关信息。

2、进入机智云 APP 中选择 热点配置

填写要连接的路由器的账号和密码,以及ESP-8266发出的 WIFI 名前缀和密码。

fff746fa-c581-11ec-8521-dac502259ad0.jpg

3、选择乐鑫模组

000c68aa-c582-11ec-8521-dac502259ad0.jpg


4、按照提示,连接前缀为 XPG-GAgent- 的热点信号

002234be-c582-11ec-8521-dac502259ad0.png


5、等待几秒钟时间

003d5974-c582-11ec-8521-dac502259ad0.jpg


6、连接成功

0051ca1c-c582-11ec-8521-dac502259ad0.jpg


至此,即完成了 ESP-8266 softap 模式的配网。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 物联网
    +关注

    关注

    2939

    文章

    47317

    浏览量

    407836
  • 监测系统
    +关注

    关注

    8

    文章

    3026

    浏览量

    84220
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    基于芯源CW32F030 MCU低功耗温湿度监测系统设计

    芯源微电子推出的CW32F030 MCU因其低功耗和多功能外设广泛应用于联网和环境监测系统。本篇文章展示如何使用CW32F030构建一个简单的温湿
    发表于 12-03 06:20

    基于LORA无线通讯的祥控多点式烟叶温湿度监测系统

    XKCON祥控多点式烟叶温湿度监测系统基于LORA无线通讯技术,无需复杂的布线工作,缩短了工期,节省了成本;系统可以根据烟厂的实际布局和需求进行灵活配置,实现对各单点无线
    的头像 发表于 09-23 17:02 608次阅读
    基于LORA无线通讯的祥控多点式烟叶<b class='flag-5'>温湿度</b><b class='flag-5'>监测</b><b class='flag-5'>系统</b>

    【上海晶珩睿莓1开发板试用体验】Home Assistant 联网温湿度

    MQTT 协议,实现温湿度数据的上传; Home Assistant (HA) 测试:分别添加温度和湿度传感器卡片,实现远程联网设计;
    发表于 08-18 13:55

    基于联网温湿度监测系统方案:构建全域感知的智能环境网络

    储备粮; -精密制造:半导体车间1%湿度波动引发30%良品率下降; 基于联网温湿度监测系统
    的头像 发表于 07-24 18:05 672次阅读

    远程温湿度测量与报警系统:智能化环境监控的核心解决方案

    温湿度测量与报警系统应运而生——通过联网(IoT)技术实现环境数据的无人值守监测、超限即时报警与历史可追溯分析,成为现代企业实现精细化运营
    的头像 发表于 07-22 17:04 455次阅读

    STM32+esp8266连接机智,上传温湿度数据并控制继电器开关(平台配置、代码生成、代码移植

    本教程将详细介绍如何将STM32微控制器与ESP8266Wi-Fi模块连接到机智平台,实现温湿度数据的上传与继电器的远程控制。通过此过程,您将学会如何配置
    的头像 发表于 07-15 18:54 748次阅读
    STM32+esp8266连接<b class='flag-5'>机智</b><b class='flag-5'>云</b>,上传<b class='flag-5'>温湿度</b>数据并控制继电器开关(平台配置、<b class='flag-5'>代码</b>生成、<b class='flag-5'>代码</b><b class='flag-5'>移植</b>)

    基于联网温湿度监测系统

    在医药冷链、智慧农业、智能制造等领域,温湿度失控轻则导致品质下降,重则引发安全事故。传统人工巡检方式滞后性强、误差率高,而联网温湿度监测
    的头像 发表于 07-08 16:52 491次阅读

    联网温湿度监控系统

    联网温湿度监控系统作为现代智能化管理的重要工具,已广泛应用于农业温室、医药仓储、数据中心、食品冷链等多个领域。其核心价值在于通过实时数据采集、智能分析和
    的头像 发表于 07-07 17:36 732次阅读

    LoRa无线技术的温湿度监测预警系统

    温湿度数据监测、采集、传输和预警。数据传输到MTIC 3.0平台后进行数据分析和优化,然后精准推动到WEB服务系统或手机APP实现实时监测、调度管控等。 四、方案特征 ●实时数据采集
    的头像 发表于 05-14 16:06 625次阅读
    LoRa无线技术的<b class='flag-5'>温湿度</b><b class='flag-5'>监测</b>预警<b class='flag-5'>系统</b>

    通过手机端远程监控冷库温湿度并进行远程控制

    与控制冷库温湿度技术的核心在于联网(IoT)技术的应用。通过在冷库中部署温湿度传感器、控制器等智能设备,这些设备能够实时采集冷库的温湿度
    的头像 发表于 03-10 10:30 864次阅读
    通过手机端<b class='flag-5'>远程</b>监控冷库<b class='flag-5'>温湿度</b>并进行<b class='flag-5'>远程</b>控制

    库房温湿度监测系统

    不可或缺的一部分,对于保障货物安全、维护存储品质具有重要意义。 组成与运行 库房温湿度监测系统是一种专门用于仓库环境温湿度监测
    的头像 发表于 01-06 16:37 925次阅读

    远程温湿度实时监测系统应用方案

    远程温湿度实时监测系统,作为现代环境管理的重要组成部分,是各行各业不可或缺的重要工具,对环境温湿度远程
    的头像 发表于 01-02 17:03 1056次阅读

    大棚温湿度自动监控系统

    大棚温湿度自动监控系统,基于传感器、联网、智能控制等技术,通过实时监测大棚内外的环境参数,如温度、湿度
    的头像 发表于 12-31 16:58 1154次阅读

    STM32项目分享:机智智慧农业系统

    01—项目简介1.功能详解基于STM32的机智智慧农业系统。功能如下:温湿度采集:使用DHT11温湿度传感器采集环境
    的头像 发表于 12-19 18:40 1901次阅读
    STM32项目分享:<b class='flag-5'>机智</b><b class='flag-5'>云</b>智慧农业<b class='flag-5'>系统</b>

    医药仓库温湿度监控系统应用

    。 医药仓库温湿度监控系统,结合联网、无线通讯等技术,通过传感器全天候实时采集仓库内的温湿度数据,管理
    的头像 发表于 12-17 16:16 1024次阅读