microbitでMicroPythonが簡単で便利、そして楽しい

先日した仕事で、無線のセンサータグ的な要件にピッタリだったので、microbitをMicroPython使って開発したんだけど、これが簡単、便利、楽しいの三拍子が揃っててよかった。
f:id:miso_engine:20171214181310j:plain

microbitのいいところ

  • 2000円程度と高くない
  • 入力と出力が標準装備
    • 入力:スイッチが2つ
    • 出力:5x5で配置された25個のLEDディスプレイ
      • 文字や画像を表示・スクロールするライブラリが標準装備
      • Pythonのエラーがディスプレイにスクロール表示される
  • BLE搭載
    • BLE機能は実際に使わなかったのだけど、microbit同士で簡単に通信できるBluetoothライブラリが添付されている
  • Webコンパイラ
  • 加速度センサ搭載
  • ドライバ不要
  • 日本語リファレンス完備
  • ワニ口クリップでIOポートを簡単に繋げる
  • 基板がかわいい

MicroPythonのいいところ

  • 書くのが楽
  • Pythonなのでコードが読みやすい
  • 対話式インタプリタで変数の情報とかを読み出せてデバッグが超楽
  • muというIDEが軽くて補完の機能も良い

microbit & MicroPythonのよくないところ

  • ポートが金属として露出しているのでちょっと気を抜くと触ってセンサの値がとんでもないことになりがち
  • MicroPythonの開発環境からは今のところ一意のIDを読み出せなさそう & プログラムを書き込むたびに記憶領域が吹っ飛ぶからID持たせるのが大変

コード例

左のボタンを押したらハート、右のボタンを押したらキリンが表示されるプログラム。たった7行で書ける。

全体的に

microbitというハードの良さとMicroPythonとその他のソフト環境の良さ、その2つが相まってArduinoより体感で4倍ぐらい快適だった。特に入出力がデフォルトであって、microbit自身がエラーを報告してくれるところ。Arduinoだと色々買って繋げてライブラリを入れてようやくこの環境になるので。とはいえ、ライブラリの導入とかをしてないので、もっと大規模な開発になってくるとまだわからないのだが、AdafruitもPython推していくみたいだし、下記記事で書かれているように、開発は簡単なPythonでやって、性能とかバッテリ寿命とかシビアな本番環境は別の言語、環境で開発する、というのはかなり現実的だと思う。
Make: Japan | AdafruitがCircuitPythonへ移行
f:id:miso_engine:20171205114453j:plain
色違いがたくさんあるのも楽しい。

micro:bit(マイクロビット)

micro:bit(マイクロビット)

*1:まぁ最近は普通か

仕事場のコンテナ収納

はじめに

収納についてずっと考えてきたけど、プラスチックのコンテナを使うのが正解だとようやく分かった。よく片付いてるなと思う研究室(橋本研や梶本研など)の様子を垣間見るたびにプラスチックのコンテナがちらちら見えてたからなんとなくそうなんだろうなと思っていた。

件の橋本研。デイリーポータルZで垣間見える。写真は、”アイデアスケッチの描き方を習ってわかった10のポイント - デイリーポータルZ:@nifty” から引用している。

f:id:miso_engine:20170721162845j:plain

左後ろにコンテナ収納がびっしり詰まっている。コンテナが入っているところは、棚の高さを目一杯生かしていて、ほとんど隙間がなくスペース効率が極めて高い。

f:id:miso_engine:20170721165136j:plain

こちらの画像では、ラベルも見える。

ということで、思い切ってプラのコンテナをたくさん買ってみたらめっちゃ片付いた。

買ったコンテナ

f:id:miso_engine:20170301173454j:plain

思い切って買い過ぎて天井まで積み上げられてしまった。すべてのコンテナは透明であるとよい。色付きは中身が見えず、場所的負債になるだけだ。

小さめのコンテナ

まずは小さいコンテナから。このコンテナたちが僕の仕事ではメインになっている。以下の要件を満たすと良い。

  • 適したサイズがある
  • フタなし
  • スタッキングが可能
  • 透明

適したサイズ、というのは結構小さめのサイズのことだ。具体的に言うと189mm x 154mm x 84mm のサイズ。また、持ち出さなかったり、仕事場でそんなに汚れが発生しないならフタなしが断然オススメだ。フタを開ける手間、無くす機会が存在しなくなるからね。そしてスタッキングが可能だと、コンテナだけで立体的に空間を有効に活用できるのだ。

以上の要件を満たすのは、

になる。どちらもサイズのバリエーションはほぼ同じで、形もほぼ同じ。どちらにするかはお好みだ。僕はアステージを買った。アステージの#1.5サイズはなんと目盛りが付いている。

アステージNFボックスの#1.5と#1.5をスタッキング可能でより大きな#7、#11を買った。以下の写真は#1.5と#7のみ。テスト的に購入したので、バックル有り無しやフタの有り無しが混在している。

f:id:miso_engine:20170210150806j:plain

f:id:miso_engine:20170210152306j:plain

机の上ではこんなふうに使っている。

f:id:miso_engine:20170712180029j:plain

#1.5

最小サイズ。細々としたものを適当に放り込んで使っている。すごく便利。作業スペースが足りないと思ったらこの人に放り込んでスタックするだけで机が広がる。

#7

#1.5よりも大きいのが欲しいなと思ったときが使い時。あと#7はケーブル収納に便利だ。USB、EthernetHDMIなんでもござれ。#1.5は小さすぎて太めのケーブルをいれるのが難しい。

#11

このサイズは#7よりも高さがある。高さがあるとものを取りにくくなるので普段使いにはあまり向かないが、外に持ち出すときにいろんなものをまとめて放り込めて便利だ。後述するが、このサイズは外用ということでバックル付きのNCボックスシリーズで買った。

Astage NCボックス #11 [W約20×D約34.9×H約18.1cm]

Astage NCボックス #11 [W約20×D約34.9×H約18.1cm]

外に持ち出すならバックル付き

外に持ち出すなら、フタはいる。バックルで留めるタイプが良い。アステージもアイリスオーヤマもフタ無しと同じサイズのものが存在している。アステージだとNCボックスだ。フタ無しのNFボックスとの違いはバックルがついてるかどうかで、実はNFボックスにもバックルをつける穴は空いている。

散らかってほしくないものもバックル付きに収納している。

f:id:miso_engine:20170712180239j:plain

大きめのコンテナ

小さめのコンテナと違い、たくさんの会社が出しているが、天馬のロックスを購入した。キャスターをつけられること + 信頼のブランドということで。棚の一番下にキャスターつけて入れ込んでいる。

細かいパーツはアイリスオーヤマのパーツキャビネット

小さかったり細かいパーツ、例えば電子部品やネジなどはアイリスオーヤマのパーツキャビネットPC-310(色違いでKC-310Rというのもある)で完璧だ。引き出しが前述のNFボックス#1.5や#7にすっぽり入る。

アイリスオーヤマ 工具箱 パーツキャビネット PC-310

アイリスオーヤマ 工具箱 パーツキャビネット PC-310

f:id:miso_engine:20170721164024j:plain

コンテナ名入れ三種の神器

  1. マステ
  2. マステカッター
  3. マジック

である。これを職場に常備して、コンテナを使い出すたびにバンバン書いていこう。

家庭向けコンテナ

仕事用コンテナは家庭向けには頑丈すぎてオーバースペックなところがあるため、家庭用では性能よりも見た目にバランスを傾けた製品が多い。その中ではサンカのinboxが便利である。

サンカ インボックス S クリア 0

サンカ インボックス S クリア 0

f:id:miso_engine:20170712180225j:plain

ほぼ真四角で使いやすいので仕事用にも使おうとしたが、仕事で使うコンテナと比べて少しヤワなところがあり、重量物(今回はACアダプタ)をいれるとたわむのを感じる。使えないことはないし、軽いもの中心ならこれでよいと思う。

まとめ

コンテナ達によって弊社のメインの棚はこんなふうになった。まだスカスカだけど、コンテナあるなしで使い勝手が段違いだ。棚板の奥行きは30cmである。

f:id:miso_engine:20170721164052j:plain

おまけ

どんなプラスチックコンテナがあるか把握したいなら、アイリスオーヤマのコンテナボックス収納 製品一覧ページが便利だ。
コンテナボックス収納 製品一覧|アイリスプラザ│アイリスオーヤマ公式通販サイト

IndoorAtlas社 "Mapping Quick Start Guide with MapCreator2.0" の抄訳

Mapping Quick Start Guide with MapCreator 2 - IndoorAtlas

IndoorAtlasとは磁場を測定することで建物内での位置測位が可能なシステム&会社名。SDKは公開されていて無料の枠で使えたりするのだが、使う際にはまず最初に位置測位を実際に使う場所の磁場をマッピングする。その際のマッピングの注意点についての記事を簡単に訳す+僕なりの精度向上Tipsをまとめた。重要だと思うポイントのみをきちんと訳してマップの正確性を上げようとしたので、ただの操作説明やそこまで重要と思えなかった情報は訳していない。ご了承を。

推奨Android

  • Nexus 5, 5X, 6, 6P
  • OnePlus2
  • LG G4
  • Xiaomi Mi4

indooratlasのマッピングにおける重要なポイント

Waypointsの場所

  • かんたんに正確に分かる場所(柱やドア)に置く
  • 10-20m以上離して置かず、壁から0.5-1m程度離して置く
  • 3m幅の通路などの狭いエリアをマッピングするには2-3のパス(75cmずつの距離で空ける)でカバーするとよい

重要:異なるWaypointsで同じ場所をオーバーラップするパスを作ることで完璧なカバレッジが可能になる。例えば、同じパスを反対方向から計測するなど。ABCDのWaypointがあり、ABCDの順に回ったら、次はBDCAの順に回るなども良い。これをするとポジショニングとアナリティクスの向上に繋がる。

計測時の注意点

  • 出来る限りまっすぐに自然に歩く。その時スマートフォンは水平にして前を向いた状態に。
  • スマートフォンは常に身体の近くに。腕の動きを影響させない。
  • 曲がるときはスマートフォンも曲がるべき。
  • なにかにブロックされたらその場で止まってそれがなくなるを待つ。レコーディングを停止しない。
  • 同じWaypointになんどでもチェックインできる
  • 歩ける場所全てを1.5mのギャップがパス同士にないようにカバーする
  • 1つのパスでのレコーディングは2.5分までにする

マッピング

重要:マッピング中はかならずアプリケーションがアクティブである必要があります。アクティブでなくなるとデータが消えます。(ex.電話に出る)

  • スタート時のWaypointをタップし自分自身をそのWaypointの真ん中に来るようにします。ズームして完全に真ん中になるように調整しましょう。
  • 計測開始時に自分が歩くと画面の中の自分の位置を示すドットも動くことがありますが、これが実際の動きと異なる場合でも気にせずにあるきましょう。

訳者的注意点

  • 実際に試したところ、良くないパスになったなと思ったら躊躇なく破棄し、良いパスのみを保存すると良かった
    • 初期のよく分からずにやっていたパスを全て破棄し、慣れたあとのパスのみでマップを作ると精度が一気に向上した
  • ごく近くのWaypoint(2m以内程度か)だとチェックイン不可能
    • たまに出来るが無理やりチェックインしようとするよりはパスがオーバーラップするようにして、チェックインしない方がよい感じ
  • 最初の地点に来たとき、ユーザに操作させたり、ビーコン等を使って位置を特定することでその後の動きの精度が上がった
  • 広いところは四隅を四角く取得 + 真ん中で斜めにクロスさせる形で取得するとよい