4
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

(メモ)micro:bitで温湿度・気圧を測定してAmbientで可視化

Last updated at Posted at 2018-11-26

はじめに

業務でAIを扱っているのですが、
AIと言ったらIoTと切っても切れない関係に今後なっていくので、
IoTに触れてみようと思いました。
社内の詳しい方からmicro:bitを勧められ、
以下の構成で可視化を試みました。

やろうとしたこと

シリアル通信を使用してデータを拾い、
IoTデータ可視化サービス「Ambient」にデータを送信します。
まずWindowsでうまくいったので、Linux(Ubuntu)上のDockerコンテナから
実施できるように設定していきます。
Windowsでの手順は省略。

手順

デバイスの準備

以下を参考にさせて頂きました。
[参考]GROVEモジュールをmicro:bitにつなぐ拡張ボード
microbit.png
温湿度・気圧センサーはスイッチサイエンスで購入したBME280
GROVEシールドは品切れだったため、秋葉原の千石電商で購入してきました。
電池ボックスは使用しません。
もともと別用途で使用していて、抜けなくなったのでそのままですw

micro:bitのプログラム

以下を参考にさせて頂きました。
[参考]weatherbit 0.0.12 (sparkfun/pxt-weather-bit)
program.png
プログラムはmicro:bitに書き込んでおきます。

実行環境の準備

一部、以下を参考にさせて頂きました。
[参考]LinuxPCでserial通信をしようとした話
先頭の(ホスト)/(コンテナ)で、ホスト側/コンテナ側の作業が分かるようにしています。

(ホスト)シリアルポートの確認

Linuxマシンにmicro:bitをUSB接続し、以下のコマンドを実行してシリアルポートを確認します。

ll /dev/serial/by-id/

合計 0
drwxr-xr-x 2 root root 60 11月 26 13:26 ./
drwxr-xr-x 4 root root 80 11月 26 13:26 ../
lrwxrwxrwx 1 root root 13 11月 26 13:26 usb-ARM_DAPLink_CMSIS-DAP_XXXX -> ../../ttyACM0

XXXXの部分は長いので省略しています。
これでttyACM0と確認でき、dev配下にシンボリックリンクがあることが分かります。

(ホスト)権限付与

chmod 666 /dev/ttyACM0

(ホスト)コンテナ起動

nvidia-docker run --rm -it -v /mnt/hdd/share:/tmp/share --device=/dev/ttyACM0:/dev/ttyACM0 myDockerImage:Tag bash

nvidia-dockerじゃなくてももちろん大丈夫です。

(コンテナ)cuのインストール

apt install cu

(コンテナ)cuでシリアル通信の確認

cu -s 115200 -l /dev/ttyACM0

temperature:27.549999999999998
humidity:31.218750000000001
pressure:1060.3858593750001
-

確認が取れたので、pythonで実行する準備をします。

(コンテナ)python仮想環境の準備

conda create -n env_name python=3.6.7

(コンテナ)仮想環境をactivate

source activate env_name

(コンテナ)パッケージのインストール

以下を参考にさせて頂きました。
[参考]AmbientDataInc/ambient-python-lib(GitHub)

pip install pyserial
pip install git+https://github.com/AmbientDataInc/ambient-python-lib.git

(コンテナ)プログラムの実行

プログラムの詳細は省略します。
以下を参考にさせて頂きました。
[参考]micro:bitとAmbientで社内の温度、環境光を可視化した
[参考]Pythonでシリアル通信

cd tmp/share/workdir
python main.py

結果

ambient.png

さいごに

割と簡単に出来ました。
近くに置いてあった温度計と精度以上の差があってはじめは驚きましたが、
安定するまで5~10分程度かかるそうなので、しばらくしたら精度の範囲内になりました。
さて、これをキッカケに今後どう活かしていくか。

4
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?