电子说
步骤1:收集所需材料。
您将需要:
1 。 3个超声波传感器HC SR04(5V)
2。 3 ESP8266 12(5V)
3。 3颗9V电池
4。 3个5V电位器(为ESP和传感器供电)
5。一堆母对母和公对母连接器
6。电池盒
您可以在亚马逊上轻松购买这些东西。如果您购买其中装有6个传感器的传感器和ESP,它们的确非常便宜。
第2步:系统体系结构
从图中可以了解系统的体系结构。传感器连接到ESP。 ESP将数据(距离)发送到Adafruit,然后对其进行处理以查看容器的装满程度。取决于哪个抽屉有多空以及洗衣袋有多满,用户将收到通知说,明天需要洗衣服。 IFTTT由Adafruit触发,并采取措施通过Gmai发送电子邮件,在日历中创建事件还是通过IFTTT应用发送通知。该设备带有可在任何浏览器中打开的仪表板。仪表板使用Adafruit环境连接到硬件,该环境显示传感器的读数。此外,从该级别可以从仪表板打开和关闭ESP。
步骤3:配置ESP
您可以轻松地操作自己的通过将ESP连接到Arduino IDE。您所需要做的就是为其下载并配置库。您可以按照以下步骤操作:
1。下载最新版本的Arduino IDE。
2。打开您的IDE,转到文件《首选项,然后在附加板管理器中复制以下链接,然后单击“确定”关闭“首选项”选项卡。
http://arduino.esp8266.com/stable/package_esp8266。
3。转到工具《板管理器《并搜索ESP8266并安装版本2.4.1。您可以根据IDE的体积安装其他版本。
毕竟,选择了NodeMCU 1.0板。现在您可以像使用Arduino(甚至更好)一样使用ESP。
4。完成与Arduino等笔记本电脑的ESP连接和工作后,进入下一级并连接WiFi或移动热点。
第4步:连接硬件:传感器到ESP。
在这里,您需要连接传感器并对其进行编码,以便为容器中的空白空间。
1。传感器Vcc连接到NodeMCU VUpin。如果将其连接至3.3V,则传感器将无法工作,因为其工作电压为5V。
2。传感器GND连接到NodeMCU GND。
3。传感器触发引脚连接到NodeMCU数字I/O D4。
4。传感器回波针已连接到NodeMCU数字I/O D3。
此后,您可以编写以下代码以查看超声波是否正常工作。确定传感器,代码和ESP正常工作后,可以将ESP连接到WiFi并检查其是否正常工作。但是这样做,硬件连接将发生一些变化,如下所述。但是在此之前,请确保将9V电池连接到POT,并且已经针对5V输出电压进行了调整。您不想燃烧您的ESP(它们闻起来很香)。
1。 ESP Vin和传感器Vcc连接到电池的正极。
2。 ESP GND和传感器GND连接到电池负极。请记住要接地,否则您的传感器会提供随机数据。
3。传感器的触发引脚连接到NodeMCU数字I/O D4。
4.传感器的回波引脚连接到NodeMCU数字I/O D3。
超声波传感器的工作原理和编码方式。
传感器基本上发出一个脉冲并对其计时,直到它反射并返回到传感器为止。根据时间和声音的速度,我们必须制定距离。这基本上就是我们在这里所做的。传感器本身只是简单地将其“ ECHO”引脚保持在高电平的持续时间,该持续时间与从其发送的波中接收反射(回波)所花费的时间相对应。该模块发出一阵声波,同时向回波引脚施加电压。该模块接收来自声波的反射,并去除回波引脚上的电压。根据该距离,在超声波传感器中会产生一个脉冲,以将数据发送到ESP。起始脉冲约为10us,PWM信号基于距离为150 us-25us。如果没有障碍物,则为ESP产生38us脉冲,以确认没有检测到物体。
D = 1/2×T×C; D是距离,T是发射和接收之间的时间,C是声速,该值乘以1/2,因为T是返回距离的时间。
如上图所示将它们连接在一起,并将其放在顶部的垃圾箱内部。
步骤5:将ESP8266与Adafruit IO连接:创建Adafruit IO帐户
连接超声传感器选择ESP8266和云Adafruit IO服务(使用MQTT协议)。
MQTT是一种简单且轻巧的协议,它允许设备发布数据(从设备到服务器)和订阅数据(从服务器收集数据)。 MQTT代理(在本例中为Adafruit.IO)提供了此解决方案的简便性。通过它,设备可以发送和接收消息。
要注册,请输入网站:https://io.adafruit.com/,然后单击“免费入门”。在下一个站点,用户应输入个人详细信息,然后单击“创建帐户”按钮。注册后,用户将移至帐户的“主页”部分。要进一步编写超声波传感器的代码,重要的是检查以下两个方面的AIO键(按钮:查看AIO键):用户名和活动键。
现在,我们准备创建Feed(用于保存传感器数据值)和
步骤6:将ESP8266与Adafruit IO连接:创建Feed
此项目使用了6种不同的提要:
开/关提要-激活/停用ESP8266以获得测量值的提要。由于添加了能源管理。 (进纸:Drawer-1-Onoff,Drawer-2-On-off,洗衣袋-On-off)。
读取提要-正在从超声波传感器获取存储数据的提要(提手1) ,抽屉2,洗衣袋)。
创建Feed
进入Feed部分
》
单击操作并创建一个新的提要
填充:提要的名称(此处是第一个Drawer-1抽屉,以及简短说明)
以相同的方式创建五个供稿。请记住,这些名称将用于进一步的ESP8266代码开发。
费用已经准备就绪,但是没有一种简单的方法可以同时尝试所有读数。这就是为什么需要仪表板的原因。
步骤7:将ESP8266与Adafruit IO连接:创建仪表板
在“仪表板”部分中开始创建仪表板。单击“操作”按钮(类似于“提要”部分中的内容)-》创建新的仪表板-》填充名称(在本例中为:Your_Laundry_System)和简短说明-》单击“创建”按钮。之后,您可以进入仪表板。
在控制台中,单击“创建新的阻止”按钮。对于此应用程序,我们需要三种类型的块:
3x切换(用于打开和关闭感应)
3x量规(在抽屉/洗衣袋中显示实际高度)
3x折线图(显示历史数据)
切换
单击切换图标。
选择第一个ON/OFF提要,即Drawer-1-Onoff。
添加图块标题,即Clean T-shirts-Drawer 1.单击“创建图块”。
将切换开关放置在仪表板的右上角。以相同的方式将其余的ON/OFF提要与Toogle连接。
Gauge
单击“ Gauge”图标。
选择第一个数据收集提要:Drawer-1。
相应地填充数据:对于数据块标题,即:清洁T恤-抽屉1,表最大值(取决于抽屉的深度- 10),低/高警告值(仪表颜色的改变)。
将仪表放置在仪表板上。以同样的方式将其余的数据存储源与仪表相连。
折线图
单击折线图图标
拾取拳头数据收集提要:Drawer-1。
将“显示历史记录”字段更改为24小时,并根据抽屉的深度更改Y轴“最大”和“小数”位置。
将折线图放在仪表板上。以同样的方式,将其余的数据存储源与折线图连接起来。
最终仪表板包含在图像部分中。请记住,仪表板显示洗衣袋/抽屉中还有多少空位。
步骤8:将ESP8266与Adafruit IO连接:为超声波传感器创建代码
首先,需要Adafruit MQTT库。为了进行安装,请打开Arduino IDE-》工具-》管理库,然后输入搜索内容:Adafruit MQTT。该磁带库应安装到您的计算机中。
在下载随附的代码示例(此处随附用于洗衣袋中工作的超声波传感器的代码)之后。
使其适用对于您的配置,您必须更改以下详细信息:
WLAN_SSID-您的WiFi网络的名称。
WLAN_PASS-您的WiFi网络的密码。
AIO_USERNAME -Adafruit IO中的用户名(从步骤4开始)。
AIO_KEY- Adafruit IO密钥(从步骤4开始)。
Adafruit_MQTT_Publish 。..。“/feeds/Laundry-袋”-在这里您必须输入将要发布数据的提要的名称。
Adafruit_MQTT_Subscribe“/feeds/Laundry-bag-On-off”-在这里您必须输入提要的名称,
该程序必须上传到ESP8266中。需要更改进纸匣1和进纸匣2的提要名称。
重要提示:由于if(message ==“ ON”),系统将仅测量距离仪表板按钮ON/OFF处于ON位置时一次。要再次测量,用户必须关闭并再次打开仪表板上的传感器。
将程序上传到每个ESP8266仪表板后,应该显示每个传感器的读数。可以从仪表板级别触发传感器。也可以从IFTTT小程序级别触发系统(步骤13)。
步骤9:IFTTT,将IFTTT连接到Adafruit
警告:使用连接到Adafruit IO的三个传感器触发Google日历和电子邮件时,IFTTT不是最可靠的连接。转到步骤14,以了解有关Zapier的更多信息。
IFTTT是基于Web的服务,它创建简单的条件“ If This Then That”。它可以与其他基于Web的服务(例如Gmail,Facebook,Instagram等)一起使用。简单的条件包括“ This”(实际上是触发器)和“ That”(需要执行的动作)。必须创建Applet才能使此简单条件在IFTTT平台中起作用。该项目利用Adafruit.io MQTT作为云来显示洗衣袋中衣服的高度,然后抽屉,IFTTT将从Adafruit.io接收触发器,以通过Google日历或Gmail向用户发送提醒。
首先在IFTTT网站上创建IFTTT帐户。登录到您的帐户。 IFTTT需要连接到创建仪表板的Adafruit帐户。转到以下链接以连接到Adafruit https://ifttt.com/adafruit
下一步单击“连接”,您将被定向到Adafruit网页,然后单击“授权”。如图所示,该项目的IFTTT已连接到Adafruit帐户。将IFTTT连接到Adafruit帐户后,即可创建Applet。
步骤10:在IFTTT中创建Applet
此项目已尝试连接到Gmail,Google日历和IFTTT应用程序。以下是在平台中创建Applet并从Adafruit创建触发器的步骤。
1。转到“我的小程序” https://ifttt.com/my_applets,然后单击“新建小程序”
2。您将被引导至,然后按+ this或单击平台上的build。
步骤11:从Adafruit创建触发器
现在,您可以开始配置自己的Applet。
1。首先,如果是Trigger,则搜索Services键入Adafruit,然后选择Monitor on Adafruit IO上的feed
2。设置其他参数Feed标签名称,Feed标签关系和Feed标签值。设置为用户可定制,以减轻以后是否需要任何更改,您无需通过平台进行更改。
3。对于该项目,需要监视的Feed是抽屉1,抽屉2和洗衣袋。对于抽屉1和抽屉2,关系大于5,表示抽屉几乎是空的,而洗衣袋的关系小于5,表示抽屉几乎已满。
步骤12 :创建对Gmail,Google日历和对IFTTT应用程序的通知的操作。
最后要配置IFTTT的操作,对于这个项目,我们创建了Applet,每当Drawer 1或Drawer 2变空或洗衣袋已满时,它都会向Gmail发送电子邮件,向Google Calendar发送事件。以下是创建操作的步骤:
1。动作搜索服务Gmail,Google日历和通知
2。之后,您可以从拉菜单中选择电子邮件或快速添加事件,或从IFTTT应用
3发送通知。然后准备好Apllets,可以根据您的项目为电子邮件,IFTTT应用程序的事件ot通知添加其他任何文本
步骤13:测试
现在我们测试一下洗衣系统。如解释的那样,每当抽屉之一快要用完或洗衣袋快满时,用户就会收到电子邮件或日历中的事件以及通知。
但是,我们发现延迟接收电子邮件或Google Calender和IFTTT的问题仅发送了一封电子邮件,即使抽屉1和2以及洗衣袋均被触发。此外,IFTTT App在发出通知方面没有明显的延迟。如图所示,所有三个通知大约在同一时间收到。因此,我们建议将IFTTT应用程序用于此类系统,以减轻延迟。
步骤14:使用Zapier服务
由于我们在IFTTT中遇到了一个问题,即延迟很长,并且只收到一个实际上触发了所有抽屉和洗衣袋的通知(Gmail或Google日历)。已向Adafruit咨询了此问题,他们建议使用Zapier。为了使用Zapier,您必须受到邀请,因为与Adafruit IO的连接仍处于测试阶段(目前活跃用户不到10个)。通过部署,我们可以在5分钟内收到电子邮件和Google日历(Zapier每5分钟检查一次,是否在受监控的供稿中显示了新值,如果是,则运行applet)。此外,还有任务历史记录,我们可以在其中监视从Adafruit到Gmail和Google日历的触发器。
基本上,这与IFTTT的原理相同,您需要从Adafruit设置触发器,然后在这种情况下从仪表板设置提要(无论是抽屉1,抽屉2还是洗衣袋)。该关系是在过滤器设置和条件中设置的,对于抽屉,我们将其设置为大于6,对于衣物洗涤器,则设置为小于5。最后,设置要通过Gmail发送电子邮件还是快速添加事件的操作。
步骤15:从IFTTT级别触发系统
系统也可以从IFTTT触发,这为用户提供了自动化水平。为此,我们为每个传感器创建了两个其他小程序,一个小程序正在打开传感器,第二个小程序正在关闭传感器。
打开小程序
触发(如果)
在“搜索服务”窗口中,键入:“数据和时间”。
选择选项:“每天”。
设置所需小时的值(在此示例中为9:00 PM)。
操作(然后)
在搜索中服务窗口类型为Adafruit IO。
字段标签-开/关源的名称。
值:打开
用以下命令填充小程序标题字段小程序的名称并添加简短的小程序描述。单击“保存”并打开小程序。
关闭小程序
克隆您的小程序和更改:
触发器部分:时间值进入15分钟后(即9:15 PM)。
操作部分:值:OFF。
单击“保存”并打开小程序。
用相同的方法为其余的传感器创建小程序。切记-从每个传感器(不仅是仪表盘读数)获得通知,不应同时触发两个传感器(这意味着抽屉1被触发-9:00-9:15 PM,抽屉2-9:15-9:30PM ,洗衣房-9:30-9:45 PM。)
步骤16:未来范围:产品的工业化
此处构建的IoT设备可以轻松批量生产并出售给销售智能家居的公司。对于日程安排繁忙的人或有很多人和房间的大型家庭,这是一个有用的工具。在这种情况下,仪表板可以包含来自所有人的所有房间的数据,从而使他们的生活更轻松。由于这完全是无线的,因此可以轻松扩展到所需的任意数量的抽屉。
步骤17:您可能会遇到的麻烦
1。您可能会看到超声波给出的随机值。这是因为您的电源可能不是5V。最安全的方法是使用9V电池并使用电位计。
2。确保传感器和ESP的接地相同,否则整个系统将无法正常工作。
步骤18:朝着终点。..
洗衣系统是个新主意。市场上还没有这样的产品。因此,如果您想在家中使用它,则必须自己建造。我们希望您能理解其中的说明。它只是物联网和电子学的要旨。
此系统非常易于使用。但是,它有使用指南。垃圾箱中的衣服应保持折叠状态,否则传感器只会感觉到错误的距离。不建议将其用于小型抽屉中的冬季衣物,因为外套很笨重,而卸下一两个夹克会意味着抽屉是空的。
全部0条评论
快来发表一下你的评论吧 !