休暇中、私はニューイングランドの自宅の停電検出装置を持っていることは素晴らしいアイデアだと思いました。簡単なDuckduckgo検索で、 @Fabytmの優れたRaspberry PI実装が発見されました。それを少しつかんだ後、私はButeanのアイデアのより軽量なバージョンが安価なESP32またはESP8266 MCUでより簡単になるかもしれないと決めました。また、他の人が時間を短縮したり、お金を短くしたり、技術的なスキルを少なくして電力検出デバイスを構築できるようにします。
キャプチャしたい2つの停止シナリオがあります。
停止検出- 最初に、Adafruitのフィード通知システムを使用して、指定された期間内にデバイスからHTTP応答を受け取っていなかった場合に通知したかったのです。 Adafruit IOでは、10分、30分、1時間、または1日で更新が投稿されていない場合、無料のアカウントが通知を送信します。この「オンライン」フィード機能は本当にいいです。無料のAdafruit IOアカウントの場合、それは電子メールのみですが、私たちの目的のために、これで十分です。
停止の長さ- コード、すべての100ラインのコードも、エポック時間を追跡します。電力が再開されると、最後の記録された時間以降の時間が経過した時間を計算し、 config.pyで設定した値を超える場合、このデルタにiftttに投稿します。 IFTTTのValue1フィールドでの停止時間を報告し、私の「その後」のアクションは、Alexaに停止の長さを通知させることです。
config.pyでは、Adafruitの投稿間隔を30秒に設定し、停止間隔を10分に設定します。また、Gmailアカウントに電子メールを送信するこのフィードがあります。これには、送信者が[email protected]である場合、AT&T SMTPからSMSゲートウェイ[email protected]にメールを転送し、SMSアラートを取得します。 IFTTT通知の場合、Deltaの停止長を30分に設定し、Webhooksを使用して、その時間間隔よりも長く続く停止について警告します。
このデバイスを構築するには、次の5つのコンポーネントが必要です。
Expressif ESP MCU -lolin/Wemos ESP32C3ボードを4ドルで選択しました。 ESP8266も同様に機能します。
Micropython-上記のボードにはこちらからダウンロードできます。 Micropythonをフラッシュし、Pythonスクリプトをアップロードするには、 esptoolとampyツールが必要です。お気に入りのシリアル接続ツール(Putty.exe、画面など)を使用してください。
detect.pyおよびconfig-sample.pyマイクロパイソンファイル。 config-sample.pyをconfig.pyに変更して、wifi、adafruit、およびifttt資格情報を組み込みます。
AdafruitとIFTTTの両方で作成された無料アカウント。これらのアカウントを作成するのは簡単です - これらのサイトを直接移動してサインアップするだけです。フィードを作成し、このフィードの通知をAdafruitの通知を設定する必要があります。 IFTTTでは、Adafruitで指定したフィード名を使用してWebhookを使用します。
MCUを囲むための小さなケース。 ESPチップを収容する小さなケースの.scadバージョンと.stlバージョンの両方を含めました。選択したボードに合わせて変更すると、変更できます。 SCADを使用してこれらの変更を加えます。
コメント/提案/批判を歓迎します。覚えておいてください、私はこのレポとコードを90分以内に作成しましたが、改善できると確信しています。しかし、それは私が必要なものに最適です。
