マイコン一覧

ジョルダンライブの情報取得など

 マトリックスLEDに表示する情報として、雨の日の朝の自分の使う線の運行状況を考えていたのだが、今まで良い方法が浮かばなかった。各鉄道会社もAPIでは公開してないし。
ジョルダンライブの情報がとっても良いのだがAPIもRSSも提供されてないし。

 ググるとジョルダンライブのTwitterの情報をRSS化してIFTTと連携する技があった。そうかTwitterあったかと。
TwitterAPIはOAuthに成る前にmbedで使ってたし。pythonならtweepyで楽勝。
 というわけで、ジョルダンライブのTwitterから情報を得ることはできた。が、Webのジョルダンライブの様な、正常運行の情報はTweetされないのね。まぁ、異常情報だけでも良いけど。

 WeatherHackのお天気アイコンは、RGB 255,255,255のピクセルは 0, 0, 0に置き換える感じで一旦コードを追加してみた。うーん真っ白じゃないアンチエイリアスしてる部分が残るなぁ。でも雲の白もあるから単純に黒には変えられないですね。



お天気アイコン表示

20150721_01

調べたらImageに対してpasteで貼れるようなので貼ってみた。
バックが白なので眩しくて、
img1 = ImageEnhance.Brightness(tommorowiconimg).enhance(0.7)
みたいな感じで輝度を下げてみたけど、うーん。
単色or2色くらいでアイコンデータを書いたほうが見やすそうではある。

で、64×32 4mmピッチのmatrix ledをAdafruitに発注してみた。今手元にあるのは6mmピッチ。配送は、またUPSです。週末に届くか?


天気予報

 本日はリハーサルとかで出勤。なぜか8:00に来いと言われたので早く出社。体育会系の人の考えはわからん。

 さて、帰宅後RGBマトリックスをいじる。天気予報ネタ。とりあえずライブドアのWeather Hacksでお試し。

天気予報

 まぁ、天気予報を文字で出すのはわかったとして、天気予報アイコンを表示したい。
 お天気アイコンのURLがjsonでとれるので、読み込みまではできてる。これをキャンバスに読むのはどうするんだ?
 PILの日本語での整理されたマニュアルがないので試行錯誤。英語でもいいんだけどそれも良いサイトに出会えない。

 次の土日の課題とする。


Adafruit RGB Matrix LEDを動かす

Adafruit RGB Matrix LEDを動かす

 なかなか手を出してなかった、Adafruit RGB Matrix LEDをRaspberry PIで動かす件。
 勝手がわかったので動き始めました。

 Adafruit流で文字を表示しようとすると、Pythonのイメージライブラリ(PIL)を使って、

・TTFをImageFontで指定。
・Imageで文字列ビットマップに必要な領域を確保
・ImageDraw.Draw.textで文字をImage領域に書き込み
・Adafruit_RGBmatrix.SetImageで表示

 と、こんな感じ。PIだとメモリもストレージも超余裕でArduinoと比べると横綱相撲の様だ。
 TTFから文字列ビットマップを作ってるので好きなフォントが利用可能。

 美咲フォントの縦12ドット版を使うと以下のような感じ。縦8だと2行表示できますけどね。

rgb led matrix

 RGB matrix LED での表示情報は以下を想定

・天気予報
・ニュース
・現在のベランダセンサー値(気温、湿度、気圧、雨、風)
・日の出日の入り、月の出月の入り

雨の朝は
・最寄り停留所のバス時刻までのカウントダウン
・電車の運行状況


連結

Adafruit RGB MATRIXを連結してのテスト

20150624_01

デモプログラムのパラメータを変更してパネルの動作は確認できた。本日は21時帰宅なのでこれ以上はできず。

なんとか土日でpythonでの美咲フォントの読み込みと表示まで持って行きたい。BDFフォントは読めそうな感じだけど、文字コードとフォントデータの結びつけテーブルが要るかなぁ。

あと、↓の圧着コネクタの詳細が知りたい。ってか2つ欲しい。LEDマトリックスパネルの電源コネクタなのだけど。手持ちには無いけど、意外と自作PC系で使っていそうなサイズ。
20150624_02
最悪ぶった切って使えば良いのだけども。PCの電源ユニットから取り出せるようなコネクタだったら良かったのに。って最近のPC電源はもしかしてこのコネクタがあったりするのか。書きながら可能性に気づいたので調べてみる。
→やっぱ違う感じ。Adafruitに聞いてみるか、ぶった切るか。