ESP8266 > Borg sensor system1 の現状 (2016/12/21)

## Borg sensor system1

ちょうど一年前の2015年12月21日に[borg sensor system1 > 開始](http://qiita.com/7of9/items/183e3f9ef7c812c01836)という記事を書きました。

当時、時間が空いた時にマインドマップを描くうちに、自分の本業で今後行うであろう製作物（組込みに関するもの）、当時始めていたESP8266、自分が好きなStar Trek Voyagerに登場する小型宇宙船デルタフライヤーなどを考えながら、上記のリンクの図を作成しました。

そして、「関連する技術の習得」を目的としてBorg sensor system1を開始しました。

このシステムの中心となるのがESP8266です。

## 実施したこと

関連して実施したことをQiita記事を見ながら、経過をガントチャートにしてみました。

[ガントチャート@http://knsv.github.io/mermaid/live_editor/](http://knsv.github.io/mermaid/live_editor/#/view/Z2FudHQKICB0aXRsZSBCb3JnIHNlbnNvciBzeXN0ZW0xCgogIHNlY3Rpb24gU2VjdGlvbgogIEVTUDgyNjYgc3R1ZHkgOiBhMSwgMjAxNS0xMi0yMSwgMjAxNS0xMi0yMwogIFJlbGF5IFRvdWNoIEJvYXJkIDogYTIsIGFmdGVyIGExLCAyMDE1LTEyLTI0CiAgUGhvdG90cmFuc2lzdG9yIDogYTMsIDIwMTUtMTItMjMsIDIwMTUtMTItMjcKICBJbmZyYVJlZCBEaW9kZSA6IGE0LCAyMDE1LTEyLTI2LCAyMDE2LTAxLTAzCiAgUmVsYXkgVG91Y2ggQm9hcmQgOiBhNSwgMjAxNS0xMi0yNiwgMjAxNS0xMi0yNiAKICBFU1A4MjY2IHN0dWR5IDogYTYsIDIwMTUtMTItMjYsIDIwMTUtMTItMjYKICBScGkgLyBQbG90bHkgOiBhOCwgMjAxNi0wMS0wMywgMjAxNi0wMS0wNAogIEFEIHNlbnNvciA6IGE5LCAyMDE2LTAxLTA0LCAyMDE2LTAxLTA1CiAgU1BJRkZTIDogYTEwLCAyMDE2LTAxLTA1LCAyMDE2LTAxLTA1CiAgVGhpbmdTcGVhayA6IGExMSwgMjAxNi0wMS0wOSwgMjAxNi0wMS0wOQogIEJ1emVyIDogYTEyLCAyMDE2LTAxLTIzLCAyMDE2LTAxLTMwCiAgQ08yIHNlbnNvciA6IGExMywgMjAxNi0wMS0zMCwgMjAxNi0wMi0wOAogIEJZT1AgKEhhY2thZGF5KSA6IGEyOSwgMjAxNi0wMi0wNiwgMjAxNi0wMy0xNAogIEFRTTA4MDIgOiBhMTQsIDIwMTYtMDItMTcsIDIwMTYtMDItMTcKICB1ZHBMb2dnZXIgOiBhMTUsIDIwMTYtMDQtMTgsIDIwMTYtMDUtMjEKICBtaWNyb1NEIDogYTE2LCAyMDE2LTA1LTIxLCAyMDE2LTA1LTIxCiAgcHJlc3N1cmUgc2Vuc29yIDogYTE3LCAyMDE2LTA1LTI4LCAyMDE2LTA2LTI2CiAgUlRDIDogYTE4LCAyMDE2LTA2LTA0LCAyMDE2LTA2LTA0CiAgVGltZXI6IGExOSwgMjAxNi0wNi0wNywgMjAxNi0wNi0xOQogIE1QVS05MjUwIDogYTIwLCAyMDE2LTA2LTE5LCAyMDE2LTA3LTA2CiAgd2F0Y2ggZG9nIDogYTIxLCAyMDE2LTA2LTI0LCAyMDE2LTA2LTI2CiAgSW5jbGlub21ldGVyIDogYTIyLCAyMDE2LTA2LTMwLCAyMDE2LTA3LTA0CiAgZGlzdGFudCBzZW5zb3IgKHNvdW5kKSA6IGEyMywgMjAxNi0wNy0wNiwgMjAxNi0wOC0xNwogIFByb2Nlc3NpbmcgOiBhMjQsIDIwMTYtMDctMDksIDIwMTYtMDgtMDYKICBTRCBtb2R1bGU6IGEyNiwgMjAxNi0wNy0zMCwgMjAxNi0xMC0wNAogIHBvc2l0aW9uaW5nIChkaXN0YW50IHNlbnNvcihJbmZyYXJlZCkpOiBhMjcsIDIwMTYtMDgtMDgsIDIwMTYtMDktMTgKICBJbnZlbnRvcnk6IGEyOCwgMjAxNi0wOC0xOCwgMjAxNi0wOC0yNw)

( 上のガントチャートは下のテキストを貼って作成しました。)

```
gantt
  title Borg sensor system1

  section Section
  ESP8266 study : a1, 2015-12-21, 2015-12-23
  Relay Touch Board : a2, after a1, 2015-12-24
  Phototransistor : a3, 2015-12-23, 2015-12-27
  InfraRed Diode : a4, 2015-12-26, 2016-01-03
  Relay Touch Board : a5, 2015-12-26, 2015-12-26 
  ESP8266 study : a6, 2015-12-26, 2015-12-26
  Rpi / Plotly : a8, 2016-01-03, 2016-01-04
  AD sensor : a9, 2016-01-04, 2016-01-05
  SPIFFS : a10, 2016-01-05, 2016-01-05
  ThingSpeak : a11, 2016-01-09, 2016-01-09
  Buzer : a12, 2016-01-23, 2016-01-30
  CO2 sensor : a13, 2016-01-30, 2016-02-08
  BYOP (Hackaday) : a29, 2016-02-06, 2016-03-14
  AQM0802 : a14, 2016-02-17, 2016-02-17
  udpLogger : a15, 2016-04-18, 2016-05-21
  microSD : a16, 2016-05-21, 2016-05-21
  pressure sensor : a17, 2016-05-28, 2016-06-26
  RTC : a18, 2016-06-04, 2016-06-04
  Timer: a19, 2016-06-07, 2016-06-19
  MPU-9250 : a20, 2016-06-19, 2016-07-06
  watch dog : a21, 2016-06-24, 2016-06-26
  Inclinometer : a22, 2016-06-30, 2016-07-04
  distant sensor (sound) : a23, 2016-07-06, 2016-08-17
  Processing : a24, 2016-07-09, 2016-08-06
  SD module: a26, 2016-07-30, 2016-10-04
  positioning (distant sensor(Infrared)): a27, 2016-08-08, 2016-09-18
  Inventory: a28, 2016-08-18, 2016-08-27
```

### 実施内容について

- ESP8266 study: ESP8266の使い方の勉強
- Relay Touch Board: スマホにタッチするためのリレーの動作
- Phototransistor: 光の強度の取込
- Infrared Diode: Phototransistorの取込電圧を1Vに抑制するために使用
- Rpi / plotly: plotlyというグラフ生成サービスを使用
- AD sensor: Phototransistorの続き
- SPIFFS: ESP8266での情報保存の試験
- ThingSpeak: グラフ生成サービスを試用
- Buzer: 圧電センサーの使用
- CO2 sensor: 空気質センサSNS-MQ135の使用
- BYOP: [Hackadayに参加](https://hackaday.io/project/9526-bring-your-own-pizero-byop)。Message stationというメッセージ記憶装置の作成。メッセージ記憶(10年)はメッセージ内容が決まらず未実施。
- AQM0802: 8桁x2行のCharacter LCDの表示に取り組みました
- updLogger: UDP通信で受けた内容をSDに保存する
- microSD: microSDの勉強 (udpLoggerなどで使用)
- pressure sensor: 気圧センサーのMPL115A2使用。気圧計測は難しいということが分かった。 
- RTC: RTCを買ったけど、結局使っていない
- Timer: 時刻情報をいかにして保持するかの検討
- MPU-9250: 加速度+ジャイロ+コンパス搭載。2頭のライオンの銅像を3Dスキャンするために検討したが、課題は山積
- watchdog: ESP8266のwatchdog resetに悩まされて調べた
- Inclinometer: 傾斜計。MPU-9250を使用。ライオンの3Dスキャンをいつか実施したい。
- distant sensor(sound): HC-SR04を使用。なぞのエコー波形に悩まされる。製品の不良のようだった。
- Processing: グラフ描画のソフトとしてProcessingを始めてみた
- SD module: MSC-MOD20というSDモジュールの制御コードの勉強を始めた
- positioning (distant sensor(Infrared)): Sharpの赤外版距離計を使用してみた。それを用いて直線位置調整の処理を始めた。2006年頃に見せていただいた数千万円の多方向散乱光測定装置を簡易材料で製作するという妄想をいだく
- Inventory: 増殖する電子回路の格納場所検索用ソフトの実装。近いうちにある引越しでも活躍するかどうか。

## 派生タグ

以下のタグが関係するかもしれません。

- 通信関連システム
  - http://qiita.com/tags/borgCommSystem1
- 電子回路の格納場所検索用
  - http://qiita.com/tags/borgInventory
- 直線位置調整システム
  - http://qiita.com/tags/borgPositioning
- Hackaday参加用 (落選)
  - Bring Your Own PiZero
  - http://qiita.com/tags/borgBYOP

他に派生タグがあったかもしれませんが、忘れました。。

## まとめ

とりあえず「入門」としては色々やってみました。それぞれの製作精度は高くなく、「使える」ものは「udpLogger」くらいかと考えています。
ただ、入門だけでもしておけば、将来関連する技術が必要となった時に「あのときあれではまった」という記憶が役立ちそうです。そして、Qiitaの記事を検索して詳細に進むことができます (Qiitaに感謝)。

しかしながら、[最近はTensorFlowの方に興味が移り](http://qiita.com/7of9/items/2924efb8afe92489fa75)、こちらの作業はほとんどしてません。

週に10時間程度しか時間を確保できないので、TensorFlowをしながらBorg sensor system1を継続するというのはどちらも失敗しそうなため、片方のみにしています (「いっそう自分を制限しなければなりません」by ゲーテ)。

TensorFlowが行き詰まったり、スポット的(16時間以内)にできそうな面白いことを思いついた時にこちらの作業をする予定です。

デルタフライヤーの全センサーシステムを構築したい7of9でした。
[デルタフライヤー](http://ja.memory-alpha.wikia.com/wiki/%E3%83%87%E3%83%AB%E3%82%BF%E3%83%BB%E3%83%95%E3%83%A9%E3%82%A4%E3%83%A4%E3%83%BC)
> 就役:	2375年
...
> 設計者
- ベラナ・トレス
- トム・パリス
- トゥヴォック
- ハリー・キム
- セブン・オブ・ナイン

今から359年後(2375年)のセブン・オブ・ナインは技術力の高い仲間とともにBorg sensor [system360](https://ja.wikipedia.org/wiki/System/360)(勝手に命名)を完成するようです。