カランのブログ

ソフトウェアエンジニア / 台湾人 / 福岡生活

今のモード ライト

本記事はシリーズの第4回です:

  1. センサー紹介 - DHT11とMH-Z14A
  2. データ通信 - UART(実装ではUARTのみを使用するため、UARTのみについて説明します)
  3. Arduinoトラブルシューティング
  4. WiFiセクション:デバッグ時間を節約するために、ESP32開発ボードを追加で購入しました。ESP32にはWiFiとBluetoothの機能がすでに組み込まれています。
  5. (未公開)MQTTセクション:データを他のデバイスに送信するため、軽量で小さな通信プロトコルであるMQTTを使用しました。
  6. (未公開)Grafana / Webセクション:データをデータベースに保存するので、華やかな方法で表示します!ここでは、Grafana + PromethusおよびSvelteを使用してデータを表示します。

はじめに

通常、ArduinoでWiFi機能を実装するには、他の拡張モジュールが必要です。よく知られているチップはESP8266です。ただし、ESP8266だけを購入する場合、すべてのピンを自分ではんだ付けする必要があり、データシートも自分で読み解く必要があります。WiFiの基本動作を理解したい場合、これは素晴らしい練習ですが、今回の目的はアイデア全体を実装することなので、WiFiとBluetoothの機能が組み込まれたESP32開発ボードを購入しました。

ESP32開発ボードにはWiFi機能だけでなく、GPIOピン、シリアルインターフェース、UARTも備わっており、Arduino IDEとの互換性もあり、開発も簡単です。したがって、Arduinoを使用しなくても、ESP32だけですべての機能を実行できます。

WiFi接続

#include "WiFi.h"

WiFiClient client;

void setup()
{
  WiFi.mode(WIFI_STA);
  WiFi.begin(SSID, PASSWORD);

  while (WiFi.status() != WL_CONNECTED)
  {
    delay(500);
    Serial.println("Connecting to WiFi..");
  }

  Serial.println("Wifi is connected!");
}

void loop()
{
}

WiFiライブラリを使用すると、WiFi接続を簡単に確立することができます。単にsetup内でWiFi.modeWiFi.beginを呼び出すだけです。ここでは再接続メカニズムを設定していないため、失敗した場合はArduinoを再起動する必要があるかもしれません。

WiFiに接続した後、できることはたくさんあります!HTTPサーバーの実行、サーバーにAPIを送信、センサーデータをデータベースに送信、リアルタイムモニタリングなどがあります。

ここでは、MQTTを使用してセンサーデータ(温度、湿度、二酸化炭素濃度)をサーバーに送信し、残りのロジックはすべてサーバーで処理することを目指しています。MQTTの詳細については、次回の記事で説明します!

作者

Kalan 頭像照片,在淡水拍攝,淺藍背景

愷開 | Kalan

Kalan です。台湾出身で、2019年に日本へ転職し、福岡に住んでいます。フロントエンド開発に精通しているだけでなく、IoT、アプリ開発、バックエンド、電子工作などの分野にも挑戦しています。 最近、エレキギターを始めました。ブログを通じて、より多くの人と交流できればと思っています。気軽に絡んでください