
Ttgo paxcounter dengan sensor debu halus dan BME280
wird aktuell überarbeitet für v.3 Stack CEwird aktuell überarbeitet für v.3 Stack CEPerangkat keras:
Komponen opsional, tergantung pada permintaan lokasi dan perumahan:
Perakitan / Pengkabelan
Strip pena disolder di papan Paxcounter dan pada sensor BME, tergantung pada posisi pemasangan atau lokasi pemasangan, strip pena di atas atau bagian bawah papan tersedia. Antena sekrup dipasang - di sini juga Anda dapat memasang kabel yang berkepanjangan tergantung pada struktur sensor. Kemudian kedua sensor terhubung ke PaxCounter sebagai berikut:
Sensor lingkungan terhubung sebagai berikut:
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
Sensor debu halus terhubung sebagai berikut:
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
Silakan lihat gambar di folder /img, sehingga Anda dapat dengan jelas melihat kabelnya lagi! Saya telah mendaftarkan warna kabel yang digunakan dalam contoh untuk Anda dalam paket kabel! Untuk pegangan yang stabil dari> kabel penghubung pada strip pena, kami sarankan colokannya hanya memperbaiki colokan dengan lem yang sedikit panas. Jadi untuk sementara Anda menghindari tergelincir kabel parsial dengan cukup longgar. Di folder gambar Anda sekarang juga dapat melihat perakitan yang disarankan yang telah saya dokumentasikan untuk Anda. Kami pada dasarnya mengikuti proyek dari Stuttgart, tetapi sedikit dimodifikasi
Thethingsnetwork --- wird aktuell überarbeitet für v.3 Stack CE pada langkah berikutnya kami menyiapkan akun kami di thethingsnetwork.org-first (kecuali sudah tersedia) akun dibuat. Aplikasi baru kemudian dibuat. Selain nama yang jelas, hanya penangan TTN yang dimasukkan di sini sebagai "TTN-HANDLER-EU".
Dalam aplikasi ini kami membuat perangkat kami - jadi hampir sensor debu halus TTN kami. Untuk melakukan ini, kami mengklik "Daftar Perangkat". Di jendela berikutnya kami memberikan nama pendek dan unik, misalnya "Fine Dust Sensor-01"-kami dapat secara otomatis menghasilkan DeviceUI. Untuk melakukan ini, kami mengklik panah ganda di depan bidang yang sesuai. Lebih banyak tidak diperlukan pada titik ini, nanti Anda dapat menyimpan lokasi dan data serupa dengan perangkat jika Anda mau. Kami meninggalkan jendela browser dengan "Ikhtisar Perangkat", itu akan diperlukan nanti!
perangkat lunak
Untuk pemrograman kami menggunakan kode studio Visual Microsoft dengan ekspansi ID PlatformIO. Pertama, kode Visual Studio diinstal, kemudian dimasukkan dan diinstal di bawah "File" dan "Preferensi", "Ekstensi" di bidang pencarian PlatformIO IDE. Setelah memulai kembali perangkat lunak, lingkungan pemrograman kami siap.
Catatan: Banyak instruksi luas di www menjelaskan instalasi dan pengaturan kode VS sangat rinci
Repositori GitHub
Kami telah menggunakan CybMerman54 dari GitHub sebagai perangkat lunak dasar untuk beberapa waktu. https://github.com/cyberman54/esp32-paxcounter/releases
Catatan penting: Karena repo ini juga telah direvisi dengan kuat dari versi 3.2, koneksi dari sensor debu halus melalui antarmuka serial, seperti yang dijelaskan dalam instruksi kami, juga tampaknya tidak lagi berfungsi. Jadi unduh versi 3.1 untuk membangun sensor lingkungan berdasarkan papan TTGO Paxcouner !!!
Repositori diunduh dan dibongkar, kemudian dibuka dalam kode VS.
Perubahan dan penyesuaian
(1) Pada langkah pertama, file Platformio_orig.ini diganti namanya atau disalin dari direktori utama dan kemudian berganti nama menjadi platformi.ini. Kemudian baris 10 diganti dalam file ini ;halfile = generic.h . Dalam file ini juga, baris 19 diganti ke halfile = ttgov21new.h - titik koma dihapus dan dengan demikian diaktifkan (lihat gambar)
(2) Di folder/src/hal/file "ttgov21new.h" disesuaikan sebagai berikut, kode berikut hanya dimasukkan ke baris 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
Cukup salin kode di atas dan masukkan ke dalam kode VS di file. Hasilnya bisa dilihat pada gambar.
(3) /src/ota_sample.conf: File tersebut diganti namanya atau disalin ke "Ota.conf", dalam file itu sendiri kita tidak perlu melakukan perubahan apa pun
(4) /src/loraconf_sample.h: Ganti nama atau salin ke "loraconf.h" di baris 38, 40 dan 42 masukkan deveui, appeui dan appkey (sebagai msb). Untuk melakukan ini, kami kembali ke jendela browser dengan "Ikhtisar Perangkat". Untuk memasukkan kunci ke dalam format angka yang benar, simbol <> dari baris masing -masing diklik, kunci mengubah formatnya. Kami membutuhkan format MSB masing -masing
Excursus: Saat pemrograman, Anda pasti tersandung melalui singkatan "MSB" dan "LSB". Anda dapat mengetahui apa singkatannya di tip praktis ini. Nilai Bit: MSB & LSB Cukup jelaskan yang layak untuk menentukan pentingnya setiap bit. Misalnya, ini penting untuk transmisi serial.
- LSB berarti "bit paling tidak signifikan". Jika urutan bit diberi nomor sesuai dengan nomor LSB-0-bit, maka bit dengan indeks 0 adalah status terendah.
- MSB berarti "bit paling signifikan". Dengan penomoran MSB-0-bit, bit dengan indeks 0 memiliki kepentingan tertinggi. Jika dengan angka biner dengan posisi 0, 1, ..., n-1 Bit dengan indeks 0 memiliki kepentingan tertinggi, nilainya harus dikalikan dengan 2 (n-1).
Di akhir baris masing -masing dengan kunci Anda dapat menyalin seluruh bagian ke dalam clipboard, kembali ke kode VS, tiga tombol disalin dalam baris yang sesuai satu demi satu - tombol sampel yang ditentukan hanya ditimpa. Di sini juga, saya membuat gambar untuk Anda ilustrasikan.
(5) File /.pio/libdepepsusb/sds011 Sensor Library/SDS011.CPP sekarang sedang diproses:
Kode ini berasal dari Cyberman54/ESP32-PAXCOUNTER#597 (Komentar) dan menjelaskan "Perintah Kerja"
Teks dimasukkan ke dalam baris 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
};
Selain itu, kita harus mengubah baris 113 di:
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();
}
}
Decoder dan Converter --- wird aktuell überarbeitet für v.3 Stack CE di akhir perubahan perangkat lunak, kami masih akan mendapatkan konten file ini dari yang berikut melalui Copy & Paste /src/packed_converter.js -> Converter dan kembali ke jendela browser. Di properti aplikasi TTN kami pergi ke tab "Payoad Format" dan pilih konverter di sana untuk dimasukkan. Jika sudah ada teks di jendela, itu hanya dihapus sepenuhnya dan kemudian teks dari file OG dimasukkan di sana.
Kemudian kami mendapatkan dekoder dari file /src/tn/packed_decoder.js dalam kode VS dan menyalinnya seperti di bidang "Format Payoad -> Decoder" masih merupakan perubahan kecil, manual:
Tambahkan yang berikut di baris 37 (format payoad -> decoder):
// combined wifi + ble + SDS011
if (bytes.length === 8) {
return decode(bytes, [uint16, uint16, uint16, uint16], ['wifi', 'ble', 'PM10', 'PM25']);
}
Tes singkat di konsol membawa keamanan bahwa decoder berfungsi: masukkan 16x 0 di bidang untuk payoad, letakkan port pada 1 dan klik "tes" dan kemudian klik "simpan fungsi payoad".
Kompilasi dan unggah
Sebagai langkah terakhir, hanya kompilasi program dalam kode VS yang diperlukan, setelah itu seluruh program dimuat ke penghitung PAX melalui USB. Oleh karena itu sensor terhubung melalui kabel USB mikro dan diaktifkan dengan sakelar geser.
Di bagian bawah bilah biru, konten yang tidak perlu dan kode dan file secara otomatis dibersihkan pada "bersih" (simbol diklik tempat sampah).
Kemudian klik simbol dengan kait "dibangun" di bilah biru di bagian bawah - itu bisa memakan waktu sejenak, tetapi harus ditutup setelah beberapa menit paling lambat.
Pada akhirnya, seluruh kode program dikirim ke sensor. Cukup klik panah kanan "Unggah"; Program ini ditransfer dan kemudian sensor dimulai kembali ketika transmisi telah berhasil selesai.
Jika Anda mengklik simbol konektor "Serial Monitor" di bilah biru, Anda dapat mengamati di konsol apa sensor yang aktif dan nilai terukur juga ditampilkan di sana.
Untuk uji fungsi langsung di konsol TTN, gateway TTN sangat penting dalam jangkauan, jika tidak sensor akan mengirim data ke area sekitarnya, tetapi tidak dapat diterima dan diproses.
--- wird aktuell überarbeitet für v.3 Stack CE secara paralel untuk membuka aplikasi TTN di browser, pilih perangkat dan klik pada bidang "Data" di kanan atas. Setelah waktu yang singkat, data juga harus ditampilkan di sini yang ditransmisikan ke Thethingsnetwork melalui Lora Funktechnik. Catatan, karena nilai debu halus ditransmisikan sebagai "pemilihan penuh", nilai -nilai yang diukur yang ditampilkan dalam konsol TTN harus dibagikan oleh 10 !!! Selamat, Lora Fine Dust Sensor Anda siap !!! Dalam dua bab lain, kami memberikan pandangan tentang apa yang dapat dilakukan dengan data yang diperoleh dan bagaimana mempublikasikannya pada kartu OpenData.
Outlook 1 - Node -red, Influxdb dan Grafana Teks mengikuti di sini
Outlook 2 - Kartu OpenData, Data Udara dan OpenSenseMap Teks mengikuti di sini