Weitere ähnliche Inhalte
Ähnlich wie 20150305 (20)
Mehr von Takashi Yamanoue (20)
20150305
- 5. • 電光掲示板
– その設置については, 設置場所の確保, 電源の確保, 掲載内容の
設定, 内容の保守・管理などの問題
• もし,
- 人に, 常時電源供給の必要がない電光掲示板を装着
- 掲示内容を無線ネットワーク経由で柔軟に追加・変更
嬉しい!
- 8. • 近年
• やわらかな基盤を使ったLEDマトリックス
• スマートフォンでもどこでもインターネット上にある情報を入
手することが可能
• Google の Accessory Development Kit … スマートフォンと
組込みシステムを結合
• Cheeroのような小型の大容量電池
- 10. • 「着る電光掲示板」の機能
– 「着る」ことができること. 着たまま「歩く・走る」ことができること(電
源コードをコンセント等に接続する必要がないこと).
– 表示文字数は1文字であるが, スムーズスクロースすることにより,
文を表示できること.
– 特定のハッシュタグを付けて投稿された Twitter の tweet の文を
表示できること.
- 16. 3. システム内部
• Android と Arduino間の通信には, Google の ADKを利用
• Android と twitter 間の通信には Twitter4を利用
• Arduino Board …初期化後, 無限ループ
– Android との間でデータ交換
– Arduino Board -> Android: 文字フォントを要求コマンドを含む
• Android Terminal の中では Service と Activity が動作
• Service の AdkThread
– Arduino Board コマンド受信.
- 18. 3.1 LEDマトリックスの
ソフトとハード
• NeoPixel LED Panel
– VCCとGNDとDIN の3つの端子のみでLEDマトリックスへの電源供
給とマトリックスのそれぞれのLEDの発色・点滅を制御
– 柔軟性のある基盤… 衣服などに装着可能
– AdafruitでArduino のライブラリ公開
• matrix.drawPixel(i,j,c);
…
matrix.show
– i列j行のLEDを c 色に光らせる
- 19. • Arduino のプログラム
- 文字フォントを表すbitmapの列を格納する循環待ち行列
– 縦が1文字のbitmapの高さ(16pixel), 横幅がbitmapの幅(16pixel)×
待ち行列に格納する文字数(現在6)の大きさ
– 待ち行列に格納されたフォントをすべて表示しおえたら, Android
側へ新しい文字(1文字分のbitmap)を要求
– Android 側から新しいbitmapが1文字分届いたら, 最後に受け取っ
たフォントを, 待ち行列の最後に追加
- 20. – 同時に, 50ms ごとに循環待ち行列から1文字分の Bitmap データ
(16pixel x 16 pixel)を取り出して, これをLEDマトリクスに送信
– 送信が終了した後, 表示される循環待ち行列の横方向の領域を1
ドット右にずらして, 上を繰り返す.
- 21. 3.2 Twitter との通信
• Twitter と本システムの間のメッセージ交換は,
TwitterConnector が担当
– Twitter4J を利用
– AdkService から受け取ったコマンドを解釈して, Twitter4J のAPIを
呼び出し
– Twitter4JがTwitter から受け取ったメッセージをコマンドに変換し
て, AdkService に送信.
- 22. 3.3 文字 bitmap 生成
• LEDマトリックスで文字を表示するためには, 文字フォントを
表すbitmap データが必要
• Arduino Board はJIS漢字すべてのbitmapフォントデータを載
せるだけのメモリを持たない
• 無料で入手可能なフォントファイルをAndroid 端末に保存
• このフォントファイルのデータを使ってTweet に含まれる文字
をbitmapに変換して Arduino Board に送信
- 23. 3.4 Android と Arduino 間
の通信
• Android と Arduino 間… ADK, USBケーブル
• 固定長のメッセージを交換
Android -> Arduino … 64 byte/メッセージ
Arduino -> Android … 4 byte/メッセージ
- 26. • 開発過程の障害
• 4.1 Arduino のメモリ容量の制限
– 構文エラーは出ないのに動作しない
• 4.2 OAuth の設定
– OAuth の読み書きの権利の設定の間違いがあることになかなか
気が付かなかった。 … 以前動いていたのに … 長い間にいつの
間にか変わった?
- 27. • 4.3 フォントファイルの置き場所
– Eclipse の Android のデバッグ環境で文字列からbitmapの列へ変
換するプログラムの開発
– バイナリ―ファイルで提供されるフォントデータファイルの構造を理
解するため, 試行錯誤
– Android のどこにフォントファイルを置くべきかわからず
– 実機と開発環境でフォントファイルをおける場所が違う
- 28. • 4.4 Activity と Service
– 最初, Twitter4J はActivity 側で利用
– Activity の場合は長期間連続して実行させることは大変困難
– Twitter4J を Service から利用できるように書き換える…時間
– Activity を通じて GUI と Twitter4J を通信… 時間
- 29. 5. 利用例
• 5.1 歩く広告
• 5.2 マラソン大会走者用案内表示
– 参加者と一緒に走る案内表示
• 5.3 緊急避難誘導
– 情報を表示しながら避難誘導
• 5.4 災害避難所での掲示
– いつでもどこでも掲示。Twitterと連携しているので、迷子呼び出し
のような使い方もできる。
- 30. 6. 関連研究
• DENKO (大野先生, etc.)
• フルカラー電光掲示板(大野先生, etc.)
• 市電の広告(前田先生、井上先生, etc.)
• tshirtOS
– 完全にかぶってる. 差別化はこれから考える。
• CuteCircuit
– 完全にかぶってるけど、用途が違う。
- 31. 7. おわりに
• 最近手に入る技術を利用して, 「着る電光掲示板」を制作
• 災害発生時の人命救助や情報伝達などにも役立つ可能性
• 現在, セキュリティ対策なし
• 今後
– 掲示板にメッセージを書き込める利用者の制限
– 誹謗中傷などの悪い影響を与える可能性のあるメッセージのフィ
ルタリングなど.