开发者案例:智能加湿器

描述

 

ShineBlink 是一款零门槛、零开发环境、低代码的万能物联网智能硬件开发板

机智云 为开发者提供傻瓜式硬件上云、接App/小程序的能力

结合 ShineBlink 和 机智云 开发者即使不懂嵌入式物联网开发、云和App开发,也能很快实现一款包含硬件、云和App的物联网智能硬件。

 

加湿器一、本章实现功能介绍

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

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

加湿器

加湿器

 

加湿器二、硬件端接线图

加湿器

加湿器三、材料清单

加湿器

加湿器四、硬件端完整源代码

 

  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
--使能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 then
        if recv_data == 1 then -- 云下发了1
            Auto = 1 --开启自动模式
        else -- 云下发了0
            Auto = 0 --开启手动模式
        end
    end
    --查询机智云是否下发了写"Sw2"数据点(手动控制加湿器继电器开关)
    flag,recv_data = LIB_RecvFromGizCloud("Sw2")
    if flag == 1 then
        if Auto == 0 then --手动模式下,才允许用户远程App控制加湿器
            if recv_data == 1 then -- 云下发了1
                LIB_GpioWrite("D0",0)--打开继电器
            else -- 云下发了0
                LIB_GpioWrite("D0",1)--关闭继电器
            end
        end
    end
    --查询是否读到温湿度数据
    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)--关闭加湿器继电器
            end
        end
    end
end

加湿器五、机智云接入和App开发

无论使用哪种方法实现APP控制,都必须先定义数据点。

本例中我们使用了"Rs1","Rs2"这两个数据点分别作为温度、湿度的短整数型数据点,作为上传至机智云的数据通道,记得在机智云平台修改相应的数据点的名称。

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

 

加湿器

 

 

方法一:使用机智云测试APP
 

先在机智云开发者中心定义好数据点

随后下载机智云测试APP 

进行配网
 

测试APP下载地址:

https://download.gizwits.com/zh-cn/p/98/99

配网过程

http://www.shineblink.com/html/gizwits/9_1_WifiJoin/WifiJoin.html

加湿器

加湿器

 

方法二:使用赛博坦工具零代码定制版App

在机智云开发者中心定义好数据点后,

创建一个移动应用,定义相应的页面信息

再关联相应的智能产品,

即可实现定制版App访问设备。

具体实现过程
 

开发好以后的页面如下:

加湿器

 

 

 

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

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分