Turinys:

EC/pH/ORP duomenų saugojimas ir grafikas naudojant TICK kaminą ir „NoCAN“platformą: 8 žingsniai
EC/pH/ORP duomenų saugojimas ir grafikas naudojant TICK kaminą ir „NoCAN“platformą: 8 žingsniai

Video: EC/pH/ORP duomenų saugojimas ir grafikas naudojant TICK kaminą ir „NoCAN“platformą: 8 žingsniai

Video: EC/pH/ORP duomenų saugojimas ir grafikas naudojant TICK kaminą ir „NoCAN“platformą: 8 žingsniai
Video: Essential Scale-Out Computing by James Cuff 2024, Lapkritis
Anonim
Saugokite ir grafikuokite EC/pH/ORP duomenis naudodami „TICK Stack“ir „NoCAN“platformą
Saugokite ir grafikuokite EC/pH/ORP duomenis naudodami „TICK Stack“ir „NoCAN“platformą

Čia bus aptarta, kaip naudoti „Omzlo“ir „uFire“jutiklių „NoCAN“platformą EC, pH ir ORP matavimui. Kaip sakoma jų svetainėje, kartais lengviau tiesiog prijungti kabelį prie jutiklių mazgų. CAN pranašumas yra ryšys ir maitinimas viename laide, todėl signalas ir baterija nėra problema. Mazgų programinė įranga gali būti paprastesnė; nesirūpinkite, pavyzdžiui, miego režimais ar „WiFi“sąranka. „NoCAN“platforma taip pat turi keletą puikių funkcijų, tokių kaip mazgų programavimas per CAN magistralę.

„NoCAN“platformoje naudojamas „Raspberry Pi“, todėl viskas, ką galima padaryti, bus prieinama. Mes ketiname tuo pasinaudoti įdiegdami TICK kaminą. Tai leis mums naudoti „InfluxDB“matavimams saugoti. Tai laiko serija pagrįsta duomenų bazė, specialiai sukurta tokiems dalykams. Kartu su „Chronograf“pateikiami prietaisų skydeliai ir rodomi visi šie duomenys, kuriuos ketiname surinkti. T ir K reiškia „Telegraf“ir „Kapacitor“. „Telegraf“yra tarp jūsų siunčiamų duomenų ir „Influx“duomenų bazės. „Kapacitor“yra įvykių variklis. Kai kas nors atsitinka, jis gali jums atsiųsti pranešimą įvairiais būdais. Ir tik todėl, kad man tai patinka labiau nei „Chronograf“, įdiegsiu „Grafana“prietaisų skydams.

1 žingsnis: paruoškite „Raspberry Pi“

Eikite į „Rasbian“atsisiuntimo puslapį ir atsisiųskite vaizdą naudodami darbalaukį ir rekomenduojamą programinę įrangą, tada įkelkite jį į SD kortelę.

Kai vaizdas bus jūsų SD kortelėje, turėtumėte turėti du tomus: root ir boot. Įkrovimo metu atidarykite terminalą ir įveskite:

paliesk ssh

Tai įgalins SSH.

Tada įveskite:

nano wpa_supplicant.conf

Nukopijuokite/įklijuokite šiuos duomenis, kai juos pakeisite pagal savo apskrities ir „WiFi“nustatymus:

šalis = JAV

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

Šalių kodai kilę iš čia.

Įgalinti SPI:

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

Įdėkite SD kortelę į „Raspberry Pi“, šiek tiek palaukite ir įveskite:

ssh [email protected]

Turėtumėte būti prisijungimo eilutėje. Slaptažodis yra aviečių.

2 veiksmas: „NoCAN“nustatymas

„Omzlo“pateikia išsamų diegimo vadovą. Bet aš nusprendžiau palengvinti save ir šiek tiek sužinoti apie Bash scenarijų. Taigi paleiskite „Raspberry Pi“ir į jį įveskite SSH arba serijinį terminalą.

Sužinojau, kad kuriant gerą „Bash“scenarijų gali tekti tiek pat laiko tobulėti, kiek jūs iš tikrųjų bandote įdiegti. Yra 1000 būdų ką nors padaryti, kai kuriuos lengviau suvokti ar vykdyti nei kitus. Galų gale aš nedarau daug. Jei vykdote:

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

„Raspberry Pi“terminale jis atsisiųs ir įvykdys scenarijų.

Tada tai:

  1. Atsisiunčia „Omzlo NoCAN“demoną ir įdiegia jį į/usr/bin, kad būtų lengva pasiekti, sukuria aplanką ~/.nocand ir parašo labai paprastą konfigūracijos failą, kurio slaptažodis nustatytas kaip „password“. Tikriausiai turėtumėte jį pakeisti į kitą, tai yra ~/.nocand/config.
  2. Atsisiunčia „Omzlo NoCAN“klientą ir nukopijuoja jį į /usr /bin ir sukuria pagrindinį konfigūracijos failą su tuo pačiu nustatytu slaptažodžiu. Jis yra ~/.nocanc.conf.
  3. Nustato „Systemd“paslaugą, kuri palaiko „NoCAN“demoną.
  4. Įrašo „Python“failą į ~/.nocand, nocan_ufire.py. Jis kalbės su „NoCAN“mazgo programine įranga ir atliks EC, pH ir ORP matavimus, analizuos rezultatus ir pridės juos prie „InfluxDB“duomenų bazės.
  5. Įtraukia „InfluxData“repo į apt ir įdiegia TICK kaminą. Ir kadangi man tai labiau patinka nei „Chronograf“, tai taip pat įdiegia „Grafana“.
  6. Sukuria tuščią „Influx“duomenų bazę

Kai kurie dalykai, su kuriais galite susidurti:

  • Jūsų lokalė gali būti nenustatyta, todėl paleiskite dpkg-rekonfigūruoti lokalę
  • „Grafana“diegimas gali pakabinti, todėl tiesiog bandykite dar kartą.
  • Antplūdžio demonas gali būti nepaleistas laiku, kad scenarijus pridėtų duomenų bazę, įveskite

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

  • Šis scenarijus veikia tik kaip numatytasis pi vartotojas. Jei reikia, turėsite pakeisti pi į savo vartotojo vardą, jei esate kitas vartotojas.

Paskutinis dalykas yra pridėti cron darbą. Neradau labai gero būdo parašyti šį, todėl įveskite „crontab -e“, kad galėtumėte redaguoti rankiniu būdu, ir pridėkite „ * * * * * python /home/pi/.nocand/nocan_ufire.py“.

Kai viskas bus padaryta, galėsite patikrinti, ar viskas nustatyta ir veikia taip, kaip turėtų. Grafana gyvena adresu https:// [Raspberry Pi adresas]: 3000/. Turėtumėte pamatyti prisijungimo puslapį, admin/admin yra numatytasis.

Chronografą rasite adresu https:// [Raspberry Pi adresas]: 8888/

3 žingsnis: „UFire“aparatinės įrangos sujungimas

„UFire“aparatinės įrangos sujungimas
„UFire“aparatinės įrangos sujungimas

Prieš surinkdami aparatūrą, turime atkreipti dėmesį į vieną dalyką. „UFire ISE“plokštę galima naudoti pH ir ORP matavimui. Techninė įranga yra ta pati, tačiau programinė įranga yra kitokia. Kadangi aparatinė įranga yra ta pati, tai reiškia, kad I2C adresas pagal nutylėjimą taip pat yra tas pats. Ir jutikliai bendrauja per I2C, todėl vieną reikės pakeisti. Šiam projektui mes pasirinksime vieną iš ISE plokščių ir naudosime ją ORP matavimui. Atlikę čia nurodytus veiksmus, pakeiskite adresą į 0x3e.

Dabar, kai pasikeitė adresas, sudėti aparatūrą yra paprasta. Ši sąranka pagrįsta ankstesniu darbu, atliekančiu tą patį, bet duomenims perduoti naudojant BLE, o ne CAN. Apie tai galite perskaityti „Arduino Project Hub“. Visi jutiklių įrenginiai naudoja „Qwiic connect“sistemą, todėl tiesiog viską sujunkite grandine, yra tik vienas būdas įterpti „Qwiic“į „Qwiic“laidus. Norėdami prijungti vieną iš jutiklių prie CANZERO mazgo, jums reikės vieno „Qwiic to Male“laido. Laidai yra nuoseklūs ir spalvoti. Prijunkite juodą prie mazgo GND, raudoną - prie +3.3V arba +5V kaiščio, mėlyną - prie SDA kaiščio, kuris yra D11, ir geltoną prie SCL kaiščio D12.

Šiame projekte jis tikisi, kad temperatūros informacija bus gauta iš EB jutiklio, todėl būtinai pritvirtinkite temperatūros jutiklį prie EC plokštės. Tačiau visos plokštės turi galimybę matuoti temperatūrą. Nepamirškite prijungti EC, pH ir ORP zondų prie atitinkamų jutiklių. Jie lengvai pritvirtinami naudojant BNC jungtis. Jei turite aptvarą, visa tai įdėti į vidų būtų gera idėja, ypač atsižvelgiant į tai, kad bus įtrauktas vanduo.

4 žingsnis: „NoCAN“aparatinė įranga

„NoCAN“aparatinė įranga
„NoCAN“aparatinė įranga

Taip pat lengva surinkti „NoCAN“aparatūrą. Prijunkite „PiMaster“prie „Raspberry Pi“ir raskite jam tinkamą maitinimo šaltinį.

Vykdykite „Omzlo“instrukcijas, kaip gaminti kabelius savo projektui.

Išdėstykite mazgą ir raskite vietą „PiMaster“.

5 veiksmas: užprogramuokite CANZERO mazgą

Užprogramuokite CANZERO mazgą
Užprogramuokite CANZERO mazgą

Vienas iš puikių šios sąrankos dalykų yra tai, kad galite pasiekti mazgus net ir tada, kai jie yra įdiegti. Jie yra užprogramuoti per CAN laidą, todėl galite bet kada perprogramuoti.

Tam jums reikės įdiegti „Arduino IDE“, „PiMaster“tinkle ir mazgą, prijungtą prie CAN magistralės. Taip pat jūsų kūrimo kompiuteryje reikės įdiegti programą, pavadintą nocanc. Visa tai aprašyta „Omzlo“diegimo puslapyje.

Apsilankykite „GitHub“ir nukopijuokite kodą į naują „Arduino IDE“eskizą. Pakeiskite plokštę į „Omzlo CANZERO“ir meniu „Port“pasirinkite mazgą. Tada tiesiog spustelėkite įkelti kaip įprasta. Jei viskas vyko pagal planą, turėtumėte turėti užprogramuotą mazgą, kad galėtumėte atlikti tam tikrus matavimus.

6 žingsnis: kaip visa tai susieja?

Kaip visa tai susieja?
Kaip visa tai susieja?

Dabar, kai visa programinė ir techninė įranga yra sukurta, pakalbėkime apie tai, kaip visa tai iš tikrųjų veiks. Ir parodyk savo GIMP įgūdžius …

Apibendrinant:

  1. CANZERO mazgas yra prijungtas prie „PiMaster“ir kažkur dislokuotas
  2. Kiekvieną minutę „PiMaster“paleidžiamas „Cron“darbas. Jis vykdys „python“scenarijų.
  3. „Python“scenarijus išsiųs komandą mazgui, nurodydamas atlikti matavimą ar kitą veiksmą.
  4. Mazgas įvykdys komandą ir grąžins rezultatą JSON formatu.
  5. „Python“scenarijus gaus tą rezultatą, jį išanalizuos ir atnaujins „InfluxDB“.

Paskutinis žingsnis yra stebėti, kaip duomenys renkami gražiose diagramose.

7 veiksmas: nustatykite „Chronograf“arba „Grafana“

„Chronograf“arba „Grafana“nustatymas
„Chronograf“arba „Grafana“nustatymas

Paskutinis dalykas, kurį reikia padaryti, yra nustatyti kai kurias diagramas „Chronograf“arba „Grafana“.

Turėsite nustatyti duomenų šaltinį. „InfluxDB“numatytosios nuostatos yra tinkamos. Jo adresas yra „https:// localhost: 8086“ir nėra vartotojo vardo ar slaptažodžio.

Abi yra panašios tuo, kad yra suskirstytos į informacijos suvestines, kuriose yra bet koks diagramų skaičius. Abu turi naršymo sritį, leidžiančią pamatyti matavimus ir interaktyviai kurti diagramas. Atminkite, kad duomenų bazės pavadinimas yra „nocan“ir suskirstytas į kelis matavimus su viena verte.

Kaip jau minėjau, man labiau patinka „Grafana“, nes ji yra labiau konfigūruojama nei „Chronograf“. Jis taip pat pritaikytas mobiliesiems, kur nėra „Chronograf“. Diagramos lengvai įterpiamos ir bendrinamos

8 žingsnis: kai kurie patobulinimai

  • Galite nustatyti „Raspberry Pi“pagrindinio kompiuterio pavadinimą, kad galėtumėte lengviau jį pasiekti savo tinkle. Tai galite padaryti raspi-config. Aš pakeičiau savąjį į nocan, todėl galėjau eiti į nocan.local, kad jį pasiekčiau (neveikia „Android“).
  • Galite įdiegti tokią programą kaip „ngrok“, kad galėtumėte pasiekti „Raspberry Pi“už tinklo ribų.
  • Naudokite vieną iš „Kapacitor“pateiktų metodų pranešimams teikti.
  • Žinoma, pridėkite daugiau jutiklių.

Rekomenduojamas: