[MCU] WiFi遥控咖啡厅设备

跋扈洋   2021-3-14 18:44 楼主

介绍

现如今,智能家居行业发展迅速,得益于物联网和人工智能技术的迭代发展,各类智能家居设备已不知不觉的走进我们的生活中。
今天分享制作的一款遥控控制屋中灯光、风扇(排风机)、加湿器(消防喷头)的产品,是依托于机智云平台制作的设计,旨在带领物联网及智能家居行业初学者制作一款自己的智能设备。

我们在上一篇文章里已经将开发板配置网络了,这篇我们具体来控制设备。

库文件及头文件准备

因为我们这里主要是使用RGB灯的不同颜色代替了是进行LED灯亮还是喷头工作,实际上实现这些功能更加简单,只需要定义相关引脚后,输出高电平或者低电平就可实现相应功能。但我们这里为了使实验现象更加明显,利用RGB不同颜色来表示LED灯和加湿器,在风扇转动部分利用纯粹的供电,这样更有利于理解。

  1. 更改头文件
    将工程文件中simpleTry.ino中的文件的#include <Gizwits.h>
    更改成#include “Gizwits.h”
  2. 移植库文件
    我们直接移植RGB有关的库,可以很大的简化我们的开发,大家如果想要了解RGB灯的开发,也可以看一下库文件。
    我们将库文件放在:文档–Arduino–libraries中即可

功能实现

  1. 我门需要引用一些库文件,并且添加RGB LED控制函数
#include "Gizwits.h"
#include <Wire.h>
#include <SoftwareSerial.h>
#include <ChainableLED.h>
ChainableLED leds(A5, A4, 1);
void LED_RGB_Control(byte red, byte green, byte blue)
{
  leds.setColorRGB(0, red, green, blue);
  }
  1. 定义管脚类型
  pinMode(5,OUTPUT);
  pinMode(4,OUTPUT);
  pinMode(SDA,OUTPUT);
  pinMode(SCL,OUTPUT); 
  digitalWrite(5,LOW);
  digitalWrite(4,LOW);
  1. 实现功能
    通过获取手机APP发送的指令,进行不同的操作,最终实现手机控制风扇转动、RGB LED灯亮灭不同颜色。
bool varR_LED = 0;
  if(myGizwits.hasBeenSet(EVENT_LED))
  {
    myGizwits.read(EVENT_LED,&varR_LED);
    if(varR_LED==1)
    {
      LED_RGB_Control(0,0,100);
      }
      else
    LED_RGB_Control(0,0,0);
  }
  bool varR_FengShan = 0;
  if(myGizwits.hasBeenSet(EVENT_FengShan))
  {
    myGizwits.read(EVENT_FengShan,&varR_FengShan);
     if(varR_FengShan==1)
    {
      digitalWrite(5,HIGH);
      }
      else
      digitalWrite(5,LOW);
  }
  bool varR_PenTou = 0;
  if(myGizwits.hasBeenSet(EVENT_PenTou))
  {
    myGizwits.read(EVENT_PenTou,&varR_PenTou);//Address for storing data
  if(varR_PenTou==1)
    {
      LED_RGB_Control(0,100,0);
      }
      else
    LED_RGB_Control(0,0,0);
  }
  myGizwits.process();

我们现在,就可以按下手机APP的按钮,控制这些设备了。

回复评论 (2)

楼主使用的是机智云吗?建议标题稍微改一下,区别一下。

没有什么不可以,我就是我,不一样的烟火! 
点赞  2021-3-14 21:51

我认为物联网行业最多只需三种标准,wifi、蓝牙、zigbee。目前zigbee占据领先地位,让我们拭目以待。

点赞  2021-3-14 22:33
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复