ブログ

ορεσικα ψομαναι κυσο βλογ

Arduino Yún(OpenWRTYun)の設定情報書き出しには注意

YúnのWebインターフェースからOpenWRTYunの設定画面へ

YúnのWebインターフェースはシンプルなので、できることが限られています。しかし、Yúnの実体はOpenWRTであり立派なLinuxです。OpenWRTの設定は複雑なので初心者にはなるべく見せないように工夫されていますが、YúnのWebインターフェースからOpenWRTの設定画面を開く経路があります。初心者は読んでもろくな事がありませんのでこの先は読まずに寝るといいよ。

Yúnに普通にログインした後、CONFIGUREボタンを押します。

f:id:XX-Prime:20150406213543p:plain

次に、advanced configuration panelリンクをクリックします。

f:id:XX-Prime:20150406213737p:plain

さらにSystem->Backup / Flash Firmware タブに進み、Generate archiveリンクをクリックすると、設定情報を含んだbackup-Arduino-<日付>.tar.gzという名前の設定情報アーカイブファイルをダウンロードできます。

f:id:XX-Prime:20150406214057p:plain

このファイルを、同じページのRestore backupからアップロードすれば設定情報を復元できます。この機能はとても便利で使いやすいのですが、一点注意が必要です。

設定情報アーカイブの中身

ダウンロードしたアーカイブファイルを展開してみると、/etc/ディレクトリをトップディレクトリとして、重要そうなファイルとディレクトリが見えます。なお、アーカイブファイル自体にはパスワードのロックはかけられておらず、入手すれば誰でも中を見ることができます。

f:id:XX-Prime:20150406214800p:plain

configディレクトリにあるwirelessというファイルが問題のファイルです。このファイルを開くと以下の様な内容になっています。

f:id:XX-Prime:20150406215515p:plain

ssidとそのプリシェアードキー(パスワード)が平文で書いてあります。ssidは見えても特に問題ではありませんが、パスワードが平文で入っていることは覚えておいたほうが良いです。「俺のYúnの設定情報はこんな感じだから参考にしてね」とか言って、このアーカイブファイルをおっぴろげてしまうとパスワードをおっぴろげてしまいます。

提案

Generate archiveリンクの横に、「このリンクをクリックしてダウンロードされる設定ファイルには、パスワード情報が含まれているので取り扱いに注意してね。」という注意書きを入れると良いと思います。赤いボールド体で。

ま、俺しか見てないこんなブログで提案しても意味ないんですが。

とりあえず俺が忘れないようにメモっておきました。

まとめ

Yúnの設定情報アーカイブファイルの中に無線LANアクセスポイントのパスワードが平文で入っている事を知らないナイスガイは、ナイスガイとは呼べません。

Arduino YúnのWi-Fi機能を復活させる

Arduino Yúnとは

Arduino Yúnは、Wi-Fiおよび有線Ethernet通信機能が実装されているArduinoボードの一種です。私がSwitch Science社から買った時点(去年の何月か忘れた)では、技適の関係でWi-Fi通信機能が使えないように改変された状態で売られていました。私が入手したのはそれです。

Yúnが技適を取得

http://mag.switch-science.com/2015/03/06/try-arduino-yun-1/

を見ると、YúnのWi-Fi部分が日本の技適を取得できたらしく、今ではWi-Fiの機能が使える状態(Switch Science社による独自改変なし)のYúnが販売されているようです。ということは、私のYúnのWi-Fi機能を復活させても問題ないのではないか、と解釈して復活させることにしました。厳密には法に抵触する恐れがあるので、夢も希望もあるまっとうな人々にはお勧めできません。こんな駄文を読んでないで早く寝るといいよ。夢も希望も失った私のような人は続きをどうぞ。

復活方法

まず、マイクロSDカードを一枚用意します。容量は32MB以上あればOKです。これを適当なカードリーダーでWindowsに接続して、FAT32でフォーマットします。

次にYúnの最新イメージを

http://arduino.cc/en/Main/Software#toc8

からダウンロードします。現時点で1.5.3が最新版のようです。ダウンロードしたzipファイルを展開して、約16MBのバイナリファイルをマイクロSDカードにコピーします。ディレクトリは作らずカードのルート直下にbinファイルが配置される必要があるようです。

このマイクロSDカードをYúnのカードスロットに挿してYúnを再起動します。YúnにWebブラウザでアクセスしてログインすると、以下の様なイメージフラッシュ用のRESETボタンが現れるのでこれを押します。

f:id:XX-Prime:20150402222558p:plain

3分くらい待ってから再びYúnにログインすると、めでたく以下のようにWi-Fiインターフェースが見えるようになります。これでようやくYúnらしい使い方ができるようになりました。

f:id:XX-Prime:20150402223028p:plain

スクリーンショットを取るのを忘れましたが、Wi-Fi復活前の画面はETH1だけが見える寂しいものでした。

なお、この手順はYúnの最新イメージをフラッシュする方法そのものなので、技適取得後のYúnを購入した方も、新しいイメージやカスタムイメージをフラッシュするにはこうします。sshでフラッシュコマンドを実行する方法もありますが、Webインターフェースからボタンクリックでフラッシュするのが一番楽です。

ParseがIoT用SDKをリリース。最初はYúnをサポート。

www.itmedia.co.jp

Yúnを持っている人は試してみるのも良いのではないでしょうか。

まとめ

Wi-Fi機能が停止されたYúnを購入して号泣していたナイスガイには、Wi-Fi機能の復活をお勧めしたいです。

 

SensorTag 旧アプリ

注意:この文書の内容は古くなっています。すでに新しいバージョンのアプリにOTAアップロードの機能も実装されているため、何か特別な目的がない限りわざわざ旧アプリを使う理由はもうありません。新アプリには加速度センサの扱いでバグっぽい動きがありますが・・・。

旧アプリが欲しい

Play StoreではTIのSensorTag用のアプリがアップデートされており、グラフ化やSensorTag2への対応などの新機能が実装されています。それはそれで良いのですが、ジャイロスコープが使えなくなったり、ファームウェアのOTAアップロード機能が無くなるなど、人によっては致命的な機能が失われています。そこで旧アプリを再び使えるようにする方法をメモします。

旧アプリはソースコードごと入手可能

SensorTag-Android - Gitorious@TI Open Source Collaboration

上記リンクからSensorTag用(旧)アプリのソースコード一式を入手してAndroid Studioにインポートします。下記のように実デバイスを指定して実行すれば自動的にインストールできます。

f:id:XX-Prime:20150325200912p:plain

 なお、新アプリとの共存が可能なので躊躇なくインストールできます。ただし、アイコンファイルをいじらないと下のように同じアプリが二つ見えてちょっとぶざまです。

f:id:XX-Prime:20150325202009p:plain

上が旧アプリです。AndroidManifest.xmlを見ると、/res/drawable/tible.png/にあるのがアイコンファイルなので、これらのアイコンファイルを適当に加工して旧アプリであることを強調すると良いかもしれません。

実際に動作させてみて、旧アプリの機能が正しく動作することを確認できました。各センサのON/OFFはセンサタグ内部ではなくアプリで制御していたことがわかりました。センサの出力を取る手順は、まず読みたいセンサ(群)をONにして、少し待ってから出力を読み取ります。

旧アプリもSensorTag2に対応?

旧アプリと呼んで良いのか不明ですが、アプリのメイン画面を定義しているxmlファイルが二つあります。

/res/layout/services_browser.xml

が以下。旧アプリそのものです。

f:id:XX-Prime:20150325203247p:plain

/res/layout/services_browser2.xml

が以下。LuxometerがあるのでSensorTag2用の画面定義でしょう。SensorTag2を持っていないので実際の動作は確認できません。SensorTag2にはマイクロフォンが実装されているはずですが、それに対応する行は(まだ)無いようです。

f:id:XX-Prime:20150325203300p:plain

Barometerの単位が変じゃね?

新旧アプリとも、Barometerセンサの物理単位がnPAになってます。ナノパスカルなわけないです。1000ナノパスカルじゃそこそこの高真空です。正しいのはhPaですよね。たぶん、アプリ設計者の手書きメモの段階ではhPaと書いてあって、「インド人を右に」現象を経てnPAという単位になってしまったと思われます。今の今まで誰も気づかずに誰も直してないのが不気味です。

まとめ

アプリが勝手にアップデートされてしまって、ファームウェアのOTAアップロードができなくなって困って酒を飲んで寝ていたナイスガイには、ソースコードのダウンロードとビルドとインストールをお勧めしたいです。

TI SensorTag の新版が出た

TI SensorTagとは

TEXAS INSTRUMENTS社が販売している、Bluetooth Low Energy(BLE) でセンサデータを送るタグデバイスです。複数のセンサが搭載されているのでIoTのエンドデバイスの評価用に重宝します。

そのSensorTagの、アップグレード版が出ました。

New SensorTag


Bluetooth low energy SensorTag - TI.com

アップグレード版はタグ自体が小さく薄くなって、センサが10種類に増えました。マイクロフォンと照度、磁場センサが追加されて、お値段はやや増の$29です。旧版が$25です。これらの追加センサがないばかりにふて腐れて酒を飲んで寝ていたナイスガイには朗報です。さらに、新版はZigbeeにも対応したようです。BluetoothZigbeeって、もはや別々の規格として存在する意義が薄れてきつつあるように思います。政治的な戦いには興味ないので勝手なこと言ってますよ。

New SensorTag対応Androidアプリ

新版タグに対応すべく、Androidアプリもアップデートされました。iOSアプリにはまったく興味ないけどたぶん同じようにアップデートされているのでしょう。

f:id:XX-Prime:20150303203739p:plain

こんな風に、グラフが出るようになっていい感じです。俺の部屋乾燥しすぎ。

新アプリの問題点

旧版には存在した重要な二つの機能が消えてしまいましたorz

1. センササービスの有効化・無効化の制御

旧版のアプリは、それぞれのセンサのON/OFFを制御できました。私はジャイロセンサをOFFってました。ジャイロだけ異様に消費電流が多かったからです。新版はその制御ができなくなったので(※)、私のSensorTagのジャイロセンサは生き返ることはなくなったのであります。さようならジャイロセンサ。大飯喰らいで困ったヤツだったけど、君の事は忘れないよ。

(※)すでに有効化されているセンサのON/OFFは可能な模様。

2. ファームウェアアップロード機能

旧版は、タグ用のファームウェアをBLE経由でSensorTagにアップロードする機能がありました。新版にはその機能がありません。もしかしたらファームウェアアップロードの仕組みが別に用意されたのかもしれませんが今のところ見つけられていません。

とはいえ、新アプリはまだ出たばかりなので、これら二つの機能が再実装される可能性が消えたわけではありません。と信じたいです。

技適

新版のタグはまだ日本の技適が取れてないので、日本国内の電波暗室の外で使うと逮捕されてシベリアで強制労働の刑に処される恐れがあります。TIさん、なるべく早く取得おねがいします。割と切実に。

追記

2015年の4月16日に日本テキサスインスツルメンツ株式会社が工事設計認証を取得したようです。

xx-prime.hatenablog.com

The art of electronics 3rd edition がとうとう出る

The art of electronicsとは

1125ページあるエレクトロニクスの本(2nd edition)です。私のようなクソ虫がこの本の良さを伝えることは荷が重すぎるので、興味ある方は検索してください。

3rd edition

2015年二月末時点で2nd editionが販売されています。3rd editionが出ると言われ始めたのが2012年末あたりで、伸びに伸びて、とうとう2015年4月末に出るようです。出版社のページにも正式に出ているので、もう遅れることはないでしょう。きっと。そう希望します。

バックカバーの推薦文にはあのLadyadaが


The Art of Electronics 3rd Edition by Horowitz & Hill HARDCOVER [Third Edition] ID: 2356 - $120.00 : Adafruit Industries, Unique & fun DIY electronics and kits

Ladyadaは、赤毛の電気技師です。私のようなクソ虫がLadyadaの凄さを伝えることは荷が重すぎるので、興味ある方は検索してください。2nd editionは銀色のカバーだけど、3rd editionは金色なのね。1470ページと大幅に内容が増えたので、通勤・通学の電車内や下らない会議の最中にコッソリ読みましょう。

安価に買うには

Book Depository: Millions of books with free delivery worldwide

で買うと安く買えるようです。日本への配送にも対応していて、私が予約した時点で9899円でした。が、入手が遅れるかもしれないので、amazon.comあたりで予約しておくのが安全かもしれません。

好きな練習問題を一つ

二か所からオン・オフを制御できるスイッチとランプの配線の説明があって、それだけで面白いのですが、スイッチを3つ以上のN個に増やすにはどうするか?というのが問題1.31です。2個のSPDTの間にN-2個のDPDTを入れると解けます。

f:id:XX-Prime:20150228151849p:plain

注)本に解答はついていません。

 

Xivelyの代替候補M2X

Xivelyの新規アカウントが取れなくなっている

Xivelyが無料新規アカウントの発行を渋っているようだ。アカウントを作ろうとすると、long waiting listの末尾に追加してやったから待て、とか言われてずっと放置される。たしか半年くらい前に作ろうとしていまだに放置プレイ中。

Xivelyの代替候補

xively alternativeとかで検索するといろいろヒットするけど、紹介したいのはAT&Tが提供しているM2Xというサービス。


AT&T M2X: Data storage for the Internet of Things

アカウントを作ってAPIキーを作成した後にデバイスを新規作成してデバイスキーを取得する。これをいろいろな言語で実装されたライブラリで使ってデータを上げるというxively丸パクリそっくりの構成なので、xivelyを使った経験があればものの数分でデータをアップロードできる。

xivelyを知らなくても、例えばrubyなら


attm2x/m2x-ruby · GitHub

のサンプルコード(uptimeコマンドでCPU負荷を取得してそれをM2Xに上げる)を実行してみればすぐにやりかたを理解できる。

放射線センサのデータを上げてみる

Pocket Gerger Type5

http://www.radiation-watch.org/2012/11/type5.html

Raspberry Piに接続して、

http://www.orsx.net/blog/archives/4231

を参考にして /var/lib/rasdiation/rasdiation.fifo から測定データを取れるようにしておく。

 サンプルコードを参考に

http://thirdeye.dip.jp/rpi/rasdiation_m2x.rb

(上はリンク切れ。

http://xx-prime.hatenablog.com/entry/2016/01/06/220949

がxivelyとm2xの両方へアップロードするもの。)

のようなスクリプトを書いてcronなどで定期実行すればOK。呆れるほど簡単。

下はその結果(中野区某所のライブデータ)。パブリックデバイスに指定すると簡単に公開できる。Xively丸パクリそっくり。

 

https://m2x.att.com/d/f9a07b4a659cd626d4a570648f01bdec

M2Xの利点と欠点

利点

  • 簡単に使える。
  • アカウントの出し渋りが(今のところ)ない。
  • 超巨大企業AT&Tが提供しているので多分簡単には停止しない。なんかxivelyは最近よく止まってる気がする。
  • データ量の制限が比較的緩い。1デバイスあたり一か月10万個までOK。例えばkeen.ioなどはグラフは綺麗だけど無料アカウントのデータ量制限がきつくて使いづらい。

欠点

  •  タイムゾーンの指定ができないので、グラフ表示はグリニッジ標準時になる。日本だと9時間足して考えないといけないのでちょっと不便。この点はxivelyの方が優れている。
  •  グラフがあまり綺麗じゃない。実用上は、データをAPIで取得して自分で加工するのが主体だろうから些細な欠点ではある。

大丈夫かXively・・・

そろそろまた所有者が変わって名前が変わるような気がする・・・。

まとめ

卒論とか会社のデモとかでIoTを簡単に実証して見せたいんだけど、Xivelyの無料アカウントが取れなくて困ってるナイスガイにはM2Xをお勧めしたい。

 

Vmware Player 6 の bridge 接続がつながらないときの対処法

Vmware Player と Virtualbox を両方インストールしていると、Vmware Playerのインスタンスの bridge 接続が機能しなくなることがある。

以下の簡単な手順で bridge 接続できるようになる。

1. 仮想マシン設定の編集 をクリックする。

f:id:XX-Prime:20131017094441p:plain

 

2. ネットワークアダプタアダプタの設定 をクリックする。

f:id:XX-Prime:20131017094817p:plain

 

3. 使用したい物理アダプタ以外のチェックをはずす。

f:id:XX-Prime:20131017095103p:plain

 

これだけ。