一般的に、私は研究所で退屈なプロジェクトや学期末レポートを書くのにうんざりしているので、夏の練習で何か面白いことをすることにしました。
はじめに
私は、ウラル連邦大学のラジオエンジニアリング学部の3年生で、エカテリンブルクで最大のIT部門の1つであるRuby on Railsのプログラマーとして働いています。
練習する時間になったとき、私は決めました-私は仕事の場所に行きます。 ビルドモニタリングシステムを実装するという目標を設定しました。 職場で、彼らはアイデアを承認し、同様のデバイスを組み立てることを提案しました。 その少し前にhabrahabr.ru/post/169097を読みましたが、プロジェクトを実行するように私を促したのは彼女でした。 それで、仕事に取り掛かりました。
もちろん、その過程で多くの問題に遭遇しました。
問題1:信号機
私たちの街でランプの信号機を手頃な価格で買うことは不可能であることがわかりました。 私はすべての友人と交際しなければならず、非常に困難なことに、破壊者の手によってひどく損傷を受けたと思われるコピーが1つ見つかりました。 実際、バイザーの1つが破損し、マウントの1つが完全に破壊されました。
解決策は簡単でした-ポストではなく壁に固定するだけでなく、グラスファイバー付きエポキシは壊れたバイザーを簡単に復元しました。
トラフィックライトブレイン
最初は、たとえばMSP430 +イーサネットなど、簡単なことをしようと考えました。 しかし、計算では、このソリューションのコストはラズベリーPIのコストに匹敵することが示されました。 もちろん、私はラズベリーを選択しました。これは、信号機でのさまざまなホイッスルホイッスルの将来の存在を予示しました。
ArchLinuxはラズベリーにインストールされました。 ラズベリーには実際の時計がないため、オンにするたびにデバイスに正しい時刻を設定するスクリプトを作成する必要があります。そうしないと、現在の日付(1970年1月1日)によりHTTPS接続が機能しなくなり、すべての証明書が無効になります。
次に、最新バージョン2.0.0のrubyがコンパイルされました。 手順には3時間以上かかりました。
gpioと通信するために、WiringPIとPiPiperの2つのgemがテストされました。 最新バージョンのボード(rev 2)では、PiPiperのみが機能しました。 ところで、root権限を持つユーザーのみがgpioにアクセスできますが、これには留意する必要があります。
ラズベリーロジックに3.3 Vを設定すると、信号機が点灯しますか?
信号機は220Vネットワークから非常にうまく機能します-これは便利です。 約1時間、ソケットの各信号機を交互にオンにして、子供の頃は幸せでした。 参考までに、信号機は発光ダイオードですが、古いタイプ、つまりランプのようなものです。そのため、デザインを変更して電球を差し込むことはしませんでした。
信号機からの光は心地よいです-ランプのように暖かく、信号機のレンズの焦点に入るだけでも、あまりにも鋭い光の不快な感覚ですが、この問題は信号機の正しい位置によって解決されました。
そこで、前述の主な問題に目を向けます。 リレーと「非リレー」という2つのソリューションが見つかりました。
私の練習リーダーの1人が、高電流に満ちたリモートパワフルな負荷を管理する必要がある夏の別荘を持っているので、私は新しいすべてに興味があり、まったく興味がないので、2番目のオプションが選択されました。
easyelectronics.ru/upravlenie-moshhnoj-nagruzkoj-peremennogo-toka.htmlを読んだ後、わずかに異なる光学ドライバーを備えた3チャネルデバイスを実装しました。優れたヒートシンクで最大16Aを保持できます。 それでも、信号機は強力ではありません-私はラジエーターなしでやった。
ブレッドボード上で、このようなデバイスの1つの有効なチャネルを組み立てました。
確かに、回路はゼロを制御するように指定されていましたが、高い信号レベルを制御したため、入力接点を交換する必要がありました。
製造管理ボード
表面実装の試みが失敗した後、プリント回路基板を作成することが決定されました。
結果のスキーム:
テキソライト、塩化第二鉄が購入され、LUT(自宅でのボードのレーザー鉄方式)が研究され、5回目の試みで、プリント基板の画像が紙からテキソライトに転写されました。
トポロジー:
その後、2 mmのドリルを1 mm破壊したので、朝を待って、研究所の掘削機に残りの穴を開けました。 同じ日の夕方、私は塩化第二鉄と別れ、中毒を始めました-たった20分で、板はエッチングされました。
ところで、解決策は再利用可能であることが判明しました。
アセトンを使用して、トナーの層を取り除き、2時間ですべてのコンポーネントをはんだ付けしました。 その後、ボードはザポンラックで覆われました。
管理プログラム
root権限を持つユーザーのみがgpioにアクセスできるため、rvmはwiki.archlinux.org/index.php/RVMの指示に従って構築されました。 システムのアーキテクチャは次のとおりです。Webフォームからアクセスできるサーバーと、gpioを介してエグゼクティブデバイスボードと通信するデーモンがあります。 デーモンにはルート権限があります。 プロジェクトコードを表示できます。
github.com/Aelphy/traffic-light-server
github.com/Aelphy/traffic-light-daemon
おわりに
結果として、列と本格的な新年モードを追加する予定です。
これで信号機は標準モードで動作しています-プロジェクトの最後のビルドのステータスを表示し、内部ネットワークが動作しているかどうかを監視します。
使用されるカラーコード:
-緑-テストに合格。
-赤-テストが落ちました。
-黄色-ビルドがあります。
-黄色の点滅-問題(インターネットなし、応答なし)。
このプラットフォームでは、多数の監視および保守タスクを非常に安価に実装できます