カランのブログ

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

四零二曜日電子報上線啦!訂閱訂起來

ソフトウェアエンジニア / 台湾人 / 福岡生活
このブログはRSS Feed をサポートしています。RSSリンクをクリックして設定してください。技術に関する記事はコードがあるのでブログで閲覧することをお勧めします。

今のモード ライト

我會把一些不成文的筆記或是最近的生活雜感放在短筆記,如果有興趣的話可以來看看唷!

記事のタイトルや概要は自動翻訳であるため(中身は翻訳されてない場合が多い)、変な言葉が出たり、意味伝わらない場合がございます。空いてる時間で翻訳します。

ArduinoとESP32を使った大気質モニタリングアプリケーションの作成 (4)-WiFi

本記事はシリーズの第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の詳細については、次回の記事で説明します!

次の記事

隱性肥宅工程師重訓一個月後的心得

前の記事

React 17 アップデートフォーカス-useEffect のクリーンアップ関数のタイミング変更

この文章が役に立つと思うなら、下のリンクで応援してくれると大変嬉しいです✨

Buy me a coffee