
この記事では、 Stellarisマイクロコントローラーを実行するOpenWrtルーターに基づいて、安価なWiFi無線を製造する実用的な側面に焦点を当てています。
コンポーネントの選択の目的と根拠
主な目標は、家庭での使用に適した最もシンプルで直感的なインターフェイスを備えた、キッチンにバックグラウンドミュージックを提供するデバイスを作成することでした。
マイナーゴール :
- 壊れたラジオを修正する
- 欠陥のあるルーターと、買い物中毒に合わせて注文されたStellarisデバッグボードを取り付けます。
- Stellarisマイクロコントローラーを使用することの利便性を評価する
回路の他のコンポーネントの選択は必須ではありません。
本体
通常、このセクションは最後に配置されます。 しかし、私の意見では。 特に攻撃的な環境(つまりキッチン)でデバイスを操作する場合、トピックは非常に重要です。 ジェフは合板のケースを作りました。 通常の音を望み、合板を曲げる方法を知っている人のための良い解決策。 私のパフォーマンスでは、そのようなケースはあまりにも集団的であるように見えるので、CDで古い太鼓腹なラジオを演奏することにしました。 CDプレーヤーの幅広のベースにより、最も立体的な構造要素を配置できます。ルーターボード、スピーカーがオーディオパスの基礎を提供し、必要な可動性を運ぶためのハンドルです。 さらに、ラジオのコントロールを使用する機会があります。
インターフェース
新しいテクノロジーの使用を妨げる要因の1つは、ユーザーインターフェイスを変更する必要があることです。 そのため、最もシンプルなオプション、つまりステーション番号を表示する大画面、次/前の2つのボタン、音量調節用の2つのボタン、および再生用の開始/停止ボタンを選択することにしました。 デバイスを実際に使用するには、最後に設定したサウンドレベルと選択したステーションを覚えておくことが重要であることが判明しました。
建設業
MightyOhm Webサイトの4年前のマニュアルが基礎として選ばれました。 十分に詳細に説明されているので、ここで完全に再現する理由はありません。 違いだけを説明します。
このようなスキームを使用して無線を構築する場合、Linuxとマイクロコントローラー間の制御の分離にジレンマがあります。 大部分の制御ロジックがMK上にある場合、Linux管理の経験が豊富でなく、MKで遊びたいという欲求のために、このオプションを選択しました。 さらに、ルーターをフラッシュするときにセットアップ手順を繰り返す必要があるという問題に戸惑っています。
したがって、オープンソース側から、私は追加しただけ
ソフトウェア
Stellarisは、あなたにとってはアルドゥインではなく、115200で自由に動作するUARTポートのみで、6個あるため、デバッグ時にPCのUSB-UARTアダプターとして2個を使用できます。 MKソフトウェアによって実行される最初のタスクは、ルーターに接続されたUART1とPCに接続できるUART0の間で情報を転送することです。 2つ目は、ボタンの状態の変化に関する情報を含む、通過する情報の分析と状態マシンへのイベントの送信です。 3番目は、着信メッセージの分析とディスプレイデバイス上の情報の変化を伴う有限状態マシンの実装です。
開始後、MKは信号がルーターの読み込みを完了するのを待ち、インターネットからプレイリストを更新し( DropBoxを使用してプレイリストを保存します )、サウンドレベルとステーションを復元し、再生を開始するコマンドを送信します。
提案されたスキームとコードは機能していますが 、6か月以内に断片的に作成されたため、結果として機能するデモとしてのみかなり面倒で価値がありました。
製造

ドナー、世紀の初めの中国産業の未知の奇跡。
スピーカーとボタン付きボードを除くすべての機器は、古いラジオから削除されます。 時間とインスピレーションがあれば、オーディオアンプと電力を節約することができます。

ガッティング。
ケースを適切に改良した後、新しい機器が詰め込まれます。

詰め物。

ルーターボード(1)
私は有名なAsus WL-500gP V2を手に入れました。WiFiポートとしての作業に影響を与えなかったWANポートの問題のためにビール用に手に入れました。 理論的には、ルーターはOpenWrtとUSBポートをインストールできる人なら誰にでも適しているはずです。
USBサウンドカード(5)
写真に示されているように注文しましたが、動作します。さらに、 Asus Xonar U3のテストは成功しましたが、予想される音質の改善は得られませんでした。 オーディオパスのビットレートと品質が低いためだと思います。 ボタンのない透明なケースで試され、テストされた別の中国製USBサウンドカードは、PCですべてが正常に行われたという事実にもかかわらず、動作を拒否しました。理由は不明です。
オーディオアンプ(4)
EBayで「安い」ベースで注文しました。 強い高周波ノイズのため推奨できませんが、スピーカーと直列に接続された抵抗は、十分な音量レベルを維持しながら許容レベルまで低減するのに役立ちました。
デバイスを示す
このようなスキームを使用して無線を構築する場合、一対のLEDを使用してステータスを示すか、ルーターのLEDでナビゲートするだけで十分ですが、MKリソースがアイドル状態にならないように、このOLED画面を注文しました(3) 。 画面は素晴らしい-コンパクトで対照的ですが、特に視力の低い人がラジオを操作する場合は小さすぎます。 したがって、 コントローラ(6)を備えた7セグメントインジケータがデザインに追加され、私の意見では最も重要な情報(選択されたステーションの番号)が示されました。
マザーボード
MK(2) 、 メモリ(7) 、およびブレッドボードのスイッチを入れた周辺機器のコネクタ。 外部メモリを選択した理由は、stellarisの初期バージョンのフラッシュメモリのバグに関するメッセージであり、書き換えサイクルの数が大幅に削減されました。 メモリチップなしで実行することも、MKの内部フラッシュを使用することもできますが、これにはソフトウェアのさらなる開発が必要になります。
食べ物(8)
ルータには5v 2a、アンプ12v <1aが必要です。2つの個別の電源を注文しました。 より正確な解決策があると思うので、コメントで喜んで彼に会います。
制御装置(ボタン)
ラジオの設計により、適切な変更を加えた後、ボタン付きのマザーボードを使用することができました。 あなたも幸運であることを願っています。

完了
簿記
1 | ASUS WL-500gプレミアムV2 | $ 10(デッドWANポート) |
2 | EK-LM4F120XL Stellaris LM4F120 LaunchPad評価ボード | 7.99ドル(現在) |
3 | 新しい3.3V 0.96 "128X64 OLED LCD LEDディスプレイモジュールシールド白色SSD1306 | 8.74ドル |
4 | 10WミニHIFI 12Vデジタルパワーアンプステレオハイパワーアンプボード | 4.99ドル |
5 | USB2.0から3.5mmオーディオマイクスピーカーポートアダプター7.1チャンネル3Dサウンドトラック | 2.08ドル |
6 | 0.56 "LED 7セグメント4桁共通カソードMAX7219 arduino青白緑 | 3.68ドル |
MAX7219 | 0.45ドル | |
7 | AT25040A | 〜1ドル |
8 | LEDの滑走路端AC AC 110 / 220V 5V 2A 10Wのためのスイッチ電源の運転者 | 8.16ドル |
12V 1A 12W DCスイッチ電源ドライバー | 4.99ドル |
ステラリス
Stellarisはその幅広い機能と優れたドキュメントに満足していましたが、印象は製品が湿っていたということでした。 おそらく、私が予約注文からボードを使用したという事実によるものと、ソフトウェア側の両方についてです。 同時に、コミュニティは同じarduinoに比べてそれほど大きくないため、TIが提案した例から一歩離れると、ドキュメンテーションとソースコードだけで武装したパズルとバグの地雷原にいることになります。
たとえば、2を超えるUARTを使用するには、ライブラリコードを変更する必要があることがわかります。 ボードでPB7とPD1ピンが短絡しましたが、これは私のそれほど正しくない実験の結果かもしれません。 カスタムボタンを正常に動作させることはできませんでした。
未実現のままであったもの:
- IRリモートコントロールによるネジ制御、ピンの利点、MKの計算能力。
- 「スリープ」モードを実装し、必要に応じてルーターをリセットできるようにするルーターのMK電源管理のリレーから開始します。
- NTPをセットアップし、正確な時間を表示します。
- 4〜5時間の再生後にラジオを自動的にオフにするタイマーを実装する
- 音楽のコレクションを備えたハードドライブをデザインに追加し、インターネットがなくても使用できるようにします。
- 複数のプレイリストとそれらを切り替えるボタンを使用する機能を追加します。
- ボリュームボタンとステーションボタンを古いマウスのロータリースイッチに置き換えます。
結論
設定されたすべてのプライマリおよびセカンダリの目標が達成されます。 数か月間デバイスを操作して成功した経験は、選択されたソリューションの正確さを証明します。