收藏官网首页
查看: 4547|回复: 0

十分钟开发物联网:智能加湿器(Wifi版)

612

主题

662

帖子

3万

积分

版主

Rank: 7Rank: 7Rank: 7

积分
33513
跳转到指定楼层
楼主
 楼主| 发表于 2021-10-13 15:56:59 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
校园创客福利
本帖最后由 Kara 于 2021-10-13 17:36 编辑

十分钟开发物联网:智能加湿器(Wifi版)

智能加湿器设备集成了温湿度传感器、加湿器控制单元、以及Wifi传输模块,ShineBlink万能核心板采集温湿度传感器数据,并将它们上传至机智云,然后我们就可以在远程通过手机App或者Web网页端来访问家里的温湿度环境数据,并决定是远程人工控制打开加湿器,还是让设备自动根据传感器的环境湿度数据来进行加湿。


视频演示教程及实物展示

项目演示和解说视频:

接线实物图和App监测页面:


硬件端接线图



材料清单

名称
推荐购买源
资料下载
通用版机智云App免费https://download.gizwits.com/zh-cn/p/98/99
ShineBlink 万能物联网开发板淘宝搜索“机智云”或“ShineBlink”店铺有售shineblink.com
带机智云GAgent固件的ATK-esp8266模块淘宝搜索“机智云”或“ShineBlink”店铺有售gizwits.com
SHT30温湿度传感器模块和继电器模块淘宝搜索”ShineBlink“店铺有售,或者任意其他店铺(功能相似即可)
shineblink.com
加湿器模块https://item.taobao.com/item.htm?
spm=a230r.7195193.1997079397.8.6bbc
7cc9VyK3Gv&id=535449599541&abbucket=9

黑色底板
该底板只是为了省掉接杜邦线,让外观好看一些,不是必需品,开发者如果没有可以用杜邦线来替代。
如果仍想获取该底板,可通过右边提供的PCB工程资料自己打样PCB制作即可。
https://fe9a58.link.yunpan.360.cn
/lk/surl_y6mpLtWWB9W#/-0


硬件端完整源代码

--使能USB print打印功能LIB_UsbConfig("CDC")--机智云平台为每个产品类别分配的唯一PK和PS,一定要改成您自己的PK和PSPK = "849cb1851eeb44e68b4f9be1dc1b424d"PS = "c5785e4153fb45eb89c054f8b930d619"--初始化Wifi模块LIB_GizWifiConfig(PK,PS,1000,120,"UART0","D5","D10","D8")--配置D0为普通输出,控制加湿器的继电器LIB_GpioOutputConfig("D0","STANDARD")LIB_GpioWrite("D0",1)--关闭加湿器继电器--设置sht3x传感器占用SCL0和SDA0引脚,并启动传感器以每秒出10个数据的频率工作,repeatability="HIGH"时精度最高LIB_Sht3xConfig("IIC0","10","HIGH")Auto = 0 --默认手动模式--开始大循环while(GC(1) == true)doLIB_DelayMs(500)--查询机智云是否下发了写"Sw1"数据点(手动/自动加湿模式设置)flag,recv_data = LIB_RecvFromGizCloud("Sw1")if flag == 1 thenif recv_data == 1 then -- 云下发了1Auto = 1 --开启自动模式else -- 云下发了0Auto = 0 --开启手动模式endend--查询机智云是否下发了写"Sw2"数据点(手动控制加湿器继电器开关)flag,recv_data = LIB_RecvFromGizCloud("Sw2")if flag == 1 thenif Auto == 0 then --手动模式下,才允许用户远程App控制加湿器if recv_data == 1 then -- 云下发了1LIB_GpioWrite("D0",0)--打开继电器else -- 云下发了0LIB_GpioWrite("D0",1)--关闭继电器endendend--查询是否读到温湿度数据sht3x_flag,sht3x_temp,sht3x_humi = LIB_Sht3xGetResult()if sht3x_flag == 1 then--打印读到的温湿度值,保留2位小数print(string.format("temp: %.2f\r\nhumi: %.2f", sht3x_temp, sht3x_humi))--向机智云服务器发送(温湿度)短整数型数值(舍去小数部分)LIB_SendToGizCloud("Rs1", math.floor(sht3x_temp))LIB_SendToGizCloud("Rs2", math.floor(sht3x_humi))if Auto == 1 then --自动模式下,才允许设备自动根据湿度来控制加湿器继电器if sht3x_humi < 70.00 then --湿度低于70%了就打开加湿器LIB_GpioWrite("D0",0)--打开加湿器继电器else+LIB_GpioWrite("D0",1)--关闭加湿器继电器endendendend
上面代码中出现的"LIB_"开头的库函数的详细介绍可以在shineblink.com网站上的API文档中查询。


机智云接入和App开发(三个选择)

选择一:机智云+通用版APP访问设备(难度最低)
通过《Wifi设备接入机智云教程》我们可以很快掌握机智云的接入流程,并使用现成的通用版机智云App即可很快的实现手机App远程访问我们的开发板。缺点就是通用版App的UI页面看起来不够专业。

本例中我们使用了"Rs1","Rs2"这两个数据点分别作为温度、湿度的短整数型数据点,作为上传至机智云的数据通道,记得在机智云平台修改相应的数据点的名称。
本例中我们使用了"Sw1","Sw2"这两个布尔值型数据点,一个作为接收机智云下发的手动/自动模式加湿的数据通道,一个作为远程手动控制加湿器是否工作的数据通道,记得在机智云平台修改相应的数据点的名称。

选择二:机智云+零代码定制版App访问设备(难度较低)
在选择二之前,必须完成上面选择一的工作,然后参考《赛博坦零代码App开发(wifi版)》教程实现定制版App访问设备。

开发好以后的页面如下:

选择三:定制化开发APP或微信小程序(难度较高)
如果有一定开发能力,开发者可以考虑在机智云免费提供的开源代码上做一定的定制开发形成自己的App。
如果开发者希望开发一个专属的App,机智云也会提供代码开源的安卓和IOS SDK框架,帮助开发者快速完成App开发,开发者仅需关注App的UI和UE设计即可,而相对复杂的协议与错误处理等事项可忽略。关于开源SDK的介绍和获取请进入docs.gizwits.com了解更多内容。
如果开发者希望开发一个专属的微信小程序应用, 可以进入docs.gizwits.com了解相关开发教程。

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

本版积分规则

加入Q群 返回顶部

版权与免责声明 © 2006-2024 Gizwits IoT Technology Co., Ltd. ( 粤ICP备11090211号 )

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