Isi kandungan:

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

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

Video: Simpan dan Grafik Data EC / pH / ORP Dengan TICK Stack dan NoCAN Platform: 8 Langkah
Video: WiFi Smart PH Meter, 6-in-1 PH EC TDS(PPM) Salt S.G Temperature Test Meter Backlight 2024, November
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 bagaimana menggunakan NoCAN Platform oleh sensor Omzlo dan uFire untuk mengukur EC, pH dan ORP. Seperti yang dinyatakan oleh laman web mereka, kadang-kadang lebih mudah hanya menggunakan kabel ke nod sensor anda. CAN mempunyai kelebihan komunikasi dan kuasa dalam satu kabel sehingga isyarat dan bateri tidak menjadi masalah. Firmware nod boleh lebih mudah; tidak terganggu dengan mod tidur atau penyediaan WiFi, misalnya. Platform NoCAN juga mempunyai beberapa ciri hebat seperti memprogram node melalui bas CAN.

Platform NoCAN menggunakan Raspberry Pi, jadi semua yang boleh dilakukan akan tersedia. Kami akan memanfaatkannya dengan memasang TICK stack. Itu akan membolehkan kita menggunakan InfluxDB untuk menyimpan pengukuran. Ia adalah pangkalan data berdasarkan masa yang dibuat khas untuk perkara seperti ini. Ia juga dilengkapi dengan Chronograf untuk membuat papan pemuka dan memaparkan semua data ini yang akan kami ambil. T dan K bermaksud Telegraf dan Kapacitor. Telegraf terletak di antara data yang anda hantar dan pangkalan data Influx. Kapacitor adalah mesin acara. Apabila sesuatu berlaku, ia dapat mengirimkan pemberitahuan kepada anda melalui pelbagai kaedah. Dan, hanya kerana saya menyukainya lebih baik daripada Chronograf, saya akan memasang Grafana untuk papan pemuka.

Langkah 1: Menyiapkan Raspberry Pi Sedia

Pergi ke halaman Muat turun Rasbian dan muat turun gambar dengan desktop dan perisian yang disyorkan, kemudian pasangkannya ke kad SD.

Selepas gambar berada di kad SD anda, anda harus mempunyai dua jilid, root dan boot. Buka terminal dalam but dan ketik:

sentuh ssh

Itu akan membolehkan SSH.

Kemudian taip:

nano wpa_supplicant.conf

Dan salin / tampal yang berikut setelah anda mengubahnya untuk tetapan daerah 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"}

Kod negara berasal dari sini.

Dayakan SPI:

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

Masukkan kad SD ke dalam Raspberry Pi anda, tunggu sebentar dan taip:

ssh [email protected]

Anda harus berada di prompt log masuk. Kata laluan adalah raspberry.

Langkah 2: Menyiapkan NoCAN

Omzlo memberikan panduan pemasangan yang menyeluruh. Tetapi saya memutuskan untuk mempermudah saya dan belajar sedikit mengenai skrip Bash. Oleh itu, mulakan Raspberry Pi anda dan SSH atau terminal bersiri ke dalamnya.

Saya belajar bahawa seberapa banyak masa pengembangan dapat menghasilkan skrip Bash yang baik seperti apa sahaja yang anda cuba pasangkan. Terdapat 1000 cara untuk menyelesaikan sesuatu, ada yang lebih mudah untuk dipahami atau dilaksanakan daripada yang lain. Pada akhirnya, saya tidak banyak melakukan. Sekiranya anda melaksanakan:

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

Di terminal Raspberry Pi anda, ia akan memuat turun dan melaksanakan skripnya.

Kemudian ia:

  1. Muat turun daemon Omzlo NoCAN dan memasangnya di / usr / bin untuk akses mudah, membuat folder ~ /.nocand dan menulis fail konfigurasi yang sangat asas dengan kata laluan ditetapkan ke 'kata laluan'. Anda mungkin harus mengubahnya menjadi yang lain, ia berada di ~ /.nocand / config.
  2. Memuat turun klien Omzlo NoCAN dan menyalinnya di / usr / bin dan membuat fail konfigurasi asas dengan set kata laluan yang sama. Ia berada di ~ /.nocanc.conf.
  3. Menetapkan perkhidmatan Systemd yang memastikan daemon NoCAN berjalan.
  4. Menulis fail python ke ~ /.nocand, nocan_ufire.py. Ia akan bercakap dengan firmware nod NoCAN dan mengambil pengukuran EC, pH, dan ORP, menguraikan hasilnya dan menambahkannya ke dalam pangkalan data InfluxDB.
  5. Menambah repo InfluxData untuk memasang dan memasang TICK stack. Dan kerana saya lebih suka daripada Chronograf, ia juga memasang Grafana.
  6. Membuat pangkalan data Influx kosong

Beberapa perkara yang mungkin anda hadapi:

  • Lokasi anda mungkin tidak disiapkan, jadi jalankan dpkg-reconfigure lokal
  • Pemasangan Grafana mungkin tergantung, jadi cuba lagi.
  • Daemon kemasukan mungkin tidak dimulakan tepat pada masanya untuk menambah skrip pangkalan data, taip

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

  • Skrip ini hanya berfungsi sebagai pengguna pi lalai. Anda perlu menukar pi ke nama pengguna anda jika sesuai jika anda berada di bawah pengguna yang berbeza.

Perkara terakhir adalah menambah pekerjaan cron. Saya tidak dapat mencari cara yang baik untuk menulis skrip ini, jadi ketik 'crontab -e' untuk mengedit secara manual dan tambahkan '* * * * * python /home/pi/.nocand/nocan_ufire.py'.

Setelah selesai, anda dapat mengesahkan semuanya sudah siap dan berjalan sebagaimana mestinya. Grafana tinggal di https:// [Alamat Raspberry Pi]: 3000 /. Anda harus melihat halaman log masuk, admin / admin adalah lalai.

Chronograf boleh didapati di https:// [Alamat Raspberry Pi]: 8888 /

Langkah 3: Menggabungkan Perkakasan UFire Bersama

Menggabungkan Perkakasan UFire Bersama
Menggabungkan Perkakasan UFire Bersama

Sebelum kita dapat memasang perkakasan, ada satu perkara yang perlu diberi perhatian. Papan uFire ISE dapat digunakan untuk mengukur pH dan ORP. Perkakasannya sama, tetapi perisiannya berbeza. Kerana perkakasannya sama, itu bermaksud alamat I2C juga, secara lalai, sama. Dan sensor berkomunikasi melalui I2C sehingga seseorang perlu diubah. Untuk projek ini, kami akan memilih salah satu papan ISE dan menggunakannya untuk mengukur ORP. Ikuti langkah-langkah di sini, ubah alamat ke 0x3e.

Sekarang alamatnya diubah, menggabungkan perkakasan menjadi mudah. Penyediaan ini berdasarkan pada pekerjaan sebelumnya yang pada dasarnya melakukan perkara yang sama tetapi menggunakan BLE dan bukan BOLEH untuk menghantar data. Anda boleh membacanya di Arduino Project Hub. Semua peranti sensor menggunakan sistem penyambungan Qwiic, jadi sambungkan semuanya bersama-sama dalam rantai, hanya ada satu cara untuk memasukkan wayar Qwiic ke Qwiic. Anda memerlukan satu wayar Qwiic ke Male untuk menyambungkan salah satu sensor ke nod CANZERO. Wayarnya konsisten dan berkod warna. Sambungkan hitam ke GND nod, merah ke pin + 3.3V atau + 5V, biru ke pin SDA yang D11, dan kuning ke pin SCL pada D12.

Untuk projek ini, maklumat suhu akan datang dari sensor EC, jadi pastikan untuk memasang sensor suhu ke papan EC. Walaupun semua papan mempunyai kemampuan untuk mengukur suhu. Jangan lupa pasangkan probe EC, pH dan ORP ke sensor yang sesuai. Mereka mudah dipasang dengan penyambung BNC. Sekiranya anda mempunyai kandang, memasukkan semua ini ke dalam adalah idea yang baik, terutamanya memandangkan air akan terlibat.

Langkah 4: Perkakasan NoCAN

Perkakasan NoCAN
Perkakasan NoCAN

Pemasangan perkakasan NoCAN juga mudah. Pasang PiMaster ke Raspberry Pi dan cari bekalan kuasa yang sesuai untuknya.

Ikuti arahan Omzlo untuk membuat kabel untuk projek anda.

Sebarkan nod anda dan cari tempat untuk PiMaster.

Langkah 5: Program Node CANZERO

Atur Cara CANZERO Node
Atur Cara CANZERO Node

Salah satu perkara hebat mengenai penyediaan ini ialah anda dapat mengakses node walaupun selepas ia digunakan. Mereka diprogramkan melalui kabel CAN, jadi anda dapat memprogramkannya semula kapan saja anda mahu.

Untuk itu, anda memerlukan Arduino IDE yang dipasang, PiMaster di rangkaian anda, dan simpul anda disambungkan ke bas CAN. Anda juga memerlukan program bernama nocanc yang dipasang pada komputer pengembangan anda. Semua itu dijelaskan di halaman pemasangan Omzlo.

Lawati GitHub dan salin kod ke dalam sketsa Arduino IDE baru. Tukar papan ke Omzlo CANZERO dan pilih simpul di menu 'Port'. Kemudian klik muat naik seperti biasa. Sekiranya semuanya berjalan mengikut rancangan, anda harus mempunyai simpul terprogram yang siap untuk mengambil beberapa ukuran.

Langkah 6: Bagaimana Semua Ini Mengikat?

Bagaimana Semua Ini Mengikat?
Bagaimana Semua Ini Mengikat?

Sekarang setelah semua perisian dan perkakasan disiapkan, mari kita luangkan masa untuk membincangkan bagaimana semuanya akan berfungsi. Dan pamerkan kemahiran GIMP saya…

Ringkasnya:

  1. Node CANZERO disambungkan ke PiMaster dan digunakan di suatu tempat
  2. Setiap minit tugas Cron dijalankan di PiMaster. Ia akan melaksanakan skrip python.
  3. Skrip python akan menghantar perintah ke simpul yang memintanya untuk melakukan pengukuran atau tindakan lain.
  4. Node akan melaksanakan perintah itu dan mengembalikan hasilnya dalam format JSON.
  5. Skrip python akan menerima hasilnya, menghuraikannya, dan mengemas kini InfluxDB dengannya.

Langkah terakhir adalah melihat data yang dikumpulkan dalam beberapa carta yang menarik.

Langkah 7: Menyiapkan Chronograf atau Grafana

Menyiapkan Chronograf atau Grafana
Menyiapkan Chronograf atau Grafana

Perkara terakhir yang perlu dilakukan ialah menyediakan beberapa carta di Chronograf atau Grafana.

Anda perlu menyediakan sumber data. Lalai untuk InfluxDB baik-baik saja. Alamat untuknya adalah 'https:// localhost: 8086' dan tidak ada nama pengguna atau kata laluan.

Keduanya serupa kerana mereka disusun ke dalam Papan Pemuka yang mempunyai sebilangan carta di dalamnya. Kedua-duanya mempunyai kawasan Jelajah yang membolehkan anda melihat ukuran dan membuat carta secara interaktif. Ingat nama pangkalan data adalah 'nocan' dan disusun dalam beberapa ukuran dengan satu nilai.

Seperti yang saya nyatakan, saya lebih suka Grafana kerana ia lebih banyak dikonfigurasi daripada Chronograf. Ia juga mudah digunakan, di mana Chronograf tidak. Carta mudah disisipkan dan dikongsi

Langkah 8: Beberapa Penambahbaikan

  • Anda boleh menetapkan nama host Raspberry Pi anda untuk mengaksesnya dengan lebih mudah di rangkaian anda. Anda boleh melakukannya dalam raspi-config. Saya menukar tambang menjadi nocan, jadi saya dapat pergi ke nocan.local untuk mengaksesnya (tidak berfungsi pada Android).
  • Anda boleh memasang program seperti ngrok untuk mengakses Pi Raspberry anda di luar rangkaian anda.
  • Gunakan salah satu kaedah yang disediakan Kapacitor untuk memberikan pemberitahuan.
  • Tambah lebih banyak sensor, tentu saja.

Disyorkan: