本棚に収めないと片付かない
エロマンガ先生 (11・12)
11巻飛ばしてて、両方まとめて。11はムラマサがえっちだったし12はエルフがえっちだった。rin先生の絵柄がよかったですね。
Raspberry Pi Advent Calendar 25日目です。おかげさまで2年連続の完走となりました。ご参加いただいたみなさま、ありがとうございました。
つぼさんは、こんどオジギソウの種を送りますね。mayukaさんはSecondlifeと音楽ストリーミングのお話をありがとうございました。arkw0さんはスキャナーの話で楽しそう〜と思っていたら、どうしてOrange Piの話をしてしまった……w。Orange Pi Zero LTSは調べた感じ技適がなさそうだったのですが、大丈夫なんでしょうか?🤔Orange Piのこと知らないので違ったらごめんなさい。
というわけで今日はシメにふさわしくない雑多な小ネタの寄せ集めです。
Jeffの動画より、PINE64などのRockchip系ラズパイインスパイア系ボードが、Compute Module 4コンパチのモジュールボードを出しているようです。
ラズパイのフォームファクターをパクるのって大丈夫なのかなあと昔から各種インスパイアボードが出るたびに思ってるんですが、Compute Module 4もか……面の皮が厚いと言うかなんというか(?)。
紹介されたCM4パチボードは、ありがちな「Raspberry Piより高スペック!!!」がウリのようですが、同じくありがちな「情報不足」「手薄なソフトウェアサポート」「コミュニティの小ささ」もいつもどおりっぽく、コメントもそのへんが嘆かれていたので、まあ所詮インスパイア系と言った感想でした。
しかし、コミケの新刊のコピー誌でも言及していますが、CM4は現状ほぼ全く入手できないのがつらいところです。技適もまだですし。RAMたっぷりのCM4が欲しいよお〜。
私の前回のブログの続き。
サージ対応ができたので箱に固定しました。電源も雑にユニバーサル基板にごにょっとしたものを取り付けました。
が、固定した途端、サージ問題が再発しました。コインセレクターの前でカチャカチャするだけでお支払い完了してしまう……。うーんなんか持っていくか悩ましいなあ。
嘆いていても仕方ないので、コードの整理と、必要な部分の実装を進めています。今回は新刊が単品購入不可なので、それだけ選んだ時に購入に進めない機能、購入完了時にCSVに売上を記録する機能、レシートのコードの組み込み中で日付が変わりました。
残作業はレシート印字、現金支払のUI実装、カード払いのUI実装です。やることがまだ多い。。
カレンダーに穴が空いたときに代打できるようにストックしていた記事を放流。スイッチサイエンスのリレータッチボードなるおもちゃであそんでみました。
スマートフォンなどの画面をタッチすることができるボードです。スマートフォンの画面にボードを置いた状態でリレーをONにするとボードを置いた位置を指でタッチした状態として認識されます。
要するに、スマホを指でタッチしているやつをRaspberry Piとか何かしらの電子工作にやらせられるモノ、らしいです。絶対楽しい。というわけで、先日のRTCモジュール購入の時に合わせ買いしていました。
配線は適当にメスのピンヘッダケーブルを3本用意して、5V、GND、ENのそれぞれにはんだ付けします。Raspberry Piへの配線は、5VとGNDは普通に電源ピンに差し込み、ENはGPIO17あたりに接続します。
あとはLチカの要領でオンオフしてあげればOKなので、bashで適当に書いてしまいます。
#!/bin/bash if [ ! -f /sys/class/gpio/gpio17/direction ] ; then echo "17" | sudo tee /sys/class/gpio/export > /dev/null echo "out" | sudo tee /sys/class/gpio/gpio17/direction > /dev/null fi while true do echo 1 | sudo tee /sys/class/gpio/gpio17/value > /dev/null sleep 0.5 echo 0 | sudo tee /sys/class/gpio/gpio17/value > /dev/null sleep 0.2 done
画面へのモジュール貼り付けは両面テープで、とのことですが、ちょっと面倒かなーと思い、ひっつき虫を採用してみました。これならはがすのは簡単です。
画面タッチは……そうですね。ひとまずPokemon Goのトレーニングを自動化でもしてみましょう。
ちゃんとタッチできていそうです。乗っかっているのはリレーなので、オンオフのたびに「カチッカチッ」という機械音がするのがかわいいですね。ポケモンの仕様的な問題かもしれませんが、たまにタッチができなくなってしまうので貼り直しが必要になるみたいです。
タッチができると次はスワイプとか複雑な動作もさせてみたくなりますが、そうするとXY軸で動くプロッター?的な物が必要になるのかな?とおもうとなんか大掛かりになりそうですね。実用的な使い所を見つけるのは難しいかもしれませんが、ネタで遊んでみるにはアリなボードでした。やはり、スイッチサイエンスさんの動画にあるとおりクッキークリッカー…なのかも?w
Raspberry Pi OS Bullseyeでは、デスクトップ版の初期設定ウィザードをちゃんとやると日本語フォント(fonts-vlgothicとfonts-mplus)とfcitx-mozcがインストールされるようになりました。
ちゃんとってなんだよって話ですが、要点をまとめるとこうです。
アップデートをスキップしたあとは、再実行しても入らなくなるっぽいので、気づかないとタイミングを逃しますが、以下のコマンドで同等にできます。
sudo apt install fonts-vlgothic fonts-mplus fcitx-mozc
前に書いたこれの続き。
Bullseyeではディスプレイ周りがKMSに移行したため、HDMIサービスをオフをするための/opt/vc/bin/tvserviceコマンドがそのままでは使えなくなりました。tvserviceコマンド自体は/usr/bin/tvserviceに移動したため、tvserviceと打つだけでよくなりましたが、HDMIをオフにするには、KMSを無効化して以前のシステムに戻す必要があります。
$ sudo vi /boot/config.txt # Enable DRM VC4 V3D driver #dtoverlay=vc4-kms-v3d ↑これをコメントアウト $ sudo reboot (再起動後) $ tvservice -o Powering off HDMI
一応、Bullseyeでも上記の手順で節電効果は引き続きありそうでした。いつまで使える方法かは不明ですが、KMSを切ってしまうのはアリかなと思っています。
薄い本剃ったあとで気づいてしまったので、パッチを挟み込まないといけませんね……。
Raspberry Pi Advent Calendar 19日目です。18日目はunaristさんのMIDIデバイスをRaspberry Piで動かすお話でした。初代Model Bアツい。初代でももちろんBullseyeも動きますしね(たぶんLiteじゃないときついけど)。
今日新刊のコピー誌を印刷・製本し終えました。
売り物は用意できたので、あとはレジアプリですが、進捗していませんでした……。実は、コイン投入時に誤作動が起こしがちで、コイン投入口にコインを当てこするだけでたまにカウントすることが判明していたのですが、対策を考えるのが面倒で放置になっていました。
もともとの配線はコインセレクターの5V・GND・100円の信号線をほぼ直結していたのですが、ググってみるとどうもコインセレクターはサージが起きやすいらしく、コインセレクターで工作している人達は大体リレー回路を使っていることがわかりました。ウワーめんどくせーという感じになったのですが、100円専用のお遊び要素だとしてもカウントミスはやはり避けたいので導入します。
リレーということは、電源を分離することになりそうなので、この際USBから5V取れるブツを用意して分離していきます。ちょうどMicroUSBのブレイクアウトがあったので、これにピンヘッダーを立てて、D+とD-をショートさせることで電源を取り出せるようにします。
で、5V電源をリレーモジュールとコインセレクターに食わせて、100円の信号線をリレーモジュールのIN1に接続します。Raspberry Pi側からはGPIO18とGNDをリレーモジュールのK1に接続します。コード側の変更はありません。
では動作確認。以前はコイン投入口にカツカツ100円玉を当てたりするだけでまれによくカウントされていましたが、それがなくなりました。投入がしっかり判定できていて良さそうです。リレーモジュールが一瞬ピカッと光るのがいい。
電源分離とリレーでうまくいくようなら、もともとコインセレクターについていたソレノイドのコインシャッターもまたつけられそうですが、昇圧回路とかを考えるのも手間なので今回は外したままにしておきましょう。アレも動くとカチカチ言ってかっこいいんですけどね。
リレーでうまくいくことはわかったので、1ch版のリレーモジュールを買うか否かが悩みどころです。4chはでかすぎるんよ。
せっかくレシートプリンターがあるので、レシートというか、私がこれを見ながら商品のピックアップをやる感じの紙が欲しく、レシートをデザインしていきます。レジアプリの操作を売り手買い手のどちらがやるかのオペレーションが固まっていないのが悪いせいではあるのですが……。
さておき、サークルのロゴを出そうとしたところ、画像出力がバグっているのかうまく出せず、断念。雑にpngじゃなくて、ESCPOSに合わせてちゃんとしたデータを食わせたらいいのかなあ?
まあ、今回はテキストで妥協します。と思ったら文字サイズ変更もライブラリの仕様が変わったらしく、サイズ指定の他にcustom_size=Trueとか言う宣言的なものが必要になっていて、これも出すまでに苦労しました。そのへんがクリアできれば、あとはハードコードでざっくりデザインです。
from datetime import datetime from escpos import printer from jptext import jptext Printer = printer.Usb(0x08a6,0x0041) # 1x: 16文字 #Printer._raw(jptext("あいうえおかきくけこさしすせそた\n")) # 2x: 8文字 #Printer._raw(jptext("あいうえおかきく\n")) Printer.set(align="center",width=2,height=2,custom_size=True) Printer._raw(jptext("こくだランド\n")) Printer.set(align="center",width=1,height=1) Printer._raw(jptext("https://l.kokuda.org/\n")) Printer._raw(jptext("コミックマーケット99 東5-テ23a\n\n")) Printer.set(align="left",width=1,height=1) Printer._raw(jptext("ミ★こくだランドでお買い上げ\n")) Printer._raw(jptext(" ありがとうございます。\n")) Printer._raw(jptext(" 良いお年をお過ごしください!\n\n")) now = datetime.now().strftime("%Y年%m月%d日 %H:%M\n\n") Printer._raw(jptext(now)) Printer._raw(jptext("あっきぃのラズピッピ4 500\n")) Printer._raw(jptext("あっきぃのラズピッピ5 500\n")) Printer._raw(jptext("あっきぃのラズピッピPetit-3 100\n")) Printer._raw(jptext("EJECTO 2012-2017 800\n")) Printer._raw(jptext("Eject2020 300\n")) Printer._raw(jptext("麦子アクリルキーホルダー 500\n")) Printer._raw(jptext("TinyPicoKeyピン付き 300\n")) Printer._raw(jptext("TinyPicoKey板のみ 200\n")) Printer._raw(jptext("--------------------------------\n")) Printer.set(width=2,height=1,custom_size=True) Printer._raw(jptext("合 計 3,200\n")) Printer.set(width=1,height=1,custom_size=True) Printer._raw(jptext("交通IC支払 3,200\n")) Printer._raw(jptext("上記領収致しました。\n\n\n"))
このスクリプトをそのまま使う人はいないと思いますが、jptextはこれです。
印刷結果はこちら。やべ、紙がなくなってしまった。ヨドバシでポチりました。
あとはレジアプリへの組み込みをしていく感じになりますが、なんか若干体調不良気味?なので、健康第一で今日はデザインまでにしておきます。
組み込むために必要な実装が思い浮かべると、複数個買ったときの表記とか、両端揃えとかの処理とか、支払い方法に応じた表記とか、まあまあやること多くてだるそうだなあ?という感じです。レシートに特化したプロダクトがあるのも知ってはいるのですが今回はパスして、なんとか今日作ったやつベースでゴリゴリしていくつもりです。
Raspberry Pi Advent Calendar 2021の17日目です。ネタって意外と枯渇しないんだね。
気づいてはいけないこともある……。
自宅で常設のInky pHATがだいぶ劣化してきたので、V2バージョンに交換しました。並べてみるとだいぶ見栄えが違いますね。
去年の記事の時点と比較してみても、縞模様がだいぶ増えたように見えます。
そもそもInky pHAT V1には、電子ペーパー自体の問題等によって、劣化スピードが早かったという問題がありました。調査や原因究明を経て、比較的早いうちに違うメーカーの電子ペーパーの採用と基板の改良が施したV2がリリースされたという経緯があります。V1を購入したユーザーにはV2への交換サポート(実際にはV2が追加でもらえるかたち)が提供されており、今回交換したV2のInky pHATもその時にもらったものです。V1は縞模様が増えて使い物にならなくなったら交換しようと思っていたのですが、案外3年ももって今日に至った次第です。
さて、交換後のV1も、ただ捨てるだけではもったいないなあと思い、電子ペーパーをはがしてみることにしました。できれば非破壊で剥がしたかったのですが、粘着テープが強力すぎて、軽く温める程度でははがせず、結局破壊する感じになってしまいました。かなしみ。電子ペーパーはガラスが使われているため、素手でやるには危険ですし、破片が飛び散るため、ゴム手袋をつけてビニール袋の中で作業をしました。手袋を見るとわかりますが、赤いインクが付着しています。液体っぽい感じなんですね。
剥がれたものを見てみると、インクが載っているシート、表面のフィルム的なものとフレキケーブル、ガラス、といったように複数のレイヤーに分かれているようです。
ガラスの方を見ると、銀色で細かい点の模様が入ったレイヤーも確認できました。
TDKの解説を見るに、たぶん電気泳動方式で、銀色の細かい点の模様はインクを制御する電極なのかもしれません。オイルと顔料とあるので、手袋の汚れはそれなのでしょう。おもしろい。
さて、細かい点の模様の下にうっすらQRコードが見えていることに途中で気づいたのですが、電子ペーパーをすべてはがし終わったところ、基板上にプリントされたものと言うことがわかりました。しかも、読み取るとPimoroniの製品ページに飛びました。ここまでバキバキにはがさないと見られないのでどういう意味があるのかやや謎ですが、こういう隠し要素が見つけられるのはたのしいですね。
Raspberry Pi Advent Calendar 2021 16日目です。
これの続き。
前回はまあなんとなくいい感じに動いてZabbixに送るところまでできました。
1日分データが取れるとこんな感じで変化が見られて良いですね。いやこれ、親メダカの水温もちゃんとログ取っておこうかな……。
ブレッドボードのまま運用しても良いと言えば良いですが、あくまで試作のためのボードですし、なによりオス-オスのピンヘッダーケーブルが枯渇してしまったので、継続して使うならユニバーサル基板かなんかに移動したほうが良いですね。
Tiny2040がW5500モジュールよりも一回り小さいので、モジュールの足の間に収められそうではあるのですが、高さ調節のためにTiny2040のピンヘッダー付け替えはやりたくないので、ユニバーサル基板を挟むような形で表裏にそれぞれ配置する方法にしてみました。こ、こうかね?
ピンソケットは最近マイブームのロープロファイルで実装。エナメル線で配線して板は完成です。
コンパクトに収まってるようで収まってないような気がしますが、ケーブルが出る向きは揃えてあります。センサーのケーブルもLANポートと板の間を通せば引き出せますね。
さて、W5500モジュールとOLEDのピンヘッダーは付け替えてもいいというか、どちらも出荷時に結構曲がって付けられていて見栄えが良くなかったので、取り外してロープロファイルピンヘッダーに置き換えました。置き換え後はLANモジュールの高さが抑えられたことで全体の高さが減りました。こうなるとTiny2040もやりたい気持ちになりますが、家の中では唯一普通のピンがついているTiny2040で、これを変えると使い回しが難しくなるのでやめておきます。。
というわけで、一旦はこんな感じで完成です。飽きるまでは水温計として運用しようと思っています。
そういえば、12/3の記事を貼ったらTwitterでLANモジュールのチップ製造元であるWIZnetのアカウントにRTされていたのは見ていたのですが、昨日突然メールで「WIZnetとPicoの組み合わせで作品コンテストに出しませんか」みたいなメールマガジンぽいのが来ておしっこちびるかと思いました。メール登録もしてないのに急によこすな感があります。Githubあたりでメールアドレスを拾ったんでしょうかね。まあいいんだけども……。ちなみに、応募するとWIZnetのEthernet HATかRP2040付きボードがもらえる上、入賞すると1500ドル〜5000ドル(!?)のギフト券がもらえるのだとか。ここまで書いてURLは貼らないんですけども(回し者ではないので)。
あと、12/3の動作確認に毛が生えたような記事が機械翻訳にかけられてWIZnetのブログに転載されていて、それもワロタ。まあいいんだけども……wコンテストもまあこっから辿れるっぽいですね。