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

发布者:EnchantingEyes最新更新时间:2024-06-28 来源: elecfans关键字:物联网  机智云  代码移植 手机看文章 扫描二维码
随时随地手机看文章

前言

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


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


机智云代码工程移植

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


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

芯片选型为:STM32F103RCTx


2、配置相关外设

2.1 SYS 配置为 SWD 调试

fec766de-c581-11ec-8521-dac502259ad0.png?imageView2/2/w/1000


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

fede1640-c581-11ec-8521-dac502259ad0.png?imageView2/2/w/1000


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

fef3ae24-c581-11ec-8521-dac502259ad0.png?imageView2/2/w/1000


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

ff071e32-c581-11ec-8521-dac502259ad0.png?imageView2/2/w/1000


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

ff288c8e-c581-11ec-8521-dac502259ad0.png?imageView2/2/w/1000


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

ff3b74c0-c581-11ec-8521-dac502259ad0.png?imageView2/2/w/1000


2.6 配置所用到的 IO 口

两个按键

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

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


DHT11 DATA 引脚

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


LED 灯

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

ff526f68-c581-11ec-8521-dac502259ad0.png?imageView2/2/w/1000


2.7 配置时钟树

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

ff6fab6e-c581-11ec-8521-dac502259ad0.png?imageView2/2/w/1000


2.8 自动生成 CubeMX 工程

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

ff83642e-c581-11ec-8521-dac502259ad0.png?imageView2/2/w/1000


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

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

ff9545cc-c581-11ec-8521-dac502259ad0.png?imageView2/2/w/1000


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

ffafb45c-c581-11ec-8521-dac502259ad0.png?imageView2/2/w/1000

ffc3defa-c581-11ec-8521-dac502259ad0.png?imageView2/2/w/1000


修改 hal_key.c 中的初始化

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

ffd84c32-c581-11ec-8521-dac502259ad0.png?imageView2/2/w/1000

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


采集数据的上发


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?imageView2/2/w/1000


3、选择乐鑫模组

000c68aa-c582-11ec-8521-dac502259ad0.jpg?imageView2/2/w/1000


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

002234be-c582-11ec-8521-dac502259ad0.png?imageView2/2/w/1000


5、等待几秒钟时间

003d5974-c582-11ec-8521-dac502259ad0.jpg?imageView2/2/w/1000


6、连接成功

0051ca1c-c582-11ec-8521-dac502259ad0.jpg?imageView2/2/w/1000


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


关键字:物联网  机智云  代码移植 引用地址:基于物联网的远程温湿度监测系统(3)机智云代码移植

上一篇:基于机智云AIoT开发平台的智能仓库设计
下一篇:基于物联网的远程温湿度监测系统(1):创建云端产品,烧录Gagent

推荐阅读最新更新时间:2026-03-20 12:19

基于机智与STM32的智能拐杖安全监测系统在养老物联网中的应用
随着老龄化加剧与科技进步,“ + 养老” 成为智慧养老核心方向,老年人出行安全与健康监测需求日益迫切。针对传统拐杖智能化不足、功能单一的痛点,本文提出一种融合多与物联网平台的智能拐杖系统,以 为核心主控,集成 GPS、姿态检测、超声波等传感模块,搭配 本地显示与机智云 App,实现定位、防摔、报警及云端监测一体化功能,为老年人安全出行与家庭照护提供技术支撑。 01系统总体设计 拐杖系统主要能实现GPS定位、防摔倒、障碍物检测、液晶显示、短信报警、语音提示、联网App等功能。系统总体设计结构如图1所示。 图1智能拐杖系统总体设计结构 02硬件设计 智能拐杖系统通过STM32主控芯片来传输和处理各传感设
[单片机]
基于<font color='red'>机智</font><font color='red'>云</font>与STM32的智能拐杖安全<font color='red'>监测系统</font>在养老<font color='red'>物联网</font>中的应用
IoT毕设 | 机智AIoT+ESP8266+物联网智能家居控制系统
本文介绍的智能云家居控制系统是由嘉应学院管嘉诚等人设计开发完成。该系统通过 ESP8266 与机智云物联网平台的服务器互联,使用智能手表远程控制解决老式家居联网问题。该智能云家居共有两大部分:第一部分采用了 STM32F103ZET6 作为主控芯片,由数据采集系统、数据处理系统、数据云传输系统以及智能家居智能调节系统构成;第二部分采用了 ESP32 作为主控芯片,由数据接收系统以及控制系统构成。 01 引 言 传统家电产品性能已发展到极限,难有大幅度上升。传统家电行业急需创新产品,时下最热门的人工智能便成了行业突破口。因此,智能家居成为了家电大厂和互联网巨头的必争红海。随着智能家居相关技术的不断成熟与发展,智能家居系统的发展前景将
[单片机]
<font color='red'>IoT</font>毕设 | <font color='red'>机智</font><font color='red'>云</font>AIoT+ESP8266+<font color='red'>物联网</font>智能家居控制系统
基于机智物联网平台的 SOC 单相智能电表
本项目是由山东科技大学张新慧开发完成。通过研制了一款基于物联网的 SOC 单相智能电表,遵循国网公司电能表、集中器、服务器、客户端体系架构,设计了以 SOC 芯片 HT5017 为核心的电能表,以STM32F103C8T6 芯片为核心的集中采集器,构建了以机智云物联网为平台的服务器,开发了基于 Android 平台的客户应用程序,并实现了数据传输、客户远程查看等功能。 01 引 言 近年来,我国现代化程度不断深入,我国电网的智能化程度也不断增加,而智能电表作为智能电网最为重要的一环在电网中扮演着重要的角色。智能电表作为智能电网的终端设备,相比于传统的电表,智能电表可以实现自动抄表、故障诊断、参数检测、数据发送等功能,可以大大节省人
[单片机]
基于<font color='red'>机智</font><font color='red'>云</font><font color='red'>物联网</font>平台的 SOC 单相智能电表
基于机智物联网的智能花卉栽培系统
摘要:为提高花卉栽培质量、确保稳定生长环境,满足远程监测与调控需求,我们设计了一款基于物联网技术的智能花卉栽培系统。系统采用三层物联网架构,主要使用STM32单片机和多种传感器实现全面感知,通过WiFi传输实现信息交互,并在机智云物联网平台实现实时监测和远程操控。 种植者可远程监测土壤温湿度、环境温湿度、CO2浓度、光照强度,并通过App实现远程控制水泵、排气扇、补光灯等功能。本设计性能稳定,能有效解决环境信息获取不准确、不及时以及操作不当导致的问题,达到预期效果。 引言 智能花卉栽培系统通过各种传感器及计算机自动控制其生长环境,在不适宜花卉生长的环境下调节环境条件,以达到不时栽培、延长花期和增加产量的目的。本系统利用物联
[单片机]
基于<font color='red'>机智</font><font color='red'>云</font><font color='red'>物联网</font>的智能花卉栽培系统
通过机智物联网平台对家中的晾衣架进行远程控制
本案例以Android手机为人机交互终端,以STM32F103为核心控制终端,基于机智云物联网平台,设计了一套用户通过互联网就能有效地对家中晾衣架进行操作的嵌入式智能控制系统,避免人不在家时,衣物被淋湿的问题。 本系统具备手动和自动两种控制模式实现对晾衣架的合理控制,并且一旦控制端与服务器失去连接,将自动切换至自动模式工作。控制端采用FreeRTOS实时操作系统,在实时性方面表现良好,同时具有高稳定性能稳定地与机智云服务器进行通信。 引言 晾晒衣物是日常生活的一部分,目前,市面上有多种多样的晾衣架,包括手动和电动等。但大部分的电动“智能”晾衣,还依然需要用户站在旁边,按下按钮进行操作,对用户而言仅仅只是省力。因此,如何通过
[单片机]
通过<font color='red'>机智</font><font color='red'>云</font><font color='red'>物联网</font>平台对家中的晾衣架进行<font color='red'>远程</font>控制
基于机智物联网平台的4G智能开窗器控制系统设计
本文是一款基于机智云物联网平台的开发设计,实现了远程开关窗的智能开窗器控制系统,系统的主控单元采用STM32单片机,使用直流推杆电机模拟窗户的开关功能。 光照控制部分是采用光敏模块判断光照强度控制窗户开关、温湿度控制部分是采用温湿度模块监测环境温湿度,并实时显示在OLED屏幕上,通过判断温度高低控制窗户开关,同时实现了雨滴控制和4G控制的功能。通过模块化编程,使整个系统稳定可靠,能够实现智能开窗器控制系统的设计要求。 系统整体设计 本设计采用直流推杆电机的正反转模拟开窗器的开关状态。开窗器的光控,采用光敏电阻传感器进行光照强度采集判断进行控制,实现根据光照就行开窗关窗的操作。窗户的雨滴控制,采用雨滴模块检测是否有雨,当检测
[单片机]
基于<font color='red'>机智</font><font color='red'>云</font><font color='red'>物联网</font>平台的4G智能开窗器控制系统设计
STM32F103+ESP8266接入机智 实现小型IOT智能家居项目
前言 最近有不少小伙伴私信留言,想要我推出一章能够通过APP进行远程控制并获取 传感器 信息 的实验教程。说实话在 嵌入式 毕设里边,这算是中等偏上水平的了。刚好我也有兴趣写写。全篇4700多字,我写的很详细,按着文章一步一步操作即可。(建议跟同学集资购买模块,多一个人一起学习交流,能更快学会) 主要材料准备 STM32 F103C8T6板子 ESP8266 模块(下面两张图是ESP8266模块的正反面) 第九章的所有模块,杜邦线若干条。 1.APP制作 1.1 首先利用网上的一些 物联网 自助开发平台去制作APP,这里我选用 机智云 。浏览器搜索机智云,然后进入官。 1.2 进入官网后点击右上角的
[单片机]
STM32F103+ESP8266接入<font color='red'>机智</font><font color='red'>云</font> 实现小型<font color='red'>IOT</font>智能家居项目
对基于NUC472开发板的机智功能板进行编程
在NUC472开发板上配有Arduino接口,若以该接口与机智云的功能板相配合,则可以有效地拓展该开发板的功能。就目前来讲,对机智云功能板提供支持的核心底板有两种,一种是基于STM32F103的,另一种则是基于ATMEGA328的。以NUC472开发板来支持机智云功能板则可以增加一种对其进行支持的核心底板。 就机智云功能板来说,它提供了RGB_LED、小电机、红外感应器、小按键、温湿度传感器、WIFI模块及OLED接口等,如图1所示。这里仅对RGB_LED、小电机、红外感应、小按键及OLED接口的使用加以介绍。此外,配合片内的RTC、UART、A/D等资源,还实现了RTC电子时钟、串行通讯及A/D采集等功能。 要对机智云功能板
[单片机]
对基于NUC472开发板的<font color='red'>机智</font><font color='red'>云</font>功能板进行编程
小广播
最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

厂商技术中心

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

 
机器人开发圈

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2026 EEWORLD.com.cn, Inc. All rights reserved