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

视频演示教程及实物展示

项目演示和解说视频:

【十分钟开发物联网】 -- 智能加湿器设备的实现(Wifi模组)

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

硬件端接线图

材料清单

名称 推荐购买源 资料下载
通用版机智云 App 免费 登录_机智云
ShineBlink 万能物联网开发板 淘宝搜索“机智云”或“ShineBlink”店铺有售 shineblink.com
带机智云GAgent固件的ATK-ESP8266模块 淘宝搜索“机智云”或“ShineBlink”店铺有售 gizwits.com
SHT30温湿度传感器模块和继电器模块 淘宝搜索”ShineBlink“店铺有售,或者任意其他店铺(功能相似即可) shineblink.com
加湿器模块 USB空气迷你加湿器雾化模块
黑色底板 该底板只是为了省掉接杜邦线,让外观好看一些,不是必需品,开发者如果没有可以用杜邦线来替代。如果仍想获取该底板,可通过右边提供的PCB工程资料自己打样PCB制作即可。

ttps://fe9a58.link.yunpan.360.cn

/lk/surl_y6mpLtWWB9W#/-0

硬件端完整源代码

--使能USB print打印功能
LIB_UsbConfig("CDC")
--机智云平台为每个产品类别分配的唯一PK和PS,一定要改成您自己的PK和PS
PK = "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)
do
LIB_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)--关闭加湿器继电器endendend
end

上面代码中出现的"LIB_"开头的库函数的详细介绍可以在http://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了解相关开发教程。

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

  1. 十分钟开发物联网:烟雾感应监测(Wifi版)

    智能烟感应监测实现对烟雾的实时监测,并将监测数据通过Wifi上传至机智云,当烟雾量大到一定程度时,同时会向机智云发送一个报警信号.用户也可以用App远程查看本地的烟雾传感数据以及报警状态. 视频教程及 ...

  2. 十分钟开发物联网:智能气象站(4G版)

    本文实现的气象站集成了各种常用的气象测量传感器(包含:温度.湿度.气压.紫外线.PM2.5.风速.雨水感应),ShineBlink万能核心板采集这些传感器数据,并将它们上传至机智云,然后我们就可以在远 ...

  3. 十分钟开发物联网:汽车防盗GPS追踪(4G版)

    追踪汽车的GPS定位信息以及获取汽车当前运动的三轴加速度值,通过GPS定位信息我们可以判断汽车当前的位置,通过三轴加速度值我们可以判断当前汽车的运动状态(比如是否在运动中或者停止中). 视频教程及实物 ...

  4. 十分钟开发物联网:智慧农业大棚环境监测(4G版)

    农业大棚环境监测设备集成了大棚中一些关键指标的测量传感器(包含:二氧化碳.光照强度.温度.湿度.紫外线),ShineBlink万能核心板采集这些传感器数据,并将它们上传至机智云:然后我们就可以在远程通 ...

  5. php ios表情包,十分钟开发一款 iOS 表情包 App

    十分钟开发一款 iOS 表情包 App 在最近更新的 iOS 10 系统中,苹果开放了 iMessage Stickers 的开发,通俗的说法就是我们现在可以为 iMessage 开发表情包了. 表情 ...

  6. 十分钟开发一款应用,这15个国产低代码开发平台太秀了!

    "低代码开发"最早可追溯到20世纪90年代至21世纪初的编程语言和工具(百度百科).阿里云智能总裁张建锋在钉钉6.0发布会上也表示,"低代码开发",将成为新一代 ...

  7. 十分钟了解物联网主流通信协议

    编者荐语: 以下文章来源于华为云IoT ,作者我是卤蛋 这个文章来自网络,原文链接:https://www.cnblogs.com/hwiot/p/11944839.html,看了全文,觉得不错,因此 ...

  8. 十分钟开发一个调用Activity的PhoneGap插件

    在HybridApp开发中,非常多业务我们是没有办法通过HTML5+js实现的,比方调用第三方的包括Activity的jar包,一些必须使用原生代码才干实现的功能,比方复杂的UI的效果,调用通讯相关的 ...

  9. 十分钟开发出神经网络五子棋

    本文讲述了使用确定性神经网络SDK开发神经网络五子棋的过程,通过控制台项目.MFC对话框项目分别展示了详细的操作和代码,并附带了一个可用于自主创业的实用案例.另外,此处所述的五子棋可以轻易地扩展成其它 ...

最新文章

  1. iOS - 实现映客首页 TabBar 和滑动隐藏 NavBar 和 TabBar
  2. Java获取文件的目录_Java实现读取某个路径下的文件目录
  3. Windows10完美安装VMTK(血管建模工具包)
  4. 设计模式之观察者模式--中英文结合理解版
  5. java main方法static_在java中为什么要把main方法定义为一个static方法?
  6. bzoj 4563 [Haoi2016]放棋子 错位排列+高精度
  7. MariaDB 10.0.X中,动态列支持 JSON 格式来获取数据
  8. 前端验证码绘制(canvas)
  9. python爬虫 同花顺_python Flask+爬虫制作股票查询、历史数据、股评词云网页
  10. 《廖雪峰python3教程》| 书评 + 学习笔记干货
  11. Linux环境下右键无法新建文档的解决方法——Ubuntu 16.x
  12. js 实现浏览器下载视频
  13. Mac 电脑如何使用HTTP代理
  14. 用project做成本概述报表
  15. php mysql admin_mysql+phpAdmin
  16. 吃货,你敢在晚上看这本书吗?
  17. 2023 XL软件库App后端源码 可自定义易支付 完整版
  18. 为 什 么 说 Synchronized 是 非 公 平 锁
  19. mbedtls安装与入门
  20. 树莓派安装成功后,搜索不到自己的WIFI

热门文章

  1. 微软确认收购SwiftKey 与自家Word Flow整合
  2. 第七届全国GIS技能大赛下午赛题答案(不含开发)
  3. PMP项目管理引论介绍
  4. 火车票被秒光,别慌:一款 Python 自动抢票神器,收藏起来回家不愁
  5. 蔻驰和mk哪个更大牌_MK和coach哪个档次更高?
  6. Android7.1.1系统,Toast的Exception: android.view.WindowManager$BadTokenException解决
  7. 程序员逼格提升完全指南
  8. 数据库的常用分页方式
  9. 三星n7102刷android5,三星N7102 恢复官方兼救砖(安卓4.3)
  10. lvs+keepalived+nginx实现高性能负载均衡集群