スマートホーム環境での機械式時計



良い一日! いいえ、もちろん完全に機械的ではありません。 電気機械。 いわゆる環境内での無線情報交換の実装の1つが検討されます。 「スマートホーム」、つまり正確な時間に関する情報の交換。 また、人間の介入なしにアナログ時計を制御するというアイデアも提示されます。

前の記事で、 NRF24L01 +に基づく無線モジュールを使用して、無線チャネルを介して屋外温度に関する情報を収集することについて説明しました。 「スマートホーム」のインフラストラクチャの開発を継続し、正確な時間に関する情報交換を実装することが決定されました。

親切な人々は二次時計 「Strela」を与えました-彼らはKDPVにいます。 ドライブのソレノイドは容赦なく切断され、代わりにプリンターのステッピングモーターと無線モジュールNRF24L01 +を備えたマイクロコントローラーmsp430g2553がインストールされました。

矢印の位置の最初の決定の問題は、次の方法で解決されました。 ダイヤルの矢印の下に、2つのIRオプトカプラーが取り付けられ、手が6:00になったときに両方のセンサーがトリガーされるようにしました。 1つのセンサーは12の12の角にあり、2番目は品質マークの上にあります。 センサー(図の丸で囲んだ部分)は反射に作用し、矢印の内側は光沢があります。



初期化中に、いわゆる 駐車場。 マイクロコントローラーは、両方のセンサーが閉じるまで矢印を回します。 その後、開始点を6:00として受け入れ、「スマートホーム」のコントローラーから無線チャネルを介して時間要求が行われ、応答を受信すると、正確な時間に応じて手の位置が調整されます。 仕事の過程で、時計は一定の頻度で時間を要求します(私の場合、1分間に1回)。 無線チャネルでの衝突を避けるために、家の中に同様の時計がいくつかある場合、個々の時計には一意の識別子があり、その値は秒単位で、新しい分が到着してからの要求の遅延を決定します。

時計の内部は次のとおりです。



「スマートホーム」のハードウェアは、最近ラップトップ+ FreeBSD9からTP-Link TL-WR703N + OpenWRTに移行しました。 ntpd内部時刻同期デーモンを実行します。 「スマートホーム」の機器との通信は、msp430g2553マイクロコントローラーを介してNRF24L01 +無線モジュールが接続されているUARTを介して行われます。



コントローラー自体はPERLで記述され、Device :: SerialPortモジュールを介してUARTと通信します。

コントローラボードの2番目のコネクタは、アクチュエータ(ライト、セキュリティセンサー、シャッター、その他のオートメーション)を制御するために設計された追加のNRFモジュール用に計画されています。 それを介した交換は、暗号化を使用して別の周波数チャネルで行われます(手が届く場合)。



CCS5のプロジェクトソースと図のProfiCADのクロックスキーム(winrarの保存と解凍):



UPD:コントローラーのパールバーコード。





起動時のインストールビデオ-制御モニターのテールモニターモニターログ





ご清聴ありがとうございました!



All Articles