随着大流行在全球范围内得到控制,许多国家正在向前开放其城市以恢复势头,但由于这些原因,人们正在离开家园进行工作、公共集会、紧急情况等。
为了控制有关 Covid-19 指南和上述问题的安全措施,我将基于“AWS IoT EduKit”构建一个 Pandemic 智能系统,它可以通过多种方式使用,例如,
1. 计算应在公共汽车/火车内旅行的固定人数,以维护当局发布的安全指南。(机器学习可用于此)
2. 根据上述指南计算所有旅客的体温。
3. 弄清楚旅行者之间的社交距离。
4. 摸清公共交通封闭环境内的空气质量,采取多种措施保持空气流通,“防止病毒传播”。
5. 制作基于上述所有要点的 AV(视听)反馈系统和警报系统,通过实施该技术,每个人都可以以经济的方式遵循安全准则。
6. 当情况超出可行的安全措施限制时发出警报,并指导当局重新控制。
我们的解决方案适用于物联网、机器学习、TinyML、与传感器网格集成的 Alexa,用于空气质量、温度测量、与 AWS IoT EduKit 集成的摄像头。主要特点:
1. 根据指南确定人们是否正确佩戴口罩(机器学习可用于此)
2. 根据上述指南计算所有旅客的体温。
3. 弄清楚旅行者之间的社交距离。
4. 摸清公共交通封闭环境内的空气质量,采取多种措施保持空气流通,“防止病毒传播”。
5. 基于上述所有要点的反馈系统和警报系统,通过实施该技术,每个人都可以以经济的方式遵循安全准则。
6.当情况超出可行的安全措施范围时发出警报,并指导当局重新控制。
1. 开发任何电子项目(包括微处理器、威廉希尔官方网站 、编程语言等)首先需要的是一个可以由 IDE 轻松提供的开发环境。
所以在这里,我们将为这个项目安装一个合适的 IDE,它是带有 PlatformIO 的 Visual Studio Code。
为了不让写的内容太长太无聊,我提一下 Amazon AWS Edukit Workshop 的官方教程链接:
按照此链接安装所有先决条件,例如:
在我的项目中,我们将实施智能恒温器设置,借助它我们将控制家庭/公共空间冷却/加热设备(基于您自己的领土天气条件)以节省电力/燃料,无论我们在公共交通工具、公共空间甚至家中。
由于智能恒温器实施的设置和步骤相当长,而且不会让这一切变得无聊,我将分享官方 Edukit Workshop 链接,以便您可以在自己的 AWS IOT Edukit 上跟踪和实施智能恒温器。
但是,我将分享我自己通过 Smart Thermostat 实现的所有内容:
#因此,首先,我们将实施经济的解决方案,以节省空间内的电力并有效地使用冷却/加热设备,而不会让它不必要地浪费电力。
状态,同时加热空间
注意:由于安全原因以及我所在地区没有 Grove Relay,我无法使用直流电源设备。
更远
从这里下载我的智能恒温器代码版本:https ://github.com/SAILARK001/Smart-Thermostat/blob/main/ST_1.c
1. 打开代码并跳转到第 174 行。在这里你会发现一个名为 'pin_read_task()' 的 void 函数来读取 GPIO 引脚状态(数字 -> 0 或 1)。
此 GPIO 引脚连接到 Arduino。Arduino 从 Grove 空气质量传感器 v1.3 接收有关空气质量指数的数据,通过代码中指定的 GPIO 引脚(数字形式 0 或 1)将数据发送到 M5Stack IOT Edukit。
2. 现在,跳转到ST_1.c的第 182 行。在这里,您将找到通过 M5Stack 的 GPIO 引脚写入数字命令的功能。该引脚可激活通风风扇以提供新鲜空气,并使用 2.5m 过滤器过滤空气,以抵抗进入公共空间的 covid-19 病毒和有害 pm 颗粒。该引脚在公共空间内超出 AQI 范围时被激活。
三、逻辑解释:
ESP_LOGI(标签,“GPIO %d 上的输出:%s”,GPIO_NUM_14,输出?“HIGH”:“LOW”);
在这里,Core2 Edukit M5Stack 的 GPIO 编号 14 在 Outout 模式下被激活,并且相应地提到了高/低状态的逻辑。
所以在这里,这个问题的故事中的问题陈述的第 4 点正在得到解决:
弄清楚公共交通封闭环境内的空气质量,并采取各种措施保持空气流通,以“防止病毒传播”。
本节是在 AWS IOT Core 的帮助下完成的,我们在其中使用了 IOT Core 服务,例如 MQTT、检测器模型、IOT 分析、IOT Lambda、Arduino 和各种传感器。
注意:我无法向您展示它在 Smart Spaces 数据集和模型上的实施,因为根据我对该项目的预算,我已经超出了 AWS Sagemaker 的费用。
但是,我相信您已经遵循 AWS Edukit Workshot for Smart Spaces的教程,它主要用于消除收到的任何错误值并改进应用程序的工作以实现精确的结果。建议使用“ Smart Spaces”模型以确保该项目的准确性!
在这里,我们将使用 M5Stack 开发的另一种很棒的软件技术,它是基于 MicroPython 的 UIFlow 。它用于开发基于 M5Stack 的智能交互式图形用户界面(GUI)。
它们是大量基于 Grove 的传感器,可与 M5Stack 结合使用,并结合 UIFlow
但是在这里,在这个模块中,我们将只使用蜂鸣器、PIR 和继电器传感器单元
保持和分析遵守适当的社交距离,以便控制 Covid-19 病毒传播,如本项目问题陈述和解决方案第 3 点所述。为此,正在应用 2 种方法:
注意:您一定在想,为什么我们不能将蜂鸣器直接连接到 M5Stack 上?原因:UIFlow IDE 在 Units 部分没有 Buzzer 选项,因此,我们将声明一个“中继”单元并将输出发送到 arduino 以间接发出警报。现在,按照前面的教程...
1. 按照以下步骤安装 UIFlow 软件:https ://docs.m5stack.com/en/quick_start/m5core/m5stack_core_get_started_MicroPython
2.安装软件,选择设备:
3. 按照视频中的步骤在 Edukit M5Stack 上编程和设置 UIFlow
4. 设置并上传您制作的 UIFlow 程序后,您的屏幕将如下所示:
5. 还将输出引脚连接到 Arduino。输出引脚是 UIFlow 程序中作为继电器提到的引脚。将 M5Stack 的端口 C 上的引脚 Rx 连接到 Arduino 的数字引脚 2。代码片段如下,供 Arduino 从 M5Stack 读取:
// THIS IS JUST A PARTIAL PROGRAM SNIPPET, WHOLE PROGRAM IS DOWNLOADABLE BELOW
const int buzzer = 9; //buzzer to arduino pin 9 // DECLARE BEFORE VOID SETUP
pinMode(2,INPUT); //DECLARE INSIDE VOID SETUP
pinMode(buzzer, OUTPUT); // Set buzzer - pin 9 as an output
Serial.begin(9600);
//DECLARE IN VOID LOOP
Serial.println("High pollution!");
digitalWrite(12,HIGH);
THIS IS JUST A PARTIAL PROGRAM SNIPPET, WHOLE PROGRAM IS DOWNLOADABLE BELOW
6. 像这样进行连接:
7、现在到了重要的一步:
/*
Grove_Air_Quality_Sensor.ino
Demo for Grove - Air Quality Sensor.
Copyright (c) 2019 seeed technology inc.
Author : Lets Blu
Created Time : Jan 2019
Modified Time:
The MIT License (MIT)
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.
*/
#include "Air_Quality_Sensor.h"
AirQualitySensor sensor(A0);
const int buzzer = 9; //buzzer to arduino pin 9
void setup(void) {
pinMode(2,INPUT);
pinMode(12,OUTPUT);//LED
pinMode(buzzer, OUTPUT); // Set buzzer - pin 9 as an output
Serial.begin(9600);
while (!Serial);
Serial.println("Waiting sensor to init...");
delay(20000);
if (sensor.init()) {
Serial.println("Sensor ready.");
} else {
Serial.println("Sensor ERROR!");
}
}
void loop(void) {
int quality = sensor.slope();
Serial.print("Sensor value: ");
Serial.println(sensor.getValue());
if (quality == AirQualitySensor::FORCE_SIGNAL) {
Serial.println("High pollution! Force signal active.");
} else if (quality == AirQualitySensor::HIGH_POLLUTION) {
Serial.println("High pollution!");
digitalWrite(12,HIGH);
delay(5000);
digitalWrite(12,LOW);
} else if (quality == AirQualitySensor::LOW_POLLUTION) {
Serial.println("Low pollution!");
} else if (quality == AirQualitySensor::FRESH_AIR) {
Serial.println("Fresh air.");
}
if(digitalRead(2)==HIGH){
tone(buzzer, 1000); // Send 1KHz sound signal...
delay(1000); // ...for 1 sec
//noTone(buzzer); // Stop sound...
//delay(1000); // ...for 1sec
}
else{
noTone(buzzer);
}
delay(1000);
}
现在是第三个也是最重要的实施,智能空气质量维护。
这也是 Edukit IoT Core2 M5Stack + Arduino(使用 AQI 传感器 Grove v1.3)之间进行的整个设置的一部分
首先,像这样固定所有组件:
pio run --environment core2foraws --target monitor
我希望您已经在智能恒温器注册表中替换了我的 Smart Thermostat & Air quality control.h 文件。
运行命令后,您将看到如下内容:
组合所有模块后,公共运输监督员将如下所示并且功能齐全!;)
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
全部0条评论
快来发表一下你的评论吧 !