ElectroBlog

ElectroBlog.jp

Electroblog.jp introduces convenience projects using smart home appliances and Raspberry Pi.

Raspberry Pi 全般 Teratermのログイン自動化

Raspberry PiとのSSH接続にTeratermを使用しているが、

ログインする際にHOSTネームとパスワードを毎回打つのに手間がかかる。

そこでログインの自動化を検討。

手順は以下の通り。

 

まず、teratermフォルダ内のttermpro.exeのショートカットを好きな場所に作成する。

f:id:ElectroBlog:20170618143452j:plain

 

次にプロパティを開く。

リンク先の内容に下記内容を追記する。

C:\Users\*****\Documents\teraterm-4.93\ttermpro.exe

C:\Users\*****\Documents\teraterm-4.93\ttermpro.exe 192.168.100.125 /auth=password /user=pi /passwd=raspberry

 

192.168.100.125の部分は接続する実際のIP ADDRESSの番号を記載する。

f:id:ElectroBlog:20170618143540j:plain

 

ttermpro.exeのショートカットを実行すると下記画面が開く。

すぐにログイン処理が自動的に実行される。

f:id:ElectroBlog:20170618143656j:plain

 

無事接続が完了した。

f:id:ElectroBlog:20170618143714j:plain

 

IP ADDRESSごとにショートカットに名前をつけて管理すると便利。

f:id:ElectroBlog:20170618143746j:plain

 

 

 

その他Raspberry Pi情報、Micro:bit情報はTOP PAGEからどうぞ

 

Raspberry Pi Zero w (10) 初期設定:イーサネットケーブルでのSSH接続

 f:id:ElectroBlog:20170618005324j:image

外付け無線LANを持っていない場合、イーサネット経由でSSH接続する必要がある。

そこでUSBイーサネット変換ケーブルを用いてRaspberry Piと接続させる。

 

手順は①~②の通り。

①Raspbianのインストール。ssh有効設定へ変更。

②USB イーサネット変換ケーブルを使ってイーサネット経由でSSH接続。

 

まずはMicroSDにRaspbianのイメージファイルをいれる。

Download Raspbian for Raspberry Pi

f:id:ElectroBlog:20170421172407p:plain

左側のDwnload ZIPを選択。(RASPBIAN JESSIE WITH PIXEL)

zipを解凍する。

ここで、イメージ書き込み用にWin32 Disk Imagerをインストールする。

Win32 Disk Imager 日本語情報トップページ - OSDN

win32diskimager-1.0.0-install.exeをダウンロード。

 

f:id:ElectroBlog:20170421172558p:plain

SDカードを差し込み。

Raspbianのimageファイルを選択。

注意:[D:]のところは、書き込み予定のSDカードが刺さっているディスク名を選択すること。

Writeを選択してimageを書き込む。

 

次がとても重要。

ssh接続を有効する作業。

有効にさせるにはimageファイルをマウントしたMicro SDをSDアダプター等でPCに接続して、最上位にsshというフォルダを作成する。

f:id:ElectroBlog:20170430110953j:plain

 完了したらSDカードをRaspi zero wに差し込む。

 

今回使用したRaspberry Pi ZeroとZero wではイーサネットコネクタが付いていないため、USB→イーサネット変換をする必要がある。

そこで下記製品を使用した。

plugable社製

f:id:ElectroBlog:20171002135849p:plain

 

早速購入して、下記のようにセッティング。

イーサネットケーブルは自宅wifiルーターの有線コネクタへ接続。

f:id:ElectroBlog:20170618005324j:image

 

次にPCをRaspberry Piが接続されているwifiルーターに接続する。

続いて、接続されているIP アドレス を調べるために下記ソフトをインストールして起動する。

TWSNMPマネージャ :::Twise Labo, Inc.

起動後、自動検索を選択する。

f:id:ElectroBlog:20170430113559j:plain

 

開始を押下する。

f:id:ElectroBlog:20170430120104j:plain

完了したところ、

192.168.100.117でraspberrypiと表示されいることから、

192.168.100.117でteratermを使用してssh接続する。

問題なければいつもどおりの接続画面が表示されるはず。

f:id:ElectroBlog:20170430120228p:plain

 

f:id:ElectroBlog:20170430120259p:plain

 pi

raspberry

を入力して接続する。

f:id:ElectroBlog:20170618125125p:plain

上記画面が表示されれば無事に接続完了となる。

 

 

その他Raspberry Pi情報、Micro:bit情報はTOP PAGEからどうぞ

Raspberry Pi Zero w (9) 複数の無線LAN(IPアドレス)でSSH接続できるように設定する。

Raspberry Piを自宅のwifiルーターに加えて、他のwifiルーター等に自動的に接続するために複数のIPアドレスを設定してみる。

 

・wifiルーター 1 (使用頻度並)

・wifiルーター 2 (使用頻度高)

として、優先度を決めて設定してみることにする。

 

まず、下記リンクから1つのwifiルーターとRaspberry Piを無線接続できるように設定しておく。

www.electroblog.jp

これが完了したところで、

wpa_supplicant.confを編集して、2つ目のwifiルーターのSSIDおよびパスワードを設定する。

また、優先度の設定も追記する。

f:id:ElectroBlog:20170521164352p:plain

sudo vi /etc/wpa_supplicant/wpa_supplicant.conf

を実行して、末尾を下記のように編集する。

f:id:ElectroBlog:20170521170342p:plain

priority=の数字が小さいほうが優先度が高くなる。

保存して終了して再起動すれば設定が有効となる。

 

※ファイル編集の仕方は下記リンクに記載(vi コマンド)。

Raspberry Pi全般:viコマンド一覧 : Micro SDカード内のファイルを編集(3, zero, zero w共通) - ElectroBlog

 

 

その他Raspberry Pi情報、Micro:bit情報はTOP PAGEからどうぞ

micro:bit (1) iPhoneやAndroidで操作できるbluetoothラジコンを作る

youtu.be

 

f:id:ElectroBlog:20170514190218j:image

Controlling RC micro:bit car from your iPhone or Android.

 

 今回、micro:bitで簡単なbluetoothラジコンを作る。
そして、iPhoneやAndroidで操作する。

 

注記:Micro:bitは日本の技適が取れていないようなのでこの動作は海外で行なっている。
追記: 2017/8 技適が取得され、内蔵Bluetooth機能が使用可能となった。

 

手順は以下の通り。

①必要なものを購入

②組み立て

③micro:bit ソースコードの書き込み

④スマートフォンとペアリング(iPhoneおよびAndroidをそれぞれ説明)

⑤操作用appをダウンロード

⑤動作確認

 

購入品は下記の通り。

 

・micro:bit - micro:bit only £10.83 (現在amazonで購入可能)

・Motor Driver Board v.2 for the BBC micro:bit £10.83 (英・PimoroniでPaypal購入)

メインとなる上記2点を購入。

その他にも

・電池ケース

・DCモーター + タイヤ ×2

・ボール型のキャスター

・円柱のすべり止め(ゴム)

を購入。

 

microbitはpimoroniだけでなく、amazonでも買えるようになった。

 

DCギタードモーター は下記を使用。

uxcell DCギヤードモータ

 

Motor Driver Board v.2 for the BBC micro:bit下記から購入。

https://shop.pimoroni.com/products/motor-driver-board-for-the-bbc-micro-bit

 

では早速、組み立てを始める。

まず、DCモーターは下記のようなタイヤが付いているものを使用した。

 

 f:id:ElectroBlog:20170514185814j:image

組み立てるとこうなる。

f:id:ElectroBlog:20170514185820j:image

 

次にMicro:bit本体をモータードライブ基板に接続する。

f:id:ElectroBlog:20170514185840j:image

向きはこう。

f:id:ElectroBlog:20170514185845j:image

そしてタイヤをつける。

また、モーター自体の端子とモータードライブ基板のMOTOR2とMOTOR2を赤黒の線で接続する。

f:id:ElectroBlog:20170514185857j:image

このままでは前に倒れてしまうのでキャスターを接続した。

f:id:ElectroBlog:20170514185828j:image

円柱のゴムを使って高さを調整。

f:id:ElectroBlog:20170514185901j:image

f:id:ElectroBlog:20170514185906j:image

本体に取り付けて水平にすることができた。

f:id:ElectroBlog:20170514185915j:image

裏面には電池ケースを装着(まだ電池をいれないこと。)

f:id:ElectroBlog:20170514185926j:image

まだ電池を入れない状態で

USB Cableを使ってmicro:bitをPCに接続する。

マイコンピューターからMICROBITのフォルダを開く。

f:id:ElectroBlog:20170514200748j:plain

 

ここで実際に使用するソースコードをダウンロードする。

下記リンクへアクセスする。

http://bluetooth-mdw.blogspot.jp/p/bbc-microbit.html

少し下にスクロールすると、

PXT Projects
Kitronix Buggy Remote Control for micro:bit Blue

とあるので、リンク先へ行く。

自動的にソースが開かれるので、真ん中下の保存ボタンを押して好きな場所へHEXファイルを保存する。

f:id:ElectroBlog:20170514192743j:plain

 

microbit-Buggy-Controller-by-@bluetooth_mdw.hex

f:id:ElectroBlog:20170514192822j:plain

 

このファイルを先ほどのMICROBITフォルダへドロップする。

f:id:ElectroBlog:20170514192438j:plain

HEXファイルがコピーされ、無事に書き込みは完了。これだけ。

LEDにRobot Wars! と表示されるようになれば成功。

 

次にUSB Cableを外し、電池を入れる(今回は単4×直列4本。6Vで駆動)。

再びRobot Wars!と表示されるはず。

続いて、スマートフォンにBluetoothで接続していく。

f:id:ElectroBlog:20170421185325p:image

まず、iPhoneでの接続を解説する。

app storeからmicro:bitというappをダウンロードして起動する。

f:id:ElectroBlog:20170514190013p:image

Connectionを選択する。

Pair a new micro:bitを選択。

f:id:ElectroBlog:20170514190021p:image

AおよびBボタンを押しながらRESETを押す。

そして、REESTだけを離す。

PARING MODE!

と表示されれば良い。

appのNEXTを押す。

少しするとmicro:bit本体のLEDが変な模様を表示する。

f:id:ElectroBlog:20170514190024j:image

この模様をapp側に打ち込む。

f:id:ElectroBlog:20170514190029p:image

Nextを押下。

f:id:ElectroBlog:20170514190041p:image

接続が開始される。

f:id:ElectroBlog:20170514190043p:image

ポップアップが表示されるのでペアリングを押下。

f:id:ElectroBlog:20170514190047p:image

ペアリングが成功したらOK。

microbit本体もチェックマークがつく。

f:id:ElectroBlog:20170514190057j:image

そして本体をリセットする。

この状態で

bitty game controllerというappをダウンロードして起動する。

Scanを押下するとデバイスが表示される。

BBC micr:bit [zapiv]

f:id:ElectroBlog:20170514190100p:image

デバイスの部分を押下して接続が完了すると、下記コントローラー画面へ移行する。

f:id:ElectroBlog:20170514190103p:image

Bluetooth接続が正常であれば本体はCと表示される。

f:id:ElectroBlog:20170514190133j:image

この状態でボタンを押すとラジコンが動き始める!

この設定では右側上ボタンと左側左ボタンで左右へ操作できる。

初期設定は使いづらすぎなので、ソースコードのボタン割当だけ変えて使いやすいように変えようと思う。

 

続いて、Androidの場合、

上記に書いた方法でmicrobitをPairing modeにする。

 

スマートフォンのBluetooth設定画面からデバイスを検索すると

BBC micro:bit [zapiv]が表示される。

f:id:ElectroBlog:20170514190151j:plain

接続すると本体がチェックマークになるのでmicrobitのResetボタンを押下。

f:id:ElectroBlog:20170514190137j:image

 

ここで、micro:bit Blueというappをダウンロードする。

micro:bit Blue - Google Play の Android アプリ

起動して、画面下のFIND PAIRED BBC MICRO:BITSを押下する。

デバイスが表示されるので押下する。

f:id:ElectroBlog:20170514190205j:image

本体がCという表示になれば成功。

f:id:ElectroBlog:20170514190133j:image

次の画面からDual D-Pad Controllerを押下。

f:id:ElectroBlog:20170514190213j:image

コントローラーが表示されて、ボタンを押せばラジコンが動き始める。

f:id:ElectroBlog:20170514190218j:image

下記、動画のように動作した。

youtu.be

 ◆Kitronik :MOVE miniを使ったMicro:bit Bluetoothラジコンの作成はこちら

 ◆スマート家電はこちら

 

その他Raspberry Pi情報、Micro:bit情報はTOP PAGEからどうぞ

 

Raspberry Pi Zero w(8) Raspberry Piの画面をWindows画面上で操作(リモートデスクトップで操作)

f:id:ElectroBlog:20170513152312j:plain

Raspberry PiはRaspbian OS画面での操作が必要となってくる場面がたまにある。

しかし、いちいちHDMIディスプレイを準備するのが面倒すぎる。

そのため、リモートデスクトップを使用してWindows画面上にRaspberry PiのOS画面を表示させてみる。今回はVNC serverを利用する。

この内容はRaspberry Pi 3, zero , zero wで共通。 

 

注記:Zero wは日本の技適が取れていないようなので内蔵無線LANを使用しない方法を解説していきます。

 

手順は以下の①〜⑥となる。

①Raspberry Piとssh接続および、Raspberry Piをインターネットへ接続

②インターネット経由でtight vnc serverをRaspberry Piへインストール

④tight vnc serverの起動と初期設定

⑤WindowsでVNC Viewerを起動

⑥接続

 

まず、①については下記リンクから完了させる。 

Raspberry Pi Zero w (4) 小型USB無線LANを使って自宅wifiのネットワーク経由でSSH接続する(ラズパイをインターネットへ接続) - ElectroBlog

 

①でRaspberry Piをインターネットに接続したら、

次にtight vnc serverをRaspberry Piへインストールする。

sshで、

sudo apt-get install tightvncserver

を実行する。

f:id:ElectroBlog:20170513150649j:plain

下記画面でYを入力してEnter。

f:id:ElectroBlog:20170513150716j:plain

完了すると下記画面となる。

f:id:ElectroBlog:20170513150726j:plain

 

続いて、

tightvncserver

を実行してtight vnc serverを起動する。

f:id:ElectroBlog:20170513150815j:plain

Passwordの入力を求められるため、

半角8文字以内で入力する。今回は、

password

と入力。確認のためもう一度設定。

注記:最初に8文字以上を入力したら警告がでたためpasswordとした。

 

そうするとviewモードでPasswordを要求するかを確認されるので今回は、

nと入力した。

 

f:id:ElectroBlog:20170513151219j:plain

ここで番号が表示されるのでメモする。

今回は 1。

 

次に④。

下記URLからVNC Viewerをダウンロードする。

Download VNC Viewer | RealVNC

 

VNC-Viewer-6.1.0-Windows-32bit.exeを実行してVNC Viewerを起動する。

 今回のWindows PCは32bitなので、32bit版を実行。

※64の場合はVNC-Viewer-6.1.0-Windows-64bit.exeをダウンロードする。

 

File → New connectionを選択。

f:id:ElectroBlog:20170513151541j:plain

 

VNC Server欄に

Raspberry Piと接続しているIPアドレス + :先程メモした番号

を入力する。

今回は、192.168.100.129:1

となる。

f:id:ElectroBlog:20170513151641j:plain

うまく接続できると、下記画面となりContinueを実行する。

f:id:ElectroBlog:20170513152002j:plain

 

すると、無事にRaspberry PiのOS画面がWindowsの画面に表示される。

f:id:ElectroBlog:20170513152451j:plain

 

さまざまな設定等もここからマウス操作で行える。

f:id:ElectroBlog:20170513152624j:plain

 

その他Raspberry Pi情報、Micro:bit情報はTOP PAGEからどうぞ

Raspberry Pi Zero w (6) PCからSDカード内の音楽を再生(mpd, mpc)

Raspberry Piを使用して音楽を再生できたが毎回ssh接続するのが面倒。

そこでWindowsから簡単に音楽再生を制御できる方法を考えてみた。

MPDクライアントソフトを使用するとwifi経由で音楽の制御が行えるようだ。

今回はAuremoというソフトを使用。

(Cantataでも動作確認できたが今回は割愛。)

 

注記:Zero wは日本の技適が取れていないようなので内蔵無線LANを使用しない方法を解説していきます。

 

手順は以下の通り。

①Raspberry Piとssh接続(外付け無線ルーター or Ethernet)

②外付け無線LANを利用してRaspberry Piをインターネットへ接続

③Raspberry Piにmpdとmpcをインストール

④Raspberry Piにsambaをインストール

⑤音源をSDカードに保存する

⑥外付けUSB DACを接続。音声出力先の変更。

⑦PCにAuremoをインストール。

Auremoで音出し。

 

①~⑥までは下記記事に記載。

Raspberry Pi Zero w (4) USB DACから音楽を再生(Raspbian) - ElectroBlog

 

次に⑦、PCにAuremoをインストールする。

今回はWindowsで実施。

PCをRaspberry Piが接続されている自宅wifiへ接続する。

 

下記サイトからAuremoをダウンロードする

Auremo - Home

 

インストーラーを起動してPCへインストールする。

そして、Auremoを起動。

FileからEdit settingsを選択。

f:id:ElectroBlog:20170507205918p:plain

 

Raspberry Piと接続しているIPアドレスをServer欄に入力してOKを押下する。

f:id:ElectroBlog:20170507205754j:plain

 

無事にSDカード内(mpdフォルダ)の曲が表示されている。

再生ボタンを押下すると曲が再生された。

f:id:ElectroBlog:20170507205759j:plain

  

その他Raspberry Pi情報、Micro:bit情報はTOP PAGEからどうぞ

Raspberry Pi Zero w (7) iPhoneやiTunesのAirPlayを使用して外付けUSB DACからFLACやAACファイルを再生(Shairport Sync)(OSはRaspbian)

  f:id:ElectroBlog:20170507193514p:image

Stream music with Airplay from your iPhone to your Raspberry Pi. 

 

最近インストールしたShairportを利用してiTunes(AirPlay)でRaspberry Piから音楽を再生しているが、どうも再生デバイスの切断エラーが起こるので厄介。

そこで別の方法としてShairport Syncをインストールしてみた。

今回はRaspberry Pi Zero wとRaspberry Pi ZeroおよびRaspberry Pi 3で安定した動作を確認できた。

  

注記:Zero wは日本の技適が取れていないようなので内蔵無線LANを使用しない方法を解説していきます。

 

手順は以下の通り。

①Raspberry Piとssh接続(外付け無線ルーター or Ethernet)

②外付け無線LANを利用してRaspberry Piをインターネットへ接続

③外付けUSB DACを接続。音声出力先の変更。

④Shairport SyncをRaspberry Piへインストール。

⑤iTunes(Windows)やiPhoneから音出し

 

まず①、Raspberry Piとssh接続できるようにする。

手順は下記リンクに記載。

Raspberry Pi Zero w(2) 初期設定:HDMIディスプレイを使わずに外付け無線ルーターだけで簡単にSSH接続する(Raspbian) (Zero wも共通) - ElectroBlog

 

 次に②、外付け無線LANを利用してRaspberry Piをインターネットへ接続させる。

手順は下記リンクに記載。

Raspberry Pi Zero w (4) 小型USB無線LANを使って自宅wifiのネットワーク経由でSSH接続する(Raspbian) - ElectroBlog

 

そして、③については下記リンクに記載。 

Raspberry Pi Zero w (4) USB DACから音楽を再生(Raspbian) - ElectroBlog

 

ここまで終わればあと少し。

AirPlayを使ってitunesやiPhone等から音を出すときはPCやiPhone内の音源を利用できるため、Micro SDカードに音源をいれる必要がない。

外付けDACが正常に接続されているかは下記コマンドで確認する。

aplay /usr/share/sounds/alsa/Rear_Center.wav

音が鳴ればOK。

④に移る。

 

ここからの手順は下記リンク先のReadmeを参考にした(2017年5月7日現在)。

GitHub - mikebrady/shairport-sync: AirPlay audio player. Shairport Sync adds multi-room capability with Audio Synchronisation

リンク先で下の方にスクロールすると

Shairport Syncの説明が始まる。

まず下準備として下記内容をインストールする。

f:id:ElectroBlog:20170507200302p:plain

実際に上から一つ一つインストールしていく。

sudo apt-get install build-essential git xmltoman

f:id:ElectroBlog:20170507200454j:plain

下記、Yを実行。

f:id:ElectroBlog:20170521172342p:plain

 

sudo apt-get install autoconf automake libtool libdaemon-dev libasound2-dev libpopt-dev libconfig-dev

f:id:ElectroBlog:20170507200408j:plain

下記、Yを実行。

f:id:ElectroBlog:20170521172315p:plain

 

sudo apt-get install avahi-daemon libavahi-client-dev

f:id:ElectroBlog:20170507200749j:plain

 下記、Yを実行。

f:id:ElectroBlog:20170521172315p:plain

 

sudo apt-get install libssl-dev

f:id:ElectroBlog:20170507200618j:plain

 下記、Yを実行。

f:id:ElectroBlog:20170521172315p:plain

 

sudo apt-get install libmbedtls-dev

f:id:ElectroBlog:20170507200638j:plain

→上記の通りlibmbedtls-devが使えなさそうなので、Readmeどおりに代替としてPolarSSLをインストールしてみる。

f:id:ElectroBlog:20170507200945p:plain

sudo apt-get install libpolarssl-dev

f:id:ElectroBlog:20170507200728j:plain

  下記、Yを実行。

f:id:ElectroBlog:20170521172517p:plain

 

sudo apt-get install libsoxr-dev

f:id:ElectroBlog:20170507200818j:plain

   下記、Yを実行。

f:id:ElectroBlog:20170521172517p:plain

 

完了したら手順どおりShairport Syncをダウンロードする。

git clone https://github.com/mikebrady/shairport-sync.git

f:id:ElectroBlog:20170521172645p:plain

 

次に

cd shairport-sync

f:id:ElectroBlog:20170521215324j:plain

 このディレクトリから

autoreconf -i -f

を実行する。

f:id:ElectroBlog:20170521172755p:plain

(このまま時間がかかるので反応するまっでひたすら待つ)

 

下記画面に戻るまで待つ。

f:id:ElectroBlog:20170521172829p:plain

 

続いて、オプションファイルを選択する。

ここでは推奨どおりに選択した。

f:id:ElectroBlog:20170507201551j:plain

./configure --with-alsa --with-avahi --with-ssl=openssl --with-metadata --with-soxr --with-systemd

を実行する。

f:id:ElectroBlog:20170521172852p:plain

 

そして、下記コマンドでビルドする。

make

f:id:ElectroBlog:20170521173021p:plain

 

ここで、セキュリティーの影響でグループとユーザーを設定する必要がある。

getent group shairport-sync &>/dev/null || sudo groupadd -r shairport-sync >/dev/null

f:id:ElectroBlog:20170521173126p:plain


getent passwd shairport-sync &> /dev/null || sudo useradd -r -M -g shairport-sync -s /usr/bin/nologin -G audio shairport-sync >/dev/null

f:id:ElectroBlog:20170521173141p:plain

 

下記を実行してインストールする。

sudo make install

f:id:ElectroBlog:20170521173205p:plain

 

下記コマンドでRaspberry Pi起動時にShairport-Syncを起動するよう設定する

sudo systemctl enable shairport-sync

f:id:ElectroBlog:20170521173221p:plain

 

下記コマンドから実際に起動してみる(次回から起動時に自動実行される)。

sudo systemctl start shairport-sync.service

f:id:ElectroBlog:20170521173238p:plain

 

ここからは実際に音出しとなる。

Raspberry Piを接続している自宅wifiにPCをつなぐ。

iTunesを起動して、Airplayボタンを押してみると

RaspberryPi

がデバイスとして表示される。

(Raspberry Piも同じ自宅wifiに接続)

 

RaspberryPiを選択して音源を再生すると無事にUSB DACから音が再生された。

f:id:ElectroBlog:20170507202248j:plain

 

次に自宅wifiに接続しているiPhoneから下記3つのアプリでデバイス選択して音楽を再生したところ、無事に再生できた。

・Music (m4aファイルとmp3ファイルで確認)

f:id:ElectroBlog:20170507193531p:image

Music app

 

・ONKYO HF Player

・KORG iAudioGate

この2つのアプリではハイレゾ音源の再生も確認できた。

(flacファイル、m4aファイル、wavファイルで確認) 

 f:id:ElectroBlog:20170507193514p:image    f:id:ElectroBlog:20170507193524p:image

 ONKYO HF PlayerとKORG iAudioGate

 

f:id:ElectroBlog:20170507204304j:image    f:id:ElectroBlog:20170507204311j:image 

Raspberry Pi ZeroとRaspberry Pi Zero w

 

f:id:ElectroBlog:20170507204318j:image

Raspberry Pi 3

内蔵無線LANが使用できるので電源CableとUSB DACだけで動作できる。

 

 

その他Raspberry Pi情報、Micro:bit情報はTOP PAGEからどうぞ

Raspberry Pi全般:Raspberry Piでよく使うコマンド一覧(ssh, mpcなど)

Raspberry Piでssh接続した際よく使うコマンド一覧を列挙する。

 

◆コマンドプロンプト 

ipconfig   : IPアドレスの情報を表示

arp -a ~  : 指定されたIPアドレスに接続されている機器を表示

     例 arp -a 192.168.100.2

 

◆sshコマンド

sudo ~   : 管理者権限で実行

ls   : フォルダ、ファイル一覧

pwd   : 現在のフォルダ位置を表示

cd   : ディレクトリを移動

cp file1 file2   : フォルダ、ファイルのコピー

     例 cp ファイル1 ファイル2 (ファイル1をファイル2という名前でコピー)

cat ~   : ファイル内容表示

vi ~   : ファイル編集

 

◆mpcコマンド(mpd)

mpc update   : フォルダ内の音楽データを反映

mpc ls | mpc add   : プレイリストへ全曲追加

mpc ls   : プレイリストを表示

mpc play   : プレイリストを再生

mpc stop   : 停止

mpc next   : 次の曲を選択

mpc prev   : 前の曲を選択

mpc volume +数字   : 音量を上げる

mpc volume -数字    : 音量を下げる

mpc repeat   : リピートON/OFF

mpc random   : ランダムON/OFF

  

その他Raspberry Pi情報、Micro:bit情報はTOP PAGEからどうぞ

Raspberry Pi Zero w (5) USB DACから音楽を再生(Raspbian)

f:id:ElectroBlog:20170506121624j:image

Raspberry Pi Zero wで外付けUSB DACを使って音楽を聴きたいと思い、実践してみた。

OSはRaspbianを使用。

本当はZero wの内蔵無線LANを使いたいが技適がとれていないため、外付け無線USB LANで実施。実際はRaspberry Pi 3の内蔵無線LANで動作確認できているため、配線の少なさを考えるとそっちのほうが便利。

 

注記:Zero wは日本の技適が取れていないようなので内蔵無線LANを使用しない方法を解説していきます。

追記: 2017/7 技適が取得され、内蔵無線LANが使用可能となった。

 

手順は以下の通り。

①Raspberry Piとssh接続

②外付け無線LANを利用してRaspberry Piをインターネットへ接続

③Raspberry Piにmpdとmpcをインストール

④Raspberry Piにsambaをインストール

⑤音源をSDカードに保存する

⑥外付けUSB DACを接続

⑦mpdで再生

 

まず、Raspberry Piとssh接続できるようにする。

下記を参考にする。

Raspberry Pi Zero w(2) 初期設定:HDMIディスプレイを使わずに外付け無線ルーターだけで簡単にSSH接続する(Raspbian) (Zero wも共通) - ElectroBlog

 

その次に、外付け無線LANをAPモードにして、Raspberry Piをインターネットへ接続する。下記を参考にする。

Raspberry Pi Zero w (4) 小型USB無線LANを使って自宅wifiのネットワーク経由でSSH接続する(Raspbian) - ElectroBlog

 

Tera termでssh接続をしている状態で、

今回、音楽の再生に使用するmpdとmpcをインストールする。

手順は以下の通り。

f:id:ElectroBlog:20170430162539p:plain

sudo apt-get -y install mpd mpc

完了したら下記画面に戻る。

f:id:ElectroBlog:20170430161839p:plain

下記コマンドから最新バージョンへアップデートする。

sudo apt-get update

f:id:ElectroBlog:20170506154003p:plain

mpdを再起動する

sudo /etc/init.d/mpd restart

f:id:ElectroBlog:20170506102937p:plain

 

次に音源をSDカードに保存するためにSambaをインストールする。

(Raspberry PiのSDカード内のフォルダを共有サーバーとして利用)

手順は下記リンク先を参照。

Raspberry Pi Zero w (3) SambaをインストールしてRaspberry PiのSDカードへネットワーク経由でアクセスする(Raspbian) - ElectroBlog

今回はmpdフォルダ直下のmusicフォルダ内に音源を保存。

[mpd]
path = /var/lib/mpd
read only = No
guest ok = Yes
force user = root

musicフォルダにアクセスできるか確認する。

 

これで下準備は完了。

実際に外付けのUSB DACを接続する。

今回はOTG変換コネクタとUSBハブを使用して、無線LANとUSB DACを接続した。

 

iBUFFALO BSHT4UBK

f:id:ElectroBlog:20171002135114p:plain

 

SSA Service社製 

f:id:ElectroBlog:20171002134535p:plain

 

Raspberry Pi Zero wに接続したUSBハブに無線LANとUSB DACを接続する。

次にUSB DACが接続されているか確認する。

 

lsusb

f:id:ElectroBlog:20170506155541p:plain

 また、USB DACが接続されているPortの番号とDevice番号を調べる。

aplay -l

f:id:ElectroBlog:20170506155702p:plain

 今回使ったAT-PHA100はcard 1のdevice 0とわかる。

試しに下記コマンドを入力すると

cat /proc/asound/cards

f:id:ElectroBlog:20170505232559p:plain

cardは0と1が存在するとわかる。

初期設定では起動時にcard0 が選択されているため、

音声出力先を1へ変更する必要がある。

viコマンドを使用して出力先の番号を変更する。

sudo vi /etc/mpd.conf

f:id:ElectroBlog:20170506160406p:plain

先程調べた通り、card 1のdevice 0と判明しているので、

下記のように変更する。

"hw: card番号, device番号"

"hw:1,0"

 

更に初回起動時にはcard0が選択される設定になっているため、

それも変更する

sudo vi /usr/share/alsa/alsa.conf

 f:id:ElectroBlog:20170506000933p:plain

viコマンドを使用して下記2箇所の0を1に変更する

f:id:ElectroBlog:20170506160105p:plain

f:id:ElectroBlog:20170506001018p:plain

vi編集の仕方は下記リンクを参考にする。

Raspberry Pi:viコマンド一覧 : Micro SDカード内のファイルを編集(3, zero, zero w共通) - ElectroBlog

 

変更したら再起動する。

sudo reboot

 

まず、出力先が正常に変更できたか音出しテストする。

aplay /usr/share/sounds/alsa/Rear_Center.wav

をTera termから実行する。音が鳴ればOK。

 

それが完了すれば、いよいよmpcコマンドを使って音出しをしてみる。

まず、音源データをアップデートする。

mpc update

 

プレイリストに全曲追加。

mpc ls | mpc add

 

リストの曲を確認(曲名が表示される)

mpc ls

f:id:ElectroBlog:20170506103225p:plain

 

 

再生する。

mpc play

f:id:ElectroBlog:20170506161055p:plain

 

選択したUSB DACが動作しているか下記から確認する。

cat /proc/asound/card1/stream0

(card1←カード番号1 / stream0←device番号1)

無事に再生されていればStatusがRunning表示となる。

f:id:ElectroBlog:20170506161253p:plain

 

以上で完了。無事USB DACから音楽が再生された。

 

このとき、別のUSB DACで再生を試みようとした際、

消費電流が250mAほどのUSB DACではoutputエラーが発生した。

 

ちなみにmpc コマンドはこちらにも記載。

Speaker pHAT (2) Raspberry Pi Zeroでwifiルーター経由でとりあえず音出し(aplayとMPC使用) - ElectroBlog

 

man mpc

でもmpcコマンドの詳細が確認できる。

 

その他Raspberry Pi情報、Micro:bit情報はTOP PAGEからどうぞ

Raspberry Pi Zero (1) HDMIディスプレイ無しで最初から無線LANのみでラズパイと接続 (Zero w共通)

f:id:ElectroBlog:20170504234441j:image

内蔵無線LANを持たないRaspberry Pi Zeroを考えるとRaspberry Piと初回から無線でラズパイと通信がしたい。

 

そこで外付けのUSB Ethernet変換機および外付け無線LANでsshが接続できるか試してみた。

 

結果としてRaspberry Pi ZeroおよびRaspberry Pi Zero wではこの方法でssh接続できた。

 

今回は下記2製品を使用。 

ELECOM社製

f:id:ElectroBlog:20171002134901p:plain

 

plugable社製

f:id:ElectroBlog:20171002134921p:plain

 

まず、ELECOM WRH-300BK3-Sを

初期設定のルーターモードからAPモードへ変更する必要がある。

変更方法は以下の通り。

WRH-300BK3-Sの電源を入れて、PCから無線で接続する。

そしてwebブラウザから192.168.2.1へアクセス。

f:id:ElectroBlog:20170504233913j:plain

アクセスポイントモードを選択して適用。

再起動されるのを待つ。

再び機器へ無線で接続。

下記設定へ変更されていることを確認する。

f:id:ElectroBlog:20170504233901j:plain

これで下準備が完了。

 

続いて、MicroSDにRaspbianのイメージファイルをいれる。

Download Raspbian for Raspberry Pi

f:id:ElectroBlog:20170421172407p:plain

左側のDwnload ZIPを選択。(RASPBIAN JESSIE WITH PIXEL)

zipを解凍する。

ここで、イメージ書き込み用にWin32 Disk Imagerをインストールする。

Win32 Disk Imager 日本語情報トップページ - OSDN

win32diskimager-1.0.0-install.exeをダウンロード。

 

f:id:ElectroBlog:20170421172558p:plain

SDカードを差し込み

Raspbianのimageファイルを選択。

注意:[D:]のところは、書き込み予定のSDカードが刺さっているディスク名を選択すること。

Writeを選択してimageを書き込む。

 

次がとても重要。

ssh接続を有効する作業。

有効にする方法は、以下の通り。既にssh接続できた場合は不要。

imageファイルをマウントしたMicro SDをSDアダプター等でPCに接続して、最上位にsshというフォルダを作成する。

f:id:ElectroBlog:20170430110953j:plain

完了したらRaspi zero wに差し込む。

 

そして、下記写真のような構成で接続する。

Raspberry Pi <--> USB2-OTGE100 <--> Ethernet Cable <--> WRH-200BK-S <--無線--> PC

f:id:ElectroBlog:20170504234441j:image

 

再びPCから機器へ無線で接続。

TWSNMPv4を使用して、接続されているIPアドレスを調べる。

f:id:ElectroBlog:20170504234143j:plain

このときは192.168.2.101とわかる。

Tera Termで調べたIPアドレスへ接続する。

f:id:ElectroBlog:20170504234220j:plain

PCとRaspbeey Piが無事に接続されていることが確認できた。

 

このときにイーサネットも有効にしておくと次回からイーサネットで有線接続することも可能となる。

 

その他Raspberry Pi情報、Micro:bit情報はTOP PAGEからどうぞ

Speaker pHAT (3) iPhoneやitunesの音源をネットワーク経由(Airplay)で再生(Raspberry Pi Zero w)

f:id:ElectroBlog:20170521235300j:image

youtu.be

Speaker pHATを使って、iPhoneやiTunesから音楽再生したいと思い、実際にRaspberry Pi ZeroでAirPlayを利用して、iPhoneやitunesの音源を再生させてみた。

その際、Shairportというソフトを使用する。

今回はRaspberry Pi Zero wで動作確認した。  

 

Shairportを使った手順は①~⑤の通り。

①Raspberry Pi Zero wをインターネットに接続できる状態にする。

②Speaker pHATのインストール

③Shairportのインストール

④Shairportを起動

⑤プレーヤー(itunesやiPhone)から曲を再生

 

まず、①~②については下記リンクに従い、完了させる。

www.electroblog.jp

 

③について、

下記リンクの内容通りですが、ここを参考にして実際に実行してみた。

http://count0.org/2014/10/30/air-play-usb-audio-raspberrypi.html

 

下記内容を実行して必要なパッケージをインストールする。

sudo apt-get install git libssl-dev libavahi-client-dev libasound2-dev

f:id:ElectroBlog:20170430184335p:plain

Yを実行

f:id:ElectroBlog:20170430184400p:plain

しばらく待つ。

f:id:ElectroBlog:20170430184534p:plain

Shairportをビルドする

git clone https://github.com/abrasive/shairport.git

f:id:ElectroBlog:20170430184605p:plain

 

しばらく待つ。

f:id:ElectroBlog:20170430184650p:plain

その後、shairportを実行する。

まず、下記3つのコマンドを実行

cd shairport/

f:id:ElectroBlog:20170430185403p:plain

./configure

f:id:ElectroBlog:20170430185412p:plain

そして、makeを実行。

f:id:ElectroBlog:20170430184843p:plain

その後、

./shairport -a "airplaydemo" →"   "間の名前は自由(表示される名前)

 を実行。

f:id:ElectroBlog:20170430184913p:plain

f:id:ElectroBlog:20170430185120p:plain

iTunesを開き、Airplayボタンを押すとデバイス名が表示されて、選択可能となる。

airplaydemoを選択して曲を再生すると無事にSpeaker pHATから音がでた!

 

iPhoneもデバイスが表示されて曲が再生された。

この時のiOSのバージョンは10.3.1

f:id:ElectroBlog:20170430222056p:image

 

ここまでの設定ではRaspberry Piを再起動した際は改めてShairportを実行しないといけない。

 

再起動した場合、下記を再度実行するとairplayボタンにデバイスが表示される。
cd shairport/

./shairport -a "airplaydemo" →"   "間の名前は自分で設定した名称

 

とりあえず再生できた。

実際に操作しているときにairplayのdeviceを選択した際にエラーとなることが何度かあった。

自動起動については改めて記載予定。

 

youtu.be

 

因みにSeaker pHATはPimoroniだけでなく、Amazonでも購入できそう。

 

 

 

その他Raspberry Pi情報、Micro:bit情報はTOP PAGEからどうぞ

Speaker pHAT (2) Raspberry Pi Zero wでwifiルーター経由で音出し(aplayとMPC使用)

Install and set up Speaker pHAT on your Raspberry Pi. 

 

前回の続きを記載。

Raspberry Pi Zero wを使ってSpeaker pHATでとりあえず音出しまでメモ。

aplayを使えばすぐに音がだせる。

mpdを使えばandroidやPCから制御可能。VUメーターは同期しない。。。

 

f:id:ElectroBlog:20170422134233j:image

 

手順は下記①~⑨まで。

 

①RaspbianをMicro SDにインストール

②Raspberry Pi zero wを自宅wifiルーターに接続(インターネットへ接続)。

③インターネット経由でSpeaker pHATをラズパイへインストール

④aplayで音出しテスト。

 

~以下、MPDを使った音出し~

⑤インターネット経由でMPD, MPCをラズパイへインストール。

⑥インターネット経由でSambaをラズパイへインストール

⑦Sambaで音源をいれる共有フォルダを作成。

⑧音源ファイルを共有フォルダに追加。

⑨MPCコマンドで音出し(プレイリスト追加→再生→操作)

 

まず①~②は下記リンクを参考に完了させる。

Raspberry Pi Zero w (11) 初期設定:HDMIディスプレイを使わずに内蔵無線LANで自宅Wifiルーターに接続(インターネットに接続) - ElectroBlog

 

次に下記コマンドでSpeaker pHATをインストールする。

注意:このときにRaspberry Piをインターネットへ接続させていること。

f:id:ElectroBlog:20170430161558p:plain

curl -s https://get.pimoroni.com/speakerphat | bash

を実行する。

このときはPCとRaspberry piを自宅wifiルーターに無線で接続している。

 

しばらく待つ。

f:id:ElectroBlog:20170521212251p:plain

y → Enterを押下する。

 

さらにしばらく待つと

f:id:ElectroBlog:20170521213018p:plain

再び、y → Enterを押下する。

 

更にしばらくすると、下記画面に移行する。

y → Enterを押下。

f:id:ElectroBlog:20170521213855j:plain

再起動される。

 

 その後、Speaker pHATの基板をラズパイ本体へ装着。

試しに以下コマンドで音出しテストをする。

f:id:ElectroBlog:20170430162028p:plain

音が鳴ればひとまず安心。

問題なければVUメーターも同期するはず。

 

次にSDカードに曲をいれてmpc操作で再生してみる。

まず、下記の通り入力してMPD(Music Player Daemon)とそのコマンドのMPCをインストールする。

f:id:ElectroBlog:20170430162539p:plain

sudo apt-get -y install mpd mpc

暫く待つ。

f:id:ElectroBlog:20170505214519p:plain

↑この画面に移行するまで待つ。

完了したら、

f:id:ElectroBlog:20170430161839p:plain

に戻る。

次に下記リンクの手順でSambaのインストールから共有フォルダの作成を完了させる。

Raspberry Pi Zero w (3) SambaをインストールしてRaspberry PiのSDカードへネットワーク経由でアクセスする(Raspbian) - ElectroBlog

 

リンクの内容通りにmpdフォルダを共有フォルダとして設定してから、

/var/lib/mpd/musicフォルダの中にwavかmp3データをコピーする。
注意:ファイル名に空白がある場合は、エラーがおこるのでアンダーバーなどへ変更する。 

 

早速、mpcコマンドで操作していく。

下記コマンドでフォルダの曲を反映させる

mpc update

次にmpd/musicフォルダ内の全曲をmpdのプレイリストに追加する。

mpc ls | mpc add

 

リストを確認する。

mpc ls

 

次に再生コマンドを実行。

mpc play

成功すれば下記表示となる。

f:id:ElectroBlog:20170430164417p:plain

 

停止する際は

mpc stop

 

選曲は

mpc next

mpc prev

 

初期設定では音量がhardware設定になっているため操作を有効にするには、

/etc/mpd.confを変更の一部分をsoftware制御へ変更する。

具体的には

f:id:ElectroBlog:20170430163823p:plain

を実行して、

途中にあるaudio_output内のmixer_type を "hardware"から"software"に変更する。

f:id:ElectroBlog:20170430163733p:plain

変更方法は下記リンクを参考。

Raspberry Pi:viコマンドを使用してMicro SDカード内のファイルをssh接続で直接編集する(3, zero, zero w共通) - ElectroBlog

 

成功すれば、下記のように

mpc volume +数字

mpc volume -数字

でボリュームが変更できるようになる。

f:id:ElectroBlog:20170430164053p:plain

 

また、repeatやrandom、singleは

mpc repeat

mpc random

mpc single

f:id:ElectroBlog:20170430164221p:plain

で実行するごとにON⇔OFFとなる。

 

現在のところ、単純にmpc操作で再生した場合、VUメーターが同期しない。

 

 

その他Raspberry Pi情報、Micro:bit情報はTOP PAGEからどうぞ

Raspberry Pi全般:viコマンド一覧 : Micro SDカード内のファイルを編集(3, zero, zero w共通)

Raspberry PiのMicro SD内のファイルを手っ取り早く変更するには管理者権限でviコマンドを使えばよい。

 

流れは以下の通り。

 ①sshでRaspberry Piと接続。

② 編集モード開始   sudo vi ~

③ 編集(viコマンド使用)

④ 編集終了

 

①まず、Raspberry Piとssh接続できる状態にする。

f:id:ElectroBlog:20170430154804p:plain

 

②編集するファイルを指定してvi編集モードにする。

sudo vi ディレクトリを指定

f:id:ElectroBlog:20170430155244p:plain

 

③下記コマンドを使用して編集する。

キーボード矢印(→ ← ↑ ↓) : 移動

a : 文字挿入モード(注意:挿入モード中はキーボード矢印で移動できない)

Esc : モードの終了(文字挿入モードの終了に使う)

x : 文字の削除

テキストエディタ等でコピー → vi編集中に右クリック : 文字のコピペ

a → Enter : 行追加

dd : 行削除

 

④編集が完了したとき、もしくは保存せずに終了したいときは以下を入力する。

:wq : 保存して終了 

:q! : 保存せず終了

 

以上の方法で編集する。

 

実際には下記のような作業をするときに使うことになる。

 

  

その他Raspberry Pi情報、Micro:bit情報はTOP PAGEからどうぞ

Raspberry Pi Zero w (4) 小型USB無線LANを使って自宅wifiへ接続(ラズパイをインターネットへ接続)

f:id:ElectroBlog:20170517200418j:image

Raspberry Piを使っていると、アップデート等を含めて、インターネット経由でソフトウェアをダウンロードする必要がででくる。

そこで外付け無線LANを使用してRaspberry Piをインターネットへ接続する。

また、その環境でssh接続を行ってみる。

OSはRaspbian。

 

注記:Zero wは日本の技適が取れていないようなので内蔵無線LANを使用しない方法を解説していきます。

※現在は取得されているため、内蔵無線LANの使用が可能。

 

今回使用した機器はBUFFALO社製

f:id:ElectroBlog:20171002134746p:plain

 

手順は①~⑤の通り。

①Raspbianのインストール。

②外付け無線ルーター(今回はPLANEX)でRaspberry piへssh接続

 (外付け無線ルーター(PLANEX)とダイレクト接続)。

 ※イーサネット接続でも良い。方法は別記事に記載。

http://www.electroblog.jp/entry/2017/06/18/125630

③自宅wifiネットワークのSSIDとPWを設定する。

④小型USB無線LAN(WLI-UC-GNM2)でssh接続。

 

まず、前回記事の内容でRaspbianをインストールする。

この方法までの設定ではPCがRaspberry piへ繋がってる無線ルーターへダイレクト接続されているため、Raspberry Pi zeroを操作中はインターネット等に接続ができない。

(イメージ : Raspberry Pi  ⇄ PC)

 

そのため、Raspberry Piをインターネットに接続できるようにする。 

(イメージ : Raspberry Pi ⇄ wifiルーター ⇄ PC)

 

まずは上記事(1)で使用した外付け無線ルーターでSSH接続する。

f:id:ElectroBlog:20170430114713j:plain

  

接続先を自宅wifiルーターに設定する手順。

 

teratermで
sudo wpa_passphrase SSID名 Password

f:id:ElectroBlog:20170521165933p:plain

を入力。

赤字と青字部分の内容はwifiルーターによって異なる。

私の場合は

SSID名 : W0***********

Password : qny02**********

  

実行すると下記のように表示されるので

network={

      ssid="W03***************"

      #psk="qny02*********"

      psk=065********************************************************************

}

この内容をコピーしてどこかへ保存しておく。

 

ちなみにpsk=065***~は入力したPasswordが暗号化された状態のもの。

#psk=〜部分は使わないので下記のように修正する。

 

network={

      ssid="W03***************"

      psk=065********************************************************************

}

この内容をコピーしておく。

そして、次にコピーしたこの内容を

/etc/wpa_supplicant/wpa_supplicant.conf

の末尾に追加する。

 

sudo vi /etc/wpa_supplicant/wpa_supplicant.conf

へ接続。

キーボード↓ボタンで末尾に移動。

キーボードのaを押して編集モードに入る。

(編集モードではキーボードで移動ができないので注意。こまったらEscを押す)

teratermのEditタブからPasteを押下する。

f:id:ElectroBlog:20170422122156p:plain

このようになるはず。

Escボタンを押して編集モードを終了する。

次に

:wq を入力後、Enterを押すことでファイルを保存して終了させる。

間違えたときはEsc後に :q! を入力してEnterを押すことで保存せずに終了する。

そして再び編集する。

 

また、余裕があればcountryをJPに変えておく。

文字追加と削除は下記コマンドを使って行う。

a : 文字追加モード(追加したい場所の一つ左でaを押す)

x : 文字削除

dd : 1行削除

最終的に下記のようになればOK

f:id:ElectroBlog:20170422122733p:plain

 

完了したら、

:wqで保存して、

sudo reboot

でRaspberry Pi zeroを再起動する。

  

次に普段使っている自宅wifiルーターにPCを接続する。

また、zeroにUSB無線LANのWLI-UC-GNM2を装着する。 

 

次にteratermで接続するために下記ソフトでRaspberry pi zeroが接続されているIPアドレスを自動検索して見つける。

TWSNMPマネージャ :::Twise Labo, Inc.

 

TWSNMPマネージャv4をダウンロードしてPCへインストールする。

起動後、自動検索を選択する。

f:id:ElectroBlog:20170430113559j:plain

コマンドプロンプトでipconfigを実行すると、

192.168.100.113

だった環境なので、

自動検索画面は

開始:192.168.100.1

終了:192.168.100.254

で設定して開始を押下する。

f:id:ElectroBlog:20170430120104j:plain

完了したところ、

192.168.100.117でraspberrypiと表示されいることから、

192.168.100.117でteratermを使用してssh接続する。

問題なければいつもどおりの接続画面が表示されるはず。

f:id:ElectroBlog:20170430120228p:plain

pi

raspberry

を入力して接続する。

f:id:ElectroBlog:20170430120259p:plain

 

これで完了。

小型LANで接続できるので配線もスッキリ。

 f:id:ElectroBlog:20170506115242j:image

 

ちなみにケースはamazonから購入したもの。

 

 

その他Raspberry Pi情報、Micro:bit情報はTOP PAGEからどうぞ