Съдържание:
- Стъпка 1: Подготовка на Raspberry Pi
- Стъпка 2: Настройка на NoCAN
- Стъпка 3: Сглобяване на хардуера на UFire
- Стъпка 4: Хардуерът NoCAN
- Стъпка 5: Програмирайте възела CANZERO
- Стъпка 6: Как всичко това свързва заедно?
- Стъпка 7: Настройване на Chronograf или Grafana
- Стъпка 8: Някои подобрения
Видео: Съхранявайте и графирайте EC/pH/ORP данни с TICK Stack и NoCAN платформа: 8 стъпки
2024 Автор: John Day | [email protected]. Последно модифициран: 2024-01-30 07:52
Това ще разгледа как да използвате платформата 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, изчакайте малко и въведете:
Трябва да сте в подканата за вход. Паролата е малинова.
Стъпка 2: Настройка на NoCAN
Omzlo предоставя подробно ръководство за инсталиране. Но реших да си улесня и да науча малко за скриптовете на Bash. Така че стартирайте вашия Raspberry Pi и SSH или сериен терминал в него.
Научих, че толкова време за разработка може да отиде за създаването на добър Bash скрипт, колкото и да се опитвате да инсталирате. Има 1000 начина да направите нещо, някои по -прости за схващане или изпълнение от други. В крайна сметка всъщност не направих много. Ако изпълните:
wget https://ufire.co/nocan.sh && chmod +x nocan.sh && sudo./nocan.sh
В терминала на вашия Raspberry Pi той ще изтегли и изпълни скрипта.
Тогава то:
- Изтегля демона на Omzlo NoCAN и го инсталира в/usr/bin за лесен достъп, прави папка ~/.nocand и записва много основен конфигурационен файл с парола, зададена на „парола“. Вероятно трябва да го промените на нещо друго, това е на ~/.nocand/config.
- Изтегля клиента Omzlo NoCAN и го копира в /usr /bin и създава основен конфигурационен файл със същата зададена парола. Намира се на ~/.nocanc.conf.
- Настройва услуга Systemd, която поддържа демона на NoCAN да работи.
- Записва python файл в ~/.nocand, nocan_ufire.py. Той ще говори с фърмуера на възела NoCAN и ще вземе EC, pH и ORP измервания, ще анализира резултатите и ще ги добави в базата данни InfluxDB.
- Добавя репото на InfluxData към apt и инсталира стека TICK. И тъй като го предпочитам пред Chronograf, той инсталира и Grafana.
- Създава празна база данни 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 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 също е лесно. Прикрепете PiMaster към Raspberry Pi и намерете подходящо захранване за него.
Следвайте инструкциите на Omzlo за изработване на кабели за вашия проект.
Разгърнете вашия възел и намерете място за PiMaster.
Стъпка 5: Програмирайте възела CANZERO
Едно от страхотните неща при тази настройка е, че имате достъп до възлите дори след тяхното разгръщане. Те са програмирани през CAN проводника, така че можете да ги програмирате отново, когато пожелаете.
За това ще ви трябва инсталиран Arduino IDE, PiMaster във вашата мрежа и вашият възел, свързан към CAN шината. Ще ви трябва и програма, наречена nocanc, инсталирана на вашия компютър за разработка. Всичко това е описано на страницата за инсталиране на Omzlo.
Посетете GitHub и копирайте кода в нова скица на Arduino IDE. Променете платката на Omzlo CANZERO и изберете възела в менюто „Port“. След това просто кликнете върху качване както обикновено. Ако всичко вървеше по план, трябва да имате програмиран възел, готов да направи някои измервания.
Стъпка 6: Как всичко това свързва заедно?
Сега, когато целият софтуер и хардуер са настроени, нека отделим малко време, за да поговорим за това как всъщност всичко ще работи. И да покажа моите GIMP умения …
В обобщение:
- Възелът CANZERO е свързан с PiMaster и разгърнат някъде
- Всяка минута се изпълнява задача на Cron на PiMaster. Той ще изпълни скрипт на python.
- Скриптът на python ще изпрати команда до възела, като му каже да извърши измерване или друго действие.
- Възелът ще изпълни командата и ще върне резултат във формат JSON.
- Скриптът на python ще получи този резултат, ще го анализира и ще актуализира InfluxDB с него.
Последната стъпка е да наблюдавате как данните се събират в някои добре изглеждащи диаграми.
Стъпка 7: Настройване на 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 предоставя, за да предоставяте известия.
- Добавете още сензори, разбира се.
Препоръчано:
Как да рециклирате Android телефони за BOINC или сгъваема платформа без използване на батерии: 8 стъпки
Как да рециклирате телефони с Android за BOINC или сгъваема платформа, без да използвате батерии: ВНИМАНИЕ: НИКОГА НЕ СЪМ ОТГОВОРЕН ЗА ВРЕДИ, НАПРАВЕНИ НА ХАРАКТЕРИСТИКАТА СИ, СЛЕДВАЙТЕ НАСТОЯЩОТО РЪКОВОДСТВО. Това ръководство е по -ефективно за потребителите на BOINC (личен избор / причини), може да се използва и за сгъване, тъй като нямам твърде много време, ще
Как да направим рекордер за данни за влажност и температура в реално време с Arduino UNO и SD-карта - DHT11 регистратор на данни Симулация в Proteus: 5 стъпки
Как да направим рекордер за данни за влажност и температура в реално време с Arduino UNO и SD-карта | DHT11 симулация на регистратор на данни в Proteus: Въведение: Здравейте, това е Liono Maker, ето линк към YouTube. Ние правим творчески проект с Arduino и работим върху вградени системи. Data-Logger: Регистратор на данни (също регистратор на данни или запис на данни) е електронно устройство, което записва данни във времето с
Базова платформа на IoT с RaspberryPi, WIZ850io: Драйвер на устройство за платформа: 5 стъпки (със снимки)
Базова платформа на IoT с RaspberryPi, WIZ850io: Драйвер на устройство за платформа: Познавам платформата RaspberryPi за IoT. Наскоро WIZ850io е обявен от WIZnet. Затова внедрих приложение RaspberryPi чрез модификация на Ethernet SW, защото мога лесно да се справя с изходния код. Можете да тествате драйвера на устройство за платформа чрез RaspberryPi
Как да извлечете данни от база данни Firebase на NodeMCU: 7 стъпки
Как да извлечем данни от база данни Firebase на NodeMCU: За тази инструкция ще извличаме данни от база данни в Google Firebase и ще ги извличаме с помощта на NodeMCU за по-нататъшно разбор. акаунт за създаване на база данни на Firebase. 3) Изтеглете
Събиране на данни от EAL-Industri4.0-RFID до база данни: 10 стъпки (със снимки)
EAL-Industri4.0-RFID Актуализиране на данни към база данни: Dette projekt omhandler opsamling af v æ gtdata, регистриращ се за идентифициране във vha. RFID, изоставане на данни в MySQL база данни vha. node-RED, samt fremvisning и поведение на opsamlede данни в et C# програма, създадена от en Windows Form Application