本网页已闲置超过3分钟,按键盘任意键或点击空白处,即可回到网页

基于ESP8266的智能电动垃圾桶—SEBi

发布时间:2022-08-01
分享到:

基于ESP8266的智能电动垃圾桶—SEBi

发布时间:2022-08-01
分享到:

该项目通过智能高效的方式来监控您的垃圾箱并帮助您在正确的时间处理它。

垃圾管理

废物管理或废物处置是管理废物从开始到最终处置所需的所有活动和行动。其中包括废物的收集、运输、处理和处置以及监测和监管。它还包括与废物管理相关的法律和监管框架,包括回收指南等。

垃圾管理问题
垃圾管理中的一大问题就是及时收集垃圾,这也是垃圾管理机构非常头疼的问题。废物管理机构每月收集一次来自家庭/工业的废物,因此有时垃圾箱会在收集时间之前装满,或者有时,例如在假期期间垃圾箱不会装满,但该机构仍然会来收集废物会浪费他们的燃料。

为什么使用智能垃圾桶?

当垃圾箱装满时,它会通知垃圾管理机构以及我们,因此它将帮助该机构避免燃料浪费,也使他们能够创建更好的收集市民垃圾的地图。

通过物联网网络连接的传感器网络支持智能垃圾箱生成大量数据,这些数据被进一步实时分析和可视化,以深入了解城市周围的垃圾状况。该系统未来的工作范围可以在公交车站、火车站等各个地方实施。

如何工作:
智能垃圾箱由 Cayenne和NodeMCU提供支持。

  • Cayenne:轻松启用您公司的微控制器、网关、传感器和其他物联网设备。
  • NodeMCU:NodeMCU 是一个开源的物联网平台。它包括在 Espressif Systems 的 ESP8266 Wi-Fi SoC 上运行的固件,以及基于ESP-12E 模块的硬件。

现在建立一个你自己的智能垃圾桶吧!

1. 设置 Cayenne
首先创建一个Cayenne 帐户。

登录帐户:

点击新增:

在列表菜单中选择设备/小部件:

在菜单中选择自带物品:

注意:这里我们使用的是 NodeMCU。

将MQTT USERNAME、MQTT PASSWORD、CLIENT ID保存在注释中。

2. 设置 NodeMCU/ESP8266
下载Arduino IDE并打开 Arduino IDE 并设置设置附加板 URL:File => Preference (Ctrl + Comma)

在 Additional Boards Manager 中,单击添加并粘贴 URL:http ://arduino.esp8266.com/stable/package_esp8266com_index.json

并单击“确定”。

下载板定义

通过以下方式打开 Board Manager:

Tools => Board => Boards Manger

打开 Boards Manager 并搜索NodeMCU:

注意: 仅当您设置 NodeMCU Board URL (1.1) 时才会出现

下载 Cayenne 库

下载 Cayenne 库或克隆。之后打开库管理器:

Sketch => Include library => Add .ZIP Library

并选择我们下载的 ZIP 文件(Cayenne 库文件)。

选择端口

开板:Tools => Board => NodeMCU ESP-12E

在同一菜单中选择端口。

注意:当您下载板定义时,只会出现板。

3.代码
通过连接到您的计算机将代码上传到 NodeMCU。

#include <CayenneMQTTESP8266.h> 
char ssid[] = "wifi name"; 
char password[] = "wifi password"; 
char username[] = "mqtt user name"; 
char mqtt_password[] = "mqtt password"; 
char client_id[] = "mqtt client id"; 
#define trigPin D2 
#define echoPin D5 
int green = D6; 
void setup()

 Cayenne.begin(username,mqtt_password,client_id,ssid,password); 
pinMode(green,OUTPUT); 
pinMode(trigPin, OUTPUT); 
pinMode(echoPin, INPUT); 
Serial.begin(115200);  
digitalWrite(green,HIGH); 

void loop(){
 Cayenne.loop(); 
long duration, distance; 
digitalWrite(trigPin, LOW);  
delayMicroseconds(2);  
digitalWrite(trigPin, HIGH); 
delayMicroseconds(10);  
digitalWrite(trigPin, LOW); 
duration = pulseIn(echoPin, HIGH); 
distance = (duration/2) / 29.1; 
Serial.println(distance); 
Cayenne.virtualWrite(3,distance); 
delay(1000); 

CAYENNE_IN(1)

  digitalWrite(green,!getValue.asInt()); 
}  

注意:在代码中添加 WiFi 名称和密码,同时添加来自 Cayenne 仪表板的 MQTT 用户名、密码、客户端 ID。

4. 连接模块
在这里,我们使用HC-SR04 超声波传感器和LED 。

如图所示连接超声波传感器和LED。

5. 打开 Cayenne 仪表板

单击添加新并选择设备/小部件。

在自定义小部件下选择仪表:

设置名称并选择您的设备:

设置通道“ 1 ”,最小值为“ 0 ”,最大值为“ 1000 ”。然后单击添加小部件。也像这样设置LED 。

现在可以在仪表板中看到您的垃圾箱数据和通知 LED 。

6.设置触发通知

选择触发器:

将设备拖放到if和then框中。

选择 Ultrasoinc 传感器(办公室垃圾箱)。

并且设置这样的参数也会使您更改为您的电子邮件。并保存它。当传感器值低于 10 时也设置 LED 通知(像这样)。

7.测试
将SEBi连接到您的垃圾箱,并填充一些垃圾:

垃圾箱装满后,检查通知 LED和您的邮件:

本文中所用到的一些库文件

如果您对此项目有任何想法、意见或问题,请在下方留言。

以上内容翻译自网络,原作者:Salman Faris,如涉及侵权,可联系删除。

加入微信技术交流群

技术交流,职业进阶

关注与非网服务号

获取电子工程师福利

加入电路城 QQ 交流群

与技术大牛交朋友

讨论