あっきぃ日誌

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

WiringPi-Rubyを今のRaspberry Piで使う

Raspberry Pi Advent Calendarの4日目です。とくに全部埋めたいというわけじゃないのですが、ネタがないこともないので書いてます。

adventar.org

今日はWiringPiのRuby版ライブラリの話。WiringPiはRaspberry Pi界ではわりとよく聞くやつで、Ruby版のライブラリも用意されています。が、3年ほどメンテが止まっており、いまのRaspbianでは動作しません。

github.com

で、自分で手を入れて動くようにして、Pull requestしました。

github.com

いまのところLチカとI2C接続の部分しか試していないので、他の部分でちゃんと使えるか試せていないのですが、RubyでGPIOいじりたかったんだよ〜!という方がいらっしゃったら試してみてもらえると幸いです。

とりあえず、私のプルリクしたコミットを持ってきて、gem buildしてインストールすれば動きます。

何をしたかというと、submoduleで含まれていたWiringPiの元のライブラリのリビジョンを新しくしただけ。変更点をとくに確認していないのがアなところです…。それでも、SoCの判定方法変更に追従できておらず一切使えないという状況は脱しているので、少しでも動くようになっていればいいかなと思っています。また、Raspbian Stretchではextconf.rbにコンパイルオプションを足してやる必要があったので足しました。これに気づいたあとextconf.rbに含めるまでが時間を要しました……。ホントはわからないままここにわからんって書くつもりでいたくらいですので。

ちなみに、自分の作品の中ではICカード残高チェッカーでRubyを使用していて、今回を機にスクリプトを少し改良しています。I2C部分は外部コマンドを叩いていたのですが、ライブラリの動作を見るためにWiringPi-Rubyを使うように改めました。セットアップPlaybookも修正が必要な箇所がいくつか発生していたので整備し直しました。

[lcd-icreader] use wiringpi i2c class, fix playbook / fix libpafe url · Akkiesoft/RPi-tools@ba57a86 · GitHub

WiringPi-Rubyの話題は月末のコミケで発行する新刊の中でも触れています。良ければぜひ。

アッキーソフトがMastodonに移住して1年が過ぎました

この記事はMastodon Advent Calendarの3日目です。

adventar.org

大した話しかけなくてごめんね。

移住1周年

明後日で移住から1年らしいです。

akkiesoft.hatenablog.jp

Mastodon自体は昨年のmikutter城崎温泉合宿のあたりから本格利用し始めています。mikutter鯖も1年が経過しました。あひるさんが忙しい合間を縫ってまめにメンテしてくれていて感謝です。

akkiesoft.hatenablog.jp

ちなみに私自身はまだTwitterアカウントを凍結されていませんが、8/17のUserStream停止と同時にツイートを完全に止めました。え、こないだ3A+のリリースをツイートした?そんな馬鹿な、Tooterの投稿を押すときに手が滑ったんじゃないですかね。

1年使った感想。

まだコミュニティが小さいのでゆるくつながってワイワイできる雰囲気があるのは変わらずMastodonのいいところかと思います。多少馴れ合いが進んだのでこっからまたすったもんだするようになるんじゃないかと思いますが。まあそれはSNSの宿命みたいなもんだから。

投稿時の公開レベルとか閲覧注意とかの設定ができるので色々なご配慮ができるのもやはり良いです。DMに関しては最近仕様が変わってしまい若干慣れない部分もありますが、メンションのように使える点は変わらず、Botに対して家電の制御をする時にDMでやり取りできるのは楽です。同時に、UserStream APIが使えるのはやはり楽ですね。TwitterBotに使ってた人たちは今どうしてるんでしょうか。というかその手のまだ生きてるんですか?

他方、Mastodonは人が少ないというか、連合という仕組みがあっても見全体にまんべんなく行き渡るわけではないので、Twitterで得られていたような告知力はほぼ皆無になります。Mastodonのフォロワー数自体は750程度まで増えましたが、実際には複数インスタンスにアカウントを持っている人が両方でフォローしているとかそういうのがあるので、400前後くらいなのではないかと思います。告知力は、Mastodonで自分から発信するのもそうですが、誰かが発信するのを自分が受け取るということもなかなか難しいです。みんなTwitterでしか告知しないから。。でもあたい屈しない、お前らがマストドンに来い。

Mastodon向けに作ったもの

先述のTooter(Twitterのツイートボタンを押したときの画面を乗っ取ってトゥートボタンを増やし、ツイート文をトゥートできるようにする拡張機能)が最近のMastosonのアップデートで使えなくなってしまい、開発が終わってしまったので、自力でGreaseMonkeyスクリプトを書いて代替しました。TamperMonkeyとかで動かすといいと思います。また、var baseのドメイン名は適宜自分の所属するインスタンスのものに書き換えて使ってください。ライセンスは特になし、強いて言われればMITライセンスあたりでどうぞ。

// ==UserScript==
// @name        birds gone somewhere
// @include     https://twitter.com/intent/tweet*
// ==/UserScript==

var base = "https://social.mikutter.hachune.net/share?text=";
var url = location.href.split('?')[1].split('&');
var twtext = "";
var twurl = "";
for (var i = 0; i < url.length; i++) {
  var j = url[i].split('=');
  if (j[0] == 'text') {
    twtext = j[1];
  }
  if (j[0] == 'url') {
    twurl = "%0D%0A" + j[1];
  }
}
var newurl = base + twtext;
if (twurl) { newurl += twurl; }
location.href = newurl;

その他は細々とMastodonPythonライブラリを使ってBotやらラズピッピの工作やらを作っています。Twitterの頃からやっていたレシートプリンターで名札印刷するやつとか、最近だとOLEDモジュールで通知を出すやつとか。

f:id:Akkiesoft:20181203000011j:plain

Bot松屋の新商品を垂れ流すやつを運用しています。鉄板でジューシーに焼かれていると騒ぎます。

social.mikutter.hachune.net

SNSでありながら、プログラミングで遊べるというのがMastodonの良いところだし、昔のTwitterの良いところだったなと思います。

今後

先日はてなハイクが終了とのアナウンスが出て、移住先探しをするハイカーもちらほら出ています。マストドンにマッチする人が入れば呼びたいなーと言う思いはあるのですが、いかんせん11月以降仕事もプライベートも多忙を極めており時間が確保できず、マストドンのお試しインスタンスを作ることすらできぬ状況です。。もすこし落ち着いたらやるから気長に待ってくおくれ。あでも、お試しだから長くやらないかもしれないからね。

そろそろ自分でインスタンスを立てて、どんな感じで運用するもんなのか、見てみたいなという気持ちです。自分がそこに移住するかと言うと、多分しないんですが、まあね。

LiPo SHIMを使うためにリチウムバッテリー一式を用意するまで

Raspberry Pi Advent Calendar 2018の3日目です。

LiPo SHIMをだいぶ前に買っていたのですが、これ単体では何もできないので周辺のパーツを買い揃えようとしたらダラダラやりすぎて半年くらいたってました。時系列は抜きにして必要な部品と組み立てを書きます。。

LiPo SHIM – Pimoroni


LiPo SHIMはリチウムバッテリーをつなぐとラズピッピに電力供給してくれるモジュールです。PiZeroに直ではんだ付けしたり、ピンソケットをつけてかぶせて使ったり、色んな使い方ができます。

f:id:Akkiesoft:20181117000639j:plain:w480

が、バッテリーと、バッテリーを充電するものは自分で用意する必要があり、バッテリーに至っては輸入が難しい場合もあるというアレさ。そこでアキバの電子工作の強い味方、aitendoで調達しました。

バッテリーは3.7V850mAhのものを選択。コネクターがLiPo SHIMのJSTネクターとは違うので、これに合うケーブル付きJSTコネクタも買って付け替える必要があります。

www.aitendo.com

充電にはaitendoのモジュールとユニバーサル基板とソケットを使いました。

www.aitendo.com

www.aitendo.com

www.aitendo.com

JSTネクターのポストはなかったので、千石電商で購入。

https://www.sengoku.co.jp/mod/sgk_cart/detail.php?code=EEHD-55FA

あとはこれをユニバーサル基板に組みつけておしまいです。ピンヘッダー1ピンを間に噛まして充電基板を乗せたあと、バッテリーのピンとJSTネクターのポストをつなぎ合わせるだけです。コネクター類は基板からはみ出すかはみ出さないかの位置を狙いました。

f:id:Akkiesoft:20181117002924j:plain:w480

で、ケースにフリスクを使用。実家とFaceTimeでだべりながらホットナイフで雑にコネクター穴を加工していたらカッターが指に刺さって流血しました(笑)。固定はホットボンドで適当にしました。

充電基板にはステータスランプがあるので、そこに穴(意図せず中央になった)を開けて完成です。ケースはてきとうにシールでデコりました。

待機中と充電完了時は青く光ります。

f:id:Akkiesoft:20181117003033j:plain

充電中は赤く光ります。

f:id:Akkiesoft:20181117003047j:plain

という感じで、一式用意するとLiPo SHIMでも遊べるようになります。LiPo SHIMの使い所は、買って半年たってますが、これから考えますな感じです(雑)。

Raspberry Pi Advent Calendar 2018

Raspberry Pi Advent Calendar 2018の初日です。

adventar.org

とりあえず今年のラズピッピ的なやつをブログから振り返ります。

OLED

新年会で見てほしくなったOLEDモジュールを買って、冬コミで買っていたけものフレンズのかばんちゃん型ユニバーサル基板「きばんちゃん」にのせた話。この辺は今月末に出す予定の「あっきぃのラズピッピいじり4」で触れています。

akkiesoft.hatenablog.jp

けものフレンズは騒動ですっかり冷えてしまった感がありますね。悲しい出来事であった。

Raspberry Jam Big Birthday Weekend 2018 in TOKYO

今年のラズパイ6周年は全世界で同時にやるぞ!という号令が財団から出され、OSCの翌週というハードなスケジュールで運営をしてきました。が、イギリスでは豪雪となり延期になったところがちらほらというオチに。蒲田で2日間に渡って開催し、来場者もなかなか多く、盛況でした。

akkiesoft.hatenablog.jp

Compute Moduleデビュー

Big Birthday合わせのキャンペーンを使ってCompute Moduleデビュー。WD LABSのHDDが乗る基板で使っていますが、WD LABSは解散済みのため、今はほぼ入手不可の状態です。惜しい。今はPleromaサーバーとして適当に動かし続けています。

akkiesoft.hatenablog.jp

電子ペーパー

気がつけばWaveShareの電子ペーパーが一通り千石電商に並ぶようになり、WaveShareのサンプルスクリプトもだいぶていねいになったおかげで、ラズピッピ電子ペーパーもだいぶ広がるようになりました。色違いとか、ペラペラ曲がるやつとかが増えています。

akkiesoft.hatenablog.jp

akkiesoft.hatenablog.jp

Pimoroniの電子ペーパーも、若干おくれて黄色版、白黒版Inky pHATがリリースされて、最近は4.3インチ版となるInky wHATが発売されました。早速買ってみましたが、何に使うかは考え中……。

akkiesoft.hatenablog.jp

Inky pHATは自宅では天気予報の表示に1つ使っています。元はOpen Weather Mapを使っていましたが、YahooのAPIにかえた結果、Inky pHATのサンプルと似た結果になりました。

Inky pHATで天気予報を出す(常設ラズピッピがカオスになった話) - あっきぃ日誌

Inky pHATで天気を出すスクリプトを公開しました - あっきぃ日誌

Maker Faire Tokyo 2018

今年もPaulおじさんがやってきておおあばれ。開催前夜に発売のあたらしいPicadeを初日の朝に未開封状態で持ってきて「寄贈するから組み立てて展示して」とぶん投げられ、英語のドキュメントを読みつつ泣きながらみんなで組み立てました。

akkiesoft.hatenablog.jp

ここに書けないいつか表にでるらしかった裏話もあったんですが、そういえばあれお蔵入りしてね?

サイネージづくり

これも今月末の新刊で少し別の例も書きつつ掲載予定ですが、YouTube垂れ流しサイネージの作り方について書きました。そういや最近つけてないや。

akkiesoft.hatenablog.jp

200台ラズピッピと謎工作

秋に200台の初代ラズピッピ(一部1A+)を某所から譲り受け、分解して本体をOSCで若者に配る活動がスタートしました。その中で出てきた一部の1A+を使い、謎の工作を作ってみたやつです。個人的には気に入っていますが、この1A+もいつか配られます。

akkiesoft.hatenablog.jp

新しいラズピッピ製品

ラズピッピ4は!?と言う期待の声も最近はちらほら耳にしますが、まず出てきたのは3月の3B+でした。LAN関係の改良がなかなか美味しいボードでした。

www.raspi.jp

次はPoE HAT。3B+で増えたPoEピンが活きるボードでしたが、使用の仕方次第で不具合が発生することが発覚。修正メザニンが開発されたりしている状態です。

Introducing the PoE HAT - available now! - Raspberry Pi

www.raspberrypi.org

さらにアクセサリ系ボードがリリースされます。しかも財団としては初のPiZeroサイズボード。財団ではこれをuHATと命名し、形状を含めてHAT規格に追加されました。で、ボードの内容はと言うとTVチューナーボード。残念なことに現状はヨーロッパを中心に採用されているDVB規格のみのサポートなので、日本では使えず。

www.raspi.jp

そして最近出てきた3A+。3B+をベースにA化したものです。日本はいつもの技適待ちですね。個人的には3A+はよ!という感じです。PiZeroWでちょっと物足りないスペック感はメモリ以外これでだいぶ解消できるはずなので期待大なのです。

www.raspi.jp

2019年のRaspberry Pi?

2018年、いつも以上にあっという間に過ぎてしまって、なんか遊べたような遊べなかったような、そんな漢字がしていますが、やっぱり遊んどるやんけ。

来年はラズパイ4はあるのか?が楽しみポイントですかね。1年で「35ドルで作れるスペック」がそんなに変わるかどうかが鍵のような気がしますが、はてさて。

あっきぃ式展示ブース設営術

オープンソースカンファレンス Advent Calendar 初日です。このカレンダーでは、OSCの魅力を伝えたり、参加したいけど自信がない…という出展とか発表とか一般参加とかしたい人向けにノウハウを書いたりするカレンダーです。OSC2018 Tokyo/Fall振り返り会のときの意見交換中に酒を呑みながら立てました。ぜひ空いている日へのご参加をお待ちしています。

adventar.org

私からは、展示ブースのつくりかたのご紹介です。これはカレンダーを立てる前のOSC意見交換会でMyNAの坂井さんから頂いたネタです。書くのが遅くなってすみません!

普段のブースの様子

ブログには気が向いたときにレポートを書いている次第ですが、私の普段の展示ブースはこんな感じです。言ったそばからまだレポートを書いていないOSC2018 Tokyo/Fallのブースの様子ですね。

f:id:Akkiesoft:20181126195348j:plain:w640

f:id:Akkiesoft:20181126195354j:plain:w640

Ejectのブースも、Raspberry Piのブースも、小物やら仕掛けやらでごちゃごちゃしています。どの開催でも出すのに1時間、片付けるのに30分くらいかかっています。もっと楽にしたいというのが個人的な課題ではあります。

私がこころがけていることは

チラシを置いとく

印刷費がかかりますが、チラシは置いておけば意外ともらっていってもらえます。話しかけるのは苦手だけど、展示物とか活動内容が気になるという方はそっと取っていってくれます。

展示物が多い私のブースでは後述の説明パネルが置けない分、説明をまとめたA4両面印刷の紹介ペーパーを用意していて、これを配って説明をある程度省略するようにしています(あんまりできてないんですけども)。また、この紹介ペーパーには展示物のソースコードが置かれたGitHubリポジトリのURLも書いているため、OSCではこれをオープンソースの理由にしています(?)。

展示物の説明パネルをつける

私のブースでは展示物が多すぎるため、全部に説明をつけることができないのですが、スペースが許す限りできるだけ展示物の説明を横に置いたり立てかけたりしています。

上に張ったEjectブースではQRコードを読み込んでWebサイトにアクセスすると誰でも自由にEjectコマンド工作を操作できるようにしてありますが、紙を100円ショップのミニブックスタンドに貼り付けて立ててあります。興味が出た人は私がブースに立っていなくてもQRコードを読み込んで遊べます。

ブースによってはノベルティの配布がありますが、これは配りものゾーンを明確にした上で「シールはご自由にどうぞ」など張り紙を用意しておくと、やはり自分が席を外している間でも来たがもらっていきやすくなりますね。

f:id:Akkiesoft:20181126195731j:plain:w480

また、撮影OKとする場合は「撮影OK」と言う紙を置くのも良いです。置いてても聞かれますが、撮影をするハードルはぐっと下がります。うちのブースではいらすとや素材全開で用意しました。イラスト屋が街中にあふれる昨今、こういうワンポイントをいらすとやでキメると程よく目を引けるかもしれませんね。

f:id:Akkiesoft:20181126202351p:plain

100円ショップのアイテムや文具を用意する

展示ブースで使われている100円ショップグッズや文具はけっこう多いです。100円ショップで買ってきて利用しているものは以下のものがあります。

  • タッパー: 小さい展示物の収納に便利
  • ミニブックスタンド: 展示物を目立たせるための小道具として利用
  • メニュースタンド・カタログスタンド: 展示物の説明を立てたり、チラシを立てるために活用
  • 折りたたみタブレットスタンド: 本を立てるのに使ってます。コンパクトに収まるので荷物のじゃまになりません

また、メッシュパネルは以前ブログにも書いたことがありますが、大きいものを切ってコンパクトサイズにしたものをブースでは使用しています。これはRaspberry Piやその周辺アクセサリなどを引っ掛けたりして使っています。

akkiesoft.hatenablog.jp

また、文具類はOSC運営である程度用意されていますが、自分で用意しておくと借りに行く手間が省けますし、その手のを用意していないイベントに出展したときにも役立ちます。テープ類なんかは、OSCが用意しているブース名の紙を机に貼るためにまず必要だったりしますからね。

  • メンディングテープ: 壁に布テープなどを貼るのはたいてい禁止されていますが、このテープは弱粘着のため貼り跡が残りません
  • 養生テープ: メンディングテープでは弱すぎるときに使えます。また、少し弱いですが荷物の梱包をしたあとのテープとしても使えます
  • 電源タップ: イベントではわりと用意されていますが、最後のタップから伸ばすときには自分のタップを使うと良いでしょう。また、運営のものと混ざらないよう、名前を大きくわかりやすい位置に書くのもポイント
  • ペン: ボールペンと、油性ペン。即興でチラシを作ったり、帰りの荷物の伝票を書くのに使います。
  • コピー紙: 即興でチラシを作るのに使えます。私は前日準備の全員配布資料組みを手伝っているときに出てくる、100枚の区切りとかを示すために挟まっている紙を集めといてそれを使っています(それができるの私くらいや)

自分も展示物(?)

ちょっとそれますが、名札はさげましょう。自動挨拶を防止できます。一般参加の人も、普段出展してる人と交流があるような方はハンドルとアイコンがあるだけでぜんぜん違うのでつけておくと最高にありがたいです。昨今の人付き合いは「本名・顔」の他に、「ハンドル・アイコン・Twitterなどのアカウント名」という識別要素があり、何をもって個人を特定するかが難しくなっています。自分は覚えられているだろうと思って挨拶して会釈をされても、7割くらいは(とはいえ適当にいいましたがほぼ)自動挨拶です。名札はさげましょう。

ちなみに、名札ホルダーを買うのが面倒な人は、OSCの懇親会で配られたやつを持ち帰って次回以降流用すると良いでしょう。最近のOSCは学生とOSC初心者には最初から自由にもらえる名札ホルダーがあるのでこれを活用しても良いです(OSC玄人は買うしかなくて辛いな?)あと、名札はMastodonアカウントをお持ちの方は私のブースでレシート用紙に印刷できます(突然の宣伝)

[asin:B00TZZS7OC:detail]

ノートPCとにらめっこする時間は少なく。

何で見たかは忘れました(アンケートか何かだとは思う)けど、ブースでノートPCとにらめっこしている人は話しかけにくいそうです。通りゆく一般参加の人をキラキラした目で見つめてみると意外と引っかかるかもしれません。かくいう私は、ノートPCとにらめっこしていても何故か声をかけられがちで、その日のLT資料作成がギリギリになることも……笑。

ブースで声掛けをして呼び止めるまではしなくてもいいと思いますが、展示物をちょいちょい自分で触りながら気を引くみたいな素振りをしてみてはいかがでしょうか。

サイネージを置く

うち、モノがある系のブースじゃないから…!という方はサイネージを置くのも手です。パワポで自動プレゼンモードでループしても良いでしょうし、アキバの安〜いフォトフレームを使ってみてもよいでしょう。今月末のコミケで出す予定のラズピッピの新刊では、Raspberry Piで作るサイネージについて書いてます(突然の宣伝)。

まとめ

  • チラシを作ろう
  • 自分がブースを離れたときでも見に来た人が何をやっているブースかわかる工夫をしよう
  • 100円ショップの文具は展示に便利なものが多いので積極的にウォッチしてみよう
  • 名札はさげよう
  • モノがない系ブースはサイネージで差をつけろ