たゆたふ。

定まる所なく揺れ動き、いろいろやってみたメモ。など

Tingbot が届いたので動かしてみた。

Kickstater で申し込んでいた Tingbot がやっと届いたので触ってみた。

ポチった時の計画だと5月に出荷予定だったので、約4ヶ月遅れで手元に届いた。

どんなもの?

Rasphedy Pi を中に組み込んで写真用なモニター付きの小型端末にするキット。 自分でアプリを書いて実行させることができる。

ハードウェア

ものとしては 3.2 インチのタッチモニターと4つのボタン。これとラズパイを包む筐体からなる。 ラズパイは自前のものを使う。なんとなく購入して放置していた RPi3 を組み込んで組み立てた。

モニタとラズパイを接続するコードの接続ピンさえ間違わないように注意すれば組立自体は簡単。ただし、筐体を閉じるネジが極小なので精密ドライバーがないと閉められない。

ソフトウェア

ソフトウェアとしては Tingbot-OS というものが提供されており、それを SD カードに書き込んで起動すると動く。

SD カードへの書き込み方も セットアップガイドの通りやれば特にハマりどころもなかった。

Tingbot-OS と言っても Raspbian の一部を上書きしただけのもののようで、起動後は Raspbian のデフォルトユーザで SSH 接続もできる。

開発環境

Tide という Electoron ベースの IDE が開発環境として提供されている。 リリース前にGithubに上がっていたものは起動しようとしてもうまくいかなかったので心配したが、Mac 用に配布されているビルドは問題ない。

この IDE ではコードを書く他に次のことができる。

  • Tingbot への wifi 設定
  • エミュレータでの実行
  • Tingbot でのテスト実行
  • Tingbot へのインストール

同じネットワークにある Tingbot を自動検知してくれるので、なんなく接続できる。

Tingbot-Python

Tingbot アプリは Python で実装できるようになっている。 Tingbot 用に用意されている機能は次の通り。

  • 画面上に図形を描画する
  • イメージファイルやテキストを表示する
  • 画面タッチを検知する
  • ボタンの押下、押しっぱなし、複数ボタンの押下の組み合わせ検知
  • ハードウェア情報(IP アドレスやキーボード、マウスの接続状態)の取得
  • 設定の保存
  • Webhook

ちなみに Python のバージョンは 2.7 のようだ。

sys.version_info(major=2, minor=7, micro=10, releaselevel='final', serial=0) 

起動

起動すると、2 つのアプリがインストールされている。ひとつは Kickstarter のバッカーのリストを表示するもの。 もう 1 つが、Terminal。キーボードを USB で接続すると、コマンドの入力、実行が可能。

左右 2 つづつある 4 つのボタンのうち、外側のボタンを押すとアプリの切り替え、 内側の 2 つを同時押しすると HOME に戻るようだ。

サンプルアプリの実行

Tide には 5 種類のサンプルプログラムがついている。 それらを順に実行してみた。

  • Hello world

    • まあ、何はともあれスタートはこれから。
  • Show an Image

    • アニメーション GIF で猫が走る
  • Buttons

    • 本体ボタンのサンプル。押す毎にカウントアップ/カウントダウンする
  • More Buttons

    • これも本体ボタンのサンプル。ボタンの DOWN/UP、長押しのサンプル
  • Touch

    • 画面タッチのサンプル。タッチしたところに点を打つ。

いずれも、TingBot の基本的なハードウェアの操作サンプルとなっている。

なかなか遊べそうだ。