Mündəricat:

TICK Stack və NoCAN Platforması ilə EC/pH/ORP Məlumatlarını Saxla və Qrafik: 8 Addım
TICK Stack və NoCAN Platforması ilə EC/pH/ORP Məlumatlarını Saxla və Qrafik: 8 Addım

Video: TICK Stack və NoCAN Platforması ilə EC/pH/ORP Məlumatlarını Saxla və Qrafik: 8 Addım

Video: TICK Stack və NoCAN Platforması ilə EC/pH/ORP Məlumatlarını Saxla və Qrafik: 8 Addım
Video: Numberjacks Episode Compilation | Part One 2024, Dekabr
Anonim
TICK Stack və NoCAN Platformu ilə EC/pH/ORP Məlumatlarını Saxlayın və Qrafik edin
TICK Stack və NoCAN Platformu ilə EC/pH/ORP Məlumatlarını Saxlayın və Qrafik edin

Bu, EC, pH və ORP ölçmək üçün Omzlo və uFire sensorlar tərəfindən NoCAN Platformasının necə istifadə ediləcəyinə toxunacaq. Veb saytlarının dediyi kimi, bəzən sensor qovşaqlarınıza bir kabel çəkmək daha asandır. CAN, bir kabeldə ünsiyyət və güc üstünlüyünə malikdir, buna görə siqnal və batareya problemi yoxdur. Düyünlərin proqram təminatı daha sadə ola bilər; məsələn, yuxu rejimləri və ya WiFi quruluşu ilə narahat olmayın. NoCAN platforması, CAN avtobusu üzərindəki qovşaqların proqramlaşdırılması kimi bəzi əla xüsusiyyətlərə malikdir.

NoCAN platforması Raspberry Pi istifadə edir, buna görə edə biləcək hər şey əlçatan olacaq. TICK yığını quraşdıraraq bundan istifadə edəcəyik. Ölçmələri saxlamaq üçün InfluxDB -dən istifadə etməyə icazə verəcəyik. Bu cür şeylər üçün xüsusi hazırlanmış bir zaman diliminə əsaslanan verilənlər bazasıdır. Həm də idarəetmə panelləri hazırlamaq və götürəcəyimiz bütün məlumatları göstərmək üçün Chronograf ilə gəlir. T və K, Teleqraf və Kapacitor üçün dayanır. Telegraf, göndərdiyiniz məlumatlar ilə Influx verilənlər bazası arasında oturur. Kapacitor hadisə mühərrikidir. Bir şey olanda, müxtəlif üsullarla sizə bir bildiriş göndərə bilər. Və Chronografdan daha çox bəyəndiyim üçün tablosuna Grafana quraşdıracağam.

Addım 1: Raspberry Pi Hazırlanması

Rasbian Yükləmə səhifəsinə keçin və görüntünü masa üstü və tövsiyə olunan proqramla yükləyin, sonra SD karta yandırın.

Şəkil SD kartınızda olduqdan sonra kök və açılış olmaqla iki cildiniz olmalıdır. Bootda bir terminal açın və yazın:

ssh -ə toxunun

Bu SSH -ni işə salacaq.

Sonra yazın:

nano wpa_supplicant.conf

Aşağıdakıları öz bölgəniz və WiFi parametrləriniz üçün dəyişdirdikdən sonra kopyalayın/yapışdırın:

ölkə = ABŞ

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

Ölkə kodları buradan gəlir.

SPI aktiv edin:

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

SD kartı Raspberry Pi -yə qoyun, bir az gözləyin və yazın:

ssh [email protected]

Giriş sorğusunda olmalısınız. Şifrə moruqdur.

Addım 2: NoCAN qurmaq

Omzlo hərtərəfli bir quraşdırma bələdçisi təqdim edir. Ancaq özüm üçün işi asanlaşdırmaq və Bash skriptləri haqqında bir az öyrənmək qərarına gəldim. Beləliklə, Raspberry Pi -ni işə salın və SSH və ya serial terminalını daxil edin.

Öyrəndim ki, inkişaf etdirmək üçün nə qədər vaxt lazım olsa, yaxşı bir Bash skripti yaratmağa çalışa bilərsən. Bir şeyi başa çatdırmağın 1000 yolu var, bəzilərini başa düşmək və ya icra etmək digərlərindən daha asandır. Sonda çox şey etmədim. İcra etsəniz:

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

Raspberry Pi terminalınızda skript yükləyəcək və icra edəcək.

Sonra o:

  1. Omzlo NoCAN daemonunu yükləyir və asan daxil olmaq üçün/usr/bin -ə quraşdırır, ~/.nocand qovluğunu düzəldir və 'parol' olaraq təyin edilmiş parol ilə çox əsas konfiqurasiya faylını yazır. Yəqin ki, başqa bir şeyə dəyişdirməlisiniz, ~/.nocand/config -də.
  2. Omzlo NoCAN müştərisini yükləyir və /usr /bin -ə kopyalayır və eyni parol dəsti ilə əsas konfiqurasiya faylı yaradır. ~/. Nocanc.conf ünvanındadır.
  3. NoCAN daemonunun işləməsini təmin edən bir Systemd xidməti qurur.
  4. ~/. Nocand, nocan_ufire.py üçün bir python faylı yazır. NoCAN node firmware ilə danışacaq və EC, pH və ORP ölçmələrini aparacaq, nəticələri təhlil edəcək və InfluxDB verilənlər bazasına əlavə edəcək.
  5. Apt -a InfluxDatanın repolarını əlavə edir və TICK yığını quraşdırır. Chronografdan üstün tutduğum üçün Grafananı da quraşdırır.
  6. Boş bir Influx verilənlər bazası yaradır

Qarşılaşa biləcəyiniz bəzi çətinliklər:

  • Yerli diliniz qurulmamış ola bilər, buna görə dpkg-yenidən konfiqurasiya edin
  • Grafana quraşdırma dayandırıla bilər, buna görə yenidən cəhd edin.
  • Skriptin verilənlər bazası, növ əlavə etməsi üçün axın daemonu vaxtında başlamamış ola bilər

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

  • Bu skript yalnız standart pi istifadəçisi olaraq işləyir. Fərqli bir istifadəçi altında olsanız, lazım olduqda pi -ni istifadəçi adınıza dəyişdirməlisiniz.

Son şey bir cron işi əlavə etməkdir. Bunu yazmaq üçün çox yaxşı bir yol tapa bilmədim, buna görə əl ilə düzəltmək və ' * * * * * python /home/pi/.nocand/nocan_ufire.py' əlavə etmək üçün 'crontab -e' yazın.

Hər şey bitdikdən sonra hər şeyin olduğu kimi qurulduğunu və işlədiyini yoxlaya bilərsiniz. Grafana https:// [Raspberry Pi's Address]: 3000/ünvanında yaşayır. Bir giriş səhifəsi görməlisiniz, admin/admin standartdır.

Chronografı https:// [Raspberry Pi's Address]: 8888/ünvanında tapa bilərsiniz.

Addım 3: UFire Avadanlıqlarını Bir yerdə Qoyun

UFire Avadanlıqlarının Bir yerdə qoyulması
UFire Avadanlıqlarının Bir yerdə qoyulması

Donanımı yığmadan əvvəl, həll etmək üçün bir şey var. UFire ISE kartı həm pH, həm də ORP ölçmək üçün istifadə edilə bilər. Donanım eynidir, amma proqram fərqlidir. Donanım eyni olduğu üçün, I2C ünvanı da standart olaraq eynidir. Sensorlar I2C vasitəsi ilə əlaqə qurur, buna görə də dəyişdirilməlidir. Bu layihə üçün İMKB lövhələrindən birini seçib ORP ölçmək üçün istifadə edəcəyik. Buradakı addımları izləyərək ünvanı 0x3e olaraq dəyişdirin.

İndi ünvan dəyişdirildikdə, aparatı bir araya gətirmək çox asandır. Bu quruluş, əsasən eyni şeyi edən, lakin məlumat ötürmək üçün CAN -dan çox BLE istifadə edən əvvəlki işlərə əsaslanır. Bu barədə Arduino Project Hub -da oxuya bilərsiniz. Bütün sensor cihazları Qwiic qoşulma sistemindən istifadə edir, buna görə hər şeyi bir zəncirdə birləşdirin, Qwiic -dən Qwiic -ə telləri daxil etməyin yalnız bir yolu var. Sensorlardan birini CANZERO qovşağına bağlamaq üçün bir Qwiic to Male telinə ehtiyacınız olacaq. Tellər ardıcıl və rəng kodludur. Qara düyün GND -yə, qırmızı ya 3.3V və ya +5V pininə, mavi D11 olan SDA pininə, sarı isə D12 -dəki SCL pininə qoşulur.

Bu layihə üçün temperatur məlumatının EC sensorundan gəlməsini gözləyəcək, buna görə də EC lövhəsinə bir temperatur sensoru bağladığınızdan əmin olun. Bütün lövhələr istiliyi ölçmək qabiliyyətinə malikdir. EC, pH və ORP problarını müvafiq sensorlara bağlamağı unutmayın. BNC bağlayıcıları ilə asanlıqla bağlanırlar. Bir qapağınız varsa, bütün bunları içəriyə qoymaq, xüsusən suyun iştirak edəcəyini nəzərə alaraq yaxşı bir fikir olardı.

Addım 4: NoCAN Avadanlığı

NoCAN Avadanlığı
NoCAN Avadanlığı

NoCAN aparatını yığmaq da asandır. PiMaster -ı Raspberry Pi -yə qoşun və bunun üçün uyğun bir enerji təchizatı tapın.

Layihəniz üçün kabellərin hazırlanması ilə bağlı Omzlo təlimatlarına əməl edin.

Düğümünüzü yerləşdirin və PiMaster üçün bir yer tapın.

Addım 5: CANZERO Node proqramlaşdırın

CANZERO Node proqramlaşdırın
CANZERO Node proqramlaşdırın

Bu quruluşun ən üstün cəhətlərindən biri, qovşaqlara yerləşdirildikdən sonra da daxil ola bilərsiniz. CAN teli üzərindən proqramlaşdırıldığından istədiyiniz zaman yenidən proqramlaşdıra bilərsiniz.

Bunun üçün Arduino IDE -nin, şəbəkənizdə PiMaster -in və CAN avtobusuna qoşulmuş düyününüzün olması lazımdır. İnkişaf kompüterinizdə nocanc adlı bir proqrama da ehtiyacınız olacaq. Bütün bunlar Omzlo -nun quraşdırma səhifəsində təsvir edilmişdir.

GitHub ziyarət edin və kodu yeni bir Arduino IDE eskizinə kopyalayın. Lövhəni Omzlo CANZERO olaraq dəyişdirin və 'Port' menyusundakı düyünü seçin. Sonra normal olaraq yükləmə düyməsini vurun. Hər şey plana uyğun gedirsə, bəzi ölçmələr aparmağa hazır bir proqramlaşdırılmış qovşağınız olmalıdır.

Addım 6: Bütün bunlar necə bir -birinə bağlıdır?

Bütün bunlar necə bir yerdədir?
Bütün bunlar necə bir yerdədir?

İndi bütün proqram və avadanlıqlar qurulduqdan sonra gəlin bunların hamısının necə işləyəcəyini danışaq və GIMP bacarıqlarımı nümayiş etdirək …

Xülasə:

  1. CANZERO nodu PiMaster -ə qoşulur və bir yerə yerləşdirilir
  2. PiMaster -da hər dəqiqə bir Cron işi aparılır. Bir python skriptini icra edəcək.
  3. Python skripti düyünə bir ölçü və ya başqa bir hərəkət etməsini bildirən bir əmr göndərəcək.
  4. Node, əmrin nə olduğunu yerinə yetirəcək və nəticəni JSON formatında qaytaracaq.
  5. Python skript bu nəticəni alacaq, təhlil edəcək və bununla birlikdə bir InfluxDB yeniləyəcək.

Son addım, bəzi gözəl görünüşlü qrafiklərdə məlumatların toplanmasını izləməkdir.

Addım 7: Chronograf və ya Grafana qurmaq

Chronograf və ya Grafana qurmaq
Chronograf və ya Grafana qurmaq

Ediləcək son şey, Chronograf və ya Grafanada bəzi qrafiklər qurmaqdır.

Məlumat mənbəyini qurmalısınız. InfluxDB üçün standartlar yaxşıdır. Bunun ünvanı 'https:// localhost: 8086' dır və istifadəçi adı və ya parol yoxdur.

Hər ikisi də içərisində hər hansı bir sayda cədvəli olan Tablosuna təşkil edildiyinə bənzəyir. Hər ikisində ölçüləri görməyə və interaktiv olaraq cədvəllər yaratmağa imkan verən bir araşdırma sahəsi var. Verilənlər bazası adının 'nocan' olduğunu və bir dəyərlə bir neçə ölçüdə təşkil edildiyini unutmayın.

Qeyd etdiyim kimi, Grafana'ya üstünlük verirəm, çünki Chronografdan daha çox konfiqurasiya edilə bilər. Həm də Chronograf-ın olmadığı mobil dostluqdur. Qrafiklər asanlıqla yerləşdirilir və paylaşılır

Addım 8: Bəzi təkmilləşdirmələr

  • Şəbəkənizdə daha asan daxil olmaq üçün Raspberry Pi -nin ana adını təyin edə bilərsiniz. Bunu raspi-config-də edə bilərsiniz. Minanı nocan olaraq dəyişdirdim, buna görə daxil olmaq üçün nocan.local saytına daxil ola bildim (Android -də işləmir).
  • Şəbəkəniz xaricində Raspberry Pi -yə daxil olmaq üçün ngrok kimi bir proqram quraşdıra bilərsiniz.
  • Bildirişləri təmin etmək üçün Kapacitorun təqdim etdiyi üsullardan birini istifadə edin.
  • Əlbəttə ki, daha çox sensorlar əlavə edin.

Tövsiyə: