あっきぃ日誌

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

Raspberry Pi 3A+きた 2022

Pimoroniでポチっていた3A+がようやく到着しました。いつもより1週間くらい遅れてきたので、ホリデーシーズン的なのに巻き込まれた感じでしょうか。

パッケージはどことなくスッキリしている気がしますがたぶん変わってない。

実際変わってませんでした。

akkiesoft.hatenablog.jp

基板表面も変わりなく。

そして変わったのは基板裏面。技適マークがシルク印刷になりました。やったぜ!

ちなみに以前はシール対応でした。

ぼちぼちオフラインイベントも復活の兆しがあるので、家に散らばった機材各種の再招集とか、今回来た3A+で調整とか、そう言う機運でしょうかね。

なお、3A+はrpilocatorでも世界中のショップでinstockが続くようになってきています。日本への発送に対応しているショップかどうかわからないところばかりですが、おなじみPimoroniもちょくちょく入荷しているので狙ってみてはいかがでしょうか。日本のショップにもちょっとは入ってるんかしら?

rpilocator.com

問題は、なぜか3A+は人気ないっぽいんですよね。みんなZero2Wばかり期待してしまうという。確かに物理サイズで見るとZero2Wが有利ですが、3A+なら基板サイズがちょっと大きい代わりにUSBとHDMIの変換がいらないし、カメラコネクターは弱くないし、Wi-Fiは5GHz帯が使えるんですけどね。まあ私の用途ではどれも使ってないけど。とくかく3A+はいいぞ。

コミケ向けのあれこれ

Raspberry Pi Advent Calendarは突然全枠うまり、執筆から開放されました。ありがとうございます。穴が空いた時のネタもひとつくらいならあるので安心してくれよな!(?)

adventar.org

らぼ畜本に寄稿します

先週末アキバでまってんくんと会ってだべっていたら、らぼ畜本の執筆中というはなしを聞き、ちょっとDiscordを覗きに行った結果、なんか一晩で5ページ分書きあげて一本寄稿完了してました。お仕事で勝手にちまちま作ってたESXi構築用Ansible Playbookについて、かいつまんで解説する話です。これを書いた結果、お仕事のPlaybookにフィードバックできるネタがふたつでてきたので良かったネ。

uHAT Porter Pico の頒布準備とか

uHAT Porter Picoのパッケージを作成して袋詰めまで完了しました。いったい何印何品風なんだ……。

パッケージ裏にはピン配置を色付きで表記。ザコなのでWordで頑張りました。

リポジトリも公開。Kicadのデータは……どうしましょうね🤔Githubに上げるときはミクをなんか違うのにしないとかなとか、Type-Pだけにしようかなとか。

github.com

あと、今日スクリプトの検証をしていたら、Blinkt!の更新がゲロ遅いことがわかり、Type-SのADCピン配置が実は適切だった説がでてきました。Rev.3を作ることがあったらその辺をまたいじっちゃうそう。ただ、いじりすぎるとスクリプトの管理に苦労しそうなので難しいところ。

social.mikutter.hachune.net

あと、KeybowをuHAT Porter Picoに置き換えました。なんかちゃんと活用したい感(ノープラン)。PiZero V1.3が浮いたので、いつか放出する箱につっこみました。いつかと言いつつ、OSCのオフライン開催が決まったので、4月には浅草の会場で放出予定です。


新刊

これからペーパーに毛が生えたやつを考え始めます。古いプリンターで印刷してインク使い切って捨てたいね。uHAT Porter Picoのパッケージは新しいプリンターの背面差し込みでめちゃ便利に印刷しましたけど。

uHAT Porter Pico Type-P Rev.2着弾!Breakout GardenのHATがPicoで使えるぞ!

Raspberry Pi Advent Calendar 2022 18日目です。

adventar.org

17日目はmayukaさんのVNC設定でした。ラズピッピの普段づかいデスクトップ環境も、面倒でHDMIを繋がないことがわりと多いので、VNCも使えるように設定してあると便利だったりしますよね。

uHAT Porter Pico Type-P Rev.2

5日目の続きです。

akkiesoft.hatenablog.jp

前回、ブログに書き終える直前に気づいた配線ミスを修正した、uHAT Porter Pico Type-P Rev.2が届きました。なぜかまた基板の厚さ設定を忘れたっぽく、JLCPCBのデフォルト値である1.6mm厚で届きました。Rev.1は1.2mm厚にできたのに……かなしみ。まあ、Pi Zeroのケースを流用しようとかしなければ問題にはならないはずですが。

ピン配置は以下の太字の部分が修正されました。GPIO3と2を入れ替えただけです。INTピンなんか無くても困らんわという場合にはRev.1でも良いのですが、まあRev.1もどうせ5枚しか作ってないですしね……。

Pico Pi BCM Pi GPIO Pi GPIO Pi BCM Pico
------ -------- ------- ------- --------- -----------
3V3 3V3 1 2 5V VBUS
GPIO4 BCM2_SDA 3 4 5V VBUS
GPIO5 BCM3_SCL 5 6 GND GND
GPIO3 BCM4 7 8 BCM14_TXD GPIO0
GND GND 9 10 BCM15_RXD GPIO1
GPIO2 BCM17 11 12 BCM18 GPIO21
GPIO6 BCM27 13 14 GND GND
GPIO7 BCM22 15 16 BCM23 GPIO8
3V3 3V3 17 18 BCM24 GPIO9
GPIO19 BCM10 19 20 GND GND
GPIO16 BCM9 21 22 BCM25 GPIO10
GPIO18 BCM11 23 24 BCM8 GPIO22
GND GND 25 26 BCM7 GPIO17
27 28
GPIO11 BCM5 29 30 GND GND
GPIO12 BCM6 31 32 BCM12 GPIO15
GPIO13 BCM13 33 34 GND GND
GPIO20 BCM19 35 36 BCM16 GPIO26_ADC0
GPIO14 BCM26 37 38 BCM20 GPIO27_ADC1
GND GND 39 40 BCM21 GPIO28_ADC2

早速組み立て。手持ちの基板に直付けして良いPicoがなくなったのと、PicoWが出る気配も相変わらずなさそう(イギリスはそろそろホリデーシーズン突入で仕事も収まる頃かと思われるので、年内は絶望的でしょうね)なので、今日秋葉原でノーマルPicoをゲットしてきました。ぐぬぬ……。

Picoの貼り付け方は、スルーホールにいくつかピンヘッダーをプスプス刺して固定しておいて、ピンを差し込んでいないところを数カ所をはんだ付けして、ピンを外して残りをはんだ付けするような流れになります。はんだ付けのコツは、パッドにハンダを流し込んでから、Picoの側面の凹んだところをハンダゴテでなぞる感じです。

Picoを付け終わったら、ピンヘッダーとリセット用スイッチをそれぞれはんだ付けして、完成です。

で、いざテスト。先日OMMF2022で展示に使ったスクリプトをPicoに流し込んで、pHATサイズのBreakout GardenのボードにBME280センサー(I2C)、240px四方のLCDモジュール(SPI)、自作ボタンモジュール(INTを使ったやつ)を差し込みます。

ボードをType-Pボードに載せて実行!動いたーーッッッ!!!ボタンの動作も問題なく、センサーの読み出しもバッチリでした。完全に勝利しましたね〜。

もうひとつ、HATサイズのボードでも問題なく動作します。

SPIのもう一つの方も、CEピンの値をGP17(CE1・pHATのSPIとHATの前側相当)からGP22(CE0・HATの後側相当)に変更すればもちろん動作します。

そして、Pico Breakout Gardenでももちろん動作します。


もいっちょ

動いたのは良かったのですが、こんなかんじで毎度基板にPicoを貼り付けていると、何枚Picoがあっても足りなくなるので、Picoを貼り付けるべき場所にピンソケットを実装したバージョンも作ってみました。こんな感じ。

こうすれば、ピンヘッダー付きPicoを差し込んで使えるようになるので便利かもですねというものですが、Raspberry PiのGPIOピンヘッダーの高さが足りなくなるので、Booster Headerで適当に調整することにしました。

Booster Headerはこれ。この用途じゃなくても2個くらいあると便利です。

Booster Headershop.pimoroni.com

あるいは、こういうピンヘッダーを使うとかなんでしょうかね……?

akizukidenshi.com

さておき、これでもちゃんと動作します。あくまでも作業用なので、見栄えについてはご愛嬌です。


これを再来週頒布します

というわけで、再来週のコミケでは、uHAT Porter Pico Type-P Rev.2と、先に作ったRev.1のあまりと、更に前に作った別のピン配置であるuHAT Porter Pico Type-Sの余りを頒布します。価格は……基板とリセットスイッチのセットで、300円くらいでどうでしょうね🤔?リセットスイッチはそのへんで気軽に買えないやつをチェイスしてしまっているためセットにします。Picoとピンヘッダーは各自でご用意ください。

Type-P Rev.2は5枚、Type-P Rev.1は3枚、Type-Sは2枚と、それぞれ中途半端な枚数ですが、どのみち数は少ないので売り切れの際はご容赦ください。たぶん1枚も売れないと思ってるけど!

サークルスペースは2日目の12/31(土)西さ-26b「こくだランド」です。他の売り物は前回全く売れなかったミニ自作キーボード基板各種、上にもちょいちょいでてきた自作ボタンモジュール、残部を廃棄したけどまだちょっと残ってる既刊各種を処分価格にして頒布などを考えているところです。

新刊らしい新刊はなしで、uHAT Porter Picoの使い方と作例的なペーパーかコピー誌的なものをちょっと作成予定です。

よろしくおねがいしますー。

crontab -eのつもりが-rでジョブ爆砕!君たちはどう生きるか

今やらかしたのでメモ。

crontab -eで編集しようとしたら、指がちょっと伸びすぎてcrontab -rをしてしまい、でもなんかコマンドが通ったな?と思って改めてcrontab -eをしたら、きれいなデフォルトのcrontabが目の前に現れました。あ、これやっちまったな?

  • rは/var/spool/cron/crontabs/<ユーザー名>のファイルを「確認もなく」消し飛ばすだけのオプションらしく、そんなもんエディターとかrmで消しゃいいだろとしか思えず、どう考えても必要のないオプションのような気がします。設計した人間頭沸いてるだろ。なぜコミュニティで反対されなかったのか。systemd-timerdへの移行を促すための嫌がらせ的に実装でもされたのか。

qiita.com

グチを言っても再発防止を考えてもしょうがないのでひとまず復旧させました。

ラズピッピなので環境はDebianです。/var/log/syslogにcronの実行ログが1週間ぶん蓄積されるので、これをzgrepしていけば良いと思います。コメントは帰ってこないけど、まあ良いでしょう。もしコメントレベルで復元したければ、今すぐ電源を切って別のマシンでextundeleteを実行するとか、そっち方向の対処になろうかと思います。

$ zgrep CRON /var/log/syslog.* | less

この中から、実行時間と実行スクリプトを抜き出してメモしていきます。毎分・毎時間でたくさん出力されるものについては、メモったあとはgrep -vで除外すれば良いです。

$ zgrep CRON /var/log/syslog.* | grep -v cron.hourly | less

syslogファイルを当日とか前日だけでgrepすると、特定曜日だけ実行のジョブを忘れるので注意でした。

どうすれば良いのか

やらかし後、crontab -eは危険なのでcrontab /var/spool/cron/crontabs/<ユーザー名>せえ、とか、/etc/cron.dをつかえとか、色々流れてきましたが、まあsystemd-timerdに移行とかなんでしょうかねえ。

でもイヤですね、crontab -eで雑に編集できるのがやっぱり楽。crontabでcrontabをバックアップすれば良いんじゃないっすかね(???)

# backup crontab
* 0 * * * crontab -l > /home/pi/crontab.backup

WIZnet WizFi360-EVB-Picoのレビューというか入門レベルのなにか

16日目です。書きかけの記事が消えてしまい、2回目の執筆で萎えてます。いや、本当に1回目は書いていたのだろうか?

adventar.org

14日目はつかまんさんのMaker Advent Calendar買ってみたでした。Pi Hutこんなの売ってたんですね。初日からPicoが出てくるの豪華…!そして、Pi Hutの製品レビューに子供がPicoいじってる写真があって、日本は……日本は……となりました。

tsukaman.hateblo.jp

15日目はMasataka Sawaharaさんの、「USB Raw Gadgetを使ってラズパイをUSBモデムにしてPS2のゲームのモデム対戦をTCP/IP上で行う」でした。高度すぎて完全に圧倒されました。いったいなにがなにが起こっているんだ……!

qiita.com

また、別カレンダー向け記事としてWIZnet W5500-EVB-Picoに移植する記事もあります。こちらのほうが遅延が少なく快適にプレイできるそうで、Picoすごい。

qiita.com

WIZnet WizFi360-EVB-Picoのレビューというか入門レベルのなにか

今日はWIZnet WizFi360-EVB-Picoのレビューです。WIZnet W5100-EVB-Picoの記事の続きですね。

akkiesoft.hatenablog.jp

Wizfi360-EVB-Picoは、型番から読み取れる通り、Raspberry Pi PicoにWizfi360がくっついたような評価ボードです。Pico Wと並べてみると、こんなかんじでWizFi360チップの分だけボードが大きいですが、ピン配置は同じです。WizFi360は技適取得済みでパッケージにも印字があるため、日本でも扱えます。

裏面。GP4、GP5、GP20に「WizFi360で使ってます」と印刷がありますが、わりとI2C用の一等地的なピンかと思われるので、ちょっとうれしくないかもしれません。。他のピンでも定義できるはずですが、各種ボードと組み合わせる場合は衝突しがちなので要注意です。

通電時の様子。やはり電源LEDが存在するため、人目につくところで動かしっぱなしにすると気になるかもしれません?また、WizFi360のチップ側にも青色LEDがついていて、通信中ピカピカしてくれます。そんなに光らなくても良くない?


プログラミング

秋頃に触ろうとしたときにはPython系はまだ試作段階のようでしたが、現時点ではWIZnetのリポジトリーに移動してドキュメント、サンプルとも整備された状態になっています。ライブラリはadafruitのものをベースにした、ATコマンド操作ベースのやつになっています。

github.com

github.com

Python系のサンプルをいくつか動かしたり組み合わせたりしてなんか作例〜と思っていたのですが、どうもHTTPS通信がうまくできず、何やろう……と思ったまま時間になってしまいました。かなしみ。あと、Webサーバーも既存のスクリプト流用ではぱっと動かなさそうで、これも時間切れでした。無念。

Arduinoの方はWebサーバーが動かせました。GithubリポジトリでPico用にブランチが分けられている以外の注意点は特になさそうです。RP2040のボードjsonを追加して最新のボードを取得すると、WizFi360-EVB-Picoがボードで選べるようになります。ライブラリは、リポジトリのzipファイルを取得してライブラリにイングルードすればOKです。

github.com

電力

いつもの激安USB電流チェッカー調べですが、待機時は0.05A、動作時は0.15Aくらいで動作するようでした。PimoroniのPico Wireless Packと同程度か、もうちょっと食ってるかも?という感じですね。LEDのせいでは(やつあたり)

買えるの

マルツからDigi-key在庫を買えるようです。1300円ちょっと、なかなか手頃ですかね。

www.marutsu.co.jp

まとめ

PicoWがお預け状態の日本でも使えるサードパーティ無線LAN一体型Picoボード、WizFi360-EVB-Picoの雑レビューでした。雑すぎて本当にヽ('ω')ノ三ヽ('ω')ノもうしわけねぇもうしわけねぇ。

ただ、前回W5100で作った、センサーを読み出してZabbixに送信みたいなやつなら普通にできそうですし、Python系でHTTPSとかWebサーバー触れなきゃイヤ!と、私みたいな贅沢を言わなければこれでもふつうに遊べそうです。

あと、RP2040のチップを使って自力設計する時に、Wで使われている無線チップは単品供給されていない(はず)ので、無線チップの組み込み候補としてWizFi360を使う手はあるのかなと思います。それならPicoWごと基板に埋めたるわとなりそうではありますが。