Daftar Isi:

Simpan dan Grafik Data EC/pH/ORP Dengan TICK Stack dan Platform NoCAN: 8 Langkah
Simpan dan Grafik Data EC/pH/ORP Dengan TICK Stack dan Platform NoCAN: 8 Langkah

Video: Simpan dan Grafik Data EC/pH/ORP Dengan TICK Stack dan Platform NoCAN: 8 Langkah

Video: Simpan dan Grafik Data EC/pH/ORP Dengan TICK Stack dan Platform NoCAN: 8 Langkah
Video: WiFi Smart PH Meter, 6-in-1 PH EC TDS(PPM) Salt S.G Temperature Test Meter Backlight 2024, Desember
Anonim
Simpan dan Grafik Data EC/pH/ORP Dengan TICK Stack dan Platform NoCAN
Simpan dan Grafik Data EC/pH/ORP Dengan TICK Stack dan Platform NoCAN

Ini akan membahas cara menggunakan Platform NoCAN oleh Omzlo dan sensor uFire untuk mengukur EC, pH, dan ORP. Seperti yang dikatakan situs web mereka, terkadang lebih mudah untuk menjalankan beberapa kabel ke node sensor Anda. CAN memiliki keunggulan komunikasi dan daya dalam satu kabel sehingga sinyal dan baterai tidak menjadi masalah. Firmware node bisa lebih sederhana; tidak repot dengan mode tidur atau pengaturan WiFi, misalnya. Platform NoCAN juga memiliki beberapa fitur hebat seperti memprogram node melalui bus CAN.

Platform NoCAN menggunakan Raspberry Pi, jadi semua yang dapat dilakukan akan tersedia. Kami akan memanfaatkannya dengan menginstal tumpukan TICK. Itu akan memungkinkan kita menggunakan InfluxDB untuk menyimpan pengukuran. Ini adalah basis data berbasis deret waktu yang dibuat khusus untuk hal semacam ini. Itu juga dilengkapi dengan Chronograf untuk membuat dasbor dan menampilkan semua data yang akan kita ambil ini. T dan K adalah singkatan dari Telegraf dan Kapasitor. Telegraf berada di antara data yang Anda kirim dan database Influx. Kapasitor adalah mesin acara. Ketika sesuatu terjadi, itu dapat mengirimi Anda pemberitahuan melalui berbagai metode. Dan, hanya karena saya lebih menyukainya daripada Chronograf, saya akan menginstal Grafana untuk dasbor.

Langkah 1: Menyiapkan Raspberry Pi

Buka halaman Unduh Rasbian dan unduh gambar dengan desktop dan perangkat lunak yang direkomendasikan, lalu flash ke kartu SD.

Setelah gambar ada di kartu SD Anda, Anda harus memiliki dua volume, root dan boot. Buka terminal saat boot dan ketik:

sentuh ssh

Itu akan mengaktifkan SSH.

Kemudian ketik:

nano wpa_supplicant.conf

Dan salin/tempel yang berikut ini setelah Anda memodifikasinya untuk pengaturan county dan WiFi Anda sendiri:

negara=AS

ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev update_config=1 network={ ssid="NETWORK-NAME" psk="NETWORK-PASSWORD" }

Kode negara berasal dari sini.

Aktifkan SPI:

echo "dtparam=spi=on" >> config.txt

Letakkan kartu SD di Raspberry Pi Anda, tunggu sebentar dan ketik:

ssh [email protected]

Anda harus berada di prompt login. Kata sandinya adalah raspberry.

Langkah 2: Menyiapkan NoCAN

Omzlo menyediakan panduan instalasi menyeluruh. Tetapi saya memutuskan untuk membuatnya lebih mudah bagi diri saya sendiri dan belajar sedikit tentang skrip Bash. Jadi mulailah Raspberry Pi Anda dan SSH atau terminal serial ke dalamnya.

Saya belajar bahwa banyak waktu pengembangan dapat digunakan untuk membuat skrip Bash yang baik seperti apa pun yang Anda coba instal. Ada 1000 cara untuk menyelesaikan sesuatu, beberapa lebih sederhana untuk dipahami atau dijalankan daripada yang lain. Pada akhirnya, saya tidak benar-benar berbuat banyak. Jika Anda menjalankan:

wget https://ufire.co/nocan.sh && chmod +x nocan.sh && sudo./nocan.sh

Di terminal Raspberry Pi Anda, itu akan mengunduh dan menjalankan skrip.

Lalu itu:

  1. Mengunduh daemon Omzlo NoCAN dan menginstalnya di /usr/bin untuk memudahkan akses, membuat folder ~/.nocand dan menulis file konfigurasi yang sangat mendasar dengan kata sandi yang disetel ke 'kata sandi'. Anda mungkin harus mengubahnya ke sesuatu yang lain, di ~/.nocand/config.
  2. Mengunduh klien Omzlo NoCAN dan menyalinnya di /usr/bin dan membuat file konfigurasi dasar dengan set kata sandi yang sama. Ada di ~/.nocanc.conf.
  3. Menyiapkan layanan Systemd yang membuat daemon NoCAN tetap berjalan.
  4. Menulis file python ke ~/.nocand, nocan_ufire.py. Ini akan berbicara dengan firmware node NoCAN dan melakukan pengukuran EC, pH, dan ORP, mengurai hasilnya dan menambahkannya ke database InfluxDB.
  5. Menambahkan repo InfluxData ke apt dan menginstal tumpukan TICK. Dan karena saya lebih menyukainya daripada Chronograf, ia juga menginstal Grafana.
  6. Membuat database Influx kosong

Beberapa gotcha yang mungkin Anda temui:

  • Lokal Anda mungkin tidak diatur, jadi jalankan dpkg-reconfigure locales
  • Instalasi Grafana mungkin hang, jadi coba lagi.
  • Daemon masuk mungkin tidak dimulai tepat waktu agar skrip menambahkan database, ketik

    curl -i -XPOST https://localhost:8086/query --data-urlencode "q=CREATE DATABASE nocan"

  • Skrip ini hanya berfungsi sebagai pengguna pi default. Anda harus mengubah pi ke nama pengguna Anda jika sesuai jika Anda berada di bawah pengguna yang berbeda.

Hal terakhir adalah menambahkan pekerjaan cron. Saya tidak dapat menemukan cara yang sangat baik untuk membuat skrip yang ini, jadi ketik 'crontab -e' untuk mengedit secara manual dan tambahkan '* * * * * python /home/pi/.nocand/nocan_ufire.py'.

Setelah semuanya selesai, Anda dapat memverifikasi bahwa semuanya sudah diatur dan berjalan sebagaimana mestinya. Grafana tinggal di https://[Alamat Raspberry Pi]:3000/. Anda akan melihat halaman login, admin/admin adalah default.

Chronograf dapat ditemukan di https://[Alamat Raspberry Pi]:8888/

Langkah 3: Menyatukan Perangkat Keras UFire

Menyatukan Perangkat Keras UFire
Menyatukan Perangkat Keras UFire

Sebelum kita dapat merakit perangkat keras, ada satu hal yang harus diperhatikan. Papan uFire ISE dapat digunakan untuk mengukur pH dan ORP. Perangkat kerasnya sama, tetapi perangkat lunaknya berbeda. Karena perangkat kerasnya sama, itu berarti alamat I2C, secara default, juga sama. Dan sensor berkomunikasi melalui I2C sehingga perlu diubah. Untuk proyek ini, kita akan memilih salah satu papan ISE dan menggunakannya untuk mengukur ORP. Ikuti langkah-langkah di sini, ubah alamat menjadi 0x3e.

Sekarang setelah alamatnya diubah, menyatukan perangkat keras menjadi mudah. Pengaturan ini didasarkan pada pekerjaan sebelumnya yang pada dasarnya melakukan hal yang sama tetapi menggunakan BLE daripada CAN untuk mengirimkan data. Anda dapat membacanya di Arduino Project Hub. Semua perangkat sensor menggunakan sistem koneksi Qwiic jadi hubungkan semuanya bersama-sama dalam satu rantai, hanya ada satu cara untuk memasukkan kabel Qwiic ke Qwiic. Anda memerlukan satu kabel Qwiic ke Male untuk menghubungkan salah satu sensor ke node CANZERO. Kabelnya konsisten dan diberi kode warna. Hubungkan hitam ke GND node, merah ke pin +3.3V atau +5V, biru ke pin SDA yaitu D11, dan kuning ke pin SCL di D12.

Untuk proyek ini, informasi suhu diharapkan berasal dari sensor EC, jadi pastikan untuk memasang sensor suhu ke papan EC. Semua papan memiliki kemampuan untuk mengukur suhu sekalipun. Jangan lupa untuk memasang probe EC, pH dan ORP ke sensor yang sesuai. Mereka mudah dipasang dengan konektor BNC. Jika Anda memiliki selungkup, memasukkan semua ini ke dalam akan menjadi ide yang bagus, terutama mengingat air akan terlibat.

Langkah 4: Perangkat Keras NoCAN

Perangkat Keras NoCAN
Perangkat Keras NoCAN

Merakit perangkat keras NoCAN juga mudah. Pasang PiMaster ke Raspberry Pi dan temukan catu daya yang cocok untuknya.

Ikuti instruksi Omzlo tentang membuat kabel untuk proyek Anda.

Terapkan node Anda dan temukan tempat untuk PiMaster.

Langkah 5: Programkan Node CANZERO

Programkan Node CANZERO
Programkan Node CANZERO

Salah satu hal hebat tentang pengaturan ini adalah Anda dapat mengakses node bahkan setelah mereka di-deploy. Mereka diprogram melalui kabel CAN, sehingga Anda dapat memprogram ulang kapan pun Anda mau.

Untuk itu, Anda perlu menginstal Arduino IDE, PiMaster di jaringan Anda, dan node Anda terhubung ke bus CAN. Anda juga memerlukan program bernama nocanc yang diinstal di komputer pengembangan Anda. Semua itu dijelaskan di halaman instalasi Omzlo.

Kunjungi GitHub dan salin kode ke sketsa Arduino IDE baru. Ubah papan menjadi Omzlo CANZERO dan pilih node di menu 'Port'. Kemudian tinggal klik upload seperti biasa. Jika semuanya berjalan sesuai rencana, Anda harus memiliki node terprogram yang siap untuk melakukan beberapa pengukuran.

Langkah 6: Bagaimana Semua Ini Diikat Bersama?

Bagaimana Semua Ini Diikat Bersama?
Bagaimana Semua Ini Diikat Bersama?

Sekarang semua perangkat lunak dan perangkat keras sudah diatur, mari luangkan waktu sejenak untuk berbicara tentang bagaimana semua itu benar-benar akan bekerja. Dan pamerkan keterampilan GIMP saya…

Singkatnya:

  1. Node CANZERO terhubung ke PiMaster dan ditempatkan di suatu tempat
  2. Setiap menit pekerjaan Cron dijalankan di PiMaster. Ini akan mengeksekusi skrip python.
  3. Skrip python akan mengirim perintah ke node yang menyuruhnya melakukan pengukuran atau tindakan lainnya.
  4. Node akan menjalankan apa perintah itu dan mengembalikan hasilnya dalam format JSON.
  5. Skrip python akan menerima hasil itu, menguraikannya, dan memperbarui InfluxDB dengannya.

Langkah terakhir adalah melihat pengumpulan data dalam beberapa grafik yang terlihat bagus.

Langkah 7: Menyiapkan Chronograf atau Grafana

Menyiapkan Chronograf atau Grafana
Menyiapkan Chronograf atau Grafana

Hal terakhir yang harus dilakukan adalah mengatur beberapa grafik di Chronograf atau Grafana.

Anda harus menyiapkan sumber data. Default untuk InfluxDB baik-baik saja. Alamatnya adalah 'https://localhost:8086' dan tidak ada nama pengguna atau kata sandi.

Keduanya serupa karena disusun ke dalam Dasbor yang memiliki sejumlah grafik di dalamnya. Keduanya memiliki area Jelajahi yang memungkinkan Anda melihat pengukuran dan membuat grafik secara interaktif. Ingat nama databasenya adalah 'nocan' dan disusun menjadi beberapa pengukuran dengan satu nilai.

Seperti yang saya sebutkan, saya lebih suka Grafana karena lebih dapat dikonfigurasi daripada Chronograf. Ini juga ramah seluler, di mana Chronograf tidak. Grafik mudah disematkan dan dibagikan

Langkah 8: Beberapa Perbaikan

  • Anda dapat mengatur nama host Raspberry Pi Anda untuk mengaksesnya lebih mudah di jaringan Anda. Anda dapat melakukannya di raspi-config. Saya mengubah milik saya menjadi nocan, jadi saya bisa membuka nocan.local untuk mengaksesnya (tidak berfungsi di Android).
  • Anda dapat menginstal program seperti ngrok untuk mengakses Raspberry Pi Anda di luar jaringan Anda.
  • Gunakan salah satu metode yang disediakan Kapasitor untuk memberikan notifikasi.
  • Tambahkan lebih banyak sensor, tentu saja.

Direkomendasikan: