#topicpath

** ESP32 [#n9d817c6]
  中国の Espressif Systems 社が作成したマイクロコントローラで、次の特徴を持つ。
- 特徴
++ Arduino IDE (IDE とは「東郷開発環境」のこと)で開発できる。~
(他の開発環境も選択しうる)
++ Wifi 対応(単体で無線LAN接続できる。)
++ Bluetooth 対応(単体でBluetooth接続できる。)
++ ESP8266 の後継。~
~
- ESP8266 との比較~
|比較項目| ESP8266 | ESP32 |h
|対応する無線通信| Wifi, Bluetooth | Wifi |
|CPU| 32bit, dualcore, 160MHz | 32bit, singlecore, 80MHz|
|Espressif 製のモジュール名| ESP-WROOM-32 | ESP-WROOM-2 |
~
Arduino を使ってネットワーク接続をするのであれば、最初から ESP32 を使うことを考えるべき。~
~
** 開発用ボード [#y9b3b88c]
  ESP32用の開発ボードはいくつかある。今回は、Switchscience の [[ESPr Developer 32>https://www.switch-science.com/catalog/3210/]] を使用する。
*** 使用前の準備 [#de64a112]
+ ピンヘッダの半田付け~
まずはこれから。これをしないと、プロトタイピングできない。~
~
+ Arduino IDE のダウンロードと初期設定~
-- ポータブルな環境にするには、[["Windows ZIP file for non admin install">http://www.arduino.cc/en/Main/Donate]]を選択する。~
もちろん献金してよい。しかし、献金しなくても "Just Donwload" ボタンでファイルを取得できる。~
1.8.5 が最新版(2018-08-16 (木) 17:44:23時点)~
~
-- Switchscience の[[解説ページ>http://trac.switch-science.com/wiki/esp32_setup]]を参照して、Arduino IDE で ESP32 ボードを使えるようにする。
--- ファイル > 環境設定 で~
設定タブの「追加のボードマネージャーのURL:」に https://dl.espressif.com/dl/package_esp32_index.json を書き込み OK をクリック~
--- ファイル > 環境設定~
設定タブの「追加のボードマネージャーのURL:」に
 https://dl.espressif.com/dl/package_esp32_index.json 
を書き込み OK をクリックする。~
~
--- ツール > ボード:"Arduiono/Genuin Uno" にマウスのポインターを合わせ、~
現れたタブからボードマネージャを選んでクリック。窓に、ESP32 を入力すると、"esp32 by Expressif Systems"が現れる。~
これをクリックし、「インストール」をクリックする。~
現れたタブからボードマネージャを選んでクリック。窓に、ESP32 を入力すると、~
"esp32 by Expressif Systems"が現れる。これをクリックし、「インストール」をクリックする。~
ボードの定義がダウンロードされてインストールされる。~
~
--- ツール > ボード:"Arduiono/Genuin Uno" にマウスのポインターを合わせ、~
ESP32 Dev Module を選択する。~
~
--- ツール > シリアルポート~
でそれらしい COM3 などを選択する。選択しないと通信できない。~
~
+ はまったところ
++ コンパイルがエラーで止まる。~
Mc Afee のウィルス対策ソフトのリアルタイムスキャンが影響している。これを止めると、コンパイルできる。~
~
++ ツール > シリアルポートで選べない。~
USB Type B micro のコネクタが深く刺さっていないと、COMポートが認識できない。~
ちなみに、シリアル通信のデバイスドライバは、Windows が勝手にインストールしてくれる。~
~
*** IFTTT で利用する。 [#rd103966]
+ IFTTT について~
[[こちらのページ>../IFTTT]]を参照する。~
*** テストプログラム [#rbc09f2e]
  接続できたと思ったら、次のプログラム(Arduino ではスケッチと呼ぶ)を試してみる。
+ Arduino としての機能~
次のスケッチを実行し、ツール > シリアルモニタ でシリアルモニタ(別枠の窓)を表示させる。~
右下の通信速度を、スケッチ中の 115200bps に変更する。
 void setup() {
   Serial.begin(115200);
 }
 
 void loop() {
   Serial.println("Hello World.");
   delay(1000); 
 }
うまくいけば、1秒(1000ミリ秒)に1回、"Hello World." と表示される。~
~
++ IFTTTの webhooks チャンネルの利用を開始する。
+ Wi Fi としての機能~
ファイル > スケッチ例 > (EES32 Dev Module 用のスケッチ例から) Wi Fi > Wi Fi Scan を選択する。~
次のスケッチが表示される。~ 
 #include "WiFi.h" 
 
 void setup()
 {
     Serial.begin(115200);
 
     // Set WiFi to station mode and disconnect from an AP if it was previously connected
     WiFi.mode(WIFI_STA);
     WiFi.disconnect();
     delay(100); 
 
     Serial.println("Setup done");
 }
 
 void loop()
 {
     Serial.println("scan start");
 
     // WiFi.scanNetworks will return the number of networks found
     int n = WiFi.scanNetworks();
     Serial.println("scan done");
     if (n == 0) {
         Serial.println("no networks found");
     } else {
         Serial.print(n);
         Serial.println(" networks found");
         for (int i = 0; i < n; ++i) {
             // Print SSID and RSSI for each network found
             Serial.print(i + 1);
             Serial.print(": ");
             Serial.print(WiFi.SSID(i));
             Serial.print(" (");
             Serial.print(WiFi.RSSI(i));
             Serial.print(")");
             Serial.println((WiFi.encryptionType(i) == WIFI_AUTH_OPEN)?" ":"*");
             delay(10);
         }
     }
     Serial.println(""); 
 
     // Wait a bit before scanning again
     delay(5000);
 }
これを実行すると、無線LANの情報が表示されるはずである。~
~
+ その他
++ ホール素子~
ファイル > スケッチ例 > (EES32 Dev Module 用のスケッチ例から) ESP32 > Hall Sensor~
内蔵のホールセンサの値(磁場に関係した量)を表示できる。~
~
++ タッチセンサ~
ファイル > スケッチ例 > (EES32 Dev Module 用のスケッチ例から) ESP32 > Touch > Touchread~
GPIO4 のピンからケーブルを伸ばすと、それに接触したかどうかで判定できる。~
いわば、タッチセンサ―として機能する。それを試すプログラム。~
~
** IFTTT で利用する。 [#rd103966]
+ IFTTT を使う際の考え方~
[[こちらのページ>../IFTTT]]にまとめた。IFTTTの webhooks サービスを利用する。そのためには、~
https で ifttt.com に POST しなければならない。~
~
+ https で特定のサイトにアクセスする。~
-- 予備知識~
ブラウザは、http と https を区別なくアクセスするように見える。しかし、マイコンで https で~
開設されているサイトにアクセスするには、工夫が必要になる。サンプルプログラムは、~
ファイル > スケッチ例 > (EES32 Dev Module 用のスケッチ例から) Wi Fi Client Secure > Wi Fi Client Secure~
で得られる。~
~
-- 証明書の取得~
「[[ESP32からIFTTTを使ってLINE Notifyで通知を送ってみた/スケッチの設定>https://qiita.com/mascii/items/4c366ad4709469d5fda9#%E3%82%B9%E3%82%B1%E3%83%83%E3%83%81%E3%81%AE%E8%A8%AD%E5%AE%9A]]」を参照して、~
送信先であるifttt.comにアクセスするための証明書を取得する。~
 -----BEGIN CERTIFICATE-----
 MIIDxTCCAq2gAwIBAgIBADANBgkqhkiG9w0BAQsFADCBgzELMAkGA1UEBhMCVVMx
 EDAOBgNVBAgTB0FyaXpvbmExEzARBgNVBAcTClNjb3R0c2RhbGUxGjAYBgNVBAoT
 EUdvRGFkZHkuY29tLCBJbmMuMTEwLwYDVQQDEyhHbyBEYWRkeSBSb290IENlcnRp
 ZmljYXRlIEF1dGhvcml0eSAtIEcyMB4XDTA5MDkwMTAwMDAwMFoXDTM3MTIzMTIz
 NTk1OVowgYMxCzAJBgNVBAYTAlVTMRAwDgYDVQQIEwdBcml6b25hMRMwEQYDVQQH
 EwpTY290dHNkYWxlMRowGAYDVQQKExFHb0RhZGR5LmNvbSwgSW5jLjExMC8GA1UE
 AxMoR28gRGFkZHkgUm9vdCBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkgLSBHMjCCASIw
 DQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAL9xYgjx+lk09xvJGKP3gElY6SKD
 E6bFIEMBO4Tx5oVJnyfq9oQbTqC023CYxzIBsQU+B07u9PpPL1kwIuerGVZr4oAH
 /PMWdYA5UXvl+TW2dE6pjYIT5LY/qQOD+qK+ihVqf94Lw7YZFAXK6sOoBJQ7Rnwy
 DfMAZiLIjWltNowRGLfTshxgtDj6AozO091GB94KPutdfMh8+7ArU6SSYmlRJQVh
 GkSBjCypQ5Yj36w6gZoOKcUcqeldHraenjAKOc7xiID7S13MMuyFYkMlNAJWJwGR
 tDtwKj9useiciAF9n9T521NtYJ2/LOdYq7hfRvzOxBsDPAnrSTFcaUaz4EcCAwEA
 AaNCMEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYE
 FDqahQcQZyi27/a9BUFuIMGU2g/eMA0GCSqGSIb3DQEBCwUAA4IBAQCZ21151fmX
 WWcDYfF+OwYxdS2hII5PZYe096acvNjpL9DbWu7PdIxztDhC2gV7+AJ1uP2lsdeu
 9tfeE8tTEH6KRtGX+rcuKxGrkLAngPnon1rpN5+r5N9ss4UXnT3ZJE95kTXWXwTr
 gIOrmgIttRD02JDHBHNA7XIloKmf7J6raBKZV8aPEjoJpL1E/QYVN8Gb5DKj7Tjo
 2GTzLH4U/ALqn83/B2gX2yKQOC16jdFU8WnjXzPKej17CuPKf1855eJ1usV2GDPO
 LPAvTK33sefOT6jEm0pUBsV/fdUID+Ic/n4XuKxe9tQWskMJDE32p2u0mYRlynqI
 4uJEvlz36hz1
 -----END CERTIFICATE-----


トップ   新規 検索 最終更新   ヘルプ   最終更新のRSS