Raspberry Pi Zero WH 買った

これは壮大なサーガの始まりなのだよ

や、買う前からラズパイ買ったところで何やればいいんだろと思っていた。買った今も漠然としています。なんとなく考えてるのは、他のデバイス、そうだなー、スピーカー/マイクを繋げて自作ツール作ろうかな。USBやBTではなくGPIOで繋げたい。アナログというか電子工作というか、そのあたり死ぬほど弱いので。はんだごて持ってたけど捨ててしまったみたいだから買わないと。引っ越しを繰り返す民は物持ちが悪い。

SDカードリーダーが無かった

本体と電源アダプタとSDカードとHDMIケーブルが一体になったセットを買ったのだけど、SDカードリーダーを持っていなかった(捨てていた)ので速攻でamazonさんに頼む。780円?だかで問題なくOS焼けた。

SDカードリーダー

OSを焼く。そして女子高生を拾う。

SDカードリーダーが来るまで、ラズパイの公式サイトでイメージファイルをダウンロードしまくっていたのだが、そんなしょうもないことしなくてもツールから一瞬で焼くことが出来た。

https://www.raspberrypi.org/downloads/

上のRaspberry Pi Imagerをダウンロードしてインストール。起動するとシンプルなGUIがあり、OSを選択、SD(マウントドライブ)を選択、焼く。これだけ。

Raspberry Pi Imager

画面とか有線LANとかめんどくさい

これも調べたのだが、電源供給以外のケーブルは必要なかった。詳しくは下記のサイトでまとまっています。(あと、そもそも有線LANはついてません。キーボートとかめんどくさい、の誤りです)

超ミニサイズコンピュータRaspberry PiをインストールしてWi-Fiでリモート接続してみる。

補足するなら、下記くらいかな。

  • wlanとsshのファイルは、OSを焼いたあとのSD(マウントドライブ)のルートに配置する
  • 紹介されているwpa_supplicant.confの自動生成サイトでは、SSID/Passphraseを入力した後に"追加"を押してから作成ボタンを押すこと

SDぶっ刺して電源入れたら無線LANに繋がりました。試したのですがSSIDをステルスにすると接続できませんでした。おま環?

まあとりあえず

デフォのユーザ(pi)で証明書なしで入る感じのガバガバさ加減が嫌なので、ユーザの新規作成、piのグループを新規ユーザに追加、/home/piのファイルを全て新規ユーザのhomeにコピー、固定IP、鍵ファイルの作成、パスワードログオンを拒否などを設定。下は参考例。

/etc/dhcpcd.conf

#行の一番最後に追加
interface wlan0
static ip_address=192.168.0.11/24
static routers=192.168.0.254
static domain_name_servers=192.168.0.254

/etc/ssh/sshd_config

...

# To disable tunneled clear text passwords, change to no here!
PasswordAuthentication no  #アンコメントしてnoに変更
#PermitEmptyPasswords no

...

ぶおーーーん!!!!!マジかよ糞箱買ってくる。

電源アダプタを使ってましたが、不要になった電子タバコのミニUSBケーブルがあったので使ってみた。stressコマンドでCPUに負荷かけてみましたが問題ないみたい。ヒートシンクもやんわりと暖かくなった程度。

ラズパイ

今日はこんな感じで。

プログラミングしたいからデバイスほしい。なに買うか。

断酒を始めてからというもの時間が余りまくる(脳が常に生きてる)ので、とにかく何かをしていないと落ち着かない。やりたいゲームは来年春のニーア1.22まで出そうもないし。で、以前こんなことをやっていたのを思い出した。そうだ、何らかのデバイスを買おう。金無いから安いやつ。

[.net framework] Pasori RC-S380でNFCのUID読み取り
https://www.dobusarai.net/blog/net-framework-pasori-rc-s380/

前職での話。要件でFelica読み取りがあったのだが、システム自体は極々単純な会員管理だったので初めは単純なWebアプリケーションを考えていた。が、当時のJavaScriptのWebUSBがバージョン違いで挙動が怪しいって話があり、結局はWebアプリケーション + Windowsアプリケーション(ChefSharp(Chromiumブラウザコンポーネント), Felica読み取り)で提案した。まー案件自体は謎理由でポシャったのだが。

当時のテストデバイスは、NFCのTYPE-A, B, F(Felica)が読めるPasori RC-S380というカードリーダを使っていた。同僚が何故か持っていたので1ヶ月ほど借りていた。

そんな感じで、何かプログラミングが活かせるデバイスが欲しい。昔はUSB指紋認証とかでフィリピンパブ向けにタイムレコーダー作ったりしたが、SDKをダウンロードするのにNDAだのなんだのめんどくさかった。手軽で何か日常生活に活きるようなデバイスはないかな。とはいえ高いものはアレだしラズパイやArduinoは何に使っていいものかわかんねえしチョイスが難しい。

design要素を少し変えた

pagespeed insightsというかLighthouseの仕様が変わり、かなり得点を下げられていたのでfixした。とにかく不要なcssを削る、タグ名を短く(WordPressのは面倒なので変えていない)等々。WordPressだけではなく、Indexメールフォームも変えた。Chromium開発ツールのCoverageは楽ちんだなー。

これでしばらくは90点↑を維持できるであろう。多分。お上の気分次第で年貢を取り立てられる農民の気分だぜ。

こんにちわウェッピー

WebP Converter for Mediaというプラグインを導入した。jpeg, pngなどの画像フォーマットだとGoogleさんのpagespeed insightsで猛烈に点数を下げられるようになったからだ。SEOとかに全くこだわりはないのだけど(誰も見てないし)、レンダリング速度にはこだわりがあってテーマをスクラッチから作ったので……。

プラグインをインストール直後に設定 -> WebP Converterをクリック。直後にエラー。あーそういえばhttpdで強制的に読ませたりなんだりする処理なので、nginx側でも設定が必要。それはこの辺りに書いてありました。
https://wordpress.org/plugins/webp-converter-for-media/#%0Aconfiguration%20for%20nginx%0A
私は<web_root>/blog/にWordPressを配置しているので、上の設定(nginx.conf)にあるパスの先頭に"/blog"を付与しています。systemctl reload nginxでリロードするとエラーは消えます。

プラグインの設定はデフォルト。既存画像も全て変換するため、Force convert all images againにチェックを入れて、Regenerate Allボタンを押して実行。おわり。

https://www.dobusarai.net/blog/realforce-91ubk-s/
このエントリは画像が数点あるので82点だったのだが、プラグイン導入後に94点になりました。というか、残りは不要なJavascriptの削除っぽいのだけど、このblogってJQueryもなにも全てのJavascriptを排除してたような気が……。って、あんたかよ!

/gtag/js?id=UA-126…-1(www.googletagmanager.com)

なんかpage speed insightキツくなってない?

https://developers.google.com/speed/pagespeed/insights/?hl=JA&url=https%3A%2F%2Fwww.dobusarai.net%2Fblog

WebP必須ってこと?pictureとかで振り分けるのダルすぎ!というか元凶のsafariとかいうウンコブラウザをどうにかしてから言え!

と思ったらversion14(今が何なのか知らん)でついに対応するそうな。そうしたら全部WebPに変換してスコアチェックしようかな。なんかIE11も対応するっぽいよ。

追記
IE11も対応するってどこかで読んだ気がするけど、sourceを見つけられなかった。酔ってるからかな。もういいでしょ、捨てよう!IE!