ESP32とMongooseOSを使ってTSL2561で照度を取得する(準備編)
かねてから触ってみたいと思っていたMongooseOSと以前買ったTSL2561照度センサーモジュールがあったのでESP32にMongooseOSを入れて照度を取得してみようと思った.
そもそもI2Cデバイスを触るのが初めてだったため、いきなりMongooseOSでそれを扱おうとするのはハードルが高すぎると考え、まずはその準備編として情報の多いRaspberryPiで照度を取得してみることにした.
最後にESP32へのMongooseOSのインストールも行っておく.
環境
作業端末
$ sw_vers
ProductName: Mac OS X
ProductVersion: 10.11.6
BuildVersion: 15G1611
ハードウェア
- TSL2561使用 照度センサーモジュール: センサ一般 秋月電子通商 電子部品 ネット通販
- ESP32-DevKitC ESP-WROOM-32開発ボード: 無線、高周波関連商品 秋月電子通商 電子部品 ネット通販
RaspberryPiでTSL2561を扱う
Rasbianのセットアップ
I2C向けのセットアップは以下の書籍を参考にした.
Raspberry Piで学ぶ電子工作 超小型コンピュータで電子回路を制御する サポートページ|ブルーバックス|講談社BOOK倶楽部
$ sudo raspi-config
(Interfacing -> I2C -> enable)
$ sudo reboot
$ sudo apt-get update
$ sudo apt-get install -y i2c-tools python-smbus
センサーモジュールの各端子はRaspberryPiの以下のピンに接続する
センサーモジュール | RasPi |
---|---|
Vin | 3.3V (1ピン) |
GND | GND (6ピン) |
SDA | I2C SDA (3ピン) |
SDL | I2C SCL (5ピン) |
コードの実装
続いて以下のエントリとデータシートを参照し、Pythonで照度を取得するコードを書いてみた
Raspberry pi 3でストロベリー・リナックス社製「TSL2561 照度センサ・モジュール メーカー品番:TSL2561」を使う(試行錯誤編) - Qiita
段階を踏んでセンサーデータの取得からルクスの計算まで説明されており非常に参考になった
書いたコードは→ tsl2561.py
Mongoose OSのインストール
- Mongoose OS - Downloads の内容に従ってコマンドラインツール
mos
をインストールしておく - USB - UART ブリッジ VCP ドライバ|Silicon Labs からドライバをダウンロード、インストールしておく
ESP32へのMongooseOSのインストールは公式サイト記載の方法ではうまくいかなった.いろいろ調べたところ以下の方法でインストールできた.
mos flash --firmware https://mongoose-os.com/downloads/mos-esp32.zip
mos wifi <SSID> <PASSWORD>
コマンドmos
を実行するとブラウザが起動してGUIからMongooseOSを操作できるようになる.コードもここで書いていくことになる.
ここまででTSL2561の扱いの理解とMongooseOSでコードを書く準備ができた.続いてMongooseOS用のコードを実装していく.
続く
参考資料
関連記事
- Home AssistantとAmazon Dash Buttonを連携させる
- Home Assistantで人感センサーを使って照明を自動点灯する
- Home Assistantでつくるホームオートメーション(導入編)