planetary days,

不惑とか嘘だよ。惑う惑う。ふらふらと。

FDX68を組み立てる

2021年04月17日 | ..._〆(゜▽゜ )
ゴールデンウィークに向けて、巣篭もり状態でもできることってないかなと考えて、半田作業を思い立った。
題して、前々から気になっていたRaspberryPiをFDDエミュレータにするシールド基盤FDX68と、引っ越し以来起動してないX1turboで5インチFDDをバックアップできないか計画。
どこかで頓挫する気配があまりに濃厚だが、はじめてみなければ頓挫もできないということで計画スタート。

まず、BoothでFDX68とX1用FDD-Drive Swapper+を購入。FDXはせっかくだからキットで購入。
在庫があれば、数日で届きます。

開けてびっくり、FDX68キットの見た目で2.54mmピッチのはんだ付けを頑張ればいいんだと勝手に思い込んでいたが、チップ抵抗とチップコンデンサがある・・・
素人に表面実装部品のはんだ付けは結構ハードル高いです。

そうは言っても来ちゃったものはしょうがないので半田付け開始。この時点で、GWにやろうと思ってたとかいう大義名分は忘却の彼方(4/17なう)。
面実装部品と集合抵抗6つつけるのに45分。目がつらい。
一旦休憩挟んで、DIP ICとかヘッダを付けるのに60分。普通のICはんだ付けは、眼鏡に取り付けるタイプの老眼鏡でかなり焦点が合うようになったので比較的楽。
とはいえ、狭いところにチマチマはんだ付けなので目が寄るのは変わらない。
改めて見ると、やっぱり表面実装部品の所は暴れてるな・・・

全ての部品付けが完了したので、おもちゃにしていたRaspberryPi3Bに搭載!だが刺さりが悪い。
よくよく見たら、そういえば熱対策で張り付けてたヒートシンクが干渉してきちんと刺さってない。

口を半開きにしている若者のようで、頭が悪そうに見える。
とはいえ、ヒートシンクはがすのは大変そうだし、一応ピンヘッダの半分以上まで刺さってるので、現状で良しとすることにした。
ゆとり万歳。

さて、次はX1側を開けて結線なのだが、まずX1turboが動くか確認する所からだ。
続編は気長に待っていただきたい。
コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

鴨かもん

2020年10月24日 | ..._〆(゜▽゜ )
だんだん涼しくなって来て、
とはいえ日向は暑い感じですが、
ようやくうちの辺りにも鴨が飛来しました。
先週末に矢上川にヒドリガモが4羽ぐらい来て、今週は鶴見川にオオバンがやはり4~5羽。

ハシビロとかオナガガモはまだ。
これから徐々に増えるかね。

コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

夏休みの工作 part2

2019年09月08日 | ..._〆(゜▽゜ )
GAME Hatなポケットサイズ機を作ったところまではいいが、MAMEなどTABキーが使いたい場合にBluetoothキーボードを出すのもなんか違う気がする。
ということで、有線だけどマルチキーでコンパクトなUSB接続麻雀コントローラPlusPADというのを、家電のケンちゃんで購入。
今日はちょうど台風が来そうなので、これ幸いと部屋に引きこもって工作していた。

コントローラICのはんだ付けが部品面からというのが不安要素だったが、やってみれば何とかなった。焦らずビアに半田が入るよう付けていくのが肝要かと。
実際には、USBケーブルの先端をバラした芯線を基盤上のランドパターンに直付ける方が難しかった感じ。
手が2本しかないので、半田付けしてるつもりが、ケーブルの先が浮いてくる&もたもたしてるとビニール被覆が溶けてタクトスイッチの足をショートしそうになる。ゼムクリップを曲げて即席保持クリップを作って解決。

後から、最初っからmicroUSBケーブルを使ってOTGケーブルにして付けとけばよかったかなあとも思ったが、デスクトップでも使えるからいいか。
コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

夏休みの工作 :フリスクPCふたたび

2019年09月04日 | ..._〆(゜▽゜ )
フリスクサイズと言うと看板に偽りありなのだが、ボタン付きLCD HatをAliExpressで買ったので、Raspberry pi zeroWに載せて組んでみた。

今回利用したのは「1.54 LCD Game」モジュール。正式な名称がわからない。メーカー名はSpotpearで6月に2500円ぐらいで買ったんだけど、今Spotpearのホームページに行くと載ってないし、パチモンかどうかわからないけど800円ちょっとで出してる店もある・・・

先月ぐらいにWaveshareから13ボタン、充電池対応、音声出力付きのpHat、GamePi15が出てるので、"1.54 LCD Pi zero Game"で検索するとそっちが多く出て来るな。
Waveshareのは機能が盛り盛りなので良いことは良いのだが、完成度が高くてちゃんとしたケースに入れてやりたいけど、ケースまでは出てないんだよね。

というか、検索結果を今今確認したらGamePi 20 とか言って2.0インチ320x240のLCDと電池とケースまでついたバージョンまで出てる(´Д`;) これ買えばいいじゃん!

それはそれとして。

今回使ったpHatは、240x240の1.54インチカラー液晶と、4方向+押し込みの5Wayキー、表面に6ボタン、ショルダー2ボタン構成。あと、RetroPieでは使えないが、液晶は感圧式のタッチスクリーンコントローラ付き。

以前使ったwaveshareの3ボタンpHatはGPIOソケットが薄型だったのだが、こちらは結構高さがあって、フットプリントはフリスクケースだけど、高さ的には蓋の上に浮いてしまう感じ。(買った時にはソケットの高さなんて分からなかった(^^;)
それもあって数ヵ月放置してたのだけれど、ダイソーでちょうど良いケースを発見。
釘・ネジ入れだったんだけどね。5個で100円。


まずは、pHatに同梱のスペーサが通る穴と、GPIOコネクタの穴を天面に開ける。

こんなこともあろうかと密かに購入していたホットナイフで四角く切ろうとしたんだが、楽に切れたはいいけど溶けたプラスチックが引っ付いたりして思ったほどきれいに切れなかった。
コツを体得するにはもう少しクンフーを積まねばならぬ模様。

USBとHDMIの穴を開け、側面にmicroSDの穴を開けてOKと思ったら、スペーサの下端がケースの底に当たって閉じにくかったので、底面にも3φで穴を開けた。ネジのしっぽがちょうど填まる感じ。


なんか1時間ちょいで物理工作が完了してしまって拍子抜け。外観はこう。


ボタンとLCDのドライバが組み込まれたOSイメージをメーカーが出してるみたいなのだが、より高速なドライバが公開されてたのでそちらをRetroPie4.5.1に組み込んだ。
こちらも難なく動作確認。

ハード的には、強いて言うならLRがやや押しにくいのと、スティックカバーが載っけているだけなのですぐ外れるのが改善したいところだが、この工作難易度ではこんなものか。

ソフト面で言うと、上記掲示板のキーアサインでスティック押し込みをHotKeyにしてしまうと、頻繁にHotKey+Bでリセットがかかってしまうので、スティック押し込みをLボタン、LキーをHotKeyボタンにすると誤入力起きなくていいよ、ぐらいかなあ。

残っている課題:
・5wayキーのカバー。
 上述だが、乗せてるだけなので付けたままカバンに入れると無くなりそう。なんとかしたい。
・HATがむき出し
 ソケットの高さがあるので致し方ないのだが、いいケースないかなあ。しかしそこまでやるならPiGame20買えよってことなのが悩ましい。
・音声回り。
 HDMIで音が出せているので、こっそり会議室でモニタにつなぐなら問題なし。
 モバイルバッテリ運用で音が出せるように、Bluetoothで音回りを解決しようと試行錯誤中。
・MAME関連の設定。
 MAME系を動かそうとすると、デフォルトでTABキーでコントロールメニューが出るので、結局Bluetoothキーボードを引っ張り出す羽目になり、ちょっと面倒。
・携帯に便利じゃない。
 LiPO充電基盤などと小さい電池を隙間に組み込めば携帯時にモバイルバッテリつながなくていいんだが、いい固定方法を思いつかない。まあ、ケーブルがそんなに邪魔ってわけでもないので優先度は低め。
・GBAが重い
 とはいえ、所詮ZeroWHのパワーじゃこんなものなのかも知れぬ。もう少し処理能力があれば。

[2019/9/17追記]
麻雀+PADがMAMEのデフォルトキーセットに準拠したキーコードを吐くので、GAME HATキーパッドのキー定義を少し修正。
/boot/othermod/retrogame.cfg
# Sample configuration file for retrogame.
# Really minimal syntax, typically two elements per line w/space delimiter:
# 1) a key name (from keyTable.h; shortened from /usr/include/linux/input.h).
# 2) a GPIO pin number; when grounded, will simulate corresponding keypress.
# Uses Broadcom pin numbers for GPIO.
# If first element is GND, the corresponding pin (or pins, multiple can be
# given) is a LOW-level output; an extra ground pin for connecting buttons.
# A '#' character indicates a comment to end-of-line.
# File can be edited "live," no need to restart retrogame!

UP         05  # Up
DOWN       16  # Down
LEFT       13  # Left
RIGHT      06  # Right
LEFTSHIFT  21  # Square   X
LEFTALT    15  # Cross    A
SPACE      20  # Triangle Y
ENTER      12  # Circle   B
TAB        23  # Left Trigger
ESC        14  # Right Trigger
1          26  # Start
5          19  # Select
Z          03  # Retroarch

# For configurations with few buttons (e.g. Cupcade), a key can be followed
# by multiple pin numbers.  When those pins are all held for a few seconds,
# this will generate the corresponding keypress (e.g. ESC to exit ROM).
# Only ONE such combo is supported within the file though; later entries
# will override earlier.


変更したら、/boot/setupcontrols.bash を実行して反映するのを忘れない事。
コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

相変わらずキンクロ

2019年06月23日 | ..._〆(゜▽゜ )
ここ2週ほどは見かけなかったが、今日ウォーキングで行ってみたらキンクロとホシハジロがまだいた。

近所のスーパーで孵ったツバメも、もう巣立ったというのに。

このまま夏越すしかない時期になっちゃって、まあ頑張れと。
あのキンクロは、去年も越夏した個体(コードネーム:うちのキンクロ)だろうかね。
コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

せんのか

2019年04月15日 | ..._〆(゜▽゜ )
ソシャゲ「戦の海賊」を、思い出したように再開した。
ある程度しか育ててないので、通常シナリオは何とか進むけれどイベントマップはつらい。対人戦も少し上のリーグに上がると連敗しかない。

大体イベント終盤は、助っ人で強キャラを入れると瞬殺なのに、昔やってた時期のキャラを助っ人に入れるとジリ貧になって負ける。つまり、うちは時代遅れなキャラ編成かつ強化が全く足りていなくて、勝つにはバランスブレイカーな強キャラが一人は必須ということなんだろう。

ゲームバランスがあっという間に変わるのがこうしたゲームの常で、対応するには一般に「初期から継続する」か「勝てるまで課金する」というオプションがある。無課金/微課金で他人を気にせず勝てる範囲で遊ぶというのもあるのだが、サービスが数年続いてるとインフレが進んで新参には手も足も出なくなる。
競わせることで消費を煽るのは、短期的には上手い商売だなあと感心する。消費者が消耗するので、長く見ると全体が緩やかに衰退しそうだ。

さて、それはそれとして。
キャラのスキルやら特性やらのデータが多過ぎて、有無をも言わせない強キャラ以外を生かしたくても、ゴマ粒のような説明を読むのがつらい。

可処分所得だけじゃなく、生理的にも、やはり若者文化って事なのかね。
コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

フリスクPC(その4) 遊べるように設定しよう

2018年12月30日 | ..._〆(゜▽゜ )
4回連載の最終回、いよいよ遊べる状態まで。

〇 Waveshare HAT用の設定
 使い方の想定として、ブート後にLCDに単体で使うアプリが表示され、ボタン入力で操作できればいいが、HDMIに繋げてキーボードなどをつないで使うこともできる事を考えた。
 フレームバッファをサブディスプレイに複製する(解像度も調整する)、fbcpというツールがあるので、それを使ってみる。

1. まず、Waveshare 1.3" IPS LCDに画面を出せるようにする。
 参考:公式ブログ
    sudomodの1.44" 128x128 pi zero hatのスレッド
 ① /etc/modules に SPIドライバと、フレームバッファドライバを追加。おまけでJOYPAD部分のドライバも書いておく。
$sudo nano /etc/modules
spi-bcm2835

flexfb
fbtft_device


 ② /etc/modprobe.d/fbtft.conf の作成
$sudo nano /etc/modprobe.d/fbtft.conf

#/etc/modprobe.d/fbtft.conf

# waveshare 1.3 LCD ST7789v
options fbtft_device name=flexfb gpios=reset:27,dc:25,cs:8,led:24 custom=1 height=240 width=240 rotate=180 speed=40000000 fps=60 bgr=1
options flexfb setaddrwin=0 width=240 height=240 init=-1,0x11,-2,120,-1,0x36,0x70,-1,0x3A,0x05,-1,0xB2,0x0C,0x0C,0x00,0x33,0x33,-1,0xB7,0x35,-1,0xBB,0x1A,-1,0xC0,0x2C,-1,0xC2,0x01,-1,0xC3,0x0B,-1,0xC4,0x20,-1,0xC6,0x0F,-1,0xD0,0xA4,0xA1,-1,0x21,-1,0xE0,0x00,0x19,0x1E,0x0A,0x09,0x15,0x3D,0x44,0x51,0x12,0x03,0x00,0x3F,0x3F,-1,0xE1,0x00,0x18,0x1E,0x0A,0x09,0x25,0x3F,0x43,0x52,0x33,0x03,0x00,0x3F,0x3F,-1,0x29,-3
Ctrl+O、Ctrl+Xで出力して終了。このinitの後の16進数コマンドが重要なので、間違えないこと。
リブートして、/dev/fb1が生えているか確認する。

 ③ 動作確認 (やらなくても良い)
 とりあえずちゃんと動いているか確認したいので、何かデータを書き込み。
$ sudo cat /dev/fb1 > test.fb
$ vi -b test.fb
:%!xxd
→ 16進編集モードに入るのだが、しばらく待たされる
→ 適当にフォーマットが崩れないように16進数を入れる。連続してそこそこ変えないと画面上で目立たない。
:%!xxd -r
→ 16進編集から抜ける。戻るのはそんなに待たない
:wq
→ 書いた結果を保存して終了
$ sudo cat test.fb > /dev/fb1
画面上にゴミが表示されたら動作OK。

2. デスクトップをLCDへ同期表示
① fbコピーをインストール
$ sudo apt-get install cmake git
$ cd ~
$ git clone https://github.com/tasanakorn/rpi-fbcp
$ cd rpi-fbcp
$ mkdir build
$ cd build
$ cmake ..
$ make
$ sudo install fbcp /usr/local/bin/fbcp


② 設定ファイルの変更
$ sudo nano /etc/rc.local
→ 最後の"exit 0" の前の行に "fbcp &" を追記

fbcp &
exit 0
Ctrl+O、Ctrl+X で終了。

LCD表示が(比較的)綺麗になるよう以下の設定にする。
# HDMI接続が主な場合は、以下のconfig.txt変更をしないでもいい。が、それならLCD Hat付ける意味ないよなあ・・・
$ sudo nano /boot/config.txt
→ 以下の行を修正・追記
hdmi_force_hotplug=1
hdmi_cvt 720 720 60 1 0 0 0
hdmi_group=2
hdmi_mode=87
hdmi_cvtのパラメータで720x720にしているのは、アスペクト比を1:1にするため。こうしないと、ただでさえ狭い240x240の画面に横圧縮な画面が表示されてとても見にくくなる。
ちなみに、縦240とか300だと、うちのディスプレイでは表示できなかった。

書いてる時に見つけたこちらのサイトでは、WaveshareのHATに合わせているらしいfbcp-ili9341というのを使っているので、こちらを使った方がいいかも知れない。

3.ボタン入力の設定
 GPIOボタン入力をRetroPieで利用するため、AdafruitのPiGRRR用ドライバを使う。これは、GPIO入力を適当なキーボード入力に変換してくれる。
$ cd ~
$ wget https://raw.githubusercontent.com/adafruit/Raspberry-Pi-Installer-Scripts/retrogame.sh
→ うまくRPiから拾えない時は、母艦で保存して渡すなど。
$ sudo bash ./retrogame.sh
→ 3 のPiGRRL Zeroを選択。GPIO番号は後で修正するので大丈夫。
→ 適宜ダウンロードしてインストールしてくれる。流石Adafruit。
→ 最後にrebootするかと聞かれるのでYでリブート。

再起動後、キー定義ファイルを修正。追加キー(GPIO12)をつけてないならESCの行は不要。
$ sudo mv /boot/retrogame.cfg /boot/retrogame.cfg.PiGRRRZero
$ sudo nano /boot/retrogame.cfg
# Uses Broadcom pin numbers for GPIO.

LEFT 5 # Joypad left
RIGHT 26 # Joypad right
DOWN 19 # Joypad down
UP 6 # Joypad up
Z 16 # 'A' button; key 3
X 20 # 'B' button; key 2
ESC 12 # Exit ROM; additional button
LEFTCTRL 13 # 'Select' button; Joypad Press
ENTER 21 # 'Start' button; Key 1
Ctrl+O、Ctrl+Xで書いて終了。
この定義は変更してもリブート不要らしい。使いやすいように修正するといい。
ただ、困ったことにGPIO#12の追加キーが変な動作になっている。具体的には、一度押すとしばらく入力がリピートされる。加工の問題か、ソフト設定の問題か、切り分けが付かない。別のキーを押すと解消するので、実害は少ないが、課題表には載せておこう。

Emulation Stationのキーバインドも変更しておく。EmulationStationは一旦killしておくといいかも。
$ sudo mv ~/.emulationstation/es_input.cfg ~/.emulationstation/es_input.cfg.orig
$ sudo nano ~/.emulationstation/es_input.cfg

<inputList>
<inputAction type="onfinish">
<command>/opt/retropie/supplementary/emulationstation/scripts/inputconfiguration.sh</command>
</inputAction>
<inputConfig type="keyboard" deviceName="Keyboard" deviceGUID="-1">
<input name="start" type="key" id="13" value="1"/>
<input name="down" type="key" id="1073741905" value="1"/>
<input name="right" type="key" id="1073741903" value="1"/>
<input name="select" type="key" id="1073742048" value="1"/>
<input name="left" type="key" id="1073741904" value="1"/>
<input name="up" type="key" id="1073741906" value="1"/>
<input name="a" type="key" id="122" value="1"/>
<input name="b" type="key" id="120" value="1"/>
<input name="x" type="key" id="1073742054" value="1"/>
<input name="y" type="key" id="49" value="1"/>
</inputConfig>
</inputList>
Ctrl+O、Ctrl+Xで書いて終了。

4.Bluetooth Audioの設定
 音声はHDMI出力で出せるのだが、単体で音を出したいのでBluetoothで出力。
 参考:雑木林ブログ
 ① pulse audioのインストール
$ apt-get install pulseaudio pulseaudio-module-bluetooth
$ sudo nano /etc/systemd/system/pulseaudio.service
[Unit]
Description=Pulse Audio

[Service]
Type=simple
ExecStart=/usr/bin/pulseaudio --system --disallow-exit --disable-shm

[Install]
WantedBy=multi-user.target
Ctrl+O、Ctrl+Xで書いて終了。
 ② Bluetoothのプロファイル作成
$ sudo vi /etc/dbus-1/system.d/pulseaudio-bluetooth.conf
<busconfig>

<policy user="pulse">
<allow send_destination="org.bluez"/>
</policy>

</busconfig>
:wq で出力して終了。
 ③ モジュール読み込み設定
$ sudo vi /etc/pulse/system.pa
### Automatically load driver modules for Bluetooth hardware
.ifexists module-bluetooth-policy.so
load-module module-bluetooth-policy
.endif

.ifexists module-bluetooth-discover.so
load-module module-bluetooth-discover
.endif
:wq で出力して終了。
 ④ Pulse Audioのサービスを起動
 一度リブートしてから、サービスを登録する。
$sudo systemctl start pulseaudio.service

$sudo systemctl status pulseaudio.service
$sudo systemctl enable pulseaudio.service
enableしとかないと自動起動しないっぽい。
 ⑤ デバイスの接続登録
$ sudo blootoothctl
[bluetooth]# agent on
[bluetooth]# default_agent
[bluetooth]# scan on
 → つなげたいBTデバイスのID(MACアドレス風の6バイトデータ)を確認
[bluetooth]# pair **:**:**:**:**:**
[bluetooth]# trust **:**:**:**:**:**
[bluetooth]# connect **:**:**:**:**:**
[bluetooth]# quit

 ⑥ アカウント設定
$ sudo usermod -a -G pulse-access,audio root
$ sudo usermod -a -G pulse-access,audio pi
ユーザ名piだけじゃなく、rootもaudioグループ等に入れておく。
グループに入れていないと、permission deniedになってしまう。

--
これで、大体の設定はおしまい。

キーが圧倒的に少ないので、NES,Gameboy/Color,PCEngine(2ボタン仕様),GameGearあたりが妥当。
ただし、NESは横256を240に縮小することもあって、ドラクエを表示すると微妙に文字が読めない(よく目を凝らすと読める)。GBCは160x144なので、ときメモポケットは十分読める。
そんな微妙なサイズ。

とりあえず、普通に画面に表示すれば勝手にLCDにも表示されるし、retrogameモジュールでボタン+方向入力が普通の文字入力にマップされるので、RetroPieじゃなく普通のアプリケーションを作ってポケット端末化することも問題ない感じ。

しかし、バッテリー内蔵じゃないので、モバイルバッテリーなど外付け電源が必要なのは、少し不便か。
色々と改善ポイントを残しつつ、今年はここまで。
コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

フリスクPC(その3) OSをインストールしよう

2018年12月29日 | ..._〆(゜▽゜ )
今回は、通常のRaspberry Pi zeroの設定回りなので、有識者には不要かと思われる。
が、自分用メモなのでお構いなしにメモる。メモれー。うなづきマーチ。

○ ソフトウェアの準備(基礎編)
 OSインストールの準備というと、昔はISOからbootableでCD焼くとか手順を調べて色々悩んだものだけれど、RPiへのOSインストールは簡単でいい。
 配布サイトで適切なOSイメージファイル(ダウンロードページで Raspberry Pi 0/1 を選ぼう)を拾ったら、圧縮したままEtcherに渡すとmicroSDに展開しながら焼き込んでくれるので、後はRPiに挿して起動するだけで、OSの起動まで行ける。行けるのだが、これだとちょっと不便なので、いくつかおまじないをする。

・SSHの有効化
 RetroPieの最新版はRaspbian Stretchベースなので、デフォルトではsshdが停止しているらしい。設定変更するのにディスプレイを切り替えるのは面倒なので、ssh接続できるようにする。
 microSDの焼きこみ後、microSDの /boot パーティションは、FATのドライブとしてPCからアクセスできるので、microSDの直下にエディタ(メモ帳)で"ssh"という名前の空ファイルを作成します。拡張子は無し。もし、"ssh.txt"になってしまっていたら、"ssh"にリネームする。

・USB経由でログインできるようにする
 RPi zeroは、PCとUSB経由でIP接続することができる。USBテザリングで使われるRNDIS(Remote Network Driver Interface)、いわゆるUSB-ethernetという接続仕様が使えるので、RPi側、PC側のドライバを仕込む。
1. config.txtの修正
 "ssh"ファイルを置いたフォルダに、"config.txt"というファイルがあるので、ここにUSBコントローラのドライバ設定を追記。
・・・
dtoverlay=dwc2
・・・

2.コマンドラインの追記
OS起動時のパラメータを追記するので、同じく/boot下の"cmdline.txt"を編集。rootwait の直後にモジュール名が列挙されているので、以下の太字部分を追記する。
・・・rootwait modules-load=dwc2,g-ether quiet ・・・


 dwc2の次のカンマ以降が「USB Gadjet」の機能本体の名前で、今回はssh接続のための似非USB-Etherアダプタなのでg-etherにしているが、Mass Storageとか他の機能も持たせられるらしい。

3.Windows側にUSB/RNDISドライバを入れる
 MacとかLinuxが母艦の人は、それぞれ調べてください。
 とりあえず、PCとRPi zeroのUSBポート(真ん中寄り)を普通のUSBケーブルでつないで、USBドライバをインストールします。
 Windows10の場合: Acer USB/RNDIS Gadjet ドライバをインストールする。
 Windows7/8の場合: RPi zeroをPCからUSB接続して、デバイスドライバのインストールダイアログから ネットワークアダプタ>Microfsoft Corp>Remote NDIS Compatible… を選んでインストール

4.RNDISで接続できるようになったら、ホスト側IPアドレスを設定する
 母艦経由でインターネット接続もできるようにするなら、母艦のインターネット側ネットワークアダプタのプロパティ>共有タブ で、RNDISアダプタをプルダウンで選んでNW接続を共有。(自動的にPCが192.168.137.1になる)
 共有しない場合も、接続アドレスが変ると鬱陶しいのでRNDISアダプタの固定IPアドレスを192.168.137.1/24に設定。

5.zeroにつなぐ(1回目)
 RPi zeroに挿したUSBを抜いて、電源リセット。再接続すると、ホスト側からIPアドレスを払い出すので通信できるようになる。コマンドプロンプトで、それっぽいIPアドレスを探す。
 端的に言えば、arpでそれっぽいアドレスが無いか確認して、telnetで試してみる。
c:\> arp -a -N 192.168.137.1

インターフェイス: 192.168.137.1 --- 0x8
インターネット アドレス 物理アドレス 種類
192.168.137.★ **-**-**-**-**-** 動的
192.168.137.255 ff-ff-ff-ff-ff-ff 静的
224.0.0.2 **-**-**-**-**-** 静的
・・・

 そりゃ他に繋がってないので見つかりますな。192.168.137.255はブロードキャストアドレスなので、それ以外で137にある192.168.137.★がRPi。とはいえ、DHCPの動作順で複数見えたりすることもあるので注意。

 事前準備をやってあれば、sshでつながるはずなので、teratermなどで、上記の192.168.137.★につなぐ。
 アカウント名は pi 、初期パスワードは raspberry です。

6.zero側のIPアドレスを固定設定
 USB etherドライバでの接続設定をします。sshでつなぐ毎にIPアドレスを確認するのは面倒なので、固定IPアドレス(192.168.137.81)にします。DNSはgoogleの公開DNSを使用。
 $ sudo nano /etc/dhcpcd.conf で、以下の設定を追記します。
interface usb0
static ip_address=192.168.137.81/24
static routers=192.168.137.1
static domain_name_servers=8.8.8.8 8.8.4.4

 Ctrl+O Ctrl+Xで保存して終了。

 ネットにつなぐので、パスワードも変更します。
 $ sudo raspi-config で設定メニューを起動。
 最初は、8 Updateでツール自体を最新化。その後、再度起動して以下を設定。

 1 Change User Password で、ユーザ piのパスワードを変更。
 2 Network Options > N1 Hostname で、このRPiのホスト名を何か設定しておく。Windowsファイル共有なんかでもこの名前が使われる。
 4 Localisation Options > I2 Change Timezomne で、時刻を Asia > Tokyo に合わせる。
 4 Localisation Options > I4 Change Wi-Fi Country で、WiFiのリージョンをJPにしておく。
 5 Interface Options > P4 SPI、 P5 I2C をそれぞれenableにしておく。
  P2 SSHは、やらなくてもよさげ。
 7 Advanced Options > A1 Expand Filesystem は、自動でやってるような気がするんだけれども、dfとってみてSDCardの容量よりパーティションが明らかに小さいようなら、色々ファイルを入れる前にやってみてもいいかも。


 ここまで実施したら、$ sudo reboot。

7.WiFiの設定
 外部につなぐのに、PCなしでも行けるようにWiFiを設定します。
 本音は、USB ether経由の設定だと、セキュリティを見られる環境だとなんかやらかしそうなので。
 なお、わざわざ手動でやらなくても、上記6.のraspi-configでWiFi設定もできるような気もする。
 たとえば、SSIDが"lain"、パスフレーズが"PresentDayPresentTime"に設定してあるWiFiアクセスポイントに接続する場合は以下のようにパラメータを設定して暗号化パスフレーズを作成。
$ wpa_passphrase lain PresentDayPresentTime
network={
ssid="lain"
#psk="PresentDayPresentTime"
psk=6dad3850d260d3dd40cc8fd735110bd9b6bbc950cb831b5ac983327092d30c99
}

 この結果をwpa_supplicant.confに追記する。

$ sudo nano /etc/wpa_supplicant/wpa_supplicant.conf
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
country=JP

network={
ssid="lain"
#psk="PresentDayPresentTime"
psk=6dad3850d260d3dd40cc8fd735110bd9b6bbc950cb831b5ac983327092d30c99
key_mgmt=WPA-PSK
pairwise=CCMP
group=CCMP
}

Ctrl+O Ctrl+X で書いて終了。
 何も設定しなければ、再起動後にwpa_supplicantが上がって自動接続してくれる、はず。
 つながらない場合は、$ sudo ipconfig wlan0 off → $ sudo ipconfig wlan0 on でWiFiインタフェースを再起動し、wpa_supplicantを強制的に叩いてみるなど。

 WiFiを固定IPアドレスにする場合は、dhcpcd.confにSSID毎の設定を追加(Raspbian Stretchの場合)。
$ sudo nano /etc/dhcpcd.conf
 <既存の内容は消さないで、最後に追記>

interface wlan0
ssid lain
static ipaddress=192.168.7.7/24
static routers=192.168.7.1
static domain_name_servers=192.168.7.1 8.8.8.8


 WiFiは繋がってるのにDHCPでアドレスが払い出されていない場合は、
$ sudo dhclient wlan0 として、強制DHCPリクエストを。

一般的な設定が終わったところで、次回はWaveshare 1.3" IPS LCD Hat特有の設定とか。
コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

フリスクPC(その2) ケースを削ろう

2018年12月28日 | ..._〆(゜▽゜ )
前回記事では、電気工作部分に焦点を当てたが、ケース加工もやっぱり物理。

 簡単に結果だけ書いているが、ハンドドリルといいつつタップドリル(T字型のハンドルにチャックがついてて、タップ・ドリル刃を取り付ける感じ)でぐりぐり穴をあけてはニッパとやすりで穴を広げる作業でなので、
- ドリルで穴をあけた勢いで指の先にも穴を開けかける。とても痛い。
- やすりで削る勢いで、やすりの先端の尖ったところで指を突く。それなりに痛い。
- 大きな開口部はカッターで削ったりしたのだが、勢いで以下略。
作業する時は、焦らず気を付けてやろうね!

・ケース加工
 そんなわけで、フリスクケースに穴をあけて、削る。
 フリスクケースの底面にハンドドリルで4隅をあけて、カッターで気持ち小さく切り抜き、100均で買ったヤスリでいい大きさまで削る。ジョイスティックとプッシュキーの部分も、現物取りで開ける部分を決めて切り取って削る。4隅にLCD HATを固定するネジ穴を2.6φ・・・の手持ちがないので3φのハンドドリルで穴あけ。GPIOコネクタの反対側はスペーサを挟むようにしたのだが、RPiの動作LEDの光がナイロンスペーサを介して見えるので、1箇所はネジを止めないことにした。
# 初号機では、最初に入手した1.4型 128x128 LCDの方に合わせて画面の穴を抜いてしまった(1.3インチのLCDを当てると隙間がある)のでかなり見た目が悪いのだが、そこは御容赦いただきたい。

 短辺側面は、microSDの差し替み口、と追加スイッチ穴を開ける。microSD用開口部はスリット状にすると格好いいのだが、microSDのはみ出しが1mmも無くて抜くのが大変なのでちょっと大きめにする。
# ついでに両側面にスイッチをつけようとしたのだが、microSDを押さえつけてしまうので断念。

 長辺側面には、RPiの電源用と外部IF用の2つのmicroUSBとminiHDMIコネクタの穴を開ける。上蓋側(LCDが上面とすると下面なのだが)がスライドして被さるので、干渉しないようにそっちも削る。ニッパで切ると容易に大きくヒビが入るので、ドリル穴を数mm間隔で開けてからつなぐようにニッパで切り、ヤスリがけで直線にしていく。不器用なので直線にならなかったけど。断じて性根がひねくれてるからまっすぐにならない、とかではないはずだ。

 上蓋は、RPi裏面のGPIOヘッダの半田付け部分が干渉するのでGPIOヘッダの位置だけ穴あけ。結果的に蓋を力任せに嵌めるのはぎりぎり無理だったので、そこまで頑張る必要は無かったかもしれないが、仕方あるまい。ちなみに、フリスクのラベルで「120% BOOST」と書かれている部分が丁度切り取る範囲になる。RPi財団も狙ってそういう基盤レイアウトにしたんじゃないかというぐらいに。

・基盤の固定
 ネジ止めの向きも、GPIOヘッダ側はLCDのみネジ止め、HDMI側はLCDもRPiも固定する方針で穴あけをしたのだが、どっち向きにネジを止めたものかと組み付けてみて色々試行錯誤した。
 全部をガチガチにネジ止めするとゴツくなるし、スイッチ押すことを考えるとグラつかず、邪魔にならずにとめたいし・・・
 結局、LCDは底面に外からネジ止め、RPi本体は蓋側に六角スペーサのネジ部を出して外側からナット止めにした。GPIOヘッダを挿すと上下が結合するので、スペーサのネジ穴に底面からネジ止めして固定するようにしてみた。これも改善の余地はあるのだが、薄いフリスクケースで皿ぐりとかやってられないのでとりあえずこのまま。

・ボタンまわり
 ボタン周辺が、特にジョイスティックが軸むき出しってのがいけてない。同じパーツを販売してるショップで対応するノブとかツマミとかキャップとかが売られていないかと探してみたのだけれど、見つからず。これは、そのうち「おゆまる」とかで作ってみるしかないのかなあ。上手く作れる自信がない・・・



 長々書いたのをまとめると、総じてケース周りは妥協が多いので、ボタンカバーとかスティックも込みで、3Dプリントでなんとかなんないかなあと妄想するが、データを作る才もないので「もう少し頑張りましょう」かなあ。簡単な組み立て図は右の通り。
コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

フリスクPC 画面付き (その1) 工作をしよう

2018年12月27日 | ..._〆(゜▽゜ )
最近弄り回してたFriskサイズPCが、一応の動作を見たのでメモ。

発端は、Raspberry Pi Zero(以下RPi zero)サイズで1.44型LCD(128x128ピクセル)と5方向マルチファンクションキー(早い話が押込み付きのジョイスティック)、タクトSW3つがついたHAT(RPiのGPIOヘッダに挿す拡張基盤)を入手したこと。
RPi zero系が新型フリスクにぴったり納まるので、この組合せなら画面と入力とWiFiが揃ったポケットPCが作れるなと。
そんなわけで、後日メンテする時のために、作成手順をまとめておくことにする。

出来栄えは・・・見ての通り、行き当たりばったりに目分量&実物当てで採寸してる上に、直線が出てないのでとてもショボい。
が、ほぼフリスクケースサイズで電源だけで動作するPCという目標が達成したので、良しとしたい。


○ 用意したもの
・Raspberry Pi Zero WH (ヘッダ無しは店頭で見当たらない・・・)
 同一サイズでBananaPi A2 zeroというのもあるが、無線LANの外付けアンテナ端子などがあり、単体でWiFi/Bluetoothが飛ばないと困るので今後の研究課題で。あと裏面実装があるので、今回のようにフリスクケースに無理矢理入れるのは厳しいか。
Waveshare 1.3インチ 240×240 IPS LCDディスプレイHAT for RaspberryPi SKU#14972 1680円@千石電商 1.44型を入手した後で、解像度が高いこちらを発見したので変更。
・基盤取付用小型タクトスイッチ 20円@秋月電子通商 など
・薄めのユニバーサル基盤と細めの線材:上の小型タクトスイッチの配線兼固定スペーサ用
フリスク(120% Booster版) 味(パッケージ色)はお好みで。
・2.6φ5mmナベネジ、ナイロン製六角スペーサ(5mm)、ナイロンナット
 スペーサは適切な長さに切って調節するので、適度に柔らかい素材がよろしい。
・microSDカード(16GBか32GBぐらいが幸せ)
・OSイメージ (今回はRetroPieを利用)
・音声出力用Bluetoothイヤホン(多分、プロファイルはA2DPだと思う)

○ハード編
とりあえず、最初に考えたのはRPi zeroWとWaveshareのLCD HATをFriskケースに納めてみよう! だったのだけれど、組んでみたらいくつか課題が。

・Friskケースに厚みが納まらない
 ヘッダの足が長くて、組み合わせた厚さがフリスクケースの内寸よりも明らかに数mmはみ出ている。
 LCD側は薄型の表面実装40pinコネクタなので、RPi zeroWHのGPIOヘッダを薄型用の短いヘッダに付け替えればいいのではないかと考えた。
 吸い取り線で半田を取ろうと考えたのだけれど、家にある半田ごてでは熱容量が足らないのか、そもそも温度が低いのか、WHについてるヘッダの半田が溶けない。悲しいほど溶けない。吸い取るどころではなく、断念。
 WHじゃない、ヘッダ無しのRPi zeroWだと、薄型ソケット用の5mm高ヘッダをつけるだけでいいんだけど。

 次善の策として、物理で勝負。ヘッダの先端3mmぐらいのところに定規をあてて、細書きのマジックでマークをつける。そしてニッパで一本づつ切り詰めた。何となく後々変な挙動を生んだのはこれが原因かも知れないが、気にしない。
 ヘッダとソケットの間に隙間がほとんど無くなったのを確認したら、GPIOと反対側のネジ穴に六角スペーサを挟んで基盤同士が並行になるように、スペーサの長さを調節する。調節すると言うと聞こえがいいが、ニッパで無理矢理ちょん切って、潰れちゃったのを横からラジオペンチで押さえて形を整え、やすりで端面の直角を出しつつ高さを調節する。

 しかも、そこまでしたけど結局きちんと蓋が閉まらない。
 結果として、強く厚さ方向に力を掛けないでくださいという事になったので、機会があったら3Dプリンタなどでちょうどいいサイズのケースを作ってみる、という次版課題に。

・押しボタン入力が5つしかない
 A,B,Start,Selectの4ボタンでいいかというと、エミュレータのシステム的なキャンセル動作などで、もう1つボタンが欲しい。欲を言えば、人差し指で押す、いわゆるショルダーボタンも欲しいが、加工が無理な気もするので1つでいいことに。

 基盤取り付け用の細いタクトスイッチを、細く切った基盤に取り付けてフリスクケースの側面に出すことにした。RPiとLCDの間のスキマに入るので、ユニバーサル基盤で1列、5.08mm幅で長さは適宜。プルダウン抵抗もつけるので、普通の1kΩの金属皮膜抵抗の長さ+2穴分ぐらいはあるといい。
 配線は普通のプルダウン付きSWの回路なのだが、狭いところに空中配線なので余分なはんだを乗せないこと。とりあえず、SWの片側に抵抗の足とGPIOにつなぐ線、SWの反対側に3.3Vにつなぐ線、抵抗の反対側にGNDにつなぐ線を半田づけして、ケースの隙間に収まる事を確認する。

 このスイッチはLCDカードが使用するものと重複しないGPIOということで、GPIO12(GPIOヘッダ32番ピン)に接続。具体的には、RPi WHの裏側のヘッダピンの半田付け部分に無理矢理半田付けする形で、上記GPIOの他に3.3Vは17番ピン、GNDは34番ピンに合計3箇所を接続。本当はコネクタを挟むとか、そういった感じにした方がメンテナンス性もいいんだろうけど、使い捨てで。


 GPIO自体は余っているので、もし専用ケースを作成するならショルダーSWを是非追加したい。これも次版改善項目に追加。

・電源スイッチをつけたい
 が、諸般の事情というか、上のタクトスイッチの出来栄えがちょっとションボリだったのでやる気が枯渇。次版対応。

-- 長くなってしまうので、その2に続く --
コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

人間ドック

2018年07月12日 | ..._〆(゜▽゜ )
今年は保土ヶ谷の検診センタではなく蒲田の病院で人間ドックを受診。

胃カメラに鼻からオプションがある病院だったのはうれしい。口から飲むより楽。
最近鼻づまり傾向があったのだが、問題なく利用できた。カメラ径が細いので楽なんだけど、映像見ながらだとポキッと行っちゃわないかとドキドキする。

他の項目もほぼつつがなく終わったのだが、最後のオプション検診の動脈機能検査というのが厳しかった。

血圧計のカフでちょっと高めの圧を掛けたあと、血管がどう復元して行くかを超音波エコーで観察する。血管の位置をトレースしないといけないので、観測中に動いたり喋ったりしてはいけない。
薄暗くした部屋で、準備含めて二十分ぐらい、じっとして喋らずでいると、普通眠くなるじゃん。でも寝るとずれるので起こされる。
これは厳しい。しかもオプションなので文句も言えない。
コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

臨港バス太っ腹

2017年11月16日 | ..._〆(゜▽゜ )
操業80周年を迎える臨港バスは、11月19日の終日、料金均一ゼロ円にするらしい。

路線バスだけなんだろうけど、それでも太っ腹だなあ。

関東バスでは、定期券乗車に同伴している乗客の料金を半額ぐらいにしてると聞いた。

バス会社は地域性が高いからか、よくサービスをいろいろ考えているものだ。

・・・創業25年で問処票25件増量サービスとか言ったら怒られるよなあ。
コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

インフルエンザ

2016年12月29日 | ..._〆(゜▽゜ )
一昨日から妙に体がつらいし、寒気もするので仕事納めも早々に早帰りして、
今朝体温計ったら38.6度。
これは不味いかと近所の医者を探したら、最近いつもお世話になってるもろおかクリニックが午前中だけやってる!

あわてて診てもらったところ、案の定A型感染済みだった。
この年末始はおとなしくしてろということか。
コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

芋虫

2016年10月22日 | ..._〆(゜▽゜ )
うちの植え込み(自然発生の草を伸びすぎないように手入れしている)に、今年生えてきた木に、アゲハの終齢幼虫っぽい芋虫が。
画像検索してみたら、普通のアゲハ蝶らしい。見る限り、終齢が三匹、若いのが一匹。
#成虫は頭で数えるが、芋虫は匹でいいよね?1本2本?

そして、生えてたのは、雀か誰かの落とし物に紛れてたグレープフルーツっぽい。

まだ20cmぐらいの木というより“枝”なので、あっという間に食い尽くされそう。
ううむ。
コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

人間ドック

2016年10月17日 | ..._〆(゜▽゜ )
出向して初めての健康診断は人間ドックでした。
ただ、本体にいた間は伊豆の病院で一泊ドック(胃内視鏡、大腸内視鏡、胸部CT、腹部エコー、頸部エコー、心電図、肺活量、採血採尿採便、視力、聴力、眼底、眼圧、糖負荷、身長体重、指導、温泉)だったのが、今度は半日ドック(胃内視鏡、胸部レントゲン、腹部エコー、心電図、肺活量、採血採尿採便、視力聴力、眼底眼圧、身長体重、指導)で昼には終わってしまうという。
1日休むつもりが、早く終わり過ぎたので仕事に行くことに。
糖負荷がないのが残念だが、その分採血も一回だけなのでおあいこ様かね。

指導も色々教えてもらえて良い感じだったが、ちょっと品目数的に物足りないかな。
というどうでもいい話で。
コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする