オミクロン株が猛威を振るっていますが、中々完全な在宅勤務になりません。今週も昨日、今日は出勤で、大雪予報がでている明日も出勤予定。在宅したいのですがままならない。
という訳で、LINEダッシュボタンを3Dプリンタの印刷完了に使う 件の工作は進みません。出勤すると朝、昼休み、夕方の空き時間に作業できないし、夜は目が疲れるので工作したくない。ということでスケッチを少し修正しました。
ひとつは、正常にWiFiとLINE notifyサーバに繋がることを確認するために、起動時にメッセージを送るようにしたこと。このためにmicroSDカードに2つのメッセージを書いています。3Dプリンタの完了通知だけでなく、不在中にドアが開いたとかのセキュリティ監視にも使えそう。
上記はテストなので、監視開始とプリント完了の時間差が殆どありませんが、こんな感じになります。
もうひとつは、sleep と GPIO wakeup を使って印刷終了を監視するようにしたこと。想定通りに動いているので、たぶんこれでsleepしていると思う。週末にsleep版と、ずっと起きてる版の消費電力を比較確認予定。
void setup()
{
... 省略...
// GPIO割り込みピン設定
gpio_wakeup_enable(SW, GPIO_INTR_LOW_LEVEL);
// GPIO割り込みでのsleep復帰を有効化
esp_sleep_enable_gpio_wakeup();
}
void loop(){
// スリープ開始(復帰はこの後ろ)
esp_light_sleep_start();
wifi_connect(); // WiFi接続
send_msg2line(message2); // LINE notifyに2行目のメッセージを送る
wifi_disconnect(); // WiFi接続解除
while(!digitalRead(SW));
delay(100); // チャタリング対策
}
0 件のコメント:
コメントを投稿