書籍「ESP&M5Stack電子工作プログラム集」サポート・ページ

書籍「ESP&M5Stack電子工作プログラム集」サポート・ページ


● 開発環境の構築方法

本書で使用するESP32用開発環境の構築は下記のページを参照してください.

 

ESP32開発ボード Micro Python開発環境の構築

https://interface.cqpub.co.jp/esp32-micro-python/

ESP32開発ボード Arduino IDE開発環境の構築

https://interface.cqpub.co.jp/esp32-arduino-ide-2/

M5Stack UIFlow Desktop IDE(Micro Python)開発環境の構築

https://interface.cqpub.co.jp/m5stack-micropython/

M5Stack Arduino IDE開発環境の構築

https://interface.cqpub.co.jp/m5stack-arduino-ide/

 


第2部 センサを使いこなす

第1章 IoTセンサをつなげる ハードウェア&ソフトウェア

プログラム一式(part2_chap1.zip)

表0-1 IoTセンシング実験のベースに使うESP32開発環境
Arduino core for ESP32 WiFi chip
https://github.com/espressif/arduino-esp32
MicroPython(Firmware for ESP32 boards)
https://micropython.org/download

第1章-4

VL53L0X を Arduino で使うためのライブラリのインストール
https://github.com/pololu/vl53l0x-arduino

 


第3部 カメラを使いこなす

第4章 小型ネットワーク映像カメラの製作

プログラム一式(part3_chap4.zip)

注1:TTGO T-Cameraの概要
https://github.com/lewisxhe/esp32-camera-series

注2:TTGO T-Cameraのソース・コンパイルのためにインストールするカメラ・ライブラリ
https://github.com/espressif/esp32-camera

注3:ESP32 technical reference manual 11.5.2章
https://www.openhacks.com/uploadsproductos/esp32_technical_reference_manual_en_qg.pdf

注4:ESP32のI2Sの説明.
https://docs.espressif.com/projects/esp-idf/en/latest/api-reference/peripherals/i2s.html

 

第5章 Slackチャット投稿カメラの製作

プログラム一式(part3_chap5.zip)

 


第4部 ESP32応用事例集

第1章 FreeRTOSを使った電光掲示板の製作

プログラム一式(part4_chap1.zip)

 

第2章 360°マッピング用レーザ・レーダの製作

プログラム一式(part4_chap2.zip)

レーザ・センサLIDAR-Lite v3をI2Cで動作させるプログラム
https://github.com/garmin/LIDARLite_v3_Arduino_Library

LIDAR-Lite v3のマニュアル
http://static.garmin.com/pumac/LIDAR_Lite_v3_Operation_Manual_and_Technical_Specifications.pdf

 

第3章 サーバ機能付き赤外線学習リモコンの製作

プログラム一式(part4_chap3.zip)

ESP32上にSPIFFSを構築する手順(@ht_deko氏のESP32-WROOM-32)
https://ht-deko.com/arduino/esp-wroom-32.html#23

任意の画像を使ったリモコン画面にカスタマイズしたデータ・ファイル類
https://github.com/Goji2100

 

第4章 Bluetooth開発環境のセットアップ

第5章 Bluetooth無線通信機能を使う

ESP-IDFの実行に必要なものが全て入っているAll-inoneパッケージをのダウンロード
http://esp-idf.readthedocs.io/en/latest/get-started/windows-setup.html#toolchain-setup

gitコマンドによるESP-IDFのダウンロード
git clone –recursive https://github.com/espressif/esp-idf.git

環境変数の設定
echo export IDF_PATH=/opt/esp-idf >> ~/.bashrc
echo source ¥$IDF_PATH/add_path. sh >> ~/.bashrc

ダウンロード・ページ
https://github.com/ciniml/esp_sensorhub

筆者のGitHubリポジトリ
git clone https://github.com/ciniml/esp_sensorhub/ -b interface_esp32

 

第6章 マイコン基板を屋外で単独運用するための電源を作る

Ambientライブラリ
https://github.com/AmbientDataInc/Ambient_ESP8266_lib

アカウントを登録とチャネル作成
https://ambidata.io/docs/gettingstarted/

 

第7章 現在位置を表示するスマート・ウォッチ

プログラム一式(part4_chap7.zip)

オフライン・モード用のファームウェア
https://github.com/m5stack/M5Cloud/tree/master/firmwares/OFF-LINE/m5stack-20180516-v0.4.0.bin

AmbientのPython(MicroPython)ライブラリ
git clone https://github.com/AmbientDataInc/ambient-python-lib.git

Map取得可能かを確認
`APIキー`と記載の部分は取得できたAPIキーに置き換えること
https://maps.googleapis.com/maps/api/staticmap?center=%E6%9D%B1%E4%BA%AC%E9%A7%85&size=600×450&key=`APIキー`

リクエストするURLを作成する(例: 東京駅)
url = “http://maps.googleapis.com/maps/api/staticmap?markers=35.681167,139.767052&size=320×240&form at=jpg-baseline&key=取得したAPIキーを設定する”

 

第8章 列車遅延情報を取得する

プログラム一式(part4_chap8.zip)

 

第9章 オープンソース地図ライブラリを使う

プログラム一式(part4_chap9.zip)

 


第5部 箱入りESP32 M5Stack活用

 

第3章 温度データのセンシング

M5StackのLCDやボタンなどをアクセスする関数
https://github.com/m5stack/M5Stack/blob/master/src/M5Stack.h#L19

Ambient
https://ambidata.io/

Ambientにデータを送るためのArduinoライブラリ
https://ambidata.io/docs/esp8266/#library_import

MicroPython API
https://github.com/m5stack/M5Cloud/blob/master/README_JP.md#micropython-api

Ambientにデータを送るMicro Python用ライブラリ
https://github.com/AmbientDataInc/ambient-python-lib

プログラム全体
https://github.com/AmbientDataInc/measuringwithM5Stack/tree/master/1_AnalogTempSensor

 

第4章 センサ・データをグラフ描画する

BME280を使うプログラム
https://github.com/AmbientDataInc/measuringwithM5Stack/tree/master/2_DigitalTempSensor/program1

プログラム全体
https://github.com/AmbientDataInc/measuringwithM5Stack/tree/master/2_DigitalTempSensor

ESP8266用MicroPythonライブラリ「catdog2/mpy_bme280_esp8266」
https://github.com/catdog2/mpy_bme280_esp8266

ampyコマンドのインストールと使い方「ampy: MicroPythonマイコンとPCとのファイル転送ツール」
https://ambidata.io/blog/2018/03/15/ampy

 

第5章 GPS衛星の現在位置を可視化する

micropyGPS
https://github.com/inmcm/micropyGPS

プログラム全体
https://github.com/AmbientDataInc/measuringwithM5Stack/tree/master/3_GPS/

 

第6章 センサの値に応じて表示色を変える

値の大きさをサーモグラフィのような色に変換する
https://qiita.com/krsak/items/94fad1d3fffa997cb651
プログラム全体
https://github.com/AmbientDataInc/measuringwithM5Stack/tree/master/4_CO2/

 

第7章 振動を測定し周波数成分ごとに棒グラフで表す

arduinoFFT
https://github.com/kosme/arduinoFFT

プログラム一式(part5_chap7.zip)

 

第8章 音の波形&周波数 スペクトラムを表示する

周波数を1kHz〜10kHzに変化させて音を出したときのFFTの画面
https://youtu.be/Hc9ZwXMnWX0

プログラム全体
https://github.com/AmbientDataInc/measuringwithM5Stack/tree/master/6_Sound

 

第9章 M5Stackの小型版M5StickC Plusを動かす

追加のボードマネージャのURL
https://m5stack.oss-cn-shenzhen.aliyuncs.com/resource/arduino/package_m5stack_index.json

プログラム一式(part5_chap9.zip)

 

第10章 AC消費電力モニタを作る

プログラミングのステップ1…交流の電流を測定する
https://github.com/AmbientDataInc/M5Stack_PowerMonitor/tree/master/MCP3004_test
プログラミングのステップ2…電流値を求めてLCDに表示
https://github.com/AmbientDataInc/M5Stack_PowerMonitor/tree/master/pmon
プログラミングのステップ3…IoTクラウドへの送信&可視化
https://github.com/AmbientDataInc/M5Stack_PowerMonitor/tree/master/pmon_ambient

 

第11章 8×8エリアの温度分布を色分け表示する

プログラム全体
https://github.com/AmbientDataInc/measuringwithM5Stack/tree/master/9_Thermography

 

第12章 レーザ方式/超音波方式 センサで距離を測る

https://github.com/AmbientDataInc/measuringwithM5Stack/tree/master/10_Ranging

 

第13章 姿勢データを生かした 3D表示の世界

プログラム一式(part5_chap13)

MadgwickAHRSライブラリ
https://github.com/arduino-libraries/MadgwickAHRS

3Dモデルを作ってマウスで動かすプログラム
https://gist.github.com/TakehikoShimojima/f5b58a5bf7f5545fa27ae32d0d09e1a0

Processingのデータを回転するロジック
Arduino/ Genuino 101 CurieIMU Orientation Visualiser
https://www.arduino.cc/en/Tutorial/Genuino101CurieIMUOrientationVisualiser

BluetoothSerialへの出力を追加したプログラム(mpu9250_bt.ino)
https://gist.github.com/TakehikoShimojima/e6792a05562d894f6477c8e8da797f6d

 


 第5部 慣れてきた人に…ステップアップ術

第5章 オープンソースの本格デバッグ環境を作る

MSYS2のインストール
https://dl.espressif.com/dl/esp32_win32_msys2_environment_and_toolchain-20181001.zip

ESP-IDFをgit cloneする
git clone -b v3.3 –recursive https://github.com/espressif/espidf.git

ドライバのインストール
https://zadig.akeo.ie/

OpenOCD
https://github.com/espressif/openocd-esp32/releases

Pleiades All in One Eclipse
https://mergedoc.osdn.jp/

 

Appendix 2 Wi-Fi通信を行う際に知っておくと便利な技

Espressif Esptouch(iOS用)
https://itunes.apple.com/app/id1071176700

ESP Touch(Android用)

(第三者がビルドしたもの)https://play.google.com/store/apps/details?id=com.cmmakerclub.iot.esptouch
https://www.espressif.com/en/products/software/esp-touch/resources