無線LANインターフェースとTCP/IPプロトコル・スタックをファームウェアとして内蔵したマイコンESP8266(ESP-WROOM-02)の強化版であるESP32(ESP-WROOM-32)は,GPIOの強化やBluetoothなどの周辺部の追加,デュアル・コア採用,クロック周波数のアップなど,様々な改良が行われている.そして価格はほとんど据え置きというIoT機器のための強力なスーパー・マイコンに仕上がっている.
アプリケーション・ソフトウェアを作るプラットフォームとして,ベンダのEspressifのC言語用のIDFやArduino IDEなどESP8266と同様の環境が整っている.C言語やスケッチを使って温度センサの情報を無線LAN経由でパソコンやスマートフォンに送ったり,ロボットをパソコンからコントロールしたりするIoT機器が誰でも簡単にできる.
この講座では,開発言語であるMicroPython(マイコン用に最適化したPython言語)を使ってIoT機器のプログラミングを学習する.
C言語を使った電子工作の経験はあるがPythonは使ったことがないという方や,Pythonは知っているがハードウェアを操作するプログラミングは未経験という方を対象としている.
※本セミナは,2018年1月21日,2月17日,3月4日に開催したセミナ「実習・Wi-Fi Arduino IoT ExpressでMicroPythonプログラミング入門」を元に,IoT Expressの改良品IoT Express MkII用に内容を変更したものです.
※ 実習で使用するパソコンは,CQ出版社が用意します.
※ 実習で使用した教材キットは持ち帰えることができます.
1. 実習ボード(IoT Express MkII)の構成と機能
・IoT Express MkIIの構成と回路とESP-WROOM-32の機能の解説
2. IoT Express MkIIをMicroPythonボードにする
・MicroPythonの書き込み,REPLでMicoPython命令を直接実行
・PC上のエディタでプログラムを作って実行.フラシュへのプログラムの書き込みと自動実行
3. MicroPythonの初歩
・プログラミングの基礎
・制御構文,変数と演算子,配列
4.MicroPthonでGPIOとネットワークを動かす
・デジタル入出力(GPIO),アナログ出力(PWM)
基本中の基本,スイッチでLEDをON/OFFする.PWMを使ってLEDをゆっくりON/OFFする
・microSDカードでファイル入出力
microSDカードに保存したMMLを演奏する電子オルゴールを作る
5. ネットワークに繋いでIoT機器を作る
・ステーション・モードやアクセス・ポイント・モードでネットワークに接続する
・ネットワーク・クライアントの基本.スマホからLEDをON/OFF
・常に正確な時刻を表示できるNTP時計作る
・microSDカードのHTMLを表示する簡単Webサーバを作る
Wi-FiマイコンESP32を搭載した実習ボード IoT Express MkII●対象聴講者
・C言語を使った電子工作の経験はあるが,ネットワークを使ったコントロールはハードルが高いと考えていた方
・Pythonの経験はあるが,これを利用した電子工作を知りたい方
・IoT機器がどんな風に作られているのか原理を知りたい方
●講演の目標
・ESP-WROOM-32をネットワーク・エンジンとして電子機器に繋いでIoT機器を作るノウハウが身に付く
・ESP-WROOM-32を単体でIoT機器を作るノウハウが身に付く
・手元の電子機器をネットワークの繋ぐことによるメリットを体感できる