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

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

3天内不再提示

机智云代码工程移植/采集数据上发/控制数据下拉/配置入网

9GxC_IoTMaker 来源:CSDN技术社区 作者:G.Chenhui 2022-04-27 13:47 次阅读

前言

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

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

机智云代码工程移植

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

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

芯片选型为:STM32F103RCTx

2、配置相关外设

2.1 SYS 配置为 SWD 调试

b78feeaa-c55c-11ec-bce3-dac502259ad0.png

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

b7ade892-c55c-11ec-bce3-dac502259ad0.png

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

b7c89930-c55c-11ec-bce3-dac502259ad0.png

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

b7e5981e-c55c-11ec-bce3-dac502259ad0.png

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

b7fdc7ae-c55c-11ec-bce3-dac502259ad0.png

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

b8193b56-c55c-11ec-bce3-dac502259ad0.png

2.6 配置所用到的 IO 口

两个按键

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

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

DHT11 DATA 引脚

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

LED

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

b8353202-c55c-11ec-bce3-dac502259ad0.png

2.7 配置时钟树

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

b859ef2a-c55c-11ec-bce3-dac502259ad0.png

2.8 自动生成 CubeMX 工程

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

b8789a4c-c55c-11ec-bce3-dac502259ad0.png

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

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

b8970a90-c55c-11ec-bce3-dac502259ad0.png

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

b8aec342-c55c-11ec-bce3-dac502259ad0.png

b8cf3dfc-c55c-11ec-bce3-dac502259ad0.png

修改 hal_key.c 中的初始化

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

b8f6485c-c55c-11ec-bce3-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 
", 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 名前缀和密码。

b90f0d7e-c55c-11ec-bce3-dac502259ad0.jpg

3、选择乐鑫模组

b92db026-c55c-11ec-bce3-dac502259ad0.jpg

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

b9496ff0-c55c-11ec-bce3-dac502259ad0.png

5、等待几秒钟时间

b9731e04-c55c-11ec-bce3-dac502259ad0.jpg

6、连接成功

b98cfb3a-c55c-11ec-bce3-dac502259ad0.jpg

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

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

文章出处:【微信公众号:机智云开发者】欢迎添加关注!文章转载请注明出处。

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

    关注

    0

    文章

    4

    浏览量

    6854
  • 机智云
    +关注

    关注

    2

    文章

    542

    浏览量

    26216
  • ESP8266
    +关注

    关注

    50

    文章

    947

    浏览量

    43927

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

文章出处:【微信号:IoTMaker,微信公众号:机智云开发者】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    Wifi固件空降:RealTek_8711AM,硬件工程师也能开发智能硬件产品啦

    webconfig方式配置入网 5、支持APP在局域网模式下同模组通信 6、支持APP在广域网模式下同模组通信 7、支持模组同MCU间以9600波特率进行串口通信,满足机智串口通信协议 8、支持模组在线OTA升级
    发表于 08-18 18:26

    3分钟教你使用STM32CubeMX配置工程移植机智生成的协议

    3分钟教你使用STM32CubeMX配置工程移植机智生成的协议
    发表于 09-29 15:13

    机智开源框架介绍

    使用GizWifiSDK,连接到机智的开源物联示例APP。该APP针对的是智能家电中的灯泡类产品,此款产品已满足用户基本功能需求,其中包括:1.用户登录;2.配置入网;3. 搜索设备列表;4.绑定或解绑设备
    发表于 12-27 15:47

    机智自动生成工程移植STM32CubeMX

    的接口,即可将机智自助生成的STM32方案工程里面的设备协议移植过来,真正实现全程图形化配置,傻瓜式开发,这样既可十分方便的将其它型号ST
    发表于 02-07 16:59

    机智APP开源框架介绍

    :这是一款可以帮助开发者快速使用GizWifiSDK,连接到机智的开源物联示例APP。该APP针对的是智能家电中的灯泡类产品,此款产品已满足用户基本功能需求,其中包括:1.用户登录;2.配置入网;3.
    发表于 02-15 17:56

    史上最详细的Arduino uno R3接入机智教程

    和esp8266无线WIFI模块实现了通过手机APP远程监测单片机系统采集数据控制一个LED的亮灭,读者将体验到使用机智智能硬件自助开
    发表于 11-18 14:52

    STM32CubeMX移植机智自动生成代码详解

    工程中只有STM32L496ZGT相关的驱动代码,若要使用机智的联网能力就需要移植相关的协议源码(即前文介绍的已自动生成的STM32F1
    发表于 12-28 13:50

    STM32+机智WebSocket实现物联网游戏

    给出整套代码。     2.3 在机智部署产品  首先就是在机智创建一个自己的产品,以此来获取 Product Key,这个是
    发表于 07-16 14:30

    基于arduino +机智物联网平台的阳台生态控制系统的设计

    端)到设备的双向数据通讯,以及配置入网、发现绑定。软件层面,机智提供开发框架代码实现了底层通信协议的解析封包,通信
    发表于 07-16 12:28

    基于机智的嵌入式系统应用开发—空调远程智能控制系统

    控制器程序开发方法是借用机智提供的软件包完成,步骤如下:(1)根据产品密钥下载相应的软件工具包,内容包括官方提供的移植手册和设备控制程序
    发表于 06-15 17:49

    正点原子探索版STM32F407,接入机智代码移植

    为了给自己的移植过程做一个记录,特此写下正点原子探索者STM32F497的移植过程。移植步骤在机智物联网开发平台新建设备,
    发表于 06-17 12:12

    机智创建项目和数据

    一、基于STM32+ESP8266+机智的物联网demo1、在机智创建项目和数据集2、WI
    发表于 08-03 07:45

    ESP8266-01S接入机智物联网平台

    就可以成功。 最后进入配置成功页面GAgent协议GAgent主要的作用是数据转发,是设备数据机智、应用端(APP)的
    发表于 04-06 18:32

    基于机智服务平台的媒体设备控制系统

    ,设备做出实时响应。设备配置入网基于机智的媒体设备控制系统设计的设备配置入网测试步骤如下:①给设备
    发表于 07-31 20:47

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

    了“创建云端产品,烧录Gagent”,“DHT11驱动的编写”。本文主要介绍,机智代码工程移植采集数据上发、
    的头像 发表于 04-27 11:02 745次阅读
    基于物联网的远程温湿度监测系统(3)<b class='flag-5'>机智</b>云<b class='flag-5'>代码</b><b class='flag-5'>移植</b>