这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 嵌入式开发 » MCU » 基于树莓派设计的智能垃圾箱装置

共8条 1/1 1 跳转至

基于树莓派设计的智能垃圾箱装置

工程师
2022-04-15 23:37:26     打赏

该项目为智能垃圾箱装置,集成了多个传感器来监控垃圾的状态。

良好的垃圾管理已成为全世界的一个重要问题。在公共和自然空间中,许多人经常不注意而留下垃圾。因为当没有可用的垃圾回收场景时,将垃圾留在现场比将它们带走更简单,所以基于这种原因,甚至一些所谓的保存空间也被垃圾所污染。

为了保护自然区域,提供管理良好的垃圾回收点很重要:

为了防止它们溢出,必须定期升高垃圾箱。重点就在于确定这个定期的时间。如果太快,垃圾桶会清空;但太晚的话,垃圾桶会溢出。在一些垃圾箱难以普及放置的地方(像一些山间小径和农家田园),这个问题就会更加严重。

在这种合理的垃圾管理中,分类可能是一项重大挑战。有机废物可以直接在大自然中处理,用于堆肥;而非有机物废物则必须收集以通过特定工艺进行处理。

项目目的

我们项目的目的是为智能垃圾箱提供监管装置,并集成了多个传感器来监控垃圾的状态。

液位传感器:基于超声波系统,用于通过提醒垃圾收集团队来防止溢出。

温湿度传感器:用于监测垃圾环境。这可用于管理有机堆肥的状况,并在某些特定情况下防止污染(非常潮湿或炎热的条件,非常干燥的条件下的火灾风险)

火焰传感器:有些可能会沉积白炽废物(如烟头)或可能故意点燃垃圾箱。垃圾火灾会对环境产生巨大影响(例如,它可能会引发森林火灾)。火焰传感器可以提醒监督团队该问题。

湿度传感器:对于堆肥过程,保持堆肥材料中的一定湿度水平很重要。我们项目中包含的湿度传感器将测量堆肥的湿度水平。

开启感应器:垃圾桶盖上会安装开启检测器,用于统计垃圾使用情况并检测是否关闭。

定位系统:必须对垃圾进行识别和本地化,以帮助垃圾收集团队对其进行管理。它将在垃圾位置管理上提供更多的灵活性,并可以部署临时垃圾箱(例如,夏季在海滩和远足径上,冬季在滑雪场,在音乐节体育比赛等特殊活动中)

该项目通过带有两个隔间的垃圾箱充分体现了其意义:

一种用于非有机废物。

一种用于堆肥处理的有机废物。

Sigfox用法

垃圾将被安装在孤立的区域。电力将由电池提供,可能连接到太阳能电池板。对我们来说,Sigfox接缝是一个非常好的解决方案:

Sigfox通信系统具有广泛的覆盖范围:它允许大规模部署项目。

Sigfox系统为我们的用例提供了足够的通信能力。

Sigfox可以提供100m定位解决方案:无需在垃圾箱上添加GPS屏蔽。

Sigfox是一种低功耗解决方案,它允许设备自主运行很长时间。

项目详情

硬件设计方法

pYYBAGJFdZWAV8LrAAFIWbAs9qY992.png

项目步骤

第1步:了解Sigfox

Sigfox是一种在物联网范围内连接设备的解决方案。它目前在超过45个国家和300万台设备上运营。消息最长可达12个字节,每天最多140个上行链路和4个下行链路。

第2步:硬件查找

pYYBAGJFdZuAcOyEAAQxjSoZTpE888.png

使用的硬件:

ArduinoMKR福克斯1200

微型微动开关

HC-SR04-超声波传感器

DHT11-温湿度传感器

KY-026-火焰传感器模块

湿度传感器(定制)-可以使用普通的湿度传感器,但使用几个月后,探头的两条两条腿会腐蚀,腿上的薄铜层会完全被腐蚀掉。因此,我们使用定制的由铜制成的湿度传感器,使其在腐蚀前的使用寿命更长。

树莓派3B型

第3步:硬件连接和布局

poYBAGJFdaGACbtGAAQ6JNnwGuM694.png

poYBAGJFdamATifnAABviDZ7daw061.png

第4步:Arduino代码

安装ArduinoIDE:

从此链接安装arduinoIDE:https://www.arduino.cc/en/Main/Software

获取代码:

https://github.com/honhon01/Smart-Waste-Bin

poYBAGJFda-AT0kbAAKfSg0UO1Y865.png

ArduinoSAMD板(32位ARMCortex-M0+)

库:

要安装库,请转到“Sketch》IncludeLibrary》ManageLibraries”。

poYBAGJFdbSAYeQGAAIAqO-_PA8671.png

库类别:

Arduino低功耗

用于MKRFox1200的ArduinoSigfox

DHT传感器库

Adafruit统一传感器驱动程序https://github.com/adafruit/Adafruit_Sensor

RTCZero

查看代码:

  • #include  :用于管理 Sigfox 模块并从设备发送或接收值。

  • #include  :用于使模块进入睡眠状态并节省电池寿命。

  • #include  : 通常,用于 DHT11 工作。

职能:

setup():在这个函数中,我们检查Sigfox是否已经开始。此外,设置DHT11和超声波传感器引脚。

loop():在这个函数中,我们检查按钮是否被按下,这意味着bin是否关闭。如果未按下按钮,Sigfox将不会发送值,但是,如果按下按钮,它将从所有传感器获取值并将其发送到sendPayload()函数。

sendPayload():此函数将启动Sigfox模块并将所有值作为字节发送到SigFox。然后它将结束Sigfox模块

运行代码:

在您了解代码的工作原理之后。尝试编译并上传代码。

不要忘记选择板到ArduinoMKRFox1200和端口到您的设备端口。

第5步:激活您的设备

获得设备后,请转到此链接以激活设备https://buy.sigfox.com/activate。然后,填写信息,您将安装设备。

poYBAGJFdbqAAllNAAGkD7DXgdM621.png

第6步:发送数据

尝试再次运行ArduinoIDE,这一次设备将能够将数据发送到SigFox。您可以检查您是否在SigFox后端收到数据。

pYYBAGJFdcCAJt_6AAE91SSGFbY022.png

第7步:应用服务器

RaspberryPi3ModelB用作应用程序服务器。其中包含Node-RED、MariaDB和Web应用程序。

第8步:使用Node-RED的后端

安装Node-RED:

按照此链接中的说明进行操作:https://nodered.org/docs/getting-started/installation

Npm需要:

节点-红色-节点-mysql

要从SigFox获取数据,我们需要创建自己的服务器来接收数据。我们使用Node-RED作为从SigFox获取数据的工具。

poYBAGJFdcmAXANKAAF1n9Qt7yE499.png

第9步:数据库-MariaDB

安装MariaDB:

RaspbianRaspberryPi:https://howtoraspberrypi.com/mariadb-raspbian-raspberry-pi/

其他操作系统:https://mariadb.com/downloads

第10步:前端应用程序(网站)

pYYBAGJFddCAHdziAAE29yafleg667.png




工程师
2022-04-16 09:47:04     打赏
2楼

学习


工程师
2022-04-16 19:15:45     打赏
3楼

谢谢分享


工程师
2022-04-16 19:22:37     打赏
4楼

学习到了


工程师
2022-04-16 19:24:53     打赏
5楼

感谢楼主分享


工程师
2022-04-16 19:27:42     打赏
6楼

设计得不错


工程师
2022-04-16 19:29:41     打赏
7楼

感谢楼主分享


工程师
2022-04-17 22:09:58     打赏
8楼

挺不错的装置


共8条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]