
細かいダストセンサーとBME280を備えたTTGO PaxCounter
wird aktuell überarbeitet für v.3 Stack CEwird aktuell überarbeitet für v.3 Stack CEハードウェア:
場所と住宅のリクエストに応じて、オプションのコンポーネント:
アセンブリ /配線
ペンストリップは、PaxCounterボードとBMEセンサーにはんだ付けされています。設置位置または設置場所に応じて、ボードの上部または下側のペンストリップが利用可能です。ネジアンテナが取り付けられています - ここでも、センサーの構造に応じて長期ケーブルを取り付けることができます。次に、2つのセンサーが次のようにPaxCounterに接続されます。
環境センサーは次のように配線されています。
VCC (VDC 3,3 Volt) wird mit Pin 3.3V angeschlossen ORANGE
GND (Ground) wird mit dem GND am Paxcounter verbunden GELB
SCL (i2c Bus) --> Pin 22 am Paxcounter (mit SCL oder 22 beschriftet) GRÜN
SDA (i2c Bus) --> Pin 21 am Paxcounter (mit SDA oder 21 beschriftet) BLAU
frei
frei
細かいダストセンサーは次のように配線されています。
TXD (Daten senden) wird mit Pin 23 am Paxcounter verbunden WEISS
RXD (Daten empfangen) wird mit Pin LoRa2 am Paxcounter verbunden SCHWARZ
GND (Ground) wird mit einem weiteren Pin GND am Paxcounter angeschlossen BRAUN
frei
VCC (VDC 5 Volt) kommt an den 5 Volt Pin (beschriftet mit 5V) ROT
frei
frei
フォルダー /IMGの写真を見てください。そうすれば、再び配線をはっきりと見ることができます。配線計画であなたの例で使用されているケーブルの色をリストしました!ペンストリップの>接続ケーブルを安定させるには、プラグが単純にプラグを少しホット接着剤で固定することをお勧めします。したがって、しばらくの間、部分ケーブルをかなりゆるく滑らないようにします。画像フォルダーには、私があなたのために文書化した推奨アセンブリも見ることができます。基本的にStuttgartからプロジェクトに従いましたが、少し変更されました
theThingsNetwork ---次のwird aktuell überarbeitet für v.3 Stack CE次のステップでは、アカウントが作成されている(既に利用可能でない限り)theStingsnetwork.org-firstでアカウントを準備します。その後、新しいアプリケーションが作成されます。明確な名前に加えて、ここには「TTNハンドラー-EU」としてTTNハンドラーのみがここに入力されます。
このアプリケーション内で、デバイスを作成します。そのため、ほぼTTNファインダストセンサーです。これを行うには、「登録デバイス」をクリックします。次のウィンドウでは、「Fine Dust Sensor-01」などの短いユニークな名前を授与します。DeviceUIを自動的に生成できます。これを行うには、対応するフィールドの前の二重矢印をクリックします。この時点ではさらに必要ありません。後で、必要に応じて場所と同様のデータをデバイスに保存できます。 「デバイスの概要」でブラウザウィンドウを残します。後で必要になります!
ソフトウェア
プログラミングには、Platformio ID拡張を備えたMicrosoft Visual Studioコードを使用します。まず、Visual Studioコードがインストールされ、PlatformIDE Searchフィールドに「ファイル」と「設定」、「拡張機能」の下に入力およびインストールされます。ソフトウェアを再起動した後、プログラミング環境の準備が整いました。
注:WWWの多数の広範な手順は、VSコードのインストールとセットアップについて非常に詳細に説明しています
GitHubリポジトリ
GitHubのCybmerman54をしばらくの間、基本ソフトウェアとして使用しています。 https://github.com/cyberman54/esp32-paxcounter/releases
重要な注意:このリポジトリはバージョン3.2からも強く改訂されているため、私たちの指示に記載されているように、シリアルインターフェイスを介したファインダストセンサーからの接続も機能していないようです。バージョン3.1をダウンロードして、TTGO PaxCounerボードに基づいて環境センサーを構築してください!!!
リポジトリはダウンロードされて開梱され、VSコードで開きます。
変更と調整
(1)最初のステップでは、Platformio_orig.iniファイルがメインディレクトリから名前が変更またはコピーされ、Platformi.iniと名前が変更されます。次に、このファイルで行10が置き換えられます;halfile = generic.h 。このファイルでも、19行目はhalfile = ttgov21new.hに置き換えられます - セミコロンが削除され、したがってアクティブ化されています(写真を参照)
(2)フォルダー/src/hal/file "ttgov21new.h"は次のように調整されます。次のコードは21行に挿入されます。
// BME280 sensor on I2C bus
#define HAS_BME 1 // Enable BME sensors in general
#define HAS_BME280 GPIO_NUM_21, GPIO_NUM_22 // SDA, SCL
#define BME280_ADDR 0x76 // change to 0x77 depending on your wiring
// SDS011 dust sensor settings
#define HAS_SDS011 1 // use SDS011
// used pins on the ESP-side:
#define SDS_TX 12 // connect to RX on the SDS011
#define SDS_RX 35 // connect to TX on the SDS011
上のコードをコピーして、ファイルのVSコードに挿入するだけです。結果は写真で見ることができます。
(3)/src/ota_sample.conf:ファイルは「ota.conf」に名前が変更またはコピーされます。ファイル自体では、変更を加える必要はありません
(4)/src/loraconf_sample.h:38、40、42行の「loraconf.h」に名前を変更またはコピーします。これを行うには、「デバイスの概要」を使用してブラウザウィンドウに戻ります。キーを正しい番号形式にするために、それぞれの行の<>シンボルがクリックされ、キーが形式を変更します。それぞれMSB形式が必要です
Excursus:プログラミングをするとき、あなたは確かに「MSB」と「LSB」の略語をつまずきました。この実用的なヒントにある略語が何であるかを知ることができます。ビット値:msb&lsbは、各ビットの重要性を判断することで苦労していることを単に説明します。たとえば、これはシリアルトランスミッションにとって重要です。
- LSBは「最小重要なビット」の略です。 LSB-0ビット番号に従ってビットシーケンスに番号が付けられている場合、インデックス0のビットが最低のステータスです。
- MSBは「最も重要なビット」を表しています。 MSB-0ビットの番号付けにより、インデックス0のビットが最も重要です。位置0、1、...、n-1の位置を持つバイナリ数がインデックス0のビットが最も重要である場合、その値に2(n-1)を掛ける必要があります。
キーを使用したそれぞれの行の終わりに、VSコードに戻って、パーツ全体をクリップボードにコピーできます。3つのキーは、対応する行に次々とコピーされます。指定されたサンプルキーは単純に上書きされます。ここでも、説明するための写真を作成しました。
(5)ファイル/.pio/libdepepsusb/sds011センサーライブラリ/sds011.cppが処理されています。
このコードは、Cyberman54/ESP32-PAXCOUNTER#597(コメント)から来ており、「作業コマンド」について説明しています。
テキストは35行目に挿入されます。
static const byte WORKCMD[19] = {
0xAA, // head
0xB4, // command id
0x06, // data byte 1
0x01, // data byte 2 (set mode)
0x01, // data byte 3 (work)
0x00, // data byte 4
0x00, // data byte 5
0x00, // data byte 6
0x00, // data byte 7
0x00, // data byte 8
0x00, // data byte 9
0x00, // data byte 10
0x00, // data byte 11
0x00, // data byte 12
0x00, // data byte 13
0xFF, // data byte 14 (device id byte 1)
0xFF, // data byte 15 (device id byte 2)
0x06, // checksum
0xAB // tail
};
さらに、次の行113を変更する必要があります。
void SDS011::wakeup() {
// sds_data->write(0x01);
// sds_data->flush();
for (uint8_t i = 0; i < 19; i++) {
sds_data->write(WORKCMD[i]);
}
sds_data->flush();
while (sds_data->available() > 0) {
sds_data->read();
}
}
デコーダーとコンバーター--- wird aktuell überarbeitet für v.3 Stack CEが、コピー&ペースト /packed_converter.js->コンバーターを介して次のファイルのコンテンツを取得し、ブラウザーウィンドウに戻ります。 TTNアプリケーションのプロパティでは、「PayOadフォーマット」タブに移動し、挿入のためにコンバーターを選択します。ウィンドウに既にテキストがある場合、それは完全に削除され、OGファイルからのテキストがそこに挿入されます。
次に、VSコードのファイル/src/tn/packed_decoder.jsからデコーダーを取得し、「payoad形式 - > decoder」フィールドと同じようにコピーします。
37行目に以下を追加します(PAYOAD形式 - >デコーダー):
// combined wifi + ble + SDS011
if (bytes.length === 8) {
return decode(bytes, [uint16, uint16, uint16, uint16], ['wifi', 'ble', 'PM10', 'PM25']);
}
コンソールでの短いテストでは、デコーダーが機能するセキュリティをもたらします。ペイオード用のフィールドに16x 0を挿入し、ポートを1に置き、[テスト]をクリックしてから[PayOad関数の保存]をクリックします。
コンパイルしてアップロードします
最後のステップとして、VSコードのプログラムのコンパイルのみが必要であり、その後、プログラム全体がUSBを介してPaxカウンターにロードされます。したがって、センサーはマイクロUSBケーブルを介して接続され、スライドスイッチでアクティブ化されます。
青いバーの下部では、不要になり、コードコンテンツとファイルが「クリーン」で自動的にクリーンアップされます(シンボルクリックされたガベージビン)。
次に、下部の青いバーに「構築された」フックがあるシンボルをクリックします。少し時間がかかりますが、最新の数分後に閉じます。
最終的に、プログラムコード全体がセンサーに送信されます。右の矢印「アップロード」をクリックするだけです。プログラムは転送され、送信が正常に完了したときにセンサーが再起動されました。
青いバーの「シリアルモニター」コネクタシンボルをクリックすると、コンソールでセンサーがアクティブであり、測定値もそこに表示されるものを観察できます。
TTNコンソールでの直接関数テストの場合、TTNゲートウェイは手の届く範囲内で不可欠です。そうしないと、センサーはそのデータを周囲のエリアに送信しますが、受信して処理される場所はありません。
--- wird aktuell überarbeitet für v.3 Stack CE 、ブラウザでTTNアプリケーションを開き、デバイスを選択して右上の「データ」フィールドをクリックします。しばらくして、Lora Funktechnikを介してTheThingsNetworkに送信されるデータもここに表示する必要があります。注意してください、微細なダスト値は「完全な選挙」として送信されるため、TTNコンソールに表示される測定値は10で共有する必要があります!!!おめでとうございます、あなたのロラの細かいダストセンサーは準備ができています!!!他の2つの章では、取得したデータで何ができるか、Opendataカードで公開する方法についての見通しを示します。
Outlook1 -Node -Red、InfluxDB、Grafanaテキストはこちらに続きます
Outlook 2 -Opendataカード、AIRデータ、およびOpenSENSEMAPテキストはこちらに続きます