Съдържание:

Съхранявайте и графирайте EC/pH/ORP данни с TICK Stack и NoCAN платформа: 8 стъпки
Съхранявайте и графирайте EC/pH/ORP данни с TICK Stack и NoCAN платформа: 8 стъпки

Видео: Съхранявайте и графирайте EC/pH/ORP данни с TICK Stack и NoCAN платформа: 8 стъпки

Видео: Съхранявайте и графирайте EC/pH/ORP данни с TICK Stack и NoCAN платформа: 8 стъпки
Видео: Съхранявайте документите автоматично, докато ги сканирате [Английски с български субтитри] 2024, Ноември
Anonim
Съхранявайте и графирайте EC/pH/ORP данни с TICK Stack и NoCAN платформа
Съхранявайте и графирайте EC/pH/ORP данни с TICK Stack и NoCAN платформа

Това ще разгледа как да използвате платформата NoCAN от Omzlo и uFire сензори за измерване на EC, pH и ORP. Както казва уебсайтът им, понякога е по -лесно просто да прокарате някакъв кабел към сензорните си възли. CAN има предимството на комуникация и захранване в един кабел, така че сигналът и батерията не са проблеми. Фърмуерът на възлите може да бъде по -прост; без да се притеснявате например за режими на заспиване или настройка на WiFi. Платформата NoCAN също има някои страхотни функции като програмиране на възлите през CAN шината.

Платформата NoCAN използва Raspberry Pi, така че всичко, което може да се направи, ще бъде достъпно. Ще се възползваме от него, като инсталираме стека TICK. Това ще ни позволи да използваме InfluxDB за съхраняване на измервания. Това е базирана на времеви серии база данни, предназначена за подобни неща. Той също така идва с Chronograf, за да направи табла и да покаже всички тези данни, които ще вземем. T и K означават Telegraf и Kapacitor. Telegraf се намира между данните, които изпращате, и базата данни Influx. Kapacitor е двигателят на събитието. Когато нещо се случи, то може да ви изпрати известие чрез различни методи. И само защото ми харесва повече от Chronograf, ще инсталирам Grafana за табла.

Стъпка 1: Подготовка на Raspberry Pi

Преминете към страницата за изтегляне на Rasbian и изтеглете изображението с работния плот и препоръчания софтуер, след което го прехвърлете на SD карта.

След като изображението е на вашата SD карта, трябва да имате два тома, root и boot. Отворете терминал при зареждане и въведете:

докоснете ssh

Това ще позволи SSH.

След това въведете:

nano wpa_supplicant.conf

И копирайте/поставете следното, след като го промените за вашия собствен окръг и WiFi настройки:

държава = САЩ

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

Кодовете за държави идват от тук.

Активиране на SPI:

ехо "dtparam = spi = on" >> config.txt

Поставете SD картата в Raspberry Pi, изчакайте малко и въведете:

ssh [email protected]

Трябва да сте в подканата за вход. Паролата е малинова.

Стъпка 2: Настройка на NoCAN

Omzlo предоставя подробно ръководство за инсталиране. Но реших да си улесня и да науча малко за скриптовете на Bash. Така че стартирайте вашия Raspberry Pi и SSH или сериен терминал в него.

Научих, че толкова време за разработка може да отиде за създаването на добър Bash скрипт, колкото и да се опитвате да инсталирате. Има 1000 начина да направите нещо, някои по -прости за схващане или изпълнение от други. В крайна сметка всъщност не направих много. Ако изпълните:

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

В терминала на вашия Raspberry Pi той ще изтегли и изпълни скрипта.

Тогава то:

  1. Изтегля демона на Omzlo NoCAN и го инсталира в/usr/bin за лесен достъп, прави папка ~/.nocand и записва много основен конфигурационен файл с парола, зададена на „парола“. Вероятно трябва да го промените на нещо друго, това е на ~/.nocand/config.
  2. Изтегля клиента Omzlo NoCAN и го копира в /usr /bin и създава основен конфигурационен файл със същата зададена парола. Намира се на ~/.nocanc.conf.
  3. Настройва услуга Systemd, която поддържа демона на NoCAN да работи.
  4. Записва python файл в ~/.nocand, nocan_ufire.py. Той ще говори с фърмуера на възела NoCAN и ще вземе EC, pH и ORP измервания, ще анализира резултатите и ще ги добави в базата данни InfluxDB.
  5. Добавя репото на InfluxData към apt и инсталира стека TICK. И тъй като го предпочитам пред Chronograf, той инсталира и Grafana.
  6. Създава празна база данни Influx

Някои проблеми, с които може да се сблъскате:

  • Вашият локал може да не е настроен, затова стартирайте dpkg-reconfigure locales
  • Инсталацията на Grafana може да виси, така че просто опитайте отново.
  • Демонът за притока може да не бъде стартиран навреме, за да може скриптът да добави базата данни, тип

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

  • Този скрипт работи само като потребител на пи по подразбиране. Ще трябва да промените pi на потребителското си име, където е подходящо, ако сте под друг потребител.

Последното нещо е да добавите cron работа. Не можах да намеря много добър начин да скриптам този, така че въведете 'crontab -e', за да редактирате ръчно и да добавите ' * * * * * python /home/pi/.nocand/nocan_ufire.py'.

След като всичко е направено, можете да проверите дали всичко е настроено и работи както трябва. Графана живее на https:// [Адрес на Raspberry Pi]: 3000/. Трябва да видите страница за вход, по подразбиране е admin/admin.

Chronograf може да бъде намерен на https:// [Адрес на Raspberry Pi]: 8888/

Стъпка 3: Сглобяване на хардуера на UFire

Сглобяване на хардуера на UFire заедно
Сглобяване на хардуера на UFire заедно

Преди да можем да сглобим хардуера, трябва да обърнем внимание на едно нещо. Платката uFire ISE може да се използва за измерване както на pH, така и на ORP. Хардуерът е същият, но софтуерът е различен. Тъй като хардуерът е един и същ, това означава, че I2C адресът по подразбиране също е същият. А сензорите комуникират чрез I2C, така че ще трябва да се смени. За този проект ще изберем една от платките ISE и ще я използваме за измерване на ORP. Следвайки стъпките тук, променете адреса на 0x3e.

Сега, когато адресът е променен, сглобяването на хардуера е лесно. Тази настройка се основава на по -ранна работа, която прави основно едно и също нещо, но използва BLE, а не CAN за предаване на данни. Можете да прочетете за това в Arbuino Project Hub. Всички сензорни устройства използват системата за свързване Qwiic, така че просто свържете всичко заедно във верига, има само един начин да поставите Qwiic към проводниците Qwiic. Ще ви е необходим един проводник Qwiic към Male, за да свържете един от сензорите към възела CANZERO. Проводниците са последователни и цветно кодирани. Свържете черно към GND на възела, червено към щифта +3.3V или +5V, синьо към щифта SDA, който е D11, и жълто към SCL щифта на D12.

За този проект той ще очаква информацията за температурата да идва от EC сензора, така че не забравяйте да прикрепите температурен сензор към EC платката. Всички дъски обаче имат възможност за измерване на температурата. Не забравяйте да прикрепите EC, pH и ORP сондите към съответните сензори. Те се закрепват лесно с BNC конектори. Ако имате заграждение, поставянето на всичко това вътре би било добра идея, особено като се има предвид, че ще бъде включена вода.

Стъпка 4: Хардуерът NoCAN

Хардуерът NoCAN
Хардуерът NoCAN

Сглобяването на хардуера NoCAN също е лесно. Прикрепете PiMaster към Raspberry Pi и намерете подходящо захранване за него.

Следвайте инструкциите на Omzlo за изработване на кабели за вашия проект.

Разгърнете вашия възел и намерете място за PiMaster.

Стъпка 5: Програмирайте възела CANZERO

Програмирайте възела CANZERO
Програмирайте възела CANZERO

Едно от страхотните неща при тази настройка е, че имате достъп до възлите дори след тяхното разгръщане. Те са програмирани през CAN проводника, така че можете да ги програмирате отново, когато пожелаете.

За това ще ви трябва инсталиран Arduino IDE, PiMaster във вашата мрежа и вашият възел, свързан към CAN шината. Ще ви трябва и програма, наречена nocanc, инсталирана на вашия компютър за разработка. Всичко това е описано на страницата за инсталиране на Omzlo.

Посетете GitHub и копирайте кода в нова скица на Arduino IDE. Променете платката на Omzlo CANZERO и изберете възела в менюто „Port“. След това просто кликнете върху качване както обикновено. Ако всичко вървеше по план, трябва да имате програмиран възел, готов да направи някои измервания.

Стъпка 6: Как всичко това свързва заедно?

Как всичко това свързва заедно?
Как всичко това свързва заедно?

Сега, когато целият софтуер и хардуер са настроени, нека отделим малко време, за да поговорим за това как всъщност всичко ще работи. И да покажа моите GIMP умения …

В обобщение:

  1. Възелът CANZERO е свързан с PiMaster и разгърнат някъде
  2. Всяка минута се изпълнява задача на Cron на PiMaster. Той ще изпълни скрипт на python.
  3. Скриптът на python ще изпрати команда до възела, като му каже да извърши измерване или друго действие.
  4. Възелът ще изпълни командата и ще върне резултат във формат JSON.
  5. Скриптът на python ще получи този резултат, ще го анализира и ще актуализира InfluxDB с него.

Последната стъпка е да наблюдавате как данните се събират в някои добре изглеждащи диаграми.

Стъпка 7: Настройване на Chronograf или Grafana

Настройване на Chronograf или Grafana
Настройване на Chronograf или Grafana

Последното нещо, което трябва да направите, е да настроите някои класации в Chronograf или Grafana.

Ще трябва да настроите източника на данни. По подразбиране за InfluxDB са добре. Адресът за него е „https:// localhost: 8086“и няма потребителско име или парола.

И двете са сходни по това, че са организирани в табла за управление, които имат произволен брой диаграми. И двете имат зона за изследване, която ви позволява да видите измерванията и интерактивно да създавате диаграми. Не забравяйте, че името на базата данни е „nocan“и е организирано в няколко измервания с една стойност.

Както споменах, предпочитам Grafana, защото е по -конфигурируема от Chronograf. Той също така е удобен за мобилни устройства, където Chronograf не е такъв. Графиките лесно се вграждат и споделят

Стъпка 8: Някои подобрения

  • Можете да зададете името на хоста на вашия Raspberry Pi за по -лесен достъп до вашата мрежа. Можете да направите това в raspi-config. Промених моя на nocan, така че успях да отида на nocan.local за достъп до него (не работи на Android).
  • Можете да инсталирате програма като ngrok за достъп до вашия Raspberry Pi извън вашата мрежа.
  • Използвайте един от методите, които Kapacitor предоставя, за да предоставяте известия.
  • Добавете още сензори, разбира се.

Препоръчано: