ラベル テザリング の投稿を表示しています。 すべての投稿を表示
ラベル テザリング の投稿を表示しています。 すべての投稿を表示

2016年10月4日火曜日

MPD+Raspberry Pi 3 BによるDAP、及び専用クライアント開発記録_Vol.2

 さて、連載二回目となります。前回JavaMPDというjarを発見して、なんだこれをGUIに乗っけるだけじゃないか、と意気込んでいました。
 過去形ということで察していただきたいのですが、今回はそんな前回の発見と方針などどこへやら、だいぶん違う方策でMPDを制御してゆくことにしましょう。

 というのも、JavaMPDをコンパイルする段階で設定ミスなどなどあったのかも知れませんが、どうやってもコンパイルエラーを吐きまくり、コンパイルできる状態に無かったのです。
 本来は、どこがおかしいのか、どこをどう変えれば修正できるのか探って行くことになるのでしょうが、あいにくとそんな技術を持ち合わせていない以上に、そこまで時間を割くことができない、という状況があります。

 首都大学東京の大学祭、みやこ祭でのオーディオ研究会の展示の一翼を担うものであるだけに、失敗と遅れは許されません。他のメンバーたちは続々と展示物を完成させていく中で焦りが募ります。

 というわけで、JavaMPDを諦めることにしました。といっても、やはりGUIで実装するという目標を変えるというのもこれはこれで残念です。ということで、JavaMPDを使わず、何かの方法でMPDを制御するGUIを制作する必要がありそうです。

  

 では、現状を整理しましょう。現在、Raspberry Pi上ではxwindowを実行しない状態、つまりCUIでRaspbianが走っており、その上で MPDと基本の通信機能を走らせている状態になります。そして、MPDの制御にはとりあえずC言語で書かれたCUIベースMPDクライアントであるMPCが走っており、MPCを介してMPDを制御することには成功しています。
 MPCは大変シンプルなソフトで、mpc playで再生、mpc nextで曲送りなど、きわめて手軽かつ直感的なコマンド操作でMPDを制御できますので、Volumioなどを使わない人にとって、とりあえずMPDを入れた後の動作確認などの段階で同時に入れてしまうことの多いものです。
 
 ならば、MPDを直接いじるプログラムを書くのが難しいのなら、MPCコマンドをsshで送信するGUIアプリケーションを書いてしまえばとりあえず解決するんじゃ無いか、ということに思い至ります。

 以上から、MPDクライアントを自作するというよりは、二次的にMPDクライアントを制作する、つまりMPCをGUIでフロントエンド実装してしまおうという非常に文系的な発想で開発を進めて行くことにしました。

 このアイデアに思い至るまで、オーディオ研究会の皆々様には多大な意見をいただきました。ありがとうございます。

 では、改めて今回作るアプリケーションソフトの定義をしていきましょう。
  1.  MPC/MPDを導入したRaspbianに対して動作するアプリケーション
  2.  言語はJAVA
  3.  ひとまずmac/Windowsを対象としてjarファイルを以て完成とする
  4.  GUIアプリケーション
  5.  必須機能は「再生」「停止」「曲送り」「曲戻し」 「プレイリスト更新」
  6.  可能ならUSBから取り込みも行う
  7.  I2S出力を行うためその部分と干渉しない
ついでに、今回のDAPの定義もしていきましょう(アプリケーション定義以外の部分で)。
  1.  Raspberry Pi 3 Model B上で動作するRaspbian JessyをOSとするシステム
  2.  MPDをメインとする
  3.  音楽再生機能・ネットワークラジオ機能(ひとまずSHOUTcast対応)
  4.  曲は内部保存(あくまでポータブルDAPである)
  5.  電源はUSB経由
  6.  I2S接続のDACチップ経由で出力する
  7.  DACチップはPCM5102A(テキサスインスツルメンツ製品頁)を搭載したモジュール(サンハヤト社MM5102)
開発環境は
  1. macOS sierra macbookAir e2015 上 IntelliJ IDEA 2016.2
  2. Windows 8.1 Embedded Industry Pro 上 IntelliJ IDEA 2016.2
  3. JAVA 8
  4. Raspberry Pi 3 Model B
  5. So-net 0simで運用するテザリング用Android携帯(Xperia A) ←この端末を介してssh接続 
以上の条件で、明日からまた開発を進めていきましょう!

 次回!「正社員ってお給料を安くするための法の抜け穴!?」 お楽しみに!

2014年5月13日火曜日

Windows 8.1 UpdateがWi-Fi通信できなくなった・・・・・・

 Windows 8.1 Updateにしてからというもの、Intel Wireless-N 7260をWi-Fiチップとして搭載した我が愛機Vaio Fit 15AがWi-Fi接続ができなくなりました。これはこれで大問題で、早急に何とかしてもらいたいんですが、とりあえず打開策を考えねばなりません。
 
 まずは、自分の設定云々が間違ってて接続できないんじゃないか説。 これは、かなり慎重に確かめたのでないと思われる。

 次に、ドライバの更新をしたらいいんじゃないか説。Vaioの提供するドライバでは最新のものを入れているはずなので、復元ポイントを作成した上でIntelからの最新汎用ドライバ17.0.0をダウンロード、インストール。おお、インストール画面かっこいい。

 しかし、改善せず。自宅のルーターであるGigastoneのR-101も、iPhone5sテザリング(iOS7.0.6 jailbroken)も、大学のWi-Fiも、(ルータはどうやらAirStationのようだ、少なくともいつも使っているポイントでは)接続できない。さあ、どうしたものか。

 まず、考えたのが、諦めること。しかし、これでは授業で支障が出る。どうしても授業中にネットワーク接続が必要なんだ。では、Wi-Fi子機を買ってくるか?いや、勿体無いし、無性に腹が立つ。しかも、OSとの相性問題だった場合、これで金まで払って改善されなかった時にはVaioといえども窓から投げるかも知れない。

 では、どうするか。答えは、半分だけ諦めることだった。Wi-Fiは諦めたのだ。では、何を使うか?もちろん、iPhoneテザリングのもうひとつの方法、Bluetoothだ。

 Bluetoothは以前やはり8.1Updateにした際、問題を起こしていたデバイスではある。しかし、こちらはIntelの汎用ドライバの適用で治った。(SONYから離れたVAIO株式会社、やはり早速仕事が雑になってきている感じが見て取れる)

 なので、このBluetoothを使ってやろうというわけだ。しかし、Bluetoothテザリングなんてやったことがない。

 ま、とりあえずペアリングだろ、ということでペアリング。このメニュー見つけるだけでそもそも時間かかった。なんでコンパネに出てこなくて設定アプリに格納されてんだよ・・・・・・。しかも枝メニューはコンパネに移動するし。ゴッドモードがあったら楽だったのに。Win8にはないのかね。

 で、ペアリングして、こんどはPAN(personal area network)に切り替えなきゃいけない。今は外部操作デバイスとかとして認識されてるからね。

 しっかし、PANの設定がこれまた見つからない。結局、bluetoothデバイス一覧でiPhoneをタップした時にだけ現れるリボンメニューの中にこじんまりと 「接続方法▼」ってのがあって、そこのなかにPANが格納されていました。

 それをタップ、するとすぐにPANとして認識し、無事インターネットに接続できるようになりました。

 結果オーライ。

 でも、腑に落ちないのはWi-Fiでは検知してiPhoneまでは接続できてそっからインターネットにいく段ではじかれてたんですよ。つまり、もしかしたらiPhoneの接続設定に問題があるんじゃないか、と。でも、bluetoothで通ったってことは問題ない。すると、問題があるのはどこか?

 ping通してみました。すると、なんとpingは外までwifiでも通っていた。bluetoothはもちろん通っていた。

 これが意味することは・・・・・・わからん。返ってきたデータをパソコンが処理するのを拒否しているということになるのか、Wi-Fiのときだけ。

 謎は深まるばかり。まあ、これから暫くはbluetoothテザリングでしのいでいきましょう。