投稿

5月, 2019の投稿を表示しています

Raspberry Pi Zero WHのMenu Barが消えた

イメージ
xrdp経由で使ってたデスクトップのメニューバーが接続時に数回点滅した後に消えてしまう現象が発生。 lxpanelの設定を消すだのvideo,audioグループにユーザーを追加するだのしてみたが治らず。 投げ遣り的にlxpanelを再インストールしてメニューバー復活。 但しデザインはpiのカスタマイズからlxdeの標準に変わってしまった。 パネルにボリュームコントロールとBluetoothコントロールが無くなったのも相違点か? ボリュームは普通に使っていればxrdpでは音を鳴らせないので問題無し。 BluetoothはBluemanの再インストールで何とかなるか? Bluetooth周りを入れようとした際にエラーが発生して動作しない問題が発覚。 メニューバーの問題もBluetoothが起因だった。 結局直し方は判らないのでBluetooth関連とデスクトップ関連を入れ直して何も無かった事にした。

WSLでxrdpを動かす

イメージ
最低限必要なX環境とxrdpをインストールする。 RDP標準のポートはWindowsが使っているので適当に変更する。 xrdpを起動する。 仮想PCと同様に音は出せない。 pulseaudioのxrdp対応モジュールを組み込むと出来そうだけど取り合えず頑張らない。 $ sudo apt-get install xfce4 $ sudo apt-get install xfce4-goodies $ sudo apt-get install xrdp $ sudo sed -i ‘s/port=3389/port=3390/g’ /etc/xrdp/xrdp.ini $ sudo service xrdp start リモートデスクトップ接続でlocalhost:3390にアクセス。 日本語化するのにロケールの変更とかフォントのインストールとか必要だった。 キーマップがusから変えられなかったが/etc/xrdpのkm-0409.iniをkm-0411.iniに置き換えて対策。 環境がDocker用に用意したUbuntuだったので16.04だった。 18.04だともっと上手く行くかもしれない。

Raspberry Pi Desktop X86を動かす

イメージ
公式のダウンロード速度が遅かったのでミラーサイトから Raspberry Pi Desktop X86  http://ftp.jaist.ac.jp/pub/raspberrypi/rpd_x86/images/ Raspbian Stretch Lite  http://ftp.jaist.ac.jp/pub/raspberrypi/raspbian_lite/images/ ネットワークブートの動作確認をする為にPiServerを使いたかったがZeroでは出来なそうなのでRaspberry Pi Desktop X86を動かすのはまた今度。

Raspberry Pi Zero WHをネットワークブートする

イメージ
公式に方法が載っているがどうやらZeroは2や3よりチップセットが古い為に出来無さそう。 非公式でNFS経由のブート手順を見つけたが面倒になったので作業停止。 目的はSDカードの破損対策なので書き込み回数を減らす施策でも効果は得られる。

Raspberry Pi Zero WHで日本語入力する

イメージ
DefaultのLocaleをja_JP.UTF-8にする。 ターミナルならこれだけでOK 変換も表示もクライアント側の仕事。 xrdpでも入力する場合は適当な日本語入力システムを入れる。 色々入れてみたが入力が切り替わらず変換候補が出てこなくて苦労した。 最終的にはfcitx-mozcをインストールした後に[fcitx 設定]ツールで入力メソッドに[Mozc]を追加する事で可能となった。 後はWindowsと同様に半角全角で切り替えられる様にして完了。 これ以外に多分日本語フォントの追加も必要に思う。

ペアリングしたスピーカーのボリュームを操作する

イメージ
コマンドラインから音声出力のボリュームを指定する。 $ amixer Simple mixer control 'SPEAKER - A2DP',0   Capabilities: pvolume pswitch   Playback channels: Front Left - Front Right   Limits: Playback 0 - 127   Mono:   Front Left: Playback 46 [36%] [on]   Front Right: Playback 46 [36%] [on] Simple mixer control 'SPEAKER - SCO',0   Capabilities: pvolume pvolume-joined cvolume cvolume-joined pswitch pswitch-joined cswitch cswitch-joined   Playback channels: Mono   Capture channels: Mono   Limits: Playback 0 - 15 Capture 0 - 15   Mono: Playback 15 [100%] [on] Capture 15 [100%] [on] $ amixer -D bluealsa sset 'SPEAKER - A2DP' 50% Simple mixer control 'SPEAKER - A2DP',0   Capabilities: pvolume pswitch   Playback channels: Front Left - Front Right   Limits: Playback 0 - 127   Mono:   Front Left: Playback 64 [50%] [on]   Front Right: Playback 64 [50%] [on] --

Raspberry Pi Zero WHでBluetoothペアリングする

イメージ
ペアリングの為の一連の流れ $ sudo bluetoothctl # scan on # devices # scan off # pair xx:xx:xx:xx:xx:xx # trust xx:xx:xx:xx:xx:xx # connect xx:xx:xx:xx:xx:xx # info xx:xx:xx:xx:xx:xx # paired-devices # quit

Raspberry Pi Zero WHにBluetoothスピーカーを繋げる

イメージ
ペアリングした後にコンソールからaplayやvlcで音が鳴るのを確認。 xrdp上のVLCから音が出ないのであれこれやったらハマった。 最終的には対策でインストールしたpulseaudioとbluemanをアンインストールしたら直った。 何故かxrdp上のVLCからも音が出る様になって困惑。 bluemanはともかくpulseaudioは古い情報が元なものがありすぎて鬼門に思う。

Raspberry Pi Zero WHにBluetooth経由でシリアル接続

イメージ
以下ペアリング後の手順 ・Raspberry Pi Zero WHでの設定 $ sudo nano /etc/systemd/system/dbus-org.bluez.service ExecStart=/usr/lib/bluetooth/bluetoothd --compat $ sudo systemctl daemon-reload $ sudo systemctl restart bluetooth $ sudo sdptool add --channel=22 SP $ sudo rfcomm -r watch 0 22 /sbin/agetty -L rfcomm0 115200 & 動作を確認できたら自動実行なりサービス化なり。 バックグラウンドプロセスの停止 $ sudo kill "$(jobs -p %1)" ・Windows10での設定 [その他のBluetoothオプション]を開いてCOMポートを追加する。 ※今回はCOM5として追加された。 適当なターミナルソフトで追加されたポート経由で接続する。 RLoginでの設定は以下の通り。 ホスト名の値はシリアル設定ボタンによる自動設定。 プロトコル:com ホスト名:115200;8;NOP;1;CTS; TCPポート:COM5

Raspberry Pi Zero WHをUSBガジェットとして使う

イメージ
Raspberry Piの中でOTGを使えるのはZero系のみ。 OTGの使用を有効にして使用したいガジェットとしてモジュールを組み込むとその様に動作する。 g_etherをWindowsに接続した場合は標準ではCOMとして認識されるがドライバーを入れるときちんとLANアダプタになるらしい。 g_mass_storageだと各種ストレージメディアになる。 # modprobe g_mass_storage file=/path/to/your-image-file.iso cdrom=y 今後の課題 g_webcam、g_hid、libcomposite

Raspberry Pi Zero WHでUSB-VGA変換アダプタを使えない

イメージ
Fresco LogicのFL2000と言うチップを使った製品を持っているが中々の曲者で元々の動作環境であるWindowsですら環境を選ぶ。 以前はLinuxは動作対象機種外とされていたのだがいつのまにかLinuxドライバーの提供が始まっていた。 自前にコンパイルしてOSに組み込む必要があるらしく自分の知識量では無理っぽい。 頑張った所でRasp Piで満足に動くとも思えないので本件はここまで。

Raspberry Pi Zero WHでUSBハブの電源制御を行う

イメージ
昔買った電源制御可能のUSBハブ(ELECOM U2H-SW4BBK)が使えると知ったのでチャレンジ。 最初にhub-ctrlコマンドを使用する方法を試してみたが状態表示が意味不明で使い方が判らない。 調べてみるとこのハブ専用に制御ツールを作った人がいるらしく落としに行ってみたがNotFound。 さらに調べて後継ツール( https://github.com/stkchp/sw4s_ctrl )を作っている人を発見。 ソースを落としてmake(要libudev-dev)して動かしたらバッチリ動作。 電源連動機能付きHDDを繋げておけば必要に応じて電源を入れられる。 HDMI-VGA変換アダプタを繋げた状態でUSBハブを挿したら再起動が掛かったので接続機器の消費電力は気にする必要があると思われる。 U2H-SW4Bはバスパワーのみだがコマンドの名前の元になっているU2H-SW4Sはセルフパワー可能なのでRaspberry Piで使うならそちらが望ましいであろう。 電源制御なのでUSB接続LED電球のON/OFFも出来たが電源ON/OFFのみの案件ならスマートプラグに任せるのが供給電力的に良いと思われる。

Raspberry Pi Zero WHのMonoをリモートデバッグする

イメージ
VisualStudioの拡張機能でMonoRemoteDebuggerをインストール。 リモート先でMonoRemoteDebuggerの開発元からMonoRemoteDebugger.Server.zipをダウンロードして解凍&実行。 拡張機能で接続先のサーバーを指定して接続すると実行されサーバーにログが流れる。 Visual Studio Community 2019 Preview 16.1.0 Preview 3.0では拡張機能が動作しなかった。 Visual Studio Community 2017 Preview 15.9.7 Preview 1.0で動作を確認。 開発元のGitHub記載の使用法では/v1.5.1/MonoRemoteDebugger.Server.zipをダウンロードしろとなっているがファイルが存在しなかったのでv1.5.0を使用した。

Raspberry Pi Zero WHで.Net Coreを動かす

イメージ
armv6lなZeroは提供されていないパッケージが多い。 .Net Coreもその一つ。 $ arch armv6l

Raspberry Pi Zero WHでUSBカメラを動かす

イメージ
WindowsXP時代にUFOキャッチャーでゲットした30万画素カメラが余っているので繋いでみた。 Windows10ではドライバーが存在せず使えないのだがRasp Piでは普通に映った。 動作を試すのに使ったmotionというソフトは動体検知して画像を保存するもので30万画素程度の解像度ならそういう使い方をするのが良いのかもしれない。

Raspberry Pi Zero WHにCastする

イメージ
MiracastかChromecastまたはAirPlayの転送先にしてみたかったが楽にできそうでなかったのでRasp Pi専用のRaspicastを動かしてみた。 Rasp Piにomxivをインストール 転送元AndroidにRaspicastをインストール スマホ内の動画を再生する事を確認。 Youtubeアプリから共有経由で再生も可能。 動画と画像ならなんでも共有経由で出力できそうに思う。 動画の再生はomxplayerが担当しているらしいのでomxivは要らなかったかも。 今回初めてRasp Piをモニタに繋げた。 Hdmiモニタの余りは無いのでHdmi-VGA変換アダプタ経由でVGAモニタに出力した。 根性の無い変換アダプタなのでモニタの適正設定である1280x1024@60Hzに解像度を設定しないといけなかった。

Raspberry Pi Zero WHでMonoを動かす

イメージ
手順どうりで問題はなかったがパッケージのインストールに異常に時間が掛かった。 言われるがままに全部入りを入れたのが良くなさそう。 簡易なコンパイルと実行だけできれば十分。 インストール完了後にHelloWorldをコンパイルして実行しようとしたらディスクの空き容量が無いと怒られた。 どこかでOS完了後に勝手にやってくれているみたいな記事を読んでいてそうなんだと思って確認もしていなかったがSDカードの未使用領域分への拡張を手動で行った。 HelloWorldの実行を確認。 単純なソースのコンパイルも遅いので別PCでクロスコンパイルするのが良いのかも。

Raspberry Pi Zero WHでUSB/IPを動かす

イメージ
Rasp Piに繋いだUSB機器を通常はホストのUSBを利用できないHyper-Vの仮想PCで利用する。 説明通りにやってUSBメモリの中身が見えるのを確認。 事前に繋げたい機器の情報をサービス登録しないといけないのでお手軽プラグアンドプレイとはならない。 それでも普通には使えなかった機器が使える様になる事には価値がある。

Raspberry Pi Zero WHでWineを動かす

イメージ
Wineインストール済みのOSイメージを持ってきた。 Wine謹製のWindows風アプリが動くのは確認。 試しにWindows10のNotepad.exe(32bit)を動かそうとしてみたが各種DLL無い旨のエラーが列挙されたので諦めた。 32bitアプリで必要なファイルをインストーラが全部入れてくれる物なら動くかも? 速度はとても遅く実用的では無い。

Raspberry Pi Zero WHで何ができる?

イメージ
良く判んないけど多分な事。 Windows10 IoTを使うにはRaspberry Pi 2か3でなければばらない。 XamarinでUWPアプリを作って動かす事ができる。 C#アプリを動かすだけならPi Zeroでもいけそう。 BruetoothやWi-fiから指示を受けて流す処理ならNode.jsが妥当?

Raspberry Pi Zero WHをディスプレイ無しで使う

イメージ
SDカードの準備 SSHの設定 Wi-Fiの設定 タイムゾーンの変更 ユーザー、パスワードの変更 xrdpのインストール sambaのインストール これでデスクトップ接続で接続できる。 Windowsで繋ぐならVNCよりリモートデスクトップ。 スマホにキーボードとマウスを繋げて接続すれば簡易PCに出来る。 小型ディスプレイとか専用ディスプレイとか贅沢すぎる。 スマホと Rasp Pi を繋げてUSBテザリングすればインターネットも利用できる。 リモートデスクトップクライアントで接続時の名前解決もしてくれる。 割り当てられたIPアドレスを調べる必要は無い。

UbuntuでDockerを動かす

WSLでDockerが動かないのが悔しいので仮想PC上のUbuntuでDockerを動かした。 Ubuntu 19.04 Docker.io 18.09.5 で動作を確認。 WSLの時と同じ手順を踏んでみたがどうもdockerの実行権限の与え方が異なっている模様。 なんで同じにならないのかね?

WSLでDockerを動かす

イメージ
Windows 10 Pro 1809 17763.437 Ubuntu 16.04 Docker 17.12.1-ce でhello-worldとcentosの動作を確認。 Dockerをダウングレードしないと動かないってのが判り難い。 管理者として実行も忘れやすい。 Bluestack4がHyper-Vを使わせてくれないのでDockerで代替しようと思ったが手間。 VMwareかVirtualBoxを使って楽したくなる。