前回ダウンライトの外観だけだったのでシステム全体の説明です。
照明システム
照明システムとして必要性を全く感じないのですが、以下要件。
- ESP8266を使用してネットワークを介したON/OFF制御
- 日の入時刻で自動的に夜間モード(明るさを抑えて点灯)
- 夜9時に自動的に夜間モード終了(電源OFF)
- 物理スイッチでのON/OFF操作
- スマホからのON/OFF操作
圧倒的にバカな内容ですが実装しました。
LED照明点灯回路
プログラムの書き換えを楽にするためOTAを使用しました。(はじめて)
ESP8266のPWMを利用して明るさを制御します。
同時にON/OFFの切り替えや設定の変更などがあった場合、UDP通信で宅内サーバーに設定値を通知します。
回路設計とかめんどくさかったので以前作った装置を流用・・・。
そのうち専用設計で作る予定です・・・
Nippochitto制作4
どうも一部業種にしか意味のないツールNippochittoのさらなるアップデートです。警報を入力もともと設計段階から計画があった成形機の警報入力部を実装していこうと思います。各メーカーさんのブザーOUTに接続して警報を感知しようという作戦で...
LEDの点灯用に2SC1815->2SK4017に変更しています。
サーバー側の処理
サーバーはRaspberry pi3 が余っていたので利用します。
Node.jsのインストールが必要です。
その辺は、ほかのサイトを参考にしてください。
自動制御部
SetIntervalを使って日の入時刻と夜9時を監視し、定刻になったらESP8266に設定値をPOST送信する。
設定が変更できた場合ESP側から設定値が飛んでくるので、その値を保存し、WebSocketに接続されている端末すべてに設定値を送信する。
日の入時刻は、PHPのdate_sun_info()関数を利用してNode.jsからXHRHttpRequestを使って取得します。
緯度、経度が必要になるのでグーグルマップで調べます。
スマホ操作ページ
スマホから操作するページを作成します。
単純にON/OFFするスイッチと、各種設定値を変更できるスライダーを配置して完了です。
一応PWAに対応したのでスマホのホーム画面にアプリとして登録できます。
コメント