Isi kandungan:

Sensor Sambungan Nodemcu ESP8266 untuk Weewx: 8 Langkah (dengan Gambar)
Sensor Sambungan Nodemcu ESP8266 untuk Weewx: 8 Langkah (dengan Gambar)

Video: Sensor Sambungan Nodemcu ESP8266 untuk Weewx: 8 Langkah (dengan Gambar)

Video: Sensor Sambungan Nodemcu ESP8266 untuk Weewx: 8 Langkah (dengan Gambar)
Video: Введение в плату разработки NodeMCU ESP8266 WiFi с примером HTTP-клиента 2024, November
Anonim
Sensor Sambungan Nodemcu ESP8266 untuk Weewx
Sensor Sambungan Nodemcu ESP8266 untuk Weewx

Ini adalah petunjuk untuk menambahkan Sensor ke perisian stesen cuaca weewx.

Sekiranya anda belum menggunakan weewx, anda boleh mempelajari beberapa perkara dalam tutorial ini.

anda memerlukan beberapa pengetahuan asas mengenai kod Arduino dan cara memuat naik pada peranti.

Anda dapati maklumat weewx di sini:

Apa yang anda bina ialah 2 Peranti:

1 Peranti menghantar Suhu dan Kelembapan ke perisian weewx.

1 Peranti menghantar Suhu Tanah dari permukaan tanah yang berbeza ke perisian weewx.

Peranti pertama kami adalah sensor BME 280.

Peranti kedua kami adalah rantai 3 sensor Temperatur DS18B20. (Anda boleh menambah lebih banyak jika anda mahu).

Mari mulakan:

Langkah 1: Apa yang Anda Perlu …

Apa yang kamu perlu…
Apa yang kamu perlu…
Apa yang kamu perlu…
Apa yang kamu perlu…
Apa yang kamu perlu…
Apa yang kamu perlu…

Weewx aktif dan berjalan + akses ke pelayan weewx. (contohnya raspberry PI 3).

2 modul Nodemcu ESP8266

3 atau lebih Sensor DS18B20

Sensor kombo 1 BME 280

1 Paip aluminium atau serupa dengan diameter ketebalan dinding 10mm dan 1mm dan kira-kira Panjang 1 Meter

1 Sarung kalis air dengan kelenjar kabel dan mur terkunci.

1 Sumber kuasa 5V (Contohnya pemuat mudah alih).

Sebilangan wayar dan bahan pematerian.

Anda dapati modul sensor dan modul Nodemcu BME280 di ebay.

Untuk paip Aluminium saya memilih kedai perkakasan tempatan

Untuk kes DS18B20 dan kalis air saya menggunakan www.reichelt.de

www.reichelt.de/DS-18B20/3/index.html?ACTI…

www.reichelt.de/EL-FK-110/3/index.html?ACT…

dan kumpulan kelenjar kabel dengan kacang kunci

www.reichelt.de/Kabelverschraubungen-Bopla…

Untuk bme280 anda boleh menggunakan kaleng percabangan

www.reichelt.de/Installationsmaterial/EL-D…

Langkah 2: Mulakan dengan Persediaan Perkakasan Sensor BME 280

Mulakan Dengan Persediaan Perkakasan Sensor BME 280
Mulakan Dengan Persediaan Perkakasan Sensor BME 280

Pateri jalur di BME280.

Kemudian memasang BME ke Nodemcu:

BME VIN hingga 3.3V

BME GND hingga GND

SCL hingga D4

SDA hingga D3

Sekiranya anda suka, anda boleh meletakkan Peranti di dalam perumahan, tetapi pastikan bahawa terdapat beberapa lubang di dalam perumahan, supaya nilai kelembapan dan suhu betul.

Langkah 3: Kod BME 280 Nodemcu ESP8266

Kod BME 280 Nodemcu ESP8266
Kod BME 280 Nodemcu ESP8266
Kod BME 280 Nodemcu ESP8266
Kod BME 280 Nodemcu ESP8266
Kod BME 280 Nodemcu ESP8266
Kod BME 280 Nodemcu ESP8266

Untuk kod anda boleh menggunakan repositori github saya:

github.com/Landixus/BME280_TO_SERVER_WEEWX

Fail ino memerlukan beberapa sisipan dari anda:

Alamat IP pelayan atau URL weewx anda

dan laluan di mana anda mempunyai fail php, pastikan kawasan tersebut boleh ditulis.

saya memilih dir public_html kerana ia adalah pelayan rumah.

jika anda ingin mengklon gositori git, dan memasang git di pelayan anda, anda boleh mengklon dengan arahan:

"git klon" https://github.com/Landixus/BME280_TO_SERVER_WEEWX"

Sekarang kita perlu melakukan beberapa perkara di pelayan weewx kita.

Anda perlu membuat jalan ke tetapan anda!

dalam

/ rumah / weewx / awam_html

buat data folder

dalam folder data buat bme.txt misalnya dengan:

nano bme.txt

fail hendaklah kosong.

membuatnya boleh ditulis dengan:

chmod -R 777 bme.txt

(anda tidak pernah melakukan ini di pelayan yang boleh diakses di internet!)

dalam folder

/ rumah / weewx / awam_html

anda meletakkan bme.php repo github saya.

Caranya ialah fail INO menghantar nilai ke bme.php dan bme.php menulis data dalam bme.txt

Selanjutnya kita perlu menambah perkhidmatan di weewx

masukkan bme.py ke dalam folder

/ rumah / weewx / tong / pengguna

buka folder weewx.conf anda

/ rumah / weewx

selalu baik untuk mempunyai sandaran sebelum mengedit fail ini!

turun ke mesin Line dan buat garis kelihatan seperti saya:

[Enjin]

# Bahagian ini menentukan perkhidmatan yang harus dijalankan. Mereka

# dikelompokkan mengikut jenis, dan urutan perkhidmatan dalam setiap kumpulan

# menentukan urutan perkhidmatan akan dijalankan.

data_services = user.pond. PondService, user.bme.bme

mulakan semula weewx dengan:

sudo /etc/init.d/weewx berhenti

sudo /etc/init.d/weewx bermula

dengan arahan

tail -f / var / log / syslog

anda boleh mencari di logfile untuk kesilapan atau kejayaan, mencari output bme: nilai yang dijumpai…

Beri pelayan anda beberapa minit untuk menghasilkan, dalam "my" weewx.conf setiap 5 minit menghasilkan output.

Sekiranya anda mempunyai mesej ralat, periksa jalan anda.

Sekiranya anda mempunyai nilai, anda boleh menunjukkannya di laman web:

buka kulit.conf di

/ rumah / weewx / kulit / Standard

pergi ke:

# Yang ini mungkin khusus untuk stesen saya! Tambah

extraTemp3 = BME1 TemperatureextraHumid1 = Kelembapan BME1

simpan fail dan buka dalam folder yang sama

index.html.tmpl

cari garis:

#jika $ hari.extraTemp..

#akhirkan jika

selepas #endend pertama jika anda dapati, letakkan Sensor BME anda dengan:

^^ maaf tetapi tidak mungkin untuk meletakkan ini sebagai teks:(simpan fail dan keluar.

tidak perlu memulakan semula weewx.

Sekarang anda perlu memberi makan NODEMCU ESP8266 dengan fail Arduino.

Jangan lupa untuk menyediakan wifi dan alamat anda dalam fail.

Selepas memuatkan periksa output siri untuk kesilapan.

Selepas jangka masa pendek, anda akan melihat nilai di laman web weewx anda.

Langkah 4: Kejayaan Peranti Sensor BME280 + Penyelesaian Masalah

Kejayaan Peranti Sensor BME280 + Penyelesaian Masalah
Kejayaan Peranti Sensor BME280 + Penyelesaian Masalah
Kejayaan Peranti Sensor BME280 + Penyelesaian Masalah
Kejayaan Peranti Sensor BME280 + Penyelesaian Masalah

Beberapa petua untuk anda:

Buka lebih daripada 1 konsol melalui dempul

pada 1 konsol membuat perubahan anda, dan di konsol lain baca sylog anda secara langsung dengan:

tail -f / var / log / syslog

Sekiranya anda mempunyai ralat, lihat logfile anda terlebih dahulu.

Keluaran anda akan kelihatan serupa dengan hasil karya saya:

Langkah 5: Persediaan Perkakasan Soilsensor

Persediaan Perkakasan Soilsensor
Persediaan Perkakasan Soilsensor
Persediaan Perkakasan Soilsensor
Persediaan Perkakasan Soilsensor
Persediaan Perkakasan Soilsensor
Persediaan Perkakasan Soilsensor

Untuk Sensor DS18B20 kita perlu membuat Sistem bas dengan beberapa wayar dan pematerian.

Periksa DS18B20 anda

DATA, GND, VCC

Antara VCC dan DATA anda memerlukan Resistor 4.7K. Cukup jika anda mempunyai perintang pada DS18B20 pertama

DS18B20 yang lain selari antara satu sama lain.

Ukur panjang untuk keperluan anda. Selesaikan rantai bersama, saya telah mengikat pin dengan tiub yang mengecut.

Untuk UJIAN anda menyambungkan DATA ke D3 dan VCC ke VCC (3.3V) dan GND ke GND.

Untuk pilihan tidur nyenyak, anda perlu memasang jambatan antara RST dan D0 (GPIO16)

Anda tidak boleh meletakkan rantai di tiub Aluminium sekarang, buat ujian anda sebelum ini!

Langkah 6: Kod DS18B20 Nodemcu ESP8266

Kod DS18B20 Nodemcu ESP8266
Kod DS18B20 Nodemcu ESP8266

Untuk kod anda boleh menggunakan repositori GITHUB saya:

github.com/Landixus/multipleDS18B20WeeWX

Fail ino juga memerlukan beberapa sisipan dari anda: Alamat IP pelayan weewx atau URL dan laluan di mana anda telah meletakkan fail php, pastikan kawasan tersebut dapat ditulis dan saya memilih public_html dir kerana ia adalah pelayan rumah.

Sekiranya anda ingin mengklon gositori git dan memasang git di pelayan anda, anda boleh mengklon dengan perintah git clone

Sekarang kita perlu melakukan beberapa perkara yang semuanya berfungsi pada pelayan weewx kami.

Anda perlu membuat jalan ke tetapan anda di

/ rumah / weewx / awam_html

buat folder "data" dalam folder data buat ds18b20.txt misalnya nano ds18b20.txt txt harus emtpy. membuatnya boleh ditulis dengan chmod -R 777 ds18b20.txt (anda tidak pernah melakukan ini pada pelayan yang boleh diakses oleh internet!) di folder / home / weewx / public_html anda meletakkan landasan.php wakil github saya. Caranya adalah bahawa fail INO mengirim nilai ke ground.php dan ground.php menulis data di ds18b20.txt seterusnya kita perlu menambahkan perkhidmatan di weewx meletakkan ds18b20.py dalam folder / home / weewx / bin / pengguna

buka weewx.conf anda dalam folder / home / weewx

selalu baik untuk mempunyai sandaran sebelum mengedit fail ini!

turun ke barisan:

[Enjin]

# dikelompokkan mengikut jenis, dan urutan perkhidmatan dalam setiap kumpulan

# menentukan urutan perkhidmatan akan dijalankan.

prep_services = weewx.engine. StdTimeSynch, data_services = user.pond. PondService, user.bme.bme, user.ds18b20.ds18b20 tambahkan sebaris selepas koma

"user.ds18b20.ds18b20" harus kelihatan seperti garis atas ^^

mulakan semula weewx dengan:

sudo /etc/init.d/weewx berhenti

sudo /etc/init.d/weewx bermula

dengan arahan ekor -f / var / log / syslog anda dapat melihat di logfile untuk kesilapan atau kejayaan mencari output ds18b20: nilai yang dijumpai Berikan pelayan anda beberapa minit untuk dihasilkan, di weewx.conf saya setiap 5 minit keluar letak. Sekiranya anda mempunyai mesej ralat, periksa jalan anda. Sekiranya anda mempunyai nilai, anda boleh menunjukkannya di halaman: buka

skin.conf in / home / weewx / skins / Standard pergi ke:

# Yang ini mungkin khusus untuk stesen saya!

Tambah

tanahTemp1 = DS18B201

tanahTemp2 = DS18B202

tanahTemp3 = DS18B203

simpan fail dan buka dalam folder yang sama.html.tmpl cari baris:

#jika $ day.extraTemp..…

#akhirkan jika

selepas #endend pertama jika anda dapat meletakkan GroundSensor Sensor anda dengan:

^^ maaf tetapi tidak mungkin untuk meletakkan ini sebagai teks: (simpan fail dan keluar. tidak perlu memulakan semula weewx. Sekarang anda perlu memberi makan NODEMCU ESP8266 dengan fail Arduino.

Jangan lupa untuk menyediakan wifi dan alamat anda dalam fail. Selepas memuatkan periksa output siri untuk kesilapan.

Selepas jangka masa pendek, anda akan melihat nilai di laman web weewx anda.

Langkah 7: Soilsensor dan Penyelesaian Masalah Kejayaan

Soilsensor dan Penyelesaian Masalah Kejayaan
Soilsensor dan Penyelesaian Masalah Kejayaan

Sekiranya anda semua bekerja dan melihat nilai, maka pergi ke luar dan letakkan paip Aluminium ke dalam tanah.

Cara yang baik adalah meletakkan lem panas di 1 sisi paip dan kemudian tekan tiub bersama-sama, maka anda mempunyai bahagian atas yang bagus untuk membuatnya lebih mudah di tanah.

Letakkan paip anda terlebih dahulu di tanah, anda boleh menggunakan tukul lembut dengan papan kayu.

Sekiranya paip cukup dalam, anda boleh memasukkan rantai ds18b20 anda dan wayar kuasa di dalam kotak kalis air.

Pastikan wifi anda berfungsi di tempat ini!

Sekiranya anda tidak tahu apa sensornya sedalam mana, ada 2 kemungkinan.

Saya fasa ujian meletakkan 1 ds18b20 di antara jari anda, suhu lebih tinggi untuk yang satu ini.

Apabila paip sudah di tanah maka normaly adalah nilai Tertinggi titik paling dalam.

Langkah 8: Selesaikan

Selesai
Selesai

Tamat sahaja

Hantarkan soalan anda dan tunjukkan temp dasar anda dalam komen!

Untuk lebih banyak bantuan, sertai Kumpulan google weewx di:

groups.google.com/forum/#!forum/weewx-user

Disyorkan: