Archive for RaspberryPi

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 matrix LED での表示情報は以下を想定

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

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

連結

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

20150624_01

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

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

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

matrix 動作試験

20150621_01
20150621_02

 テストプログラムで、動作試験。
 正常動作を確認できました。

 さて、続いてプログラミングのお時間です。
 天気予報の情報は無料で1200API call/min使えるOpenWeatherMapを使おうと思ってます。ただ、情報があてになるかどうか。もう少し探してみます。

ニューヨークからの手紙(荷物)

Tokyo, Japan 2015/06/19 20:30
 配達のため現地の代理店に転送されています。配達は再スケジュールされました。
  2015/06/19 12:51 空港上屋スキャン(輸入)
Narita, Japan 2015/06/19 8:36 空港到着時刻
Anchorage, AK, United States 2015/06/18 8:24 空港出発時刻
  2015/06/18 6:23 空港到着時刻
Louisville, KY, United States 2015/06/18 3:57 空港出発時刻
  2015/06/18 0:29 空港到着時刻
Newark, NJ, United States 2015/06/17 22:21 空港出発時刻
New York, NY, United States 2015/06/17 21:39 空港出発時刻
Newark, NJ, United States 2015/06/17 21:25 空港到着時刻
New York, NY, United States 2015/06/17 20:44 空港出発時刻
  2015/06/17 19:20 発地国センタースキャン
  2015/06/17 15:25 集荷スキャン
United States 2015/06/17 10:17 処理完了: UPSへの引渡し準備ができました

こんな感じで、水曜夜に発注して、金曜夜には国内配達提携のヤマト運輸に渡った模様。
多分明日届くと思われる。今夜のうちにPi2にRaspbianを入れておこう。

ひさびさにAdafruitで直買い物

 Adafruitの製品は日本にも入っては来てますが、今回気になったイカの製品は国内販売店では見つからなかったので直買い付け。

 ブツは「Adafruit RGB Matrix HAT + RTC for Raspberry Pi – Mini Kit」。

 Adafruitはニューヨークなので送料がこの商品と同額かかるのが難点。中国メーカーだと不思議な安い送料で届くのだけどw。
国内Amazonだとこの商品をAdafruitsから買う時の商品代金+送料の2倍で売ってる業者があって、納期は1〜3週間。これは単なる輸入代行ではないかな。

 UPS配送にしたのでFEDEXみたいな日本までは早く届くけど国内配達がダメダメでいつまでたっても受け取れないということは無いとは思う。

wiringPiのgpioコマンドに移行

 echoでのgpioはなんか動作がおかしいので、wiringPiのgpioコマンドを使うことにした。
 octoprintPiのイメージにgitは入ってるので、

git clone git://git.drogon.net/wiringPi
cd wiringPi
./build

 で完了。 gpio readallで動作確認。
/home/pi/.octoprint/config.yamlに以下を記載。

events:
enabled: True
subscriptions:
- event: Startup
command: 'gpio -g mode 17 out'
type: system
- event: PrintStarted
command: 'gpio -g write 17 1'
type: system
- event: PrintDone
command: 'gpio -g write 17 0'
type: system

安定した動作を確認。

こうなると、SSRを使って3Dプリンタ自体の電源制御もしたいかな。
まずは基板をつくろう。
実際の基板では部品の配置上(USBコネクタブレイクアウトがデカい)、GPIO17の2つ隣のGPIO22を使うことになりました。

 で、なんとか寝る前までに基板作成完了。アプリもGPIO17から22に変更済み。
20150406_01

 ケースの上側は高さが出たのとUSBコネクタの出口が必要なので再印刷だな。

そして、やはり。3Dプリンタ本体の電源オンオフもしたいな。週末にSSRで作るかね。100Vと制御信号を確実にアイソレートしたいのでカプラを手に入れるかな。というか秋月のSSRはカプラついてるのだった。

cubis用LEDライトプロトタイプ

20150405_01

 ブレッドボードで仮組み。
PIのGPIOのON/OFFを2SC1815で受けて、リレーのコイル側を駆動。接点側にUSB電源のLEDライトがつながる様にした。
リレーでなくてパワーMOS FETでやろうと思ったけどNチャネルの手持ち在庫がなかった。

GPIOのコントロールはコマンドで。root権限必要。
# GPIO17を使う
echo 17 > /sys/class/gpio/export
# 出力に設定
echo out > /sys/class/gpio/gpio17/direction

# ON
echo 1 > /sys/class/gpio/gpio17/value

# OFF
echo 0 > /sys/class/gpio/gpio17/value

ONのコマンドで無事点灯。

20150405_02

これからサンハヤトのバニラ基板に実装していきます。

octoprint piテスト中

20150403_01

 octoprintでraspberry pi B+のケースの上側を印刷してみた。普通に打てますね。ウェブカムでのモニターもOK。

 USB電源のLEDはAmazonに発注。明日の午前中に届くでしょう。電源制御も/home/pi/.octoprint/config.yamlのeventsセクションにイベント事の起動コマンドをかけるようなのでこれで行きます。
 http://arms22.blog91.fc2.com/blog-entry-527.html
 https://github.com/foosel/OctoPrint/wiki/Available-Events

 GPIOの出力で2SC1815を駆動してリレーを動かしてUSB電源ONという感じ。USBLEDならなんでも良いわけでもなく、スイッチ操作なしでオンになるタイプが必要。普通の人の需要とは反対だね。

Pi 2 結局買いました

20150218_01

 Raspberry Pi 2も供給が潤沢になってきたようでゲットしました。寸法はPi B+と同じなので、3Dプリンタで出力したバンパーをつけてみた。
 使い道は、USBのUVCなカメラをつないでのストリーミング用かな。金魚水槽か3Dプリンタの庫内か。

 家にあるRaspberry Piは B 2つ、 B+ 1つ、今回の Pi 2が1つの計4台。Bはi2sDACとCDから変換したFLACデータを置いたNASと連動した音楽サーバになってる。もう1枚のBはそれの検証環境用。volumioをベースにWebインターフェイスを改造してWeb経由で赤外線LEDでi2sDACがつながってるアンプの電源・音量を操作してる。
 B+はピン配置が変わったのでちょっと用途不明の実験用。Pi 2もB+と同じピンなので様子見しつつだな。外部インターフェイスのピンは変えたらだめだよ。Arduinoとシールドの関係がその配列を変えないから良いしMBED系でもArduino互換配列の簿ボードが出てるのをわかってないかな。あと次のPiには数チャンネルで良いのでADC載せてほしい。i2cのADCを外部でつなぐのもありだけどPi系はシールドとの相性とか考えてないから。

volumioによる赤外線リモコンでのアンプ操作

ひとまず使えるようにはなった。

20140830_01

 i2s DACから26ピンコネクタを外す。

20140830_02

 上にサンハヤトのRaspberry Pi用ユニバーサル基板 UB-RPI01を載せられるように長いピンソケットを取り付け。

20140830_03

 ユニバーサル基板上に簡単な回路を作成。赤外線LEDへはオーディオジャックでつなぐ。

 20140830_04

 基板を積み上げてこんな感じ。

20140830_05

 赤外線LEDはリードに熱収縮チューブがかかるようにしてコードに半田付。それを更にブチルテープで巻いた上で、アンプの前面にELPAのクリアコードキャッチで貼り付け。

20140830_06

 Web画面的にはこんな感じ。muteボタンを足しました。リモコンのmuteボタンの赤外線情報も取得。
volumioのアイコンはFontAwesomeを使ってるようだけど、詳しくないのでいじらずにテキストで表示。中央ペイン右のボリュームノブの下の音量調整ボタンも一応使えるようにはした。けど音量数値は当然連動しません。アンプ側から現在値のフィードバックがもしできれば連動できますけどね。アンプ前面のLED数値をカメラで読むまではやらないです。

volumioソフト側は、lircはよくある『raspberry piを赤外線リモコンに』的な記事と同じ用にインストール。
手を入れたのは、以下の部分。

 /var/www/_header.php
 /var/www/css/panels.css
  volumio Web画面の一番上のプレイコントローラの部分、及びCSS。

 /var/www/templates/indextpl.html
  volumio Web画面中程のボリュームノブの部分。

 /var/www/command/index.php
  Web画面からのコマンドを受け取って処理する部分。

必要なことは出来ているのでまずはこんなもんでよいかと。radiko対応とかやりたい気もしますけどね。