1
2

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.

CPS LabAdvent Calendar 2017

Day 19

MongooseOS で I2C センサー読んだり書いたり飛ばしたりする

Last updated at Posted at 2017-12-25

経緯

自分の研究室はセンサデータを扱うことが多いので、プロトタイプに室内の気温などの値が欲しいことがよくあります。
そのたびにメンバーが個々で電子工作したり Arduino でセンシング環境を作ったりしてます。
毎回各自自前で実装するのはめっちゃ無駄です。

なので、みんなで取ってこれるもの欲しいねってことで作りました。

やったこと

  • ラボの気温と湿度をセンシング
  • ディスプレイに表示
  • MQTT で配信

使ったもの

  • ボード: ESP8266
  • 気温・湿度センサ: SHT31
  • ディスプレイ: AQM0802
  • MQTT broker: Thingspeak
  • Mongoose OS + mjs

IMG_7702.JPG

成果物

リポジトリ: https://github.com/elzup/leilei

気温・湿度を読み取る!

MongooseOS + mjs で I2C 気温センサを読み取る - Qiita

ディスプレイに書く!

ハードコーディングで自前で実装しました。mjs 辛すぎる。。

ThingSpeak に飛ばす!

ThingSpeak に MQTT API があるのでそれを使いました。
https://jp.mathworks.com/help/thingspeak/publishtoachannelfeed.html

$ curl -XGET "https://api.thingspeak.com/channels/xxx/feeds.json?api_key=xxx" |jq ".feeds[3]"
######################################################################## 100.0%
{
  "created_at": "2017-12-25T02:38:09Z",
  "entry_id": 4,
  "field1": "25.592813",
  "field2": "30.153353"
}

とれました。
これで研究室メンバーががいつでも研究室の気温をとれてハッピーです :tada:

感想など

今回のいいところ

i2C のセンサを使っているので、ハブに生やして他のセンサも拡張できます。
ThingSpeak をホストに使っているので MQTT にかぎらず REST API でも取ってこれます。(MQTT over Websocket も使えます)

Mongoose OS について

mos という cli が強くて、ブラウザアプリも充実しています。ローカルエディタでの開発環境を整えたけど、補完が効かなかったりモジュール対応させたいです。
secret key 関係の設定をどうすればいいのかまだわからないです。mos.yml で環境変数とれたりすれば幸せ。

1
2
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
1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?