きたぞ!ぼくらのIntel Edison!けどファームが古いクソ野郎だったので更新する.

Edison,まあこういうデバイスの発売日としてはありがちで,ファームウェアが古い.
シリアルで送受信する文字のとりこぼしとかが気になる. 購入したらまずは新しいファームウェアを書き込むべきだと思う.

Edisonのファームをアップデートする.

step 1. Connecting Edison

  • 2本のmicro USB ケーブルを使ってEdisonボードとPCを接続します.
    • Arduino Boardの場合,micro USBコネクタとUSBコネクタの間にスイッチがありますが,これをmicro USBコネクタ側にしておくようにしてください.
    • 補足:J3 -> J16の順にPCと接続する必要があります.
  • 接続が成功すると,FinderにEdisonがドライブとして現れます.

step 2. Remove old images

  • ターミナルを開き,以下のコマンドを順に実行します.
# Edisonのドライブを開く
$ cd /Volumes/Edison
# Edisonに入っている全てのファイルを削除(不可視ファイルも削除する).
$ rm -rf *
$ rm -rf \.*
# lsして全てのファイルが消えていることを確認(何も表示されなければOK)
$ ls 

step 3. Download the latest image

step3-1. 下準備(ファイルシステムの変更)

  • 出荷時にはEdisonのファイルフォーマットはFAT16に設定されています.MacではFAT16への書き込みができないため,ファイルシステムを変更します.

    • Windowsの場合には問題ないのでStep3-1は飛ばして良いです.また,Macの場合でもファイルシステムがすでに変更されていれば飛ばします.
  • アプリケーションディレクトリ内のユーティリティディレクトリにある,ディスクユーティリティ.appを起動します.

  • 左のカラムにある,”Linux File—CD Gadget Media”を選択.
  • 右のカラムの,”消去(Partition)”タブの,”Format”を”MS-DOS(FAT)”に変更します

step3-2. イメージのダウンロードと展開

  • Intel のサポートページから,”Edison Yocto complete image”をダウンロードし,解凍します.
  • 解凍したディレクトリの中にある全てのファイルを,Edisonのドライブ(/Volumes/Edison)へコピーします.

step 4. Flashing Edison

  • ターミナルを開き,以下のようにコマンドを入力し,実行します
# 以下のコマンドを入力し,Enterではなく,”tab”キーを押す.
$ screen /dev/cu.usbserial
# すると,以下のような形でコマンドの~usbserial以降が自動補完される
# “A102GW3T”は各自の環境により異なります.
$ screen /dev/cu.usbserial-A102GW3T
# さらにボーレートをオプションとしてコマンドへ追加しEnterを押して実行.
$ screen /dev/cu.usbserial-A102GW3T 115200 -L
# screenコマンドを実行すると黒い画面が表示されるので,Enterを2回入力すると以下の様な文字が表示されます.
> Poky (Yocto Project Reference Distro) 1.6 edison ttyMFD2

> edison login:
# >edison loginの後に,”root”を入力しEnter
> edison login: root
# 再起動して,Edisonドライブへ展開したimageを書き込む(※ これを実行すると,以前に設定していた,userアカウント,パスワード,WiFiなどの設定は初期化されます)
# 書き込みには3分くらいかかります.画面表示が止まっていても辛抱強く待ちましょう.
 # reboot ota
  • 書き込みが成功すると,以下の画面のようにログイン画面が表示されます.

  • ちなみにバージョンの確認方法は以下

$ cat /etc/version
> edison-weekly_build_68_2014-09-08_13-49-07
# 2014/10/26現在の最新ファームのバージョンです.

Punch Through の Light Blue Bean がようやっとやって来た!

タイトルのとおり,Punch Through のBeanがやって来た.
http://punchthrough.com/bean/
たぶんMakeかなんかを見て1年半くらい前に注文(投資)したと思うんだけど,ようやっと来た.
小さいしかわいい感じだし,スマホなんかのアプリと連携するシンプルなデバイスのプロトタイプ作るには良さそうだと思う.


で,こいつはArduino IDEからプログラム書き込めるんだけど,
その準備に微妙に手間取ってしまってだるい感じだった.
あとでまとめたい.
http://punchthrough.com/bean/getting-started/

注意点としてはざっくり3つあって,
1.Arduino IDEは1.0.5を使う
2.Arduino IDEを起動した状態でTeensyduinoとBean Loaderのプラグインを入れる.で,その後再起動
3.Bean Loaderは以下の写真のディレクトリにあるんだけど,特に気にする必要はなくて,ArduinoIDEで対象のマイコンボードをBeanにして,Verifyしてあげれば勝手に立ち上がる.


あと,Macから4台同時に見えることがなくって,どれか1台だけが見えてる状態が基本なんだけどこれなんなんだろう.
うちにはMacが3台あるんだけど,全部同じ状態.
こいつらBluetoothのヘッドホンも見えないし,Mac側のBluetoothが腐ってるんだろうか.
iPadからは全然問題なく4台同時に見えるし,ヘッドホンもつながる.
とてもだるい.

コーヒーの抽出状況を自席でチェックできるやつをつくった

弊社では最近プライベートで新規性や進捗性を出そうとすると偉い人に
お伺いを立てないといけないので、
全く使い古されたコーヒーメーカーの抽出状況を確認するシステムを
今日のお昼休みから作り始めた。
↑別におもしろくない身内ネタ。


仕組みとしては超単純で、コーヒー抽出中に光ってるLEDをcdsで計測して、
その結果をEthernetシールドつけたarduinoで取得してそこのサーバから配信する。
細かい点としては、ルータのイーサの口がお茶場から遠いので、
センサ部分とサーバ部分を担う2つのarduinoXBeeで中継してる。
これは大学時代にインターネットから家電を制御するシステム作った時のやつをそのまま流用してる。
来週のお昼休みにはアイコンとかでパッと抽出状況確認できたり、残量確認できるクロムエクステンション作りたい。
あとたぶんそのうちコーヒーひっかぶって壊れると思うので、ケース的なものもどうにかしたい。


最後に.
コーヒーメーカーのコーヒーがなくなってるのに気づいたらちゃんと新しいの作りましょう。

iOS8で変わるデベロッパの役割(WWDC2014 おもしろかったこと)

サービス、言語、プラットフォームをAppleが殴りまくるという大変すばらしいWWDCでした。死体臭い。

iOS8は、人中心の、計算機とか実世界とかそういう枠をとっぱらったサービス提供をするためのプラットフォームなんだと思った。
・Home Kit(HWのとりこみ)
・Health Kit(行動、状態のとりこみ)
・アプリ間連携(とりこんだコンテキストに対してアプリ間連携によるシームレスなサービスを提供。HWもSWも同じ感じで扱って、ひとつのサービスを提供)



例えば洗濯機かけたままユーザが外出したのを察知して乾燥までやってくれるとか、かけ忘れたカギをかけてくれるとか。
例えばTwitterで見かけたイカすミュージックビデオを1人でリビングにいるときはテレビに、3人でリビングでクイズ番組見てる時はPCに表示してくれるとか。
ドライブ中に超気まずい時に社内の人のこれまで聞いてきた音楽とか、見てきた映画とかのアンドとって場をつなぐための曲をチョイスしてくれるとか。
そういうみんながこれまで思い描いてきたいろんな個々のパーツが連携して新しいサービスとか体験を提供するためのプラットフォームがiOS8。



これまでデベロッパがやってた、個々のパーツ作ることよりも個々のパーツを統合させるプラットフォームがiOS8なんだから、それ使ったクールなサービス提供するのが、これからのデベロッパの役割では。そうはいってもそのためにどんな個々のパーツを用意しておくかというのは大変重要だと思う。そのためのSwiftであり、Metalなんでしょう。

ゴツい発表でした。絵文字プログラミング最高!!

最新のChrome(v24)で動くWebRTCビデオチャット

WebRTCのPeerConnection,Chrome18以降は触れてはならないみたいな感じになってたけど,
最近のAPIだとどうなんだろうと思ってすごいシンプルすぎるビデオチャットアプリをつくった.


こんな感じになる.ふつうのWebカムがなかったので相手側端末はタッチパネル作った時の赤外線フィルタつけたWebカムでテレビの画面をとってる.

  • ソース

shiitakeo/webRTC_simplePeerConnection · GitHub

  • デモ

http://shiitakeo.com:3000/

  • 動かしかた

http://www26.atwiki.jp/shiitakeo/pages/37.html


接続先を選んだり,チャット部屋を作ったりとか全然してないので,そのときビデオチャットしてない人と勝手にマッチングされる.
ランダムチャットみたいな感じでランダムビデオチャット組んだらエロいことあるかもしれないと思ったけど,
ググったらクソほど出てきたのでクソです.あーあークソだなー.

Raspberry PiでSiri Proxyうごいた!!!!!!!!

@ryo_katsumaさんのSiri Proxyでライトオンオフする記事みて,これRaspberry Piで動いたらやばいなーと思ってググったら外国人がガレージ開け閉めしてた.
http://blog.katsuma.tv/2013/01/siriproxy-iremocon.html

おお!と思ってhttps://github.com/plamoni/SiriProxyをいれてみたら動いた.

RVMで1時間くらい待たされたり,微妙に勝手が違ったりするので多少めんどくさかったけどなんとかなった.
あとでGPIOいじったりしたら,それについてとか,今回のRaspberry PiにSiri Proxyインストールする文章追加する.
みんな早くRaspberry Pi買うべき.