投稿

ラズベリーパイとLCD-USB7XW/BとLCD-USB10XB-T (後編: Part 2)

イメージ
この記事ではラズベリーパイのデスクトップ版Linux (ラズビアン)で、かつて、i-oデータ社が販売していたUSB2接続の液晶LCDモニタの「LCD-USB7XW/B」と「LCD-USB10XB-T」の設定方のPart-2を紹介しています。 << Part-1 ステップ-4: X-Windowsの設定 ラズベリーパイのHDMI出力端子は標準だと /dev/fb0 のデバイス・ファイルに関連付けられるので、/boot/config.txtの設定などでHDMI出力を無効にしていない状態であれば、LCD-USB7XWやLCD-USB10XB-TのUSBモニターは /dev/fb1 のデバイス・ファイルに関連付けられます。 なので、Xウインドウ画面として使いたい場合はX.Orgの設定に/dev/fb1用の項目を加える必要があります。 Part1の最後 にプレビューとしても載せましたが、ラズベリーパイのHDMIかUSBモニターどちらかだけを使う一画面設定だとXウインドウの設定に7行付け足すだけで設定完了になります ( ステップ4-1 )。 でも、HDMIとUSBモニターの両方使う二画面設定の場合はもう少し複雑になります。 マイクロソフトのWindows10などで複数のモニターを繋げた場合、「複製」ではなく「拡張」モードを選ぶとマウスを使ってウインドウを違う画面へと動かす事が出来ます。 Xウインドウの場合だと、同じ様な事をするのにXウインドウの『 Xinerama 』という拡張機能を使う必要があるのですが、( 2020/Feb )現在のところ、「 すべてのモニターが同じ色深度 (Color Depth) 設定でないといけない 」という困った制限があります。 LCD-USB7XWとLCD-USB10XB-Tの色深度をアイ・オー・データの取説や仕様書などのPDF書類では確認できなかったのですが、udlfbドライバーには両モニター共に色深度16bpp(ハイカラー)で認識されるので、 Xinerama拡張の機能を使いたい場合はラズベリーパイのHDMI出力も16bppになる様に設定する必要があります ( ステップ4-2 )。 ...

ラズベリーパイとLCD-USB7XW/BとLCD-USB10XB-T (後編: Part 1)

イメージ
Linuxではまだ使える? Windows 10ではもうサポート外となってしまった外付けのUSB液晶モニタ、『 LCD-USB7XW/B 』と『 LCD-USB10XB-T 』、Linuxだと『 udlfb 』か『 udl 』というカーネルドライバーがUSB 2.0のDisplayLinkのディスプレイチップをサポートしているという事なので、どうにか手持ちのラズベリーパイ (Rpi2 B+) に繋げてみたいと思います。 因みに、手持ちのラズベリーパイには 2019年9月 リリースのRaspbian (ラズビアン) ※ Busterのデスクトップ版が入っていて、Linuxのカーネルバージョンは4.19.75でした。 ※「ラズビアン」はラズベリーパイ本家公認のDebian(デビアン) Linuxです。 『udlfb』カーネルドライバ 『 udlfb 』は『 USB DisplayLink Frame Buffer 』の略で、 LCD-USB7XW/Bや、LCD-USB10XB-Tなどに使われているDisplay Link社のUSB2.0接続のグラフィック・チップ用のLinuxカーネルドライバーです。 英語になりますが、Linuxのカーネル4.19のソースコードのドキュメント にudlfbこのドライバーの説明があります (👉 linux/Documentation/fb/udlfb.txt )。 説明によるとudlfドライバが接続されたデバイスを正常に認識した場合は、モニターの全画面を緑色に表示する仕様になっています。 なのでXウインドウが起動する前の段階に、画面が緑色になったかどうかで、モニターがラズベリーパイに認識されたかどうかが確認できます。 『udl』カーネルドライバ udlドライバはudlfbを新しく書き直したDRMドライバーらしいのですが、しっかりとしたドキュメントもなく、ソースコードの linux/drivers/gpu/drm/udl  にあるソースコード内のコメントも無きに等しい量です。 コード内のコピーライトの日付を見る限りでは 2009...

表面実装→スルーホール変換アダプター

イメージ
今まで使った事のない電子パーツや電子パーツの機能などを電子回路に使う場合、そのパーツを含む部分の回路をブレッド・ボードなどで試作して動作確認をすると、実際に回路を半田付けした後で動作しないなどといった設計ミスを事前に減らす事ができます。 ブレッド・ボード ブレッド・ボードには2.54mm (0.1インチ)の間隔で穴が沢山開いているので、その穴に電子パーツの脚 (リード線)を差し込んでいくことで電子回路を作ることが出来ます。 また、はんだ付けが不要なので、回路の繋げ方を間違えてもリード線の抜き差しで簡単に回路の変更ができるのでブレッドボードを使うと回路の動作・性能の確認と改善が比較的簡単にできます。 (ただし、数十MHzとかの高周波やμVなどの低電圧を扱う場合はブレッド・ボードだと十分なノイズ対策が出来ないので不向きなのと、あまり大きな電流も扱えません。) ブレッドボードで使える電子パーツは主に『 スルーホール実装 (Through Hole Technology) 』という穴にパーツの脚を通してはんだ付けをするタイプのパーツになります。 このスルーホール実装とは別の『 表面実装 (Surface Mount Technology) 』のパーツだとブレッドボードで使うには少し勝手が違ってきます。 Surface Mount Technology (SMT) 表面実装 表面実装のパーツ(SMD)は一般的にスルーホール実装の同等パーツと比べてサイズが小さいので、表面実装のパーツを使う事によって回路の小型化が出来ます。 また、スルーホール実装のパーツにあるような長いリード線は表面実装のパーツにはなく、はんだ付け用のパッドと呼ばれる金属箔が本体に付いていたり、とても短い脚が出ているだけなのでブレット・ボードの穴に挿す事は出来ません。 でも、表面実装だとパーツのサイズが小さくなるのでスルーホール実装のパーツよりも値段が安くなる場合がほとんどです。 また、 RS Components 、 Element14 や Digi-Key といったオンライン・サイトで電子パーツを探していると、10個とか25個といっ...

Perfboard (ユニバーサル基板)で電子回路の試作

イメージ
当方、理工系の教育は大学の学部生レベルまでは一通り受けているのですが、実技の面ではプログラミングなどのソフト関連の事ばかりを主にやっていたので電子回路の設計についてはほぼ初心者です。 電子工作はほぼ初心者 ダイオードやトランジスターなどの原理、OPアンプやスイッチング・コンバーターなどは授業で勉強しましたが、やっぱり、教科書だけでは全ては学べないというか、自分で実際に回路を作って失敗などを重ねないとしっかりと理解が深まらない気がします。 現在の大学院を始める前にオーストラリアのエンジニアの会社で働いていたのですが、そこでも電子回路関係ではなく、派遣で他の会社に行ってプログラミングのサポートをしたり、既にある昔のプログラムを新しい言語に書き換えたりといったプログラミングの仕事を主にしていました。 時々、他の社員が設計した回路の制御ソフトの開発の仕事もあったのですが、大概、回路を設計する社員は自分の間違いを認めないので、回路に不都合がある場合はまず制御ソフトがいけないのだろうという意見に持っていきます。 そういった場合、回路図を見ながら、オシロスコープを使っていかにその回路が間違っているかを確認しないとプロジェクトが先に進まなかったので、少しは実技的な経験値はあるとは思いますが、他の人が設計した回路にあーだこーだと意見を言えるほどの経験はまだありませんw。 でも、最近、知り合いの人に「電動モーターを遠隔操作する簡単な回路がいくつか必要」という相談を受けて、「趣味の電子工作」レベルのサポートをする事になりました😅 (本人がそれで良いと言うのでw)。 まずは試作 その知り合いは、最終的にはカスタムのプリント基板を作って、必要に応じて同じ回路を複数作れる様にしたいみたいですが、まずは回路を試作して回路が期待通りに動くか試してもらう事にしました。 Breadboard (ブレッドボード) 回路の試作となると、シンプルな回路であればブレッドボードで簡単に試作する事ができます。 ブレッドボードには2.54mmの間隔で穴が空いていて、そこに部品のリード線を挿していきます。 一般的に、ボードの両脇に赤と青の線が印刷されてい...

PUBG Lite日本で解禁

イメージ
最近の3DシューティングのPCゲームだと高スペックのGPUとPCで高速な3D処理や物理計算をして、繊細なグラフィックのアクションを楽しむ傾向にありますが、低スペックのPCでもそこそこ遊べるPUBGのライト版 『 PUBG Lite 』 が日本でも今月解禁されたみたいです。 ターゲット層? 本来は、タイとかインドとかといった、そこまで高スペックのPCが一般家庭に普及していない国がマーケットだったと思うのですが。。。 日本だと「ゲームをする為に (バイト代やへそくりで) 新しく高スペックのPCを買う (or 買える)」という人が比較的多いと思うのでどんなプレーヤーがターゲットかと思いましたが、『低スペック』と言っても、一般的にあまり高性能なGPUは搭載されないノートパソコン (or ラップトップ)なども含まれると思うので日本のノートパソコンユーザ-がターゲットなのでしょうか? 残念ながら。。 PUBG Liteは私の住んでいるオーストラリアではまだサポートされていないみたいで遊べません。 VPN経由で日本に繋げれば良いのでしょうが、そこまでは。。 というか、これで、私の様に、モバイル版PUBGをGameLoopエミュレーターを使ってPCで遊ぶ人口がどんどん減っていってしまうという事なのでは😇😇w(そっち?)。 追記 「PUBG Lite」の話ではないのですが、 17/Dec/2019 の時点で、PCでPUBGモバイルが遊べるGameLoopエミュレータではHDRの解像度でアプリが落ちてしまう不都合があるとかでHDRモードが無効化されています。。。

Gameloopの怪しいサービス (QMEmulatorService)

イメージ
いくつかのアンドロイド用のモバイルゲームがPCで遊べるテンセント(Tencent)社のAndroidエミュレーターの『 ゲームループ (Gameloop) 』ですが、Windows10で普通にインストールして使うと『 QMEmulatorService 』というウインドウズのサービスがインストールされて常駐する様になります。 GameloopのQMEmulatorService でも、家のGameloopをインストールしているWindows10のPCだと、このサービスの稼働中はWindowsセキュリティセンターのウイルススキャンやWindowsのアップデートが出来なくなったりします😇😇。 もしかしたら、このサービスがゲームに直接関係のない処理を無効にしてエミュレータが出来るだけ多くの処理能力を使える様にするという仕様なのかもしれませんが、流石にウイルススキャンを無効にしてオンラインゲームなどというのもアレなのでWindowsサービスの一覧からQMEmulatorServiceを見つけて無効にしています。 Windowsサービスの一覧は「Startボタン」を右クリックして「コンピューの管理 (Computer Management)」を開くと、「サービスとアプリケーション (Services and Applications)」というのが左側にあるのでそれをクリックして選ぶと「サービス (Services)」があるのでそれを開くとサービスの一覧が開きます。 無効にする方法 サービスの一覧にリストされている「QMEmulatorService」を右クリックして「プロパティ (Properties)」を選ぶと新しくウインドウが開くので「全般 (General)タブ」の中央辺りにある「スタートアップの種類 (Startup type)」を「無効 (Disabled)」に設定します。 ついでに、QMEmulatorServiceが稼働中ならば、その下にある「サービスの状態 (Service status)」の「停止 (Stop)」ボタンも押して停止しておきます。 最後にウインドウ下の「OKボタン」を押せばQMEmulatorServiceは勝手に起動しなく...