シンプルでスマートな空気清浄機システム
コンポーネントと消耗品
> |
| × | 1 | |||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 |
必要なツールとマシン
| ||||
| ||||
|
アプリとオンラインサービス
> |
| |||
| ||||
| ||||
|
このプロジェクトについて
家庭、オフィス、その他の人間の環境にほこりが存在することは避けられません。実際、環境保護庁によると、屋内の空気は屋外の空気の2〜5倍汚染されている可能性があります。この大気汚染は、目のかゆみ、くしゃみ、人間の頭痛などの軽微な不快感の原因となります。さらに悪いことに、それは重度のアレルギー、生命を脅かす喘息の主な原因となる可能性があります。
この問題を解決するために、稼働中の空気清浄機がこの問題にうまく対処しています。しかし、私はIoTの利点を活用して、空気清浄機をよりスマートにしたいと思っています。空気清浄機を1日中オンにする従来の方法ではなく、「脳-マイクロコントローラー」と「センサー」を実装して、ほこりの存在がある程度の認識に達した場合にのみ動作するようにします。これにより、多くの電力を節約できます。 !また、世界中のどこにでも移動するたびに、ラップトップの「ターミナルウィンドウ」または「MQTT対応クライアント」デバイスで動作ステータスを確認できます。
ステップ1:すべてのコンポーネントを収集する <図> <図> <図> <図>
すべてのコンポーネントを表示するには、DropboxからBOMリストをダウンロードできます。
または、私のコンポーネントと消耗品のセクションを参照してください。
ステップ2:すべてのピースが理にかなっていることを確認する
最初にすべてのコンポーネントを入手しました。すぐにテストして、コンポーネントの機能が正常に動作することを確認します。
<図> <図> <図>GP の場合 2Y1010AU0Fシャープダストセンサー セットアップについては、CyrilleMédarddeChardonとChristopheTrefoisによるこのブログチュートリアルを参照できます。チュートリアルでは、配線接続からコーディングまで、最高のものをカバーしています。
<図>リレーモジュールの場合 セットアップでは、単純なトグル(オンとオフ)状態を使用して、リレー機能の接続をテストします。
ステップ3:コーディング
コーディングは簡単です。ここでの課題は、AWS IoTを使用して、センサーからMQTT対応デバイスにデータを通信することです(私の場合のように、私はラップトップを使用しています)。コーディングのセクションを参照してください。興味深いことに、AWS CLI IoTのビデオチュートリアルも作成したので、誰でもそれについて学ぶことができます。
(注意:このビデオを作成する時点では、ベータ版のみをカバーしています)
ステップ4:配線 <図> <図> <図> <図>
ステップ5:結果を取得する <図> <図>
ビデオデモンストレーション
将来の改善
このプロジェクト、特に「IoTプロジェクト」については、まだ多くの改善が可能であることを私は知っています。しかし、日中の仕事のおかげで、このプロジェクトの開発に自分の自由時間の一部しか使うことができませんでした。しかし、「データ監視のためのリアルタイムの方法」アプリ(ヒント:NodeJS)は私に興味を持っています。そして、将来的にはこのプロジェクトのウィッシュリスト(またはやることリスト)として追加される予定です。しばらくお待ちください!
結論
このプロジェクトを行うとき、特に「IoT-モノのインターネット」では、とても楽しいことがあります。 IoTの可能性と改善はまだ広大です。また、AWSが提供するIoTサービスの使用方法を学ぶことも楽しんでいます。これは、使用が非常に便利で(AWS IoTダッシュボードを使用した簡単なセットアップ)、暗号化によってすべての接続を保護できるためです。
問題|質問|コメント|提案
おそらく、このプロジェクトには私が気付いていない技術的な問題があります。コメントやプライベートメッセージを残してください。フィードバックは高く評価されています!
このプロジェクトの複製に関する質問や問題があれば、私に連絡するか、以下にコメントを残してください。私はあなたを助けるために最善を尽くします、再び私たちは一緒にハードウェアを学ぶためにここにいます!
あらゆる種類のコメントや提案を歓迎します。
コード
- シンプルでスマートな空気清浄機-System.ino
- iot_config.h
- iot_config.cpp
- dust_config.h
- dust_config.cpp
- aws_iot_config.h
- ライセンス
Simple-and-Smart-Air-Purifier-System.ino Arduino
Arduinoメインコード/ * Aaron Kowによって作成されたシンプルでスマートな空気清浄機システムのソースコードライセンス:MITライセンス* /#include "iot_config.h" #include "dust_config.h" aws_iot_setup aws_iot; dust_setup dust_sensor; int measurePin =4; int ledPower =12; int relayPin =13; float result; void setup(){pinMode(ledPower、OUTPUT); pinMode(relayPin、OUTPUT); aws_iot.config();} void loop(){//ダスト密度を設定結果result =dust_sensor.init(measurePin、ledPower); //リアルタイムデータモニタリング用のAWSIoT MQTT aws_iot.data(result); //ほこりの密度が0.25mg / m3を超える場合は、エアフィルターをオンにしますif(result> 0.25){digitalWrite(relayPin、HIGH); } else {digitalWrite(relayPin、LOW); } delay(1000);}
iot_config.h C / C ++
IoT構成のヘッダーファイル/ * Aaron Kowによって作成されたシンプルでスマートな空気清浄機システムのソースコードライセンス:MITライセンス* /#ifndef iotconfig_h#define iotconfig_h#include#include #include #include "aws_iot_config.h" class aws_iot_setup {public:void config(void); void test(void); void data(float);}; #endif
iot_config.cpp C / C ++
My IoT Configuration File/ * * Copyright 2010-2015 Amazon.com、Inc。またはその関連会社。全著作権所有。 * * Apache License、Version 2.0(「ライセンス」)の下でライセンスされています。 *ライセンスに準拠する場合を除き、このファイルを使用することはできません。 *ライセンスのコピーは** http://aws.amazon.com/apache2.0 **またはこのファイルに付随する「ライセンス」ファイルにあります。このファイルは、明示または黙示を問わず、いかなる種類の保証または条件もなしに、「現状有姿」で配布されます。ライセンスに基づく許可と制限を規定する特定の言語については、ライセンスを参照してください。 * // **このソースコードはシンプルでスマートな空気清浄機システム用に変更されています* AaronKowによって作成されました* /#include "iot_config.h" aws_iot_mqtt_client myClient; // init iot_mqtt_clientchar msg [32]; //読み取り/書き込みbufferintcnt =0; //ループcountsintrc =-100; //戻り値placeholdervoidmsg_callback(char * src、int len){Serial.println( "CALLBACK:"); int i; for(i =0; i0.25){sprintf(mqtt、 "ほこりの密度:%s mg / m3、エアフィルターはオンです"、msg); } else {sprintf(mqtt、 "ダスト密度:%s mg / m3、エアフィルターがオフ"、msg); } if((rc =myClient.publish( "dustlevel"、mqtt、strlen(mqtt)、1、false))!=0){Serial.println( "公開に失敗しました!"); Serial.println(rc); //失敗=-6} //デバッグ用printSerial.print( "Dustdensity:"); Serial.print(data); Serial.println( "mg / m3");}
dust_config.h C / C ++
ダストセンサー構成のヘッダーファイルソースコード/ * Aaron Kowによって作成されたシンプルでスマートな空気清浄機システムのソースコードライセンス:MITライセンス* /#ifndefdustconfig_h#define dustconfig_h#includeclass dust_setup {public: float init(int、int);}; #endif
dust_config.cpp C / C ++
ダストセンサー構成ソースコード/ * ArduinoFioおよびSharpOpticalダストセンサーで使用するスタンドアロンスケッチGP2Y1010AU0Fブログ:http://arduinodev.woofex.net/2012/12/01/standalone-sharp-dust-sensor /コード:https://github.com/Trefex/arduino-airquality/ピン接続については、ブログまたはgithubプロジェクトページを確認してください。作成者:Cyrille Mdard de Chardon(serialC)、Christophe Trefois(Trefex)変更ログ:2012年12月-01:クリーンアップされたコードこの作品は、Creative Commons Attribution-NonCommercial-ShareAlike 3.0 UnportedLicenseの下でライセンスされています。このライセンスのコピーを表示するには、http://creativecommons.org/licenses/by-nc-sa/3.0/にアクセスするか、Creative Commons、444 Castro Street、Suite 900、Mountain View、California、94041、USAに手紙を送ってください。 。* // **このソースコードはシンプルでスマートな空気清浄機システム用に変更されています* AaronKowによって作成されました* /#include "dust_config.h" int sampleTime =280; int deltaTime =40; int sleepTime =9680; float voMeasured =0; float calcVoltage =0; float dustDensity =0; float dust_setup ::init(int measurePin、int ledPower){digitalWrite(ledPower、LOW); // LEDの電源をオンにしますdelayMicroseconds(samplingTime); voMeasured =analogRead(measurePin); //ダスト値を読み取りますdelayMicroseconds(deltaTime); digitalWrite(ledPower、HIGH); // LEDをオフにしますdelayMicroseconds(sleepTime); // 0-1023整数値にマッピングされた0-5V //電圧を回復calcVoltage =voMeasured *(5.0 / 1024); //http://www.howmuchsnow.com/arduino/airquality/から取得した線形方程式// Chris Nafis(c)2012 dustDensity =0.17 * calcVoltage --0.1; dustDensityを返します。 //単位:mg / m3}
aws_iot_config.h C / C ++
AWSIoT構成のヘッダーファイル/ * * Copyright 2010-2015 Amazon.com、Inc。またはその関連会社。全著作権所有。 * * Apache License、Version 2.0(「ライセンス」)の下でライセンスされています。 *ライセンスに準拠する場合を除き、このファイルを使用することはできません。 *ライセンスのコピーは** http://aws.amazon.com/apache2.0 **またはこのファイルに付随する「ライセンス」ファイルにあります。このファイルは、明示または黙示を問わず、いかなる種類の保証または条件もなしに、「現状有姿」で配布されます。ライセンスに基づく許可と制限を規定する特定の言語については、ライセンスを参照してください。 * /#ifndef config_usr_h#define config_usr_h //構成をコピーしてこのファイルに貼り付けます// ===============================================================#define AWS_IOT_MQTT_HOST "" #define AWS_IOT_MQTT_PORT 8883 //あなたのport#define AWS_IOT_CLIENT_ID " " #define AWS_IOT_MY_THING_NAME " " #define AWS_IOT_ROOT_CA_FILENAME " "#define AWS_IOT_CERTIFICATE_FILENAME " " // ===============================================================// SDK構成、変更しないでください#define AWS_IOT_PATH_PREFIX "./certs/" #define AWS_IOT_ROOT_CA_PATH AWS_IOT_PATH_PREFIX AWS_IOT_ROOT_CA_FILENAME //構成でこれを使用call#define AWS_IOT_CERTIFICATE_PATH AWS_IOT_PATH_PREFIX AWS_IOT_CERTIFICATE_FILENAME //構成でこれを使用call#define AWS_IOT_PRIVATE_KEY_PATH AWS_IOT_PATH_PREFIX AWS_IOT_PRIVATE_KEY g call#endif
ライセンス値下げ
MITライセンスMITライセンス(MIT)Copyright(c)2015 AaronKowPermissionは、このソフトウェアおよび関連するドキュメントファイル(「ソフトウェア」)のコピーを取得するすべての人に、制限なしにソフトウェアを取り扱うために無料で付与されます。 、以下の条件を条件として、ソフトウェアの使用、コピー、変更、マージ、公開、配布、サブライセンス、および/または販売の権利を含みますが、これらに限定されません。通知およびこの許可通知は、ソフトウェアのすべてのコピーまたは実質的な部分に含まれるものとします。ソフトウェアは、商品性の保証、特定の目的への適合性を含むがこれに限定されない、明示または黙示を問わず、いかなる種類の保証もなく「現状有姿」で提供されます。および非侵害。いかなる場合も、作者または著作権所有者は、契約、不法行為、またはその他の行為にかかわらず、本ソフトウェアまたは本ソフトウェアの使用またはその他の取引に起因または関連して、いかなる請求、損害またはその他の責任についても責任を負わないものとします。
シンプルでスマートな空気清浄機システムのソースコード
シンプルでスマートな空気清浄機システムのGitHubリポジトリhttps://github.com/AaronKow/Simple-and-Smart-Air-Purifier-System 回路図
私はschematic.comを使用してこの回路図を描きます 製造プロセス