読者です 読者をやめる 読者になる 読者になる

Espruino シリアル通信でTWE-Liteの受信コマンドを表示してみる

Espruino Advent Calender 7日目です。
最近TWE-LiteにはまっているのでEspruinoとつなげてみようと思います。
Espruino、TWE-LiteはともにサポートしているUARTで通信してTWE-Liteのデータ通信の様子をのぞいてみようと思います。

完成形

完成形はこんなかんじです。

f:id:bathtimefish:20141207182352j:plain

左側のブレッドボードがTWE-Lite DIP親機、右側が子機です。
子機をEspruinoにつなげて、親機からの受信データコマンドをEspruino IDEに表示しています。

今回つかったパーツ一覧

TWE-Lite DIPは親、子の2台必要です。
親機の電源はたまたま道具箱の中にあったリチウムイオン電池を使いましたが、単3電池2本とかで大丈夫です。
ただしTWE-Liteは3.6V以下でないと動かないので電源は3.6V以下にしてください。
3.6V以上入れると壊れる可能性があります。

親機の組み立て

配線は写真のようにします。

f:id:bathtimefish:20141207171554j:plain

TWE-Lite DIPの仕組みについては長くなるので割愛します。配線はTWE-Lite DIP使用方法初級編TWE-Liteではじめる カンタン電子工作 に書いてあるほぼそのまんまです。PHRコネクタをつけて3.7Vのリチウム電池を電源にしました。
TWE-Liteの動作電圧は3.6V以下なので3.7Vの電池は少しオーバー電圧ですが電池をテスターで測ったらだいたい3.4Vくらいしか出てなかったのでそのまま接続しても大丈夫でした。

子機の組み立て

配線は写真のようにします。

f:id:bathtimefish:20141207173320j:plain

こちらも初級編や本に書いてある子機の配線そのままです。電源はEspruinoからとります。赤いケーブルをEspruinoの3.3とシルクプリントされているピンに挿し、黒いケーブルをGNDと書いてあるピンに挿します。
これでEspruinoからTWE-Liteへ3.3Vの電圧がはいります。間違って3.3のとなりにあるBatには接続しないでください。Batは5VなのでTWE-Liteが壊れます。

TWE-Lite同士が通信できるか試してみる

組み立てたら親機の電池をつなぎ、子機のEspruinoをUSBケーブルでPCと繋げます。
そして、親機のタクトスイッチを押してみます。子機のLEDが点灯したら正常に通信ができています。

f:id:bathtimefish:20141207173901j:plain

シリアル接続する

いったんEspruinoからUSBケーブルをはずして、シリアル通信のためのケーブルを配線します。まず、子機の3番ピン(左下から3番目)の真下のブレッドボードの穴にケーブルを挿します。
次に子機の10番ピン(左下から10番目)の真下のブレッドボードの穴に別のケーブルを挿します。

f:id:bathtimefish:20141207174747j:plain

3番ピンに挿したケーブルをEspruinoのB6ピンに挿します。そして10番ピンに挿したケーブルをEspruinoのB7ピンに挿します。

f:id:bathtimefish:20141207175115j:plain

この2本の配線でUARTの送受信が可能になります。

コードを書く

JavaScriptコードは以下になります。

EspruinoのSerial Class を使います。
Serial1はEspruinoが持つ6つの汎用シリアルポートの内のひとつです。

Serial1.setup()でTWE-Liteとのシリアル接続を設定します。
TWE-Liteのデフォルトの通信設定は、

  • ボーレート(通信速度): 115200bps
  • データ長: 8bit
  • パリティ(データチェックの有無): none
  • ストップビット(区切りの長さ): 1bit
  • フロー制御(送信一時停止を行う機能): none

です。Serial1.setup()の引数にこれらを設定します。
options.tx, options.rxはそれぞれUARTの送受信ピンを指定しています。

Serial1.on()でdataイベントを補足し、コールバック内にTWE-Liteのデータ受信コマンドが返ってきます。
データは分割して受信され、キャリッジリターンが終端になっているので printLine()でデータの断片を処理し1行のデータとして表示しています。
このあたりの処理はEspruinoのUARTのページ を参酌しました。

実行してみる

親機を電池につなぎ、EspruinoをPCとUSBケーブルで接続します。
Espruino IDEを起動し、Espruinoと接続します。
JavaScriptコードをエディタに貼り付け、Espruinoに転送してみましょう。

約1秒間隔でデータがコンソールにデータが表示されます。このデータが子機が親機から受信しているデータです。

TWE-Liteの受信データの例:

:00811501D28100693F001115000D2D1D0101FFFFFFFFFFF4

TWE-Liteの受信データの内容は、このページの「データの読み方」の段で解説されています。
この実験でデータの変化を確認できるのは以下の3点です。

* 受信電波品質(赤文字の部分)
* 電源電圧(青文字の部分)
* デジタル入力(緑文字の部分)

受信電波品質は親機と子機を離したり近づけたりすると変化します。
電源電圧は一定ではないため常に変化します。
デジタル入力は親機のボタンを押すと01、離すと00となります。

まとめ

TWE-Liteたのしいです。省電力でけっこう通信距離が長いし、データの構造もシンプルなので単純なデータの送受信ならすぐできます。
Espruino連動させるといろんな用途のセンサーネットワーク用小型デバイスができそうです。
なによりJavaScriptでそれが実現できるってのがたまりませんね。

f:id:bathtimefish:20141207182352j:plain

Espruino setIntervalでLEDを点滅させてみる

Espruino Advent Calender 6日目です。
今日はEspruinoにLEDをつなげてsetInterval()でLチカしてみます。2日目とかぶってますが気にしないでください。書いてから気づきました。
LチカというのはLEDをチカチカ点滅させることで、はじめて電子工作をするときによく動作確認として試されます。
ソフトウェア開発でのHello Worldみたいなものですね。

ここではEspruinoに市販のLEDを配線してLチカしてみます。
Espruinoに搭載されているLEDでやってもいいんですが、せっかくなので電子工作っぽい感じを出してみます。

用意するもの

Espruino Board意外に用意するものは以下です。
秋月電子千石電商などの電子パーツ店によく売ってあるならだいたいなんでもいいんですが、具体例としてリンクを貼っておきます。

* LED
* ブレッドボード
* ジャンパワイヤー(2本 赤、黒)

Espruinoはピンヘッダまたはピンソケットがハンダ付けされた状態を前提としています。
ジャンパワイヤ購入の際はワイヤのオスメス構成をよく確認してから購入してください。

例えばEspruinoにピンソケット(メス)を取り付けている場合、ジャンパワイヤは(オス-オス)でブレッドボードと結線できます。

Espruino[メス][オス]---[オス][メス]ブレッドボード

というかたちです。

Espruinoにピンヘッダ(オス)を取り付けている場合、ワイヤは(メス-オス)でブレッドボードと結線と結線できます。

Espruino[オス][メス]---[オス][メス]ブレッドボード

というかたちです。

その他注意すべき点は4日目の記事にも書いてあるので参考にしてください。

LEDをブレッドボードに取り付ける

LEDをブレッドボードに取り付けます。
まず、ブレッドボードを横(長いほうを水平)におきます。

f:id:bathtimefish:20141206211111j:plain

次にブレッドボード上のたくさん空いている穴にLEDの足を挿します。
ここではLEDの足の長い方を左、短い方を右にしてブレッドボードに挿し込みます。

f:id:bathtimefish:20141206211158j:plain

LEDにはプラス極とマイナス極があります。
足の長いほうがプラス極、短いほうがマイナス極です。上の写真では左のほうがちょっと長いですね。左がプラス極です。
刺すときにどちらがプラスでどちらがマイナスかを覚えておきましょう。
ワイヤを刺すときに必要です。

f:id:bathtimefish:20141206211214j:plain

ブレッドボードを横に置いて、LEDの足を水平方向に挿しました。
これにも意味があります。
ブレッドボード内に流れる電気の方向には決まったルールがあります。
LEDを垂直方向に挿しても光らないので注意してください。

ジャンパワイヤをとりつける

ジャンパワイヤはLEDを挿した穴の真下の穴に挿し込みます。
LEDのプラス側(左)には赤いワイヤ、マイナス側(右)には黒いワイヤを挿します。

f:id:bathtimefish:20141206211331j:plain

実はワイヤは何色でもいいんですが、Espruinoにワイヤを挿すときにプラスとマイナスを間違えないようにこうしています。
電子工作ではプラスを赤、マイナスを黒で表現することが多いので、習慣にしておくといいでしょう。

Espruinoと結線する

ブレッドボードに取り付けたワイヤをEspruinoに挿します。
念のためEspruinoからUSBケーブルを抜いて電源が入っていない状態にしておきましょう。

まず黒いケーブル(LEDのマイナス側)をEspruino BoardのGND(PINOUTのボード写真の一番左下のピン)に取り付けます。
次に、赤いケーブル(LEDのプラス側)をEspruino BoradのA8(PINOUTの右上から6番目のピン)に取り付けます。

f:id:bathtimefish:20141206211445j:plain

A8はEspruino Boardにいくつかあるデジタル入出力ピンのひとつです。
今回はこのA8ピンに電流を流したり消したりすることで、LEDを点滅させます。

JavaScriptを書く

LEDを点滅させるためのJavaScriptコードを書きます。
EspruinoにはEspruino IDEという開発環境が用意されています。
ここではEspruino IDEのエディタにコードを書いて、Espruinoに転送して実行させてみます。

ソースコードは以下です。

 setInterval()を使って1秒間隔でコールバック内の処理が繰り返し実行されるようにします。
on = !on; の部分で onをtrue, falseと交互に変更しています。
A8.write(on); でLEDに電圧をかけたり電圧を落としたりしています。
A8.write(true); でLEDに電圧がかかり点灯、A8.write(false); でLEDの電圧が落ちて消灯となります。

Lチカを実行する

ソースコードをEspruino Boardに転送して実行します。
まず、USB-micro USBケーブルをPCにつなぎ、micro USB端子側をEspruino Boardに接続します。

次にEspruino IDE左上のConnectボタンをクリック。接続可能なポートの一覧が表示されるのでEspruinoのttyを選択します。
ポートは /dev/tty.usbmodem**** となっています。

f:id:bathtimefish:20141206215810p:plain

正常に接続されると、IDE左側のコンソールパネルにプロンプトが表示されます。

f:id:bathtimefish:20141206220025p:plain


この状態で、IDE中央の一番下の Send to Espruino ボタンをクリックします。

f:id:bathtimefish:20141206215904p:plain

正常に転送されると、1秒間隔でLEDが点滅しはじめます。

f:id:bathtimefish:20141206212012j:plain

うまくいったでしょうか。

まとめ

ArduinoでのLチカは

```
void loop()
{
digitalWrite(ledPin, HIGH);
delay(1000);
digitalWrite(ledPin, LOW);
delay(1000);
}
```

みたいにloop関数の中にdelay()を仕込んでやるわけですが、EspruinoはJavaScriptなのでsetIntervalのコールバックで処理します。
ちょっとプログラミングの感覚が違っていておもしろいんじゃないでしょうか。

Espruinoを購入したらまずはこのLチカからはじめてみてください。

Matchstickは技適通すのか聞いてみた

Matchstick - The Streaming Stick Built on Firefox OS by Matchstick.tv — Kickstarter

ChromecastをFirefox OSでつくりましたみたいな製品。HTML5でアプリがつくれるのはChromecastと同じだけどなんとなく自由度が高そうな気がするし、Chromecastアプリとも互換するみたいなことが書いてあって、なかなか興味深い。一瞬で目標金額を達成しているので注目度も高いようです。

 

Wifiを使う製品なわけで、技適通すのかどうか気になったので、開発チームに聞いてみた。そしたら「まずは米国発売をターゲットしているのでFCCをマストに考えてる。日本で発売する際には技適にもトライするよ。教えてくれてありがとう。」みたいな返事がすぐ返ってきた。

 

まあベンチャーな製品だから最初からいろいろやるのはキツいですよね。順を追っていつか日本国内でも販売してくれるといいですね。

Tizen SDK for Wearableをインストールしてみた

最近はWeb技術のほかにウェアラブルデバイスにも強い関心があって、日本ウェアラブルデバイスユーザー会の起ち上げに参加したりしているわけですが個人的にはウェアラブルデバイスにはすぐWeb技術が浸透してくるだろうなと思っていて、そういう流れには遅れないようにしないとな、という気持ちがあったりもします。

 

、、とかなんとか思っているうちにmoto360が発売されたりApple Watchが発表されたりしてメガネの前に時計が普及してくるのかな?と思ってたらスマートウォッチの中でSumsung Gear Sというのがあってハード的にはディティールがダサいはデカイわで全然ほしくないんだけど、ソフトウェア的には興味深いので誰か買って貸してくれないかなぁ、自分では買いたくない。と思っていました。

 

何が興味深いかというと、OSがTizenというところ。
日本ではドコモの今年あたまの発表で終了のお知らせと思われていて、実際噂されてたロシアでの発売も延期らしくてスマートフォン市場的にはほぼ終了みたいな空気になっているわけですが、一方でTizen IVIやらAGLは車のほうで何かやってたりCross Walkがスピンアウトしたりとスマートフォン端末以外のところでは動きがあったりしているわけです。

 

Gear SはそんなTizenベースのスマートウォッチだということで。これ以前にもGear2とかでていたわけですがGear S発売というニュースをみて「そういやTizenだったな」と再認識したところです。

 

加えて、Gear S発表の数日後にTizen SDK for Wearableの存在を知って、「ちゃんと開発環境そろえてるんや!」と知ってちょっとやる気がでてきた次第。

で、とりあえずIDEをセットアップしてサンプルを動かすところまでやってみました。

 

セットアップのやり方は以下のとおりです。
スクリーンショットOSXですが、Windowsでも同じ要領でセットアップできます。

まず、Tizen SDK for Wearableのダウンロードページに飛んで、OSにあったインストールマネージャをダウンロードします。

f:id:bathtimefish:20140915175712p:plain

 

次に、このページをスクロールダウンして下にあるSDKのイメージの欄からOSにあったイメージをダウンロードします。

f:id:bathtimefish:20140915180026p:plain

 

ダウンロードが終わったら、インストールマネージャを起動します。

f:id:bathtimefish:20140915180201p:plain

 

初期画面で、右下の「Advanced」をクリックします。

f:id:bathtimefish:20140915180245p:plain

 

Advanced ConfigurationのダイアログでSDK imageラジオボタンを選択して、右側のフォルダアイコンから、先ほどダウンロードしたSDKイメージ(zipのまま)を選択します。

f:id:bathtimefish:20140915180545p:plain

 

こんな感じで指定できたらOKをクリックします。

f:id:bathtimefish:20140915180606p:plain

 

Nextをクリックします。

f:id:bathtimefish:20140915180640p:plain

 

「I agree to the License Agreement」にチェックをいれてNextをクリックします。

f:id:bathtimefish:20140915180738p:plain

 

Installをクリックします。

f:id:bathtimefish:20140915180813p:plain

 

インストールが完了したらCloseをクリックしてインストールマネージャを終了します。

f:id:bathtimefish:20140915181246p:plain


デフォルトではIDEは ~/tizen-wearable-sdk/ide/IDE にインストールされます(OSX)。IDEをダブルクリックして起動します。EclipseベースのTizen IDE for Wearableが起動します。

f:id:bathtimefish:20140915182116p:plain

 

使い方は基本的にEclipseです。新しいアプリケーションを作るには File -> New -> Tizen Wearable Web Project を選択します。

プロジェクトは複数ありますが、てっとり早くウェアラブルっぽいUIを見たければ、Wearable UI -> Basic application か List applicationを選択するとよいです。

f:id:bathtimefish:20140915182530p:plain

 

プロジェクトが生成された状態。html, js, cssが生成されています。

f:id:bathtimefish:20140915182831p:plain

 

エミュレータを起動します。Connection Explorer の左端にあるEmulator Managerアイコンをクリックします。

f:id:bathtimefish:20140915183232p:plain

Emulator Managerで適当なエミュレータを作成します。作成できたらエミュレーターの再生ボタンをクリックしてエミュレーターを起動します。

f:id:bathtimefish:20140915183428p:plain

 

こんな感じで、時計型のエミュレーターが起動します。

f:id:bathtimefish:20140915184146p:plain

 

エミュレーターが正常に起動すると、IDEのConnection ExplorerにエミュレーターIDが記載されます。この状態になるとアプリケーションをエミュレーター上で起動できるようになります。

f:id:bathtimefish:20140915185417p:plain

 

アプリケーションのビルドと起動はIDEのビルドボタンもしくはプロジェクトを右クリックしてRun As -> Tizen Wearable Web Applicationをクリックします。

f:id:bathtimefish:20140915185552p:plain

 

ビルドが成功するとこんな感じでアプリケーションが起動します。UIはHTML, CSSでデザインされています。

f:id:bathtimefish:20140915185827p:plain

 

このプロジェクトには最初からlowBatteryCheck.jsというバッテリーのイベントを聴いてバッテリーが少なくなったらアプリケーションを終了するというプログラムが組まれています。バッテリーのリスナの詳細はTizen SystemInfo APIを参照してください。

 

f:id:bathtimefish:20140915190139p:plain



実際にこれを試してみます。まずは上記の lowThreshold : 0.04 となっている値を 0.4 にします。変更を保存したらエミュレーターで起動してください。

アプリが起動したらエミュレーター上を右クリックしてコンテキストメニューのControl Panelをクリックします。

f:id:bathtimefish:20140915190427p:plain

 

Emulator Control Panelが立ち上がるので、右ペインのEvent Injectorの中のBatteryをクリックします。バッテリーレベルをエミュレートするプログレスバーが表示されるので、レベルを40%以下にすると、アプリケーションが終了する動作を観察することが出来ます。

f:id:bathtimefish:20140915190659p:plain

 

このEmulator Control Panelはなかなかよくできていて、他にもフリックジェスチャーのシミュレーションや歩数計のエミュレートもできるようです。端末に搭載されるセンサーが増えてくると、エミュレートできる機能も増えそうな気がします。

 

SDKの詳細やアプリ開発のガイドラインなどはSumsung Developersのサイトにいろいろ資料があります。

 

使ってみた感想としては、開発環境はけっこう揃っていていい感じだなと思いました。Sumsung Developers にはTizen for WearableのアプリとAndroidアプリを連携させるサンプルなどもあってけっこう参考になるんですが、どうやらSumsungのインフラを通してでないとアプリを配布できないみたいで、基本的にSumsung製スマートフォン上のアプリとの連携が基本になるみたいです。

技術的には興味深いんですが、こういうクローズドなエコシステムがやる気をなくさせますね。。そもそもSumsungスマートフォン持ってねえし。買わねえし。

 

一方で、クロスプラットフォーム技術であるHTML5などのWeb技術は今後普及するプラットフォームに浸透も徐々に浸透してくると思います。これからウェアラブルデバイスの開発が多様化するにつれてTizenやFirefox OSChromeなどをベースに動作するかもしれません。

 

そうなったらこっちの仕事なので、ウェアラブルデバイスとWeb技術に関する情報も追っかけていきたいと思います。

ちなみに先日FxOS勉強会でこんな発表しました。まじFxOSでウェアラブルデバイス出たらいいなと思います。

Civic Hack OSAKA 2014 をやってみたらとてもたのしかった

8月24日、31日にCivic Hack OSAKA 2014というイベントを開催しました。
IT系のエンジニア、クリエイターと行政の職員がいっしょにチームを組んでやるアイデアソン・ハッカソンというイベント。特にお題を決めてかかるわけじゃなくて、組んだチームが自由に考えてやる、まあ素朴なHackathonです。

なんというか、これは前からとてもやってみたいと思っていて、けど「たぶん公務員の人とか呼んでも来てくんないよな。」とか「こんな組み方してもまともにアイデアでてこないんじゃないか」とか不安があって躊躇してたんだけど、イノベーションハブの角さんやMiMoSの原さんが「やりましょう!」って言ってくれたのでなんとかなるかもしれないと思ってやりました。

f:id:bathtimefish:20140914131323j:plain


いやほんと、前からやりたかったんですよ。日本でもシビックテックとかCode for なにがしとかいうのは地域でもたくさん立ち上がって様々な検討がされていると聞いています。東北方面では特に活発で、ハッカソンやいろいろな地域活動に結びついていますね。とても素晴らしいことだと思います。


そういう動きを地域の自治体などの行政がキャッチアップして活動を支援しているというのはよくある流れなんだけど、行政と技術者がいっしょになって活動する体というのはあまり聞いたことがないです。行政はあくまで支援するのであって、実際にアイデアを出したりものつくったりするのは技術者がやってるわけですね。

それはそれですごいことなんだけど、「実際に行政といっしょにものをつくりたい」という気持ちがあってですね。行政サービスというのは普段からいろいろdisられているんだけど、エンジニアとしては「問題があるなら解決できるものつくったらいい」という思考に即なるわけで、行政の人とガチで話し合って市民として、エンジニア目線でものづくりにトライしたらいいものができるんじゃないかと。

公務員と技術者が同じ目線で同じ目的に向かってモノづくりしてみると新しいなんかが生まれるかもしれないと思って。まずはやってみようという感じでやってみた感じです。

 

f:id:bathtimefish:20140914131925j:plain



で、募集してみたら毎日新聞さんに取り上げられたり、いろいろな方が公務員やエンジニアの方に声をかけていただいたりしてあっという間に満席になって、かなりニッチなハッカソンなのにちょっとびっくりした次第。


シビックハック:IT技術者と行政が大阪でコラボ 問題解決アプリ開発へ - 毎日新聞

ふたを開けてみると約半数が公務員という当初の想定からは逆のエンジニア少なくね?みたいな比率になってちゃんとモノがつくれるか?という感じだったけど、結果発表がすごいことになりました。

今回は大阪市高槻市和歌山県兵庫県、神戸市、松江市の職員の方々が参加。大阪だけでなく関西・中国地方の各自治体から有志の職員さんが参加されました。異なった行政圏の職員がチームを組んでものづくりに取り組むという機会もなかなかないのではないでしょうか。

実際やる気のある技術者、やる気のある公務員がチームを組むと、こんなに面白いのか。と実感できる内容でした。参加者の方々から「おもしろかった!」という声をいただいたのも何よりうれしかったです。

f:id:bathtimefish:20140914132119j:plain


個人的に、Civic Hackでは技術者には自由に技術をふるまってほしくて、公務員の方々には技術はわからないまでも「こんなのがあるのか、こんなことができるのか」みたいなことを感じてほしかった。ので、ソフトウェア、ハードウェアの両面で運営側から何か提供したいと思いました。

が、まあ金がないのは毎度のことで、どうしようかなと思っていたところ、協力していいただける企業さんが名乗りをあげてくれて、想像以上のレベルで実現できました。何でも言ってみるもんです。ほんと感謝感激雨あられ

株式会社ニューフォリアさんからHTML5マルチプラットフレームワーク applican の開発支援の提供、ハードウェア系ハッカソンで有名な GUGEN さんからArduinoをはじめとする開発用ハードウェア、センサー類の貸し出し、日本ナショナルインスツルメンツさんから、計測機器の試用などをご提供いただきました。なんつーかすごい盛りだくさんでした。

f:id:bathtimefish:20140914133053j:plain


イデアソンから、ハッカソンまで。アイデアが決まってから1週間あったので各チームいろいろ仕込んでいたようです。ハッカソン当日はとにかくものづくりに集中していましたが、元データやプレゼンの計画などは各チームハッカソンまでにけっこう練っていたようです。アイデアソンででた各チームのアイデアはこんなかんじ。

f:id:bathtimefish:20140914133404j:plain

公務員が半数という構成のハッカソンで、当日はどんな作業の感じになるかわからなかったんですが、全体的にみんな忙しく手を動かしている状態でした。技術者は主にアプリなど黙々と開発している感じ、公務員はデータをまとめたり、プレゼンアイデアを練ったり、スライドをつくったり。過去の経験からもそうですが、どんな人でもハッカソンの場に身を置くとなにかで忙しくなるもんです。ヒマになる人なんていない、ちょうどいい焦燥感があって、みんなで忙しさを楽しめるのが良いハッカソンですね。

f:id:bathtimefish:20140914133918j:plain

 

特に公務員の人たちはプレゼンの作成に集中していました。よく考えたら行政マンって広報とかでプレゼンも大事な仕事ですよね。そのせいもあってか、結果発表のクオリティがとんでもないことになりました。数々のハッカソンをやってますがはっきりいってこんなにエンターテイメントな発表ははじめてでした(笑)

まず、チーム ビーコンファイブ。商店街などにBLEビーコンを設置して見守り・保安に役立てようという「まちビーコン」プロジェクト。

f:id:bathtimefish:20140914134325j:plain

何気にロゴっぽいタイトルつくってます。
しかも寸劇形式、まちビーコンを売り込みにきたセールスマンと商店街のオッサンの対談形式でアピールしています。セールスマン役の人はこのためにスーツ着てきたと思う。だって当日は日曜日なのに。商店街のオッサン役の人は某役所の職員さんなんですが、ミナミの帝王に出てくる借金かかえた町工場の社長みたいでした。


チーム プッシュ大阪。行政の広報誌をアプリでプッシュ配信。
こちらも寸劇かと思いきや、ラジオドラマ形式。スライドをテロップ風に使うとか斬新すぎる。

f:id:bathtimefish:20140914134954j:plain

 

f:id:bathtimefish:20140914135007j:plain


延々テロップと寸劇が繰り返されるので、「かんじんのアプリは?」とツッコミそうでしたが、ちゃんと作れていたのでよかったです。

f:id:bathtimefish:20140914135144j:plain


チーム サキイカ。災害時の避難経路共有サービス。市民が災害時の情報を行政に報告できる仕組み。

f:id:bathtimefish:20140914135323j:plain

こちらも寸劇。模造紙余ってないですか?と聞かれたんですが、タスキつくってたのか。。この方、阪神大震災のときに災害対策本部をされていたとのことで、演技が生生しかったです。本部での情報の混乱とその整理がいかに大変かということが伝わりました。解決するための仕組みが必要と切実な訴えです。

f:id:bathtimefish:20140914135550j:plain

 

チーム ゴミ。毎日のごみ収集のタイミングをカウントダウンでお知らせ。
これ個人的には超ほしいです。朝ごみ出しに行ったら収集車が行った後だったというのが1回や2回じゃないので。

f:id:bathtimefish:20140914135810j:plain

めったにない収集のタイミングを教えてくれるとか、これもほしいです。

f:id:bathtimefish:20140914135902j:plain


チーム SHOK。 地域の奉仕活動などの活動情報を、活動したい市民とマッチングするサービス。マッチングだけでなく活動実績をポイント化してTポイントや学校の内申点に還元するなどの仕組みも用意。かなり具体的なビジネスモデルでした。

f:id:bathtimefish:20140914140214j:plain

f:id:bathtimefish:20140914140234j:plain

 

チーム DAN-SA。 町の道路などにある段差の情報を共有。障害者やベビーカーなどでの通行の援助に。
こちらも寸劇。寝ている女性は段差の役だとか。段差役なんて聞いたことない。

f:id:bathtimefish:20140914140449j:plain

作成したアプリモックアップを発表中にQRコードでダウンロードできるところまで。用意周到です。

f:id:bathtimefish:20140914140537j:plain


審査は全員投票+審査員票で決定。アイデアソン時点で、DAN-SAとビーコンファイブには優秀点が加点されています。基本的には参加者の投票数が一番重要になります。

f:id:bathtimefish:20140914140811j:plain

 

結果、1位サキイカ(避難情報共有)、2位DAN-SA(段差情報共有)、3位プッシュ大阪(広報誌アプリ)。2位、3位は同ポイントという接戦でしたがアイデアソン優勝だったDAN-SAを評価して2位としました。

1位チーム サキイカ。賞品はArduino Uno Rv3

f:id:bathtimefish:20140914141130j:plain

2位 チーム DAN-SA 賞品は「ハルロック」1巻

f:id:bathtimefish:20140914141213j:plain

3位 プッシュ大阪 賞品はたこ焼きようかん+たこ焼きキャンディ

f:id:bathtimefish:20140914141306j:plain


ハッカソンは向かうための目標とするたに、あえて順位づけをしたほうが楽しいんですが、実際は優劣をきめられるようなことじゃないです。今回のCivic Hackででた作品はどれもよく考えられていて、実際の行政に活用できるものだと思いました。審査員の方々からも「これほど実用的なアイデアがでてくるとは思ってなかった」という声がありました。

この辺りは実際の行政の現場に携わる公務員と、技術者がチームを組んだことに意味があったように思います。参加された技術者の中には「うちのチームで考えたやつをこれで終わらせるのはもったいないからイベント後も作りつづけて完成させます!」とおっしゃった方もおられました。

こういう姿勢が本質的なボトムアップ型の市民参画型行政の姿だといえるんじゃないでしょうか。「行政が支援するから」「助成金がでるから」じゃなくて実際に問題を認識して、どこにも媚びず解決するサービスを開発し、それを行政と共同で運営していく。こういうのが本当の意味で市民が行政に参加するということ、技術で行政を助けるのがCivic Tech / Civic Hackの意義だと思います。

f:id:bathtimefish:20140914141351j:plain

 

行政サービスも人が運営しているものです。その地域を担う行政の職員と市民がいっしょになって運営して、その難しさも、達成できた時の喜びも分かち合えるとよりよい自治体が形成できるのではないでしょうか。

 

f:id:bathtimefish:20140914142518j:plain


ほんと今回は楽しかったです。他の地域から来られた行政職員の方々も自分の地域でもCivic Hackをやってみたいとおっしゃっておられました。ぜひやってください。ボクもまたやりたいと思います。

最後に、協賛いただいた企業様、協力していただいた審査員の方々。厚く御礼申し上げます。ありがとうございました。

なにより、参加されたみなさん。おつかれさまでした!
またやりましょう。

Happy Hacking !!



「琴浦さん」&「琴浦町」バースデイスペシャルイベント に行ってきた

[琴浦さん]“聖地”鳥取県琴浦町でバースデーイベント | マイナビニュース

 

というのをみて、琴浦町で生まれ育ったボクとしてはぜひ行かねばならないな!と思って応募し、イベントに行ってきました。そうかー琴浦町10周年ですか。町村合併はつい最近のことだと思ってたんだけど、あれから随分とたってるんですね。

 

琴浦町というのは鳥取県中部の町で、原則的に何もない鳥取県の中でも最も何もない地域として県民に知られています。東は鳥取市、西は米子市という鳥取の中では大きな街がありますが、中部にはないんですね。そんな中、全国放送のアニメとして放映された琴浦さんというコンテンツは地域としてものすごいインパクトなわけで、たまたま作者が町名をヒロインの名前にしたというか細いつながりであってもこれを使って地域おこしをするには十分すぎるバリューなわけです。

 

琴浦さんの放送中には劇中に琴浦町の景色が登場したり、AパートあけのCMで琴浦町のロケを流しあからさまに聖地をアピールするなどフライングドッグさんも好意的にやっていただいたようです。ありがたいことですほんと。

 

f:id:bathtimefish:20140830144630j:plain

 

で、2014年8月30日のバースデーイベント。数年ぶりにカウベルホールに行ってみたらすごい人でした。琴浦町で入場待ち的な行列を見たのはもしかしたら生まれて初めてかもしれません。

 

f:id:bathtimefish:20140902123630p:plain

 

写真はイベント開始前の物販ブースで「琴浦さん×琴浦町 特製ナンバープレート」にできてた行列。列の途中にはちゃんと牛骨ラーメンあごカツカレーの販売ブースを用意して待ち行列に食わせようという気満々。地元の店がブース出展していたようです。

 

f:id:bathtimefish:20140902123848j:plain

 

ナンバープレート買ってきました。これで琴浦町になんぼか金が落ちるかなと思って。なかなかそれらしい感じでかわいいです。

 

f:id:bathtimefish:20140830145842j:plain

 

物販のとなりでは原画や等身大タテカン、地元琴浦町のために書き下ろされた4コマなどが展示されていました。ご当地的な感じがしていいですね。琴浦町には琴姫さまというゆるキャラがいるんですが、個人的にはどうしてこうなった?という感じです。合戦モチーフとか生々しいし顔がこええよ。ちょっとヒネりどころを間違えている気がします。

なので、

 

f:id:bathtimefish:20140830144657j:plain

 

f:id:bathtimefish:20140830144850j:plain

 

f:id:bathtimefish:20140830144647j:plain

 

琴浦町はもう琴浦春香ちゃんでいいと思いました。

 

f:id:bathtimefish:20140830150720j:plain

 

イベントは声優さんのトークショー、金元寿子さん、福島潤さんの主役級が出演されました。トークおもしろかったです。福島さんおもしろかった。フリートークに加えて聖地当てクイズ、4コマ生アフレコなど。トークショーは撮影禁止だったので写真は撮れなかったけど、けっこう笑えて楽しかったです。

 

第1話、最終12話の上映を含めた2時間強くらいのイベントでした。終わってみるとあっという間だったけど、会場は200名以上来場されていたと思います。聞いてみると北は岩手県、南は沖縄県からの来客だったとか。県外から痛車で来てた猛者も目撃しました。兵庫県からの参加なんてぬるいですね。。放送から1年以上経過している作品にこれだけのファンがいるとは、琴浦町はこのコンテンツでもっとやっていけるなと思いました。まじでがんばってください。

 

イベントの運営は町役場の方々でされてたようです。イベント運営とか慣れないだろうに、おつかれさまでした。浦安駅までのピストン運送とかすげーがんばってますよね。

 

f:id:bathtimefish:20140830171250j:plain

 

リアルでは名も知られず何もない地域ですが、ネットではアニメ聖地のひとつとして名を馳せているわけです。これを通じて景色がいいとか、食べ物がうまいとかいう琴浦町の隠れた良さを発信していってほしいです。


またなんかやってください。必ず行きます。

ありがとう琴浦町

 

f:id:bathtimefish:20140830171228j:plain

Google Glassをかけてサーキットを爆走したらどうなるか

※本実験は、デバイスの使用感を試すためのものであり、Google Glass装着時の運転の安全性を何ら保証するものではありません。このような運転は通常の運転に比べて危険な行為であるため、十分に安全性に配慮した上で実験を行っております。同様の行為を軽率に行わないようにしてください。くれぐれもお願い致します。

先日、とても興味深い実験に参加させていただきました。
その実験のテーマがこれ「Google Glassをかけてサーキットを爆走したらどうなるか?」です。Android開発やグラスウェアmiramaの開発で有名な株式会社ブリリアントサービスさんにお誘いいただきました。

f:id:bathtimefish:20140516130023p:plain

Google Glassといえば、ぼちぼち一般販売が開始されそうな気配が漂ってきていて一般の人々の手にも届くのかなという雰囲気になってきてますが、そもそも開発者向けには2012年から提供が開始されており、世界中でどんな用途で便利に使えるかとか、Glasswareと呼ばれる専用アプリケーションを開発する試みが続けられてきています。

まあ、ちょっと考えるとGoogle Glassをつけたままで運転するというのはなんか便利じゃないかと思う反面、だいぶ危なっかしい気もします。ボクが最初にGoogle Glassを装着した印象では、右目の直前にディスプレイがある状態で、片目の視界がほぼ覆い隠される感じでした。

f:id:bathtimefish:20140516134438p:plain

正直この状態で運転をするというのは片目をつぶって運転するとほぼ変わらない。かなり危ないな思いました。まあでも実際やってみないとわからんなーと思っていたので今回の実験は大変興味深く、二つ返事で参加した次第です。

法律上、Google Glassを装着したまま一般道路を走るわけにはいきません。なので鈴鹿のサーキットまで行って、サーキット内で実験しました。サーキットに行くまでは「まあ一般車で通常の速度で走るんだろうな」と思ってましたが行ってみると車はレーサー仕様。タイヤも今日のために新調してきたという気合ぶり。どうやら社長の趣味も入ってるようですが、いろいろすごい仕様になってました。

f:id:bathtimefish:20140507102211j:plain

ただ装着して走るだけでは勿体ないということで、開発者の方が実験用のGlasswareをつくってこられてました。車に搭載されているODB2インターフェースからエンジンの回転数を取得し、それを車に搭載したAndroid端末経由でリアルタイムにGoogle Glassに送るという仕組みです。さらに7000回転を超えるとアラートを表示。これで走行中に回転数を眼前でモニタしながらドライブできるというわけです。

f:id:bathtimefish:20140507101349j:plain

ボクはカーレースド素人なので何も知りませんでしたが、レースではスピードメーターよりタコメーターが大事だそうです。スピードは出せる時に目一杯出すのでレース中の関心事ではない一方、エンジンの回転数はコーナーを曲がるタイミングなどで非常に重要らしいです。ほんと一般道での走行とは世界が違いますね。車にモニタ用の端末等を取り付けて、いざ走ってみました。

f:id:bathtimefish:20140507113724j:plain

ドライバーは社長の杉本さん。趣味でよくサーキットを走ると聞いていましたが、めっちゃうまい!ボクは助手席でリアルイニシャルDな体験をさせていただきました。ジェットコースターの感覚ですね。酔うヒマもありません。とにかく席にしがみつくのにせいいぱいでしたw 

f:id:bathtimefish:20140516132551p:plain

ドライバーの杉本さんはというと、さすがかなり余裕の表情です。Glassをつけたまま120km/h以上平気で出してました。「邪魔にならないですか?」と聞いたら「意外にイケますw」とのこと。意外なことに運転には全く支障がないようです。

このときは写真を見ていただくとわかりますが、ヘルメットをしっかりかぶるためにGlassはだいぶ浅くかける必要がありました。そのため目とディスプレイとの間にだいぶ距離が空いたので視界を邪魔しなかったのかもしれません。

さらに写真をよくみるとGoogle Glassのディスプレイ位置がちょうどヘルメットのシールド部分に来ているのがわかります。なるほどこれで邪魔になってないと。興味深いですね。

f:id:bathtimefish:20140516133339j:plain

時間の許すかぎりサーキットを周回しましたが、全く問題なくラップタイムも安定していました。今回の実験ではGoogle Glassが運転に支障を与えるようなことはありませんでした。というか、ドライバーにとってはかなり便利だったようです。

運転中に眼前にエンジンの回転数が表示されるというのはかなり良かったもよう。たしかに同乗した体験からもそれはうなずけました。とにかく運転中はコースから目が離せなくて、計器類をみるヒマもないからです。

同乗した体験から、エンジンの回転数をはじめとして、刻々と変わる車の情報が眼前に表示されるというのはレーサーの判断や車の制御の効率化に貢献しそうな感じがしました。もし車のインフォメーションが全てGlassに完結するということになれば、計器類が必要無くなり車の軽量化にもつながるかもしれないですね。

f:id:bathtimefish:20140516134455p:plain

いやー、杉本さんおつかれさまでした!

今回の実験では次のことがわかりました。

  1. Google Glassはカーレース並みの運転でも邪魔にならない(かけ方による?)
  2. 車情報のリアルタイム表示はかなりイイ
  3. Google Glassの使いどころはいろんな場面にあるかも

メガネに時計と、最近になってウェアラブルデバイスの開発が活発になってきてますが、実際の活用ケースとなるとまだまだピンとこない。という感覚が世間では強いのではないでしょうか。しかし生活のいろいろな場面に実際に使ってみると、意外にすごく便利だ!というケースがあるような気がしました。

個人的には今回でGoogle Glassのようなウェアラブルデバイスは日常生活よりは、特殊な環境の中での作業時に便利となるケースが多いんじゃないかと感じました。

街をぶらぶらしていて、すぐ写真がとれる。なんてのは正直たいして便利とは言えないですが、エンジンの回転数が瞬時にわかって、他のドライバーよりコンマ1秒速くコーナーを抜けられる、というのは大きいと思います。

関西ではHMDミーティングなどウェアラブルデバイスの情報が得られる機会も増えてきました。今後も積極的に情報を得て未来のITの可能性を追究していきたいと思います。

最後に今回の実験にお誘いいただいた株式会社ブリリアントサービスの杉本社長、サーキットでいろいろお話いただいた社員の方々にこの場を借りて御礼申し上げます。

ありがとうございました。