十分钟开发物联网:家用温湿度计(Wifi版)
本文实现一款通过Wifi方式接入机智云的家用温湿度计,用户可以通过App远程访问家中的温湿度。
视频教程及实物展示
视频演示教程:
接线实物图和App监测页面:
硬件端接线图
材料清单
名称 | 推荐购买源 | 资料下载 |
通用版机智云App | 免费 | https://download.gizwits.com/zh-cn/p/98/99 |
ShineBlink 万能物联网开发板 | 淘宝搜索“机智云”或“ShineBlink”店铺有售 | shineblink.com |
带机智云GAgent固件的ATK-ESP8266模块 | 淘宝搜索“机智云”或“ShineBlink”店铺有售 | gizwits.com |
SHT30温湿度模块 | 淘宝搜索“ShineBlink”店铺有售,或者任意其他店铺 | https://71a673.link.yunpan.360.cn/lk/surl_yPvRTxxMRSg#/-0 |
0.96寸 IIc接口oled屏 | 淘宝搜索“ShineBlink”店铺有售,或者任意其他店铺 | https://b76ce8.link.yunpan.360.cn/lk/surl_yPvRCegtn35#/-0 |
黑色底板 |
该底板只是为了省掉接杜邦线,让外观好看一些,不是必需品,开发者如果没有可以用杜邦线来替代。 如果仍想获取该底板,可通过右边提供的PCB工程资料自己打样PCB制作即可。 |
硬件端源完整源代码
--设置sht3x传感器占用SCL0和SDA0引脚,并以每秒出10个数据的频率工作,repeatability="HIGH"时精度最高
LIB_Sht3xConfig("IIC0","10","HIGH")
sht3x_temp = 0.00
sht3x_humi = 0.00
--设置0.96寸oled模块占用SCL1和SDA1引脚
LIB_0_96_OledConfig("IIC1")
--机智云平台为每个产品类别分配的唯一PK和PS,一定要改成您自己的PK和PS
PK = "a63a580c376d4dc884a4372fedbd67e1"
PS = "8bb2c3507fa249f5bb0e7bf32dcea003"
--初始化Wifi模块
LIB_GizWifiConfig(PK,PS,2000,120,"UART0","D5","D10","D8")
--开始大循环
while(GC(1) == true)
do
--查询sht3x传感器是否出数
sht3x_flag,sht3x_temp,sht3x_humi = LIB_Sht3xGetResult()
--如果传感器有新的温湿度数据产生
if sht3x_flag == 1 then
--在oled的第一行和第二行分别显示温度(摄氏度)和湿度(百分比)
LIB_0_96_OledPuts("1","1",string.format("temprature: %.2f", sht3x_temp))
LIB_0_96_OledPuts("2","1",string.format("humidity: %.2f", sht3x_humi))
--向机智云发送温度和湿度数据
LIB_SendToGizCloud("Rf3", sht3x_temp)
LIB_SendToGizCloud("Rf4", sht3x_humi)
end
end
上面代码中出现的"LIB_"开头的库函数的详细介绍可点击查询。
机智云接入和App开发
►选择一:机智云+通用版APP访问设备(难度最低)
通过《Wifi设备接入机智云教程》我们可以很快掌握机智云的接入流程,并使用现成的通用版机智云App即可很快的实现手机App远程访问我们的开发板。
本例中我们使用了"Rf3"和“Rf4”两个浮点型(带两位小数)的数据点,记得在机智云平台修改相应的数据点的名称为温度和湿度。
► 选择二:机智云+零代码定制版App访问设备(难度较低)
在选择二之前,必须完成上面选择一的工作,然后参考《赛博坦零代码App开发(Wifi版)》教程实现定制版App访问设备。
开发好以后的页面如下:
► 选择三:定制化开发APP或微信小程序(难度较高)
如果有一定开发能力,开发者可以考虑在机智云免费提供的开源代码上做一定的定制开发形成自己的App。
如果开发者希望开发一个专属的App,机智云也会提供代码开源的安卓和IOS SDK框架,帮助开发者快速完成App开发,开发者仅需关注App的UI和UE设计即可,而相对复杂的协议与错误处理等事项可忽略。关于开源SDK的介绍和获取请进入docs.gizwits.com了解更多内容。
如果开发者希望开发一个专属的微信小程序应用, 可以进入docs.gizwits.com了解相关开发教程。