Arduino, ESP32, ESP8266

ここでは、ArduinoやESP32関連の情報をメモしておきます。


  • Arduino IoT

Arduino IoT Cloud 2021 - Getting Started with Arduino & ESP32

Arduino MKR WiFi 1010 + MKR IoT CarrierでIoTをする

Arduino Edge Control — Arduino Online Shop

SDI-12 - Arduino Reference

SDI-12 for Arduino

https://github.com/EnviroDIY/Arduino-SDI-12

Arduino MKR WiFi 1010 をソーラで楽しむ

Grove Beginner KitでのArduino入門 その1 準備 | Lang-ship

Grove Beginner KitでのArduino入門 その2 LED | Lang-ship

Grove Beginner KitでのArduino入門 その3 ボタン | Lang-ship

Grove Beginner KitでのArduino入門 その4 回転角センサ | Lang-ship

Grove Beginner KitでのArduino入門 その5 ブザー | Lang-ship

Grove Beginner KitでのArduino入門 その6 光センサー | Lang-ship

Grove Beginner KitでのArduino入門 その7 音センサー | Lang-ship

Grove Beginner KitでのArduino入門 その8 OLEDディスプレイ | Lang-ship

Grove Beginner KitでのArduino入門 その9 温度および湿度センサー(DHT11)

Grove Beginner KitでのArduino入門 その10 気圧計(BMP280) | Lang-ship

Grove Beginner KitでのArduino入門 その11 加速度センサ(LIS3DHTR) | Lang-ship

Getting Started With the Mayfly Data Logger – EnviroDIY


  • ESP32関連

ESP32からメールを送る

人を検知してリモコン制御とメール送信 (IFTTT)


  • ATOM Printer

ArduinoでプログラミングできるWiFiにも対応したレシートプリンタ「ATOM Printer」


  • M5StickC

M5StickC Plus に Grove Water Level Sensor をつなげるメモ


M5StickC で 接触確認アプリ (COCOA) の数を数えてみた。


M5StickCをAlexa連携デバイス化する



M5StickCのDisplay周り解析

M5StickCのDisplay周り解析 その2

M5StickCのDisplay周り解析 その3 描画ノウハウ

M5StickCのDisplay周り解析 その4 LovyanGFXで高速描画


M5StickCでUIFlow入門 その1 概要と環境構築

M5Atomの始め方【UIFlow編】

M5StickCのトラブルシュート 動かないときに試すこと


M5StickCでサーボを動かしてみる!4台までなら簡単に制御出来ます


  • Bug.C

小型ロボットBugCをもう1台のM5StickCでコントロールする


  • Bala.C

M5StackのBALA-CミニセルフバランスカーをBlynkで操作できるようにサンプルコードを改造する方法

// 1. Lay the robot flat, and power on.

// 2. Wait until Gal-1 (Pitch Gyro calibration) completes.

// 3. Hold still the robot upright in balance until Cal-2 (Accel & Yaw Gyro cal) completes.

//

// short push of power button: Gyro calibration

// long push (>1sec) of power button: switch mode between standig and demo(circle)




  • M5StickV

開発環境

1) SiPEEDのMicroPython環境「MaixPy」→ これを使う

※ステップとしては、最初にファームウエアを書き込んで、その次に開発環境をインストールする。

MaxiPyのファームウエアを書き込むツール

i) EasyLoader → Windowsのみ対応

ii) kflash GUI → Mac OS >> M5StickVで超お手軽エッジAI画像認識 もしくは「プリンをもっと見守る技術」p.14参照

macOSからアプリを起動すると「開発元を検証できないため開けません。」と表示された場合の対処方法

→ macOSデスクトップ左上のアップルメニューより[システム環境設定]-[セキュリティとプライバシー]をダブルクリック 画面下「ダウンロードしたアプリケーションの実行許可」より「このまま開く」をクリック

iii) MaixPyのダウンロード >> http://dl.sipeed.com/MAIX/MaixPy/ide/

※MaixPyを使う場合は、Sipeedが配布しているファームウェアを焼く必要がある


2) Arduino環境「Maixduino」

3) C言語の開発環境「Kendryte SDK」


A. 学習データkmodelを作成する

TensorFLow: Googleが開発している、ディープラーニングや機械学習を開発するためのソフトウエアライブラリ

Keras: TensorFlow上で動くニューラルネットワークライブラリの一つ

(TensorFlow Liteは、組み込み機器やモバイル端末動作させるための環境。Kendryteでは、TFL向けに作成した学習データをKendryte K210の学習データに変換するためのツールnncaseが用意されている。nncaseでは、CNNのMobileNetV1/V2やYOLOV1/YOLOV3をサポートしている。)

NNCase 記事まとめ (v.0.2.0)

→つまり、TensorFLow/Keras/TensoFlow Liteでモデルを作成し、nncaseで.tfliteをK210用に変換するという流れ


B. もしくは、V-training: Mobilenetでの移転学習を行う(最大10クラス。1クラスあたり最低35枚の画像が必要)


1) boot-M5StickVをダウンロードして、SDカードにコピーする。

2) SDカードを入れてからM5 StickVに電源を入れる(左ボタンを長押し)

3) 各クラス35枚以上の画像を撮影する。ホームボタンで撮影開始、右側のボタンでクラスの切替。撮影時には関係のないものが映り込まないようにする。

4) 撮影した画像ファイルをZipして、クラウドにアップロードするClick to visit upload page

5) モデルをダウンロードして認識


※このほかYolo v.3 を使うこともできるが、その場合には合計で100枚以上の画像にラベルを付与する必要がある

※転移学習:学習済みのモデルを初期値として使い、出力に近い部分だけを学習し直すこと

※MobileNet:1000種類の物体の識別が可能な画像識別モデル → MobileNet(v1,v2,v3)を簡単に解説してみた

(参考資料)

日経ソフトウエア2020年11月号P.88-98

AIoTデバイス「M5StickV」、はじめの一歩

M5StickVとV-Trainingでお手軽画像認識 その1 – スイッチサイエンス マガジン

M5StickVとV-Trainingでお手軽画像認識 その2 – スイッチサイエンス マガジン


M5Stick VをM5StickCにつないでLineに画像を送付するシステム

以下の記事を参考にプログラムを若干修正

M5Stick用プログラム:M5StickC_connect.py(Aボタンを押すと写真をとって、UARTで送信)

M5StickC用プログラム:M5StickV(UARTで受信した画像ファイルをWifi経由でLineに送信)


(参考資料)

Wi-FiがないM5StickVを、M5StickCと繋ぎLINEに投稿してみるまでの手順


Brownie

AIカメラ M5StickV 向けアプリ Brownie

注)http://dl.sipeed.com/MAIX/MaixPy/release/master/maixpy_v0.4.0_47_g39bb8bf にアクセス maixpy_v0.4.0_47_g39bb8bf_m5stickv.bin をkflashでインストールする

brownie/README.ja.md at master · ksasao/brownie · GitHub


brownie/readme.md at master · ksasao/brownie · GitHub


M5StickV V-Functionを試す MotionDetect


  • Unit V

UnitV と M5StickC で動画ストリーミングを堪能 ーエッジAI活用への道 13

M5StickC + RoverC + UnitV でオブジェクトを追跡させる方法


  • Unit V2

M5UnitV2のインストールや備忘録

UnitV2 recognition service


  • LovyanGFX

LovyanGFXの導入の仕方

LovyanGFXとJpgLoopAnimeでM5StackとM5Cameraの全画面WiFi動画ストリーミング実験

M5StickCにM5Cameraからの動画を表示する


  • シリアル通信

よく分かる! シリアル通信基礎講座 | 組込み技術ラボ

UARTとは?シリアル通信に欠かせない集積回路を徹底解説


  • ATOM

ATOM LiteをAlexa対応デバイス化

M5Atomの始め方【ArduinoIDE編】 >> M5StickCと同じ設定

ATOM Echo を初期堪能 - IoT


  • リレーユニット

動作確認: M5Stack リレーユニット


M5StackをArduinoで使う




  • 自動水やり

WayinTop 自動水やり装置 DIYキット

チュートリアル

コード


  • ArduinoでLCD/OLEDディスプレイ

Arduino,I2C通信により4本のケーブルでLCDを動かす!

初心者がやるArduinoでOLEDディスプレイ

ArduinoとHiLetgo I2C 128×64 OLED SSD1306液晶サクッと!動作確認!

ArduinoでOLEDディスプレイを試す


  • ATOM Printer

ArduinoでプログラミングできるWiFiにも対応したレシートプリンタ「ATOM Printer」