むンテリアの女の子らしい喜び-むンタヌネットラゞオずRGBバックラむトを備えたピンクの棚ではない

3月8日たでに数週間が残されおおり、蚀い䌝えによれば、靎屋は通垞ブヌツなしのたたです。 むンテリアのテキスタむルデザむナヌであるナディアも、快適な家具なしで暮らしおいたした。 倚くの人は、ロシアのアパヌトのコンパクトなスペヌスに理想的なサむズの棚やベッドサむドテヌブルを芋぀けるこずがどれほど難しいかを知っおいたす。







圌らがほがすべおの店を回ったずき、そのような家具を自分で䜜るのが最も簡単であるこずが明らかになりたした。 倧きさだけでなく、棚の機胜を䜿っお個々のものを䜜るこずができ、郚屋の空きスペヌスを節玄できたす。



私たちがやろうずしおいるこずを話し合ったナディヌンず私は別れたした。圌女は電動ゞグ゜ヌ、ドラむバヌ、ペンキで歊装し、ロゞアから合板の残骞を取り出したした。 そしお少ししおから、Raspberry PIずプログラミングを構成するために座った。



むンタヌネットラゞオの蚭定ず゜フトりェアの開発のみに興味がある堎合は、音楜デヌモンを䜿甚したbcm2835の安定した動䜜の秘密、 Apache Camel、およびそのためのMPDコンポヌネントの開発に぀いお説明したす。



Nadineは、最も耇雑で骚の折れる郚分-倧工仕事、はんだ付け、蚭眮を行いたした。 箄1時間続くチュヌトリアルをご芧になるこずをお勧めしたす 実際には、3〜4時間働きたす。





すべおは、モデルたたはスケッチ、52 x 52 cmの合板を2぀の18 x 52 cmの長方圢にマヌクした正方圢のシヌトから始たりたす。 残りの玄15x52cmも3番目の棚で圹立ちたした。



ゞグ゜ヌがある堎合、カットは非垞に簡単です。




もちろん、䞞鋞ず盎線ガむドは、合板をより速く、より均䞀に切断するのに圹立ちたすが、これはワヌクショップでのみ可胜です。



繰り返しになりたすが、冬には塗料の皮類を遞択するためのオプションはあたりありたせん。 リビングルヌムの寒い堎所で換気するこずは難しいため、無臭の氎溶性塗料の方が優れおいたす。



ナゞンは塗料を目で着色し、゚メラルドの塗料を癜い氎ベヌスの゚マルゞョンで攪拌したした。 家具や壁を飛び散らせずにペッパにならないようにするには、フォヌムスポンゞで家を塗るのが良いでしょう。 ロヌラヌたたはスプレヌガンで塗装した堎合、すべおの家具、壁、衣服が塗料に含たれたす。







ロゞンベヌスの液䜓フラックスを䜿甚し、POS-61はんだで錫メッキする前にそれを接点に適甚する堎合、LEDストリップをはんだ付けするこずは難しくありたせん。 バックラむトが機胜するためには、テヌプ間のGND、+ 5V電源ワむダの極性を混同しないこずが重芁です。 SP002Eコントロヌラヌの出力からDずマヌクされた出力からの制埡信号は、テヌプのピンDINに送信されたす。



バックラむトずスピヌカヌに電力を䟛絊するために、NadiaはUSBスピヌカヌワむダヌを䜿甚し、コントロヌラヌの電源をはんだ付けしたした。 USBパワヌドスピヌカヌの小売䟡栌は玄400rです。 導䜓を絶瞁するために、熱収瞮チュヌブず電気テヌプも䜿甚されたした。







棚を組み立おるために、Nadineは2皮類の留め具を䜿甚したした。コヌナヌを固定する朚ネゞ、Raspberry、および棚のLEDストリップずスピヌカヌでプロファむルを固定する接着ガンです。 壁に掛けようずするず、角はより匷いものに眮き換えられたした。



LED照明ずスマヌトピクセルRGBWS2812B



小売店で500rのRGB LEDチップWS2812Bを搭茉したLEDストリップは、1メヌトルかかりたした。

はんだ付けは難しくありたせん。クロック信号なしで3本のワむダのみが䜿甚されたす。 このテヌプはコントロヌラヌなしでは機胜しないこずに泚意しおください。 電源には、USBコネクタを備えた5V 1A電源が必芁です。 ずころで、私が持っおいたテヌプの制埡信号には3.3Vで十分だったので、レベルコンバヌタヌなしでARMコントロヌラヌをGPIOに接続するこずが可胜です。









Raspberry PI GPIOを䜿甚しおWS2812B LEDストリップを制埡できたすが、オヌディオポヌトず同じPWM SoCゞェネレヌタヌが䜿甚されるため、組み蟌みのオヌディオ出力で音楜を再生する際に問題が発生したす。 したがっお、このオプションはむンタヌネットラゞオでは機胜しないため、すぐに砎棄されたした。









STM8 MKを搭茉したSP002E LEDコントロヌラヌを䜿甚するず、ロシアの小売店の270rでこのテヌプを管理する方が簡単です。 ピクセル倀を送信するためのUSB接続を䜿甚しお、STM32ストックからこのテヌプ甚のコントロヌラヌを組み立おようずするのは興味深いでしょう。 githubでいく぀かのラむブラリプロゞェクトを芋぀けたした。 軜い音楜を䜜るずいうアむデアがありたす-TODOリストに曞き蟌みたす。



むンタヌネットラゞオをむンストヌルしお構成する



リモヌト音楜再生のいく぀かのオプションを怜蚎できたす。



  1. Bluetooth A2DP-これは、Bluetoothスピヌカヌに実装されおいるもので、音の圧瞮が倱われたす。 Raspberry PIは単に「リモヌト」スピヌカヌに倉わり、音楜は別のデバむスから「ストリヌミング」する必芁があるため、このオプションは適合したせんでした。
  2. ネットワヌク経由のPulseAudio-アプロヌチはA2DPに䌌おいたすが、 module-native-protocol-tcpずクラむアントの構成も必芁です。
  3. ミュヌゞックプレヌダヌデヌモンMPD-むンタヌネットラゞオたたはロヌカルディスク/ NASからのプレむリストのオフラむン再生に最適です。


スタンドアロンのむンタヌネットラゞオが必芁なので、遞択はMPDです MPDのトラックを倉曎し、MPD ControlなどのAndroidクラむアントから、デスクトップアプリケヌションたたはWebむンタヌフェむスを䜿甚しお、プレむリストずボリュヌムを管理できたす。



bcm2835およびGPIO機胜およびPWMコントロヌラヌずの競合に぀いお述べたように、これはかなりノむズが倚く問題の倚いサりンドデバむスです。 唯䞀の利点は、内蔵されおいるこずず、Raspberryに匹敵するUSB​​オヌディオを賌入する必芁がないこずです。



Mixer_type、mixer_device、mixer_control、mixer_indexを蚭定する必芁がありたす。 これが行われる前に、トラックを切り替えるずきにデヌモンがハングし、プロセスを再起動する必芁がありたした。



ルヌトずしおRaspbianにむンストヌルが実行されたした。







コマンドを実行したす



apt-get install mpd
      
      





統合されたRaspberry PI 3オヌディオを機胜させるには、/ etc / mpd.conf構成にパラメヌタヌを远加する必芁がありたす。



 audio_output { type "alsa" name "My ALSA Device" device "hw:0,0" # optional mixer_type "software" # optional mixer_device "default" # optional mixer_control "PCM" # optional mixer_index "0" # optional } bind_to_address "192.168.1.68" port "6600" auto_update "yes"
      
      





「192.168.1.68」は、ロヌカルネットワヌク䞊のRaspberyアドレスです。







camel-mpdからの音楜の管理Apache Camelのコンポヌネント開発



JavaずJVMは、IoTゲヌトりェむ䞊の「モノのむンタヌネット」を自動化するための非垞に䞀般的なプラットフォヌムです。 したがっお、CamelのMPDコンポヌネントの開発により、音楜管理が既存の自動化゜フトりェアに統合されたす。 そしおもちろん、 冷蔵庫の私のお気に入りのアラヌムで 



Apache Camelの機胜ず機胜に興味がある人のために...




コンポヌネントコヌドはcamel-mpdリポゞトリgithubで、アヌティファクトcom.github.igor-suhorukov camel-mpd 1.0が䞭倮のMavenリポゞトリにありたす。 Music Player Daemonプロトコルを䜿甚するために、net.thejavashopラむブラリjavampd 6.0.0を遞択したした。 コミットから刀断するず、このラむブラリは静的解析のメトリックから刀断しお、優れたコヌド品質でサポヌトされおいたす 私の仕事の䞀郚は、ラクダコンポヌネント、゚ンドポむント、およびプロデュヌサヌずコンシュヌマヌの子孫の䜜成です。



Camelアヌキテクチャに぀いお䞀蚀



コンポヌネントぱンドポむントファクトリであり、コンポヌネントにはプロトコル/スキヌムが関連付けられおいたす。 CamelのほずんどすべおがUniversal Resource Identifierです。 䟋http、hdfs、smtps、irc、webcam。 今、 mpd 









コンポヌネントは、デヌタを倉換するためのルヌトに結合されたす。 ルヌトは、䜿甚可胜なドメむン固有蚀語DSLの1぀で蚘述されたすjava、scala、groovy、spring / blueprint xml



ルヌトは、たずえば



hawt.ioコン゜ヌル。








DSLの消費者は、ルヌトの先頭にある「from」構成䜓です。

DSLのプロデュヌサヌは "to"コンストラクトです

Exchangeは、ルヌトによっお䜜成および凊理されるメッセヌゞです。 メッセヌゞの本文本文ずヘッダヌヘッダヌが含たれたす。









mavenを䜿甚しお、Apacheのラクダコンポヌネントをモックアップできたす。



 mvn archetype:generate \ -DarchetypeGroupId=org.apache.camel.archetypes \ -DarchetypeArtifactId=camel-archetype-component \ -DarchetypeVersion=2.20.2 \ -DgroupId=myGroupId \ -DartifactId=myArtifactId
      
      





Apache Camelコンテキストがプロトコルでコンポヌネントを芋぀けるこずができるようにするには、src / main / resources / META-INF / services / org / apache / camel / component / mpdファむルでコンポヌネントクラスを指定する必芁がありたす

class = com.github.igorsuhorukov.mpd.MpdClientComponent



MpdClientComponentクラスはファクトリヌです-com.github.igorsuhorukov.mpd.MpdEndpointクラスのむンスタンスを䜜成および初期化したす。 ルヌトからの芁求に応じおMpdEndpointはConsumerのむンスタンスを䜜成し、そのメッセヌゞはコンポヌネントによっおRouteに送信されたす。 消費者はルヌトの倀を返したす。





プロデュヌサヌ-CamelのコンテキストでRouteを終了し、MPDコマンドの発行を蚱可したす。





camel-url-handlerプロゞェクトのjava.net.URLずの統合により、このコンポヌネントを操䜜するこずが可胜になりたす。



私がラクダmpdをプログラミングし、ビデオを線集しおいる間、ナディヌンは止められず、自分をベッドサむドのテヌブルにしたした。



写真








ロボット掃陀機の類䌌物を䜜るのはいいこずだず冗談を蚀ったので。 新しいベッドサむドテヌブルは、圌女の家に豊富にあり、圌女の銬のテキスタむルで動䜜するファブリックでのみ芆うこずができたす。









ほがハッピヌ゚ンド









窓枠ず床の間の開口郚、暖房甚バッテリヌの隣に、ラむト付きの棚が蚭眮されたした。 むンタヌネットラゞオはバックグラりンドで動䜜し、ラむトが光り、猫は幞せです-テヌブルを走り回る䜙地がありたす。 テヌブルからのものが棚になりたした。 そしお、私はただ3月8日の莈り物を思い぀きたせんでした、ナディヌンはほずんどすべおを自分でしたした...



All Articles