13マイル20km WiFiなしで?LoRaがどのようにしてクレイジーな距離を電圧で送信したのか!(Heltec WiFi LoRa 32 V3)

このレッスンはの一部です: WiFi LoRa入門

13マイル20km WiFiなしで?LoRaがどのようにしてクレイジーな距離を電圧で送信したのか!(Heltec WiFi LoRa 32 V3)

LoRaとESP32を使った13マイルのオフグリッド電圧モニターを構築する

遠く離れた場所から、キャビンの太陽光パネルやボートのバッテリーバンク、大規模な農場の機器など、遠隔の電源を監視する必要があったことはありますか?このプロジェクトガイドでは、データを驚異的な距離で送信できる長距離、オフグリッドの電圧モニターの構築方法を説明します。13マイル(または21キロメートル)サブスクリプション料やWi-Fiまたはセルラーネットワークへの依存なしに。

私たちは二つを使用します。Heltec WiFi LoRa 32モジュールはそれぞれ頑丈な中に収められています。Meshnology N32ケース3000mAhのバッテリーを搭載し、送信機と受信機を作成します。送信機は、簡単な電圧分圧回路を使用して対象電圧(数ボルトから100V以上)を測定し、LoRaを使用してワイヤレスで読み取ります。受信機は、その後この電圧をリアルタイムで表示し、数マイル離れた場所からシステムを監視できるようにします。


働き方:電圧分圧器

このプロジェクトの核心は、幅広い電圧を測定する能力です。ESP32の入力ピンは3.3Vまでの電圧しか安全に測定できないため、12Vや100Vの電源を直接接続することはできません。これを解決するために、シンプルな回路を使用します。電圧分圧器マイコンが読み取るための安全な電圧レベルに下げるものである。これはビデオで説明されています。12:26.

回路は直列につながれた2つの抵抗器(R1とR2)を使用しています。高電圧電源(V内の) は両方の抵抗器にかかり、ESP32はより低い比例電圧 (V を読み取ります。外にR2抵抗器のみに対してです。適切な抵抗値を使えば、非常に高い電圧を正確に測定できます。

R1およびR2抵抗器を使用した電圧分圧器の回路図。

抵抗器を選ぶ際の良い指針は、最大電圧を測定しているときでも出力電圧が3.3Vの限界を十分に下回る値を選ぶことです。最も正確な測定のためには、マルチメーターで実際の抵抗値を測定し、その正確な値をコードに使用するべきです。

電圧分割器の出力電圧と入力電圧を計算するための公式。

ハードウェアの組立と配線

組み立てには、Heltec LoRa 32モジュールと3000mAhバッテリーをN32ケース内に配置することが含まれます。このケースには、画面やボタン用のカットアウト、外部アンテナマウント用の穴があります。最も重要な安全の注意点の一つは、デバイスの電源を入れる前に、常にアンテナを接続しておいてください。アンテナなしで送信するとLoRaモジュールが損傷する可能性があります。

ESP32とバッテリーに接続された電圧分割器を示す主要配線図。
抵抗器と接続されたワイヤーの実際のプロジェクト配線の写真。
トランスミッターのOLEDスクリーンに表示された30Vの測定値の写真。

Arduino IDEおよびライブラリの設定

https://resource.heltec.cn/download/package_heltec_esp32_index.json

Heltecモジュールをプログラムするには、まずArduino IDEを設定する必要があります。この一度の設定は重要であり、詳しくは20:41ビデオの中で。

  1. ESP32ボードのインストール:ファイル > 環境設定に公式のEspressif ESP32ボードのURLを追加し、ボードマネージャーから「esp32」パッケージをインストールします。
  2. Heltecサポートをインストール:Heltec専用のJSON URLを設定に追加してください。それから、ボードマネージャーで「Heltec ESP32」パッケージを検索してインストールします。
  3. 必要なライブラリをインストールします。ライブラリマネージャー(スケッチ > ライブラリを含める > ライブラリを管理)を使用して、以下をインストールします:
    • Heltec ESP32 dev boards
    • Adafruit GFX Library(およびその依存関係)
  4. Robojaxライブラリをインストールします:カスタムをダウンロードする必要があります。Robojax_HeltecLoRa32ライブラリは、.zipファイルとして提供されます。IDEにインストールするには、Sketch > Include Library > Add .ZIP Libraryを選択してください。
  5. ボードを選択してください。最後に、ツール > ボードに行き、選択します。Heltec WiFi LoRa 32 (V3)および正しいCOMポート。

コード設定の説明

プロジェクトは2つの別々のスケッチを使用します:1つは送信機 (TX)そして一つはそのための受信機 (RX)送信機のコードで動作させるためには、いくつかの重要な設定を構成するだけで済みます。25:02受信機のコードは一致するLoRa設定を必要とします。


#define VOLTAGE_READING_PIN 4  // The pin reading the voltage
const int R1 = 39120; // Your measured value for R1 in ohms
const int R2 = 3312; // Your measured value for R2 in ohms

const float CALIB_FACTOR = 1.007f; // Calibration factor to match a multimeter

const char *displayTexttitle = "Voltage:"; // Text for the OLED
const char *displayTexTX = "(TX)";

// This security key MUST be IDENTICAL on the TX and RX devices
const char *userKey = "YOUR_SECRE8888";

// These LoRa settings MUST be IDENTICAL on the TX and RX devices
#define RF_FREQUENCY      915000000 // LoRa Frequency in Hz
#define TX_OUTPUT_POWER   2         // TX Power in dBm (2-21)
  • VOLTAGE_READING_PINあなたが電圧分割器の出力に接続したESP32のGPIOピン。
  • R1そしてR2: 入力してください正確な抵抗値あなたの2つの抵抗器の値をマルチメーターで測定したものです。これは精度にとって重要です。
  • CALIB_FACTOR表示されている電圧が信頼できるマルチメーターからわずかにずれている場合、この値を上下に調整することができます(例:1.008または0.995)読み取り値を微調整するために。設定してください1.0無効にする。
  • userKeyこれはあなたのプライベートセキュリティキーです。正確に同じキーを持つデバイスのみが通信できます。
  • RF_FREQUENCYLoRaの動作周波数。これは両方のデバイスで一致している必要があり、あなたの地域で合法である必要があります(例:北アメリカでは915MHz)。
  • TX_OUTPUT_POWER送信電力は、2(低出力、短距離)から21(高出力、長距離)までです。高出力はバッテリーを多く消費します。13マイルのテストでは、20の値が使用されました。デスク上でのテストでは、2で十分です。

受信者コードには、同様の設定があります。userKeyそしてRF_FREQUENCYそれは送信機の設定と一致しなければなりません。


実際のプロジェクトの進行状況

コードがアップロードされると、送信機ユニットは接続された電源からの電圧を測定し、"(TX)"インジケーター付きのOLED画面に表示し、LoRa経由でデータを送信します。受信機ユニットは、一致するセキュリティキーと周波数でプログラムされた場合、信号を受信します。有効な送信を受信すると、それと同じ電圧を画面に"(RX)"インジケーター付きで表示します。

長距離テストで示されたように31:39このセットアップは非常に効果的です。高利得アンテナとクリアな視界により、このシステムは13マイル離れた場所から正確な電圧測定値を成功裏に送信および受信し、真剣なリモートモニタリングタスクに対する堅牢で信頼性のあるソリューションであることを証明しました。


ビデオチャプター

  • 00:00- スタート
  • 03:33- ボードとLoRaの紹介
  • 05:47N32 WiFi LoRa 32用ケース
  • 12:26- 最大150Vを測定するための電圧分圧器
  • 19:47- 電圧を測定するためのワイヤーの準備
  • 20:41WiFi LoRa 32のライブラリをインストール中
  • 25:02- トランスミッションコードの説明
  • 27:16- 受取人コードの説明
  • 28:36電圧の読み取りのデモンストレーション
  • 31:39実際の距離範囲テスト(13マイル)
コードは添付されていません。

Common Course Files

ファイル📁

他のファイル