あっきぃ日誌

鉄道ブログのような技術系ブログのようななにか

mikutter yybbsプラグインができた

昨日は掲示板を立てました

akkiesoft.hatenablog.jp

そしたら、1日でmikutterがYY-BOARDに対応しました。どういうことなの。

github.com

閲覧はもちろん、投稿、リプライも可能。投稿時の画像認証は画像認識で突破という謎の技術付き。便利すぎる……。

昨今、mikutterはTwitter昨日を失ってMastodon専用になった(実際にはバンドルされなくなっただけで用意すれば使える)などという情弱がTwitterエゴサに引っかかっており、しかし現実的にはMastodon以外の気軽に使えるWorldも見当たらなかったので、yybbs対応はある意味汎用性の高いSNS対応のような気がしました。だってレンタルサーバーに雑にYY-BOARDを立てたらもうコミュニケーションできちゃうんだもんな?この辺はもうMastodonより圧倒的に低コスト。

掲示板ではリンク集の概念も発生して程よくわるふざけが加速しています。

f:id:Akkiesoft:20210124180954p:plain

掲示板を立てた

2021年にKENT WEBのYY-BBSを建てて遊びました。懐かしすぎんだろ。

YY-BOARD : KENT-WEB CGI/Perl フリーソフト

設置

Ubuntu 20.04上に設置しました。Apacheの設定は適宜やりました(ブログすることを想定せず雑にやったのでもう忘れた)。

ダウンロードしたzipをサーバーにscp(rsync?なんのことですか)して展開してパーミッションを適宜設定します。各cgiファイルの1行目、Shebangに書かれたPerlのパスを#!/usr/local/bin/perlから#!/usr/bin/perlに直します。今どきのLinuxで/usr/local/bin/perlである可能性は果たしてどのくらいあるのだろう🤔

さてこれで動くかと思ったら動かず。改行コードがCRLFになっているので、Shebangの解釈でエラーを起こしていました。最低限CGIファイルの改行コードをLFに直せば動きました。これ、Windowsで作業したあとにFFFTPとかのFTPクライアントでアップロードしてそのときに改行コード変換されることを想定した昔の作りか……と懐かしい気持ちになりました。

あそぶ

MastodonにURLを貼って1時間くらいゲラゲラ笑いながら遊んでました。まだ遊べるのでMastodonから適宜リンクを見つけてあそんでOKです。ネチケットは守ってください。

f:id:Akkiesoft:20210123171437p:plain

わかったこと

アカウントという概念がないのでなりすましし放題

掲示板にはアカウントの概念がないため、個人の特定は「お名前」くらいでしかできず、自身のアイコンを固定で設定することも管理人(optional)以外できません。

アイコン設定にSMHN界隈のオタクアイコンを投入したところ、興味深いことにすぐになりすましが発生しました。

昔はそのようなことはほとんど起きていなかった記憶があるので(場所によるかもしれないけど)、たった1時間弱でこの点が判明したということは現代のインターネットがどれほど治安が悪いものかがわかります。

ジジイはキリ番ゲット報告ではなく暗証キーの使い方であぶり出される

気にしていませんでしたが、掲示板にはデフォルト設定でカウンターが搭載されていました。掲示板で昔のインターネット仕草をしていたらキリ番報告という話が出てきて懐かしくなりました。キリ番ゲットは有名な昔のインターネットの文化なので、若者でもなんとなく知っていてキャッキャできます。

ただし暗証キーは若者にはわからなかったらしく、あひるさんはなりすまし防止機能と思ったとのことでした。さすが若者。

さてなんの機能かわかるでしょうか?

ユーザビリティがなつかしめ

クソ懐かしな掲示板の話題をしていますが、2019年にレスポンシブ対応されたらしく、スマホでも使えます。ただしURLなど長い文字列が来ると折り返しできず飛び出したりするようではありますが。

ただし全体的にモダン化されているかといわれるとそうでもなく、例えばあひるさんから画像認証にautocomplete="off"がほしいとかいう話題が出ましたが、そういうのは昔のHTMLにはなかったのよ。もっと言えばtype="number"にすれば入力楽だし、メールアドレスもemailにできるしね。

また、アイコンを追加するときに画像をリサイズせずに投入したらそのままの画像がでてきてデザインが崩壊しかけました。いくつかはリサイズしましたが、その後はCSSにmax-widthとmax-heightを入れてごまかしたりしました。昔のインターネットは速度や料金の面で転送量に気を配る必要があったので、画像がリサイズされていて当たり前だったのです。むしろ今のインターネットでもリサイズしておけば軽快に開けるのでやっといたほうがいいのはかわりありません。でもさすがにGIFまではやらないなあ(添付の動物アイコンがGIFだった)。

お、アイコン一覧画面が崩壊したままだった。

f:id:Akkiesoft:20210123174951p:plain

ふぁぼもRTもない

返信するまでもないけどリアクションをするという概念は少なくともYY-BBSにはありません(高機能なBBSにはあったような気もちょっとしてますが)。そしてRTもありません。コミュニケーションするにはリプライで会話するしかありません。

そもそも今日なんでBBS立ててみたのかって言うと、これを見たからだった。リプライの解釈すら今は違う可能性があることに驚いたと言うかなんというか。

pawoo.net

おわり

オチなし。

マジョカアイリスの細長LCD

deveminさんの解析とソースコードとアドバイスのおかげで、なんとかここまで到達しました。

f:id:Akkiesoft:20210122111716j:plain

FFC-2.54mmピンヘッダ変換

当初はaitendoから22pin FFC〜2.54mmピンヘッダ変換を通販して使っていましたが動作せず。deveminさんからaitendoのはノイズのせいでダメだったので秋月の変換に変えた話を伺ったので私も秋月で買ってやっと映るようになりました。

aitendoの変換はFFCコネクタの取り付けがセルフはんだ付けだったので、そこがよろしくなかった可能性もあります。なにせ0.5mmピッチなので厳しい。

f:id:Akkiesoft:20210122112917j:plain

Device Tree

14日のブログに想像で書いたDevice Treeをぶん投げていました。

最近の - あっきぃ日誌

その後のdeveminさんの改善でDevice Treeもまあまあ使い物になることがわかり、調べつつ書いておいてよかったなーと思った次第です。意外とfbtftのDevice Treeの書き方がドキュメント化されておらず、GithubのIssueとか他のdtsとか見ないと細部がわからなかったので、そのへんをまとめておけたのはよかったなと思います。

最終的にはやはりドライバーも書かないとダメそうということがわかったので、Device Treeに書くものはGPIOピン情報程度になっています。既存のドライバーにdtsで上書きするだけで使えるなら提供するものがdtsだけで済んだんでしょうけど、変態サイズのLCDなのでそのへんの書き換えがやはり必要なようでした。

卒・ピンヘッダ配線

バックライトの5.5V化の課題が残ってますが、動くことがわかったので、ピンヘッダ配線をさっさとやめてプロトタイプボードに配線したバージョンを作りました。aitendoのプロトタイプボードにピンソケットを必要分だけつけて(ケチった)、秋月のFFC変換が刺せるようにピンソケットを配置、あとは必要な配線をすると言ったかんじです。

一見カオスですが、ピンヘッダケーブルがとっちらかるよりは断然マシですね。

f:id:Akkiesoft:20210122113250j:plain

アクセスしやすい分は表面でも配線。GPIOが1列になって取り出せるようになってるんですが、GPIO24だけなぜかなくてピンソケットのところから直接取ってます。

f:id:Akkiesoft:20210122113258j:plain

aitendoのFFC変換を使ってた頃の写真ですが、こんだけのピンヘッダケーブルを使ってたのがなくせたので非常にさっぱりですね。

f:id:Akkiesoft:20210122113708j:plain

ドライバーのDKMS管理

ドライバーの管理とかインストールの簡素化もチャレンジ。DKMSパッケージ化することで、管理的にはリポジトリにはマジョカアイリスのドライバーのコードとfbtft.hだけあればOKな状態まで簡素化できました。

DKMSはこう言う感じのドライバーを動的にコンパイルしてくれるフレームワークです。お高いネットワークカードとかのカーネルには標準で入ってないやつのドライバーでよく使われているやつです。もうちょいいい感じの概要はArchLinux Wikiより引用。とくにapt upgradeでカーネルのバージョンが変わっても(コンパイルが通れば)勝手に再コンパイルしてくれるのが利点です。

Dynamic Kernel Module Support (DKMS) はカーネルのソースツリーの外にソースが存在する Linux カーネルモジュールの生成を可能にするプログラム/フレームワークです。新しいカーネルがインストールされたときに DKMS モジュールは自動的にリビルドされます。

https://wiki.archlinux.jp/index.php/Dynamic_Kernel_Module_Support

DeviceTreeも含めてリポジトリにまとめた結果がこちらです。インストールスクリプトも雑ながら用意したので、インストールの簡素化も達成です。

github.com

サイネージ化

動作したあとはコンソールなんなりX環境なり出せるようになるので、トイレサイネージと同じ手順でサイネージ化してみました(冒頭の写真)。HTMLで640x48にコンテンツを詰め込むようなものを作ってそれを映すだけです。

akkiesoft.hatenablog.jp

バックライトが暗いのを5.5V電源供給でいい感じにしたいところです。Twitterの先人の成果を参考にさせてもらったりしてなんとかしたいですね。

あと、わたしの環境だけなのか、私がソースコードいじっているうちにバグを仕込んだのか不明ですが、たまに映像がずれるっぽく、ここも調べてみないといかんですね……。

Raspberry Pi Picoでた

でました。今回はレポート記事もraspi.jpに上げましたのでぜひ見てみてください。

www.raspi.jp

www.raspi.jp

私もサンプルを借りて先行で触っていた以外まだわからないことが多いのでアレですが、面白そうな展開の仕方をしていくんだなというのはわかりました。

以下はraspi.jpには化管法がいいような個人の感想の垂れ流しです。

RP2040はPico以外にも載せられて売られていくらしい

興味深い点として、Raspberry Pi財団(Tradingとどっち側なのかわからん)が独自設計したというRP2040チップが搭載されたRaspberry Picoとは別に、RP2040チップを使ったサードパーティ製品が多数登場または予告されていることが挙げられます。

おなじみPimoroniではUSB-C接続を採用してピン数を限定した代わりに小型化されたTiny 2040の投入が予告されています。

Tiny 2040shop.pimoroni.com

他にもAdaFruit、SparkFun、さらにはArduinoまでもがRP2040を搭載したボードの発表をしています。Arduinoとは競合になるんかと思っていたらまさかの協力関係。

blog.arduino.cc

(Linuxが動くコンピュータとしての)これまでのRaspberry PiのSoCは、過去にBCM2835が流出しODROIDなどに採用されてしまい騒動になったりする程度にはサードパーティを認めてこなかったわけなので、RP2040のこの展開の仕方は予想外でした。

個人でもRP2040チップ単体が買えるようになったら直接自作ボードに載せられるようになったりして良さそうですね。

安い

価格は4ドル。日本では500円から若干はみ出すっぽくワンコインとまではいかないようですがそれでも安価に買えます。

MicroUSBを見て私も少し「うーん今さらか?」とは思ったものの、おそらくまだMicroUSBのほうがUSB-Cより部品コストが低いんでしょうかねえ。あるいはおそらく積極的に売り込みたいであろう途上国ではMicroUSBのほうがまだ主流とか。

日本ではスイッチサイエンスさん、KSYさんが販売を予告しています。価格はスイッチサイエンスさんが550円、KSYさんが528円(いずれも税込み)のようです。

www.switch-science.com

raspberry-pi.ksyic.com

はなしが脱線してしまうんですが、KSYさんのほうがやや安く見えるんけど送料で逆転してしまうんですよね。KSYさんもメール便があるとうれしいなとか。通販の梱包、AliExpressとかでガジェット買って中国の雑な梱包に慣れていると日本の通販の梱包が丁寧過ぎて、もっとフランクな梱包資材でもいいんじゃないかなと思ったりしている昨今です。秋月で通販したらダンボールにちっさいパーツがちんまり入ってて昔のAmazonみたいだなって気持ちになりまして。

キーボード方面

Pimoroniの製品にはキーボードとして使うようなキットも売られており、HIDデバイスに見せることもできると考えると、今後Pro MicroがRP2040に取って代わられる可能性も見えたような気がしました。

ProMicroは普通に買うと700円くらいだったと記憶していますが、安く仕入れたとしても、低価格帯のProMicro互換系はMicroUSBコネクターが貧弱でいわゆる"もげマイクロ"になったりします。Picoがそうならないとは言えないですが、そもそも500円くらいのPicoのほうが安いので、今後QMKみたいなメジャーな自作キーボードファームウェアがPicoに対応したらとか想像するとなんかありそうな気がしています。

とは言ってもやっぱりMicroUSBコネクターよりUSB-Cがほしいとか、ProMicroより大きいとか、そのへんは先述のTiny 2040みたいなサードパーティが解決していきそうです。むしろQMKが対応するよりProMicro互換ピン配置のRP2040搭載ボードの登場のほうが早かったりして。

まとまらない

こう言うのは今どきはTwitterでダラダラ垂れ流すんでしょうけど、わたしは告知以外もう書いてないので(今月は特別にマジョカアイリスの件だけ顔を出していますが)、Mastodonに垂れ流したあとにこっちにも垂れ流してみた次第です。関係ないけど、Youtubeの動画を埋め込もうとして当たり前のようにURL貼ったら展開されなくて、Twitterのこと完全に忘れてて笑っちゃった(Mastodonは出る)。

ところでまだPicoを注文してないです。Pimoroniから開発ボードとか込みで買いたいなと思ったらまだcoming soonでしたし、Tiny2040も合わせて欲しいなと思っているところです。

Tiny 2040 – Pimoroni

Breakout GardenシリーズがたんまりあるのでPico用Breakout Gardenベースボードがあればしばらく遊べますな。

Pico Breakout Garden Base – Pimoroni

本体。書いた時点での3.6GBPはGoogle先生曰く511円。

Raspberry Pi Pico – Pimoroni

ンゴ散歩

f:id:Akkiesoft:20210116192201j:plain

今日はコミュニティデーでワンリキーでした。開始とほぼ同時にレベル44になりました。レベル40解禁からの経験値貯金がレベル43で終わってたので、経験値を貯める長い日々がまた始まります。それとなんだこのリサーチはエグいなあ!

f:id:Akkiesoft:20210116192212j:plain

コミュニティデーの成果はなんとかこの個体値のカイリキーを作れたくらい。98%ほしかったナー。

f:id:Akkiesoft:20210116192152j:plain

午前〜昼は駅前のストップを回収、昼食後は寺家方面にチャリで散歩に行きつつ狩ってました。モンスターボールPlusでモンスターボール300ぶっこんだりスーパーorマスターボールで都合200くらい手投げしたりと今日はガチでやってたつもりなんですけど、これで高個体があれだけというのがなんともさみしいところ。

寺家もまだ未開拓の地があったっぽく、ジムがある池まで行ったところポケモンが12日も居座っており(!?)、未開の地過ぎた次第。サクッと倒せて配置できたけど他に置く人もおらず、現地住民によってさっさと追い払われて元の赤チームに戻ってました。

f:id:Akkiesoft:20210116192646j:plain

今日の寺家散歩には目標があって、いつもスルーしていたコーヒー屋改めBlueDOOR Coffeeに行くを達成しました。私はコーヒーが飲めないザコなので、ホットカフェラテにしたんですが、エスプレッソの濃厚な香りがガツッと効いてて美味しかったです。

f:id:Akkiesoft:20210116192908j:plain

bluedoorcoffee360.com

緊急事態宣言で外出自粛と言われている昨今ですが、季節外れの暖かさもあってか寺家を散歩する人は多めでした。運動はしないとそれはそれで別の病気にでもなってまうからね。

f:id:Akkiesoft:20210116193153j:plain