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

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

3天内不再提示

基于STM32+机智云的花园4G远程控制器开发全教程

机智云 2026-04-23 18:41 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群


Part.01硬件框架


硬件主要接线说明:单片机串口2(即PA2 PA3)接4G模组协议串口;单片机PA15,PB3-PB9一共8组输出信号接继电器(继电器采用低电平有效);通过继电器的开关来实现对交流220V信号的开关控制,从而实现对交流接触器的通断控制。


f28ca6e8-3f00-11f1-ab55-92fbcf53809c.png

硬件组装实物参考图:


硬件说明:

1、单片机采用STM32F103C8T6核心板一块


f2b0ae6c-3f00-11f1-ab55-92fbcf53809c.png


2、带机智云gagent固件的GA211模组一个,购买链接:

https://item.taobao.com/item.htm?id=607405418406


f2e195d6-3f00-11f1-ab55-92fbcf53809c.png


3.8路5V继电器模组(带光偶隔离,信号均采用低电平有效,通过跳冒调整)


f31a414c-3f00-11f1-ab55-92fbcf53809c.png


4、交流接触器


f3577d28-3f00-11f1-ab55-92fbcf53809c.png


Part.02云端部署


1.注册登录账号,进入机智云开发者中心

https://developer.gizwits.com,点击左上角智能产品后创建,创建一个项目。


f3adcd68-3f00-11f1-ab55-92fbcf53809c.png

智能家居产品。


选择好产品分类,分类不影响开发,方案需要选择自定义方案,不能选择标准方案。


f3e1c8b6-3f00-11f1-ab55-92fbcf53809c.png


输入产品名称,例如:花园4G远程控制器,类型选择移动网络或者WiFi都可以,不影响后续开发,数据传输定长变长都可以,功耗选择正常,配置好后点击创建,完成产品的创建。


f40fcf7c-3f00-11f1-ab55-92fbcf53809c.png
f43db248-3f00-11f1-ab55-92fbcf53809c.png


产品创建结束后需要进行数据点的创建,数据点决定改产品需要实现的功能,可根据自己的需求进行修改。


f46b084c-3f00-11f1-ab55-92fbcf53809c.png


创建一个上花园喷淋数据点,显示名称就是APP显示的名称,标识名是需要写入程序的,需要用英文开头,可以搭配数字及下划线,数据点采用布尔可写。(自己需要新增功能,比如创建2位小数的温度数据点,可以创建数值可只读,分别率0.01,其他默认即可)


f49e8442-3f00-11f1-ab55-92fbcf53809c.png


同样的方式创建,下花园喷淋,上花园灯光,下花园灯光,上花园鱼池循环泵,下花园鱼池循环泵,上院鱼池紫光灯,下院鱼池紫光灯,喷淋时间设置等数据点,可根据自己的需求自行创建。


f4c92846-3f00-11f1-ab55-92fbcf53809c.png


2、移动应用页面编辑


在不使用公版APP,又不想开发代码开发APP的情况下,可选择云端的APP快速开发来进行APP快速生成,移动应用创建详细教程可参考帖子:

https://club.gizwits.com/thread-170135-1-1.html


创建好移动应用后,点击产品开发页面顶上的控制页面导航栏。


f4fcd3e4-3f00-11f1-ab55-92fbcf53809c.png


点击关联应用(需要先创建好应用),选择之前创建好的应用,点击确定,关联好应用。


f5256296-3f00-11f1-ab55-92fbcf53809c.png


打开单设备分享


f5504204-3f00-11f1-ab55-92fbcf53809c.png


配置智能场景,选择所有数据点。方便后续智能场景操作。


f57b348c-3f00-11f1-ab55-92fbcf53809c.png

APP布局修改


f5a007ee-3f00-11f1-ab55-92fbcf53809c.png


修改顺序,图标大小等参数后点击保存,中间是不会随着改变而改变的,仅作为参考。


f5c8c526-3f00-11f1-ab55-92fbcf53809c.png


回到应用开发页面,点击应用构建,构建测试版,构建完成后下载APP即可。


f5f4ccfc-3f00-11f1-ab55-92fbcf53809c.png


3、单片机代码生成与下载

按照如图所示生成STM32f103c8x代码


f62a1966-3f00-11f1-ab55-92fbcf53809c.png


下载代码到电脑备用,到此云顿部署结束。


f6593ffc-3f00-11f1-ab55-92fbcf53809c.png


Part.03单片机代码开发


1、CubeMX初始化配置

将下载的代码进行解压,找到STM32F103C8x.ioc文件,将其打开(需提前安装CubeMX,否则不能打开该项目文件)


f6971228-3f00-11f1-ab55-92fbcf53809c.png


更新库文件使其一致


f6c61fb4-3f00-11f1-ab55-92fbcf53809c.png


按照如图所示,配置上院喷淋引脚,


f6fc3dba-3f00-11f1-ab55-92fbcf53809c.png


同样的方式配置其它输出引脚


f72b92ae-3f00-11f1-ab55-92fbcf53809c.png


为每个文件都生成.c.h文件,方便后续代码整理


f75e75de-3f00-11f1-ab55-92fbcf53809c.png


点击generate code,生成代码,出现库提示就点确认。


f7884620-3f00-11f1-ab55-92fbcf53809c.png


可选择打开项目文件或者关闭文件都可以,打开项目文件需要电脑安装keilARM,到此CubeMX配置结束。


f7abe5ee-3f00-11f1-ab55-92fbcf53809c.png


2、 Bootloder文件烧录

烧录Bootloder文件是为了方便后续进行远程升级系统,详细可参考代码根目录下的《OTA使用教程.html》文件说明。将解压过后的..\Bootloder\Project文件夹下的gokit_mcu_stm32.uvprojx文件用keil ARM打开。


f7cd01ac-3f00-11f1-ab55-92fbcf53809c.png


打开项目后,点击魔法标进入target,配置好烧录大小,11*1024=11264=0x2C00


f7fde0c4-3f00-11f1-ab55-92fbcf53809c.png


点击Linker,配置Flash 烧写地址有效


f825b996-3f00-11f1-ab55-92fbcf53809c.png


点击debug,选择对应的下载器


f857245e-3f00-11f1-ab55-92fbcf53809c.png


下载模式选择按块擦除 Flash 区间


f8795812-3f00-11f1-ab55-92fbcf53809c.png


编译烧录Bootloader固件


f8a01a88-3f00-11f1-ab55-92fbcf53809c.png
f8d4a3de-3f00-11f1-ab55-92fbcf53809c.png


3、单片机APP代码修改烧录

打开之前通过CubeMX初始化后的代码


f900c0ea-3f00-11f1-ab55-92fbcf53809c.png


找到gizwits_protocol.h文件,将注释的#defineOTA_ENABLE 代码打开,让BootLoader生效。


f927e698-3f00-11f1-ab55-92fbcf53809c.png


点击魔法标,配置下载起始地址及大小(此处由于需要用到断电状态数据缓存,所以预留2K地址作为缓存空间)。


f951f9ec-3f00-11f1-ab55-92fbcf53809c.png


配置flash烧写地址有效


f984532e-3f00-11f1-ab55-92fbcf53809c.png


配置下载器擦除固定区间


f9b9d760-3f00-11f1-ab55-92fbcf53809c.png


修改变更的flash起始地址及大小


f9ef0020-3f00-11f1-ab55-92fbcf53809c.png


定义一个数组用于存储开关状态及喷淋时间,以便于后续断电记忆数据处理。


fa2100d4-3f00-11f1-ab55-92fbcf53809c.png
fa43c510-3f00-11f1-ab55-92fbcf53809c.png


在gizwits_product.c新增flash读写程序。


fa77ea48-3f00-11f1-ab55-92fbcf53809c.png


处理云端下发数据,数据处理在gizwitsEventProcess函数。


fa9aa1d2-3f00-11f1-ab55-92fbcf53809c.png


断电记忆,开机读取存储在flash中的参数。


fada2f5a-3f00-11f1-ab55-92fbcf53809c.png
fafb94d8-3f00-11f1-ab55-92fbcf53809c.png


喷淋自动关闭时间处理。


fb2168c0-3f00-11f1-ab55-92fbcf53809c.png


喷淋关闭操作


fb44935e-3f00-11f1-ab55-92fbcf53809c.png


如编译过程中出现was set but never used告警,只需要在对应的变量前加volatile即可,否则可能出现变量被屏蔽的情况。远程升级:可参考生成代码根目录下的OTA文档操作。


Part.04开源项目实物及APP




fbaff586-3f00-11f1-ab55-92fbcf53809c.pngfbdbab86-3f00-11f1-ab55-92fbcf53809c.png

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

    关注

    114

    文章

    17877

    浏览量

    195095
  • STM32
    +关注

    关注

    2313

    文章

    11195

    浏览量

    374612
  • 机智云
    +关注

    关注

    3

    文章

    650

    浏览量

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    基于STM32+机智物联网平台的家电状态显示及控制系统

    使用机智平台时,先做了一个点灯的小系统,使用STM32最小系统,通过串口2(PA2、PA3),进行连接ESP8266无线WIFI模块,进行远程控制,现在使用的外设是8位的LED灯,可
    发表于 08-08 14:31

    机友分享 | 机智小程序启蒙:WebSocket网页控制

    设备。机智AIoT自助开发平台提供多种在线自动开发工具、多型号Gagent固件(Wi-Fi、GPRS、4G等主流联网方式的固件)、多型号M
    发表于 07-17 15:40

    评测:STM32F769I-DISCO接入机智,实现IoT开发远程控制等功能

    评测:STM32F769I-DISCO接入机智,实现IoT开发远程控制等功能摘要:本文主要讲述如何使用
    发表于 09-05 15:25

    基于机智IoT开发平台的温室番茄远程监控系统

    摘要: 设计了基于机智IoT开发平台的温室番茄远程监控系统,上位机由手机APP终端和机智平台
    发表于 05-18 17:36

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

    开发平台的接入流程如图1所示。1,系统设计空调远程智能控制系统是一款基于机智IoT开发平台的智
    发表于 06-15 17:49

    STM32+机智机智手机APP点灯实验踩坑记录 精选资料分享

    STM32+机智机智手机APP点灯实验踩坑记录一、实验背景因为项目开发需要用到
    发表于 08-04 08:30

    设计基于STM32+机智的手机APP点灯遇到哪些问题

    设计基于STM32+机智的手机APP点灯遇到哪些问题?怎样去解决?
    发表于 10-14 07:55

    十分钟开发物联网:远程甲醛监控(4G模组)

    ,并且解决新房没有Wifi信号的问题,我们这里采用4G模组的通信方式,把甲醛传感读到的数值用4G通信模组上传至机智,这样我们就可以
    发表于 12-21 17:47

    ESP8266开发板+机智IoT+远程控制的智能风扇

    开发环境eclipse IDE 或VS 等编译软件(2)烧录软件(3)Vmwave 虚拟机linux[物联网平台开发]机智AIoT自助开发
    发表于 06-14 13:24

    基于机智物联网平台与4G DTU远程车库门

    老旧遥控电动门锁(本项目采用阿尔卡诺直线开门机,315遥控版本)2.原装遥控3.硬件改装PB8接到遥控关按键PB5接到遥控停按键PB4接到遥控
    发表于 08-03 16:44

    4G模组接入机智gokit3开发

    =542479181481)2.机智4G模组ML302-GC211,机智开发者工具,购买地址
    发表于 10-31 19:55

    STM32F40探索者开发板如何实现基础的远程检测以及控制

    本次教程主要为了实现 STM32F407 探索者开发板通过中移 Cat.1 4G 模组转接板 ML302-GC211 接入机智,实现基础的
    的头像 发表于 11-08 14:07 4151次阅读
    <b class='flag-5'>STM32</b>F40探索者<b class='flag-5'>开发</b>板如何实现基础的<b class='flag-5'>远程</b>检测以及<b class='flag-5'>控制</b>

    空调4G远程控制器能解决哪些问题

    空调4G远程控制器和一般的空调遥控有所区别,不同的控制器有不同的功能,其具备学习功能,可以通过设备上的红外线接收学习空调遥控上的红外码,
    发表于 04-06 16:16 1273次阅读

    怎样通过4G网络实现PLC远程控制

    工业设备通过4G网络来实现远程控制得到了快速的发展,且稳定性、可靠性完全可以满足常规的使用要求。PLC是一种逻辑可编程控制器,因其可靠稳定,编程相对容易,在工业控制上得到了大规模的运用
    的头像 发表于 07-14 10:35 5055次阅读
    怎样通过<b class='flag-5'>4G</b>网络实现PLC<b class='flag-5'>远程控制</b>

    空调4G远程控制器

    科技的发展,控制手段日新月异,方便了人们的生活。空调4G远程控制器就可以帮助人们解决上述的问题。空调4G远程控制器具有超强学习功能,它可以通
    的头像 发表于 11-10 16:12 1785次阅读
    空调<b class='flag-5'>4G</b><b class='flag-5'>远程控制器</b>