数码之家

 找回密码
 立即注册

QQ登录

只需一步,快速开始

微信登录

微信扫一扫,快速登录

搜索
查看: 3722|回复: 11

[STM] 基于STM32和机智云IoT云服务平台的智能花盆

[复制链接]
发表于 2019-5-14 15:28:52 | 显示全部楼层 |阅读模式

爱科技、爱创意、爱折腾、爱极致,我们都是技术控

您需要 登录 才可以下载或查看,没有账号?立即注册 微信登录

x
本案例为机智云硬件开发平台入门级基础应用开发实例,开发者通过使用机智云自助开发平台(机智云IoT云服务)、STM32及相关模块,实现了对多肉植物生长状态、土壤温湿度远程监测和自动浇水等功能,本案例适合所有具备嵌入式基础的开发者,尤其适合准备进入IoT的从业者、高校相关专业学生参考学习。

提取码: pmw6


一、前言
  有时候会听到朋友难过的说“我养的多肉又掉叶子了...” 是不是太久没浇水啦?
  “假期有谁家在学校附件的帮我照顾下盆栽..” 真不好意思麻烦你了。
  你是否也经历过这样的烦恼?反正我都经历过...
  作为理科生当然是选择自己动手做一个啦~

二、总体设计
  首先,我们期望的功能有:
  1.实现温度,土壤湿度等数据的在线监控
2.当土壤湿度低于一定值时自动浇水
3.在线控制浇水

  总体设计如下:

  我们面临的第一个问题是平台的选择,我尝试了几个开发平台后最终选择的是机智云,它提供调试APP无须我们另外开发。


三、硬件准备




四、接入机智云
首先我们要贼机智云的开发者中心注册一个账号,登陆以后创建一个新产品

接着创建数据点,下面是我创建的数据点,光照强度后来没加上

完成以后我们可以使用虚拟设备调试
下载机智云调试APP

下载以后我们在个人项目中点开虚拟设备调试

打开APP,准备扫码查看我们的数据点

感觉没有问题我们就进行下一步
固件烧录
机智云官方固件可在下载中心中找到
解压后发现其含有以下文件,这里建议使用四合一的固件,烧录方便,至于烧录工具我们选择乐鑫原厂固件烧写工具

设备连接(红圈内的是需要注意的连接)

完成以后直接用USB转TTL插入电脑烧录固件即可,开始烧录的时候它会要求你给WIFI模块复位,这时我们只需要使RST接以下低电平触发即可。

那么如何验证我们的WIFI模块烧录以后是正常可用的呢?
机智云提供了串口调试助手可实现
虚拟MCU调试


同样WIFI模块接着USB转TTL插入电脑
这里需要注意的是你的RST引脚和使能固件烧录的引脚必须是无效的。
然后按下图顺序做好设置

1.AirLink为机智云的一键配置模式
手机连接路由器(我用360随身WIFI充当无线路由)
随后打开机智云APP添加设备,选择一键配置,选择模组。

随后在串口调试助手中点击初始化,AirLink使模块进入一键配置模式。接着静待连接成功。
有时候链接超时不稳定可以再试一次。

2.Softap为热点模式
热点模式即让WIFI模块生成热点。
烧写了GAgent固件的WiFI模块配置为AP模式时,其WIFI名为”XPG-GAgent-xxxx”,
其中”xxxx”为Wi-Fi模块的物理地址后四位,初始密码为”123456789。
手机链接热点后使用热点配置添加设备,其余操作同上。

五、代码解析
完成至此,我们仅仅需要完成MCU的开发即可,下面讲讲机智云模板代码的修改
机智云官方推荐的编程软件是STM32Cube+Keil
STM32Cube可以轻松完成MCU的初始化的修改
keil则提供了编译烧录环境

首先我们在机智云的个人项目中选择MCU开发,等待模板代码生成


模板代码内含以下文件,作为使用者我们无需全部关注
首先我们打开STM32F103C8x.ioc
添加外设初始化,接着重新生成代码
main.c
按键函数包括初始化,重启,启动AirLink模式和启动Softap模式

主函数内,先是完成了各种初始化。接着是我自己添加的一段模式配置,这样就可以不用通过按键配置了
再往下就是再while循环内不断完成数据采集和数据的上报

下面我们跟踪以下数据采集的函数,只要数据赋值到currentDataPoint这个结构体变量中即可
由于我们定义的产品是定时上传数据的,数据上报函数我们可以不用细致了解

由此我们完成了设备数据采集---->服务器----->客户端
那么我们的手机如何控制设备呢?
这要说起gizwits_product.c的另一个函数gizwitsEventProcess
我们在这里添加接收到水泵开关事件的处理以及自动灌溉事件处理
至此基本完成
为了提高连接机智云的成功率
建议在gizwits_protocol.h修改重连次数和超时时间


六、测试


为啥我把它焊接成这个样子呢,因为我本来打算给他做一个外壳的...然后把它放到懒人花盆上
可是这东西打印需要12小时,也就一直没行动...
后来我又想了一个方法,用3个以下形状的盒子像积木一样叠起来,底下的盒子放水,中间放设备,最上面种植物
同样也没有3D打印


APP演示
最底下出现的是水位警报




补充内容 (2019-5-20 13:35):
好吧 偷懒了 这个博客原本放在博客园了  我这边改不了帖子 要么删了这个帖子  你们要是需要看图片 就去https://www.cnblogs.com/JYU-hsy/p/9965309.html
发表于 2019-5-14 16:29:27 | 显示全部楼层
这东东有点意思。技术深奥不?
回复 支持 反对

使用道具 举报

发表于 2019-5-14 16:35:20 | 显示全部楼层
没有图,只看文字,好费劲。
回复 支持 1 反对 0

使用道具 举报

发表于 2019-5-14 16:52:56 | 显示全部楼层
图没有?没法看
回复 支持 反对

使用道具 举报

发表于 2019-5-14 17:03:07 | 显示全部楼层
能看到图吗
回复 支持 反对

使用道具 举报

发表于 2019-5-17 10:05:20 | 显示全部楼层
我做过的一个类似的,也是用的机智云。我用的是电容式的湿度传感器,很好用。我的肉肉茁壮成长。但是拉电线太麻烦,我就想搞个低功耗的,用锂电池供电,定时唤醒扫描湿度数据。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-5-17 15:21:58 | 显示全部楼层
xueyuking 发表于 2019-5-14 16:35
没有图,只看文字,好费劲。

为啥我可以看到图了》?? 好奇怪啊
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-5-17 15:22:21 | 显示全部楼层

我可以看到图啊  你怎么看不到哦
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-5-17 15:22:55 | 显示全部楼层
netbeetle 发表于 2019-5-17 10:05
我做过的一个类似的,也是用的机智云。我用的是电容式的湿度传感器,很好用。我的肉肉茁壮成长。但是拉电线 ...

后来做过低功耗版本的吗
回复 支持 反对

使用道具 举报

发表于 2019-5-17 16:10:47 | 显示全部楼层
机智小子 发表于 2019-5-17 15:22
后来做过低功耗版本的吗

我本打算做,后来跑去做VFD音乐频谱去了,就闲置了,过段之间接着做,难度不大。
回复 支持 反对

使用道具 举报

发表于 2019-5-19 23:45:23 来自手机浏览器 | 显示全部楼层
我还以为我网卡了呢。没图
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-5-20 13:36:00 | 显示全部楼层
小珑我2017 发表于 2019-5-19 23:45
我还以为我网卡了呢。没图

补充了一条链接 可以查看图片
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册 微信登录

本版积分规则

APP|手机版|小黑屋|关于我们|联系我们|法律条款|技术知识分享平台

闽公网安备35020502000485号

闽ICP备2021002735号-2

GMT+8, 2025-8-8 16:59 , Processed in 0.670801 second(s), 9 queries , Redis On.

Powered by Discuz!

© 2006-2025 MyDigit.Net

快速回复 返回顶部 返回列表