あっきぃ日誌

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

新刊「あっきぃのラズピッピいじり4」おしらせ

Raspberry Pi Advent Calendar 2018 5日目です。別に全部埋めるつもりでもなければ一人カレンダーでもないのでご参加をお待ちしています。

adventar.org

今日はただの告知。今月末のコミケの新刊「あっきぃのラズピッピいじり4」を脱稿したのでお知らせします。

今回はちょっとソフトウェア寄り?かと言ってハードもなくはないので意外と良いバランスになったような気がする全40ページ!おもなコンテンツは以下の通り。

  • Vim設定
  • RPi-ToolsとAnsibleの使い方
  • 初期ピッピいじり
  • 有機ELディスプレイで遊ぶ
  • ラズピッピサイネージ
  • WiringPi-Rubyを動かす(昨日書いてたやつ)

そして表紙は私が雑に考えたものを元に、妹に発注しました。

f:id:Akkiesoft:20181204203548p:plain
表紙

裏表紙。宇宙人がはんだごてをあの持ち方で……!!!

f:id:Akkiesoft:20181204203608p:plain
裏表紙

価格は500円!ワンコイン!犬は入ってない!

コミケ2日目の30日(日曜日)ナ-11b「こくだランドです。既刊はEJECTOとタオルがあります。ぜひ!!

山の奥のその後。

今日は山の奥 Advent Calendarの4日目です。

adventar.org

OSC2018 Tokyo/Fall以降、山の奥ユーザー会が活動していたり日本でもこれから認知されていくであろう山の奥、皆さんはもう買われましたか?まだなら1枚買ってポーチに忍ばせておきましょうね。

私は9月に購入しました。

akkiesoft.hatenablog.jp

あれから3ヶ月。いまはRaspberry Piの雑多な検証用として普段使いに投入しています。数日に一回起動してはガチャガチャいじくり回し、終わったらpoweroffコマンドも叩かずに電源を引っこ抜くような雑運用をしていますが、特に壊れることもなく働いてくれています。商品価格の元を取るどころか検証によっては利益すら生み始めています。大変素晴らしい。

先週末、イベントで機材を送り出したときにSDカードが1枚物理破損してしまったのですが、穴埋めで予備の1枚を供出することになるので、もしかしたら山の奥を追加するかも?という状態です。

という感じでいいんでしょうか、このAdvent Calendar……。なんもわからん。

今週末のOSC2018でも、山の奥ユーザー会が出るようです。ステッカーも配布するそうで、楽しみですね!

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の使い所は、買って半年たってますが、これから考えますな感じです(雑)。