Talaan ng mga Nilalaman:

I-store at Grap ang Data ng EC / PH / ORP Gamit ang TICK Stack at NoCAN Platform: 8 Mga Hakbang
I-store at Grap ang Data ng EC / PH / ORP Gamit ang TICK Stack at NoCAN Platform: 8 Mga Hakbang

Video: I-store at Grap ang Data ng EC / PH / ORP Gamit ang TICK Stack at NoCAN Platform: 8 Mga Hakbang

Video: I-store at Grap ang Data ng EC / PH / ORP Gamit ang TICK Stack at NoCAN Platform: 8 Mga Hakbang
Video: HI 3222 pH/ORP/ISE Benchtop Meter with Graphic LCD 2024, Nobyembre
Anonim
I-store at Grap ang Data ng EC / PH / ORP Gamit ang TICK Stack at NoCAN Platform
I-store at Grap ang Data ng EC / PH / ORP Gamit ang TICK Stack at NoCAN Platform

Dadalhin nito kung paano gamitin ang NoCAN Platform ng mga sensor ng Omzlo at uFire upang masukat ang EC, pH at ORP. Tulad ng sinabi ng kanilang website, kung minsan mas madali na magpatakbo lamang ng ilang mga cable sa iyong mga node ng sensor. CAN ay may kalamangan ng komunikasyon at kapangyarihan sa isang cable kaya signal at baterya ay hindi isyu. Ang firmware ng mga node ay maaaring maging mas simple; walang nakakaabala sa mga mode ng pagtulog o pag-setup ng WiFi, halimbawa. Ang NoCAN platform ay mayroon ding ilang magagandang tampok tulad ng pagprograma ng mga node sa CAN bus.

Gumagamit ang NoCAN platform ng isang Raspberry Pi, kaya't ang lahat na maaaring gawin ay magagamit. Sasamantalahin namin ito sa pamamagitan ng pag-install ng TICK stack. Papayagan kaming gamitin ang InfluxDB upang mag-imbak ng mga sukat. Ito ay isang batay sa oras na hangarin sa database na ginawa para sa ganitong uri ng bagay. Mayroon din itong Chronograf upang gumawa ng mga dashboard at ipakita ang lahat ng data na ito na kukunin namin. Ang T at K ay nangangahulugang Telegraf at Kapacitor. Ang Telegraf ay nakaupo sa pagitan ng data na iyong ipinapadala at ang Influx database. Ang Kapacitor ay ang event engine. Kapag may nangyari, maaari kang magpadala sa iyo ng isang notification sa pamamagitan ng iba't ibang mga pamamaraan. At, dahil mas gusto ko ito kaysa sa Chronograf, mai-install ko ang Grafana para sa mga dashboard.

Hakbang 1: Pagkuha ng Ready na Raspberry Pi

Tumungo sa pahina ng Pag-download ng Rasbian at i-download ang imahe gamit ang desktop at inirekumendang software, pagkatapos i-flash ito sa isang SD card.

Matapos ang imahe ay nasa iyong SD card, dapat kang magkaroon ng dalawang dami, ugat at boot. Magbukas ng isang terminal sa boot at i-type:

hawakan ssh

Paganahin ang SSH.

Pagkatapos i-type:

nano wpa_supplicant.conf

At kopyahin / i-paste ang sumusunod pagkatapos mong baguhin ito para sa iyong sariling mga setting ng county at WiFi:

bansa = US

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

Ang mga code ng bansa ay nagmula rito.

Paganahin ang SPI:

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

Ilagay ang SD card sa iyong Raspberry Pi, maghintay nang kaunti at i-type:

ssh [email protected]

Dapat ay nasa prompt ka ng pag-login. Ang password ay raspberry.

Hakbang 2: Pag-set up ng NoCAN

Nagbibigay ang Omzlo ng masusing gabay sa pag-install. Ngunit nagpasya akong gawing mas madali para sa aking sarili at malaman nang kaunti tungkol sa Bash scripting. Kaya't simulan ang iyong Raspberry Pi at SSH o serial terminal dito.

Nalaman ko na tulad ng maraming oras sa pag-unlad ay maaaring mapunta sa paglikha ng isang mahusay na script ng Bash tulad ng anuman na sinusubukan mong aktwal na mai-install. Mayroong 1000 mga paraan upang makagawa ng isang bagay, mas simple na maunawaan o maipatupad kaysa sa iba. Sa huli, wala talaga akong nagawa. Kung naisagawa mo:

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

Sa terminal ng iyong Raspberry Pi, i-download at isasagawa nito ang script.

Pagkatapos ito:

  1. Nai-download ang Omzlo NoCAN daemon at na-install ito sa / usr / bin para sa madaling pag-access, gumagawa ng isang ~ /.nocand folder at nagsusulat ng isang napaka-pangunahing file ng pagsasaayos na ang password ay nakatakda sa 'password'. Marahil ay dapat mong palitan ito sa ibang bagay, nasa ~ /.nocand / config.
  2. Nai-download ang Omzlo NoCAN client at kinopya ito sa / usr / bin at lumilikha ng isang pangunahing file ng pagsasaayos na may parehong set ng password. Nasa ~ /.nocanc.conf.
  3. Nagtatakda ng serbisyo ng Systemd na pinapanatili ang pagpapatakbo ng NoCAN daemon.
  4. Sumusulat ng isang python file sa ~ /.nocand, nocan_ufire.py. Kakausapin nito ang firmware ng NoCAN node at kukuha ng mga pagsukat ng EC, PH, at ORP, i-parse ang mga resulta at idagdag ang mga ito sa database ng InfluxDB.
  5. Nagdaragdag ng Repo ng InfluxData upang mag-apt at mai-install ang TICK stack. At dahil ginusto ko ito kaysa sa Chronograf, nag-i-install din ito ng Grafana.
  6. Lumilikha ng isang blangkong Influx database

Ang ilang mga gotchas na maaari mong masagasaan:

  • Maaaring hindi naka-set up ang iyong lokal, kaya patakbuhin ang mga lokal na dpkg-reconfigure
  • Maaaring mag-hang ang pag-install ng Grafana, kaya subukang muli.
  • Ang pagsingit ng daemon ay maaaring hindi masimulan sa oras upang idagdag ang script sa database, uri

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

  • Gumagana lamang ang script na ito bilang default pi na gumagamit. Kakailanganin mong baguhin ang pi sa iyong username kung saan naaangkop kung ikaw ay nasa ilalim ng ibang gumagamit.

Ang huling bagay ay upang magdagdag ng isang cron job. Hindi ako nakakita ng napakahusay na paraan upang ma-script ang isang ito, kaya i-type ang 'crontab -e' upang manu-manong mag-edit at idagdag ang '* * * * * python /home/pi/.nocand/nocan_ufire.py'.

Kapag tapos na ang lahat, mapatunayan mo na ang lahat ay naka-setup at tumatakbo ayon sa dapat. Nakatira si Grafana sa https:// [Address ni Raspberry Pi]: 3000 /. Dapat mong makita ang isang pahina sa pag-login, ang admin / admin ay ang default.

Ang kronograf ay matatagpuan sa https:// [Raspberry Pi's Address]: 8888 /

Hakbang 3: Pagsasama-sama sa UFire Hardware

Pagsasama-sama ng UFire Hardware
Pagsasama-sama ng UFire Hardware

Bago namin mapagsama ang hardware, mayroong isang bagay na dapat tugunan. Ang uFire ISE board ay maaaring magamit upang sukatin ang parehong pH at ORP. Pareho ang hardware, ngunit magkakaiba ang software. Dahil ang hardware ay pareho, nangangahulugan iyon na ang I2C address ay, sa pamamagitan ng default, pareho din. At ang mga sensor ay nakikipag-usap sa pamamagitan ng I2C kaya't ang isa ay kailangang mabago. Para sa proyektong ito, pipiliin namin ang isa sa mga board ng ISE at gamitin ito upang sukatin ang ORP. Kasunod sa mga hakbang dito, baguhin ang address sa 0x3e.

Ngayong nabago ang address, madali ang pagsasama-sama ng hardware. Ang setup na ito ay batay sa mas maagang trabaho na ginagawa ang parehong bagay ngunit ang paggamit ng BLE kaysa sa CAN upang makapagpadala ng data. Maaari mong basahin ang tungkol dito sa Arduino Project Hub. Ang lahat ng mga aparato ng sensor ay gumagamit ng Qwiic connect system kaya't ikonekta lamang ang lahat sa isang kadena, may isang paraan lamang upang maipasok ang Qwiic sa Qwiic wires. Kakailanganin mo ang isang Qwiic to Male wire upang ikonekta ang isa sa mga sensor sa CANZERO node. Ang mga wire ay pare-pareho at naka-code ang kulay. Ikonekta ang itim sa GND ng node, pula sa alinman sa + 3.3V o + 5V pin, asul sa SDA pin na D11, at dilaw sa SCL pin sa D12.

Para sa proyektong ito, aasahan na ang impormasyon sa temperatura ay magmumula sa sensor ng EC, kaya tiyaking maglakip ng isang sensor ng temperatura sa board ng EC. Ang lahat ng mga board ay may kakayahang sukatin ang temperatura. Huwag kalimutang ikabit ang mga probe ng EC, PH at ORP sa mga naaangkop na sensor. Madali silang nakakabit sa mga konektor ng BNC. Kung mayroon kang isang enclosure, paglalagay ng lahat ng ito sa loob ay isang magandang ideya, lalo na isinasaalang-alang ang tubig ay sasali.

Hakbang 4: Ang NoCAN Hardware

Ang NoCAN Hardware
Ang NoCAN Hardware

Ang pagtitipon ng NoCAN hardware ay madali din. Ikabit ang PiMaster sa Raspberry Pi at maghanap ng angkop na supply ng kuryente para dito.

Sundin ang mga tagubilin ni Omzlo sa paggawa ng mga cable para sa iyong proyekto.

I-deploy ang iyong node at maghanap ng isang lugar para sa PiMaster.

Hakbang 5: I-program ang CANZERO Node

I-program ang CANZERO Node
I-program ang CANZERO Node

Ang isa sa mga magagaling na bagay tungkol sa pag-set up na ito ay maaari mong ma-access ang mga node kahit na pagkatapos na ma-deploy ang mga ito. Naka-program ang mga ito sa CAN wire, kaya maaari mong i-program muli ang mga ito anumang oras na gusto mo.

Para doon, kakailanganin mo ang naka-install na Arduino IDE, ang PiMaster sa iyong network, at ang iyong node na konektado sa CAN bus. Kakailanganin mo rin ang isang program na tinatawag na nocanc na naka-install sa iyong computer sa pag-unlad. Ang lahat ng iyon ay inilalarawan sa pahina ng pag-install ng Omzlo.

Bisitahin ang GitHub at kopyahin ang code sa isang bagong sketch ng Arduino IDE. Baguhin ang board sa Omzlo CANZERO at piliin ang node sa menu na 'Port'. Pagkatapos i-click lamang ang upload tulad ng normal. Kung ang lahat ay nagpunta alinsunod sa plano, dapat kang magkaroon ng isang naka-program na node na handa na kumuha ng ilang mga sukat.

Hakbang 6: Paano Magkasama ang Lahat ng Ito?

Paano Magkakasama ang Lahat ng Ito?
Paano Magkakasama ang Lahat ng Ito?

Ngayon na ang lahat ng software at hardware ay na-set up, maglaan ng sandali upang pag-usapan kung paano ito gagana talaga. At ipakita ang aking mga kasanayan sa GIMP…

Sa buod:

  1. Ang CANZERO node ay konektado sa PiMaster at ipinakalat sa kung saan
  2. Bawat minuto isang Cron job ang pinapatakbo sa PiMaster. Isasagawa nito ang isang script ng sawa.
  3. Ang script ng python ay magpapadala ng isang utos sa node na nagsasabi dito na gumawa ng isang pagsukat o ilang iba pang pagkilos.
  4. Isasagawa ng node kung ano ang utos at ibabalik ang isang resulta sa format na JSON.
  5. Matatanggap ng script ng python ang resulta na iyon, i-parse ito, at i-update ang isang InfluxDB kasama nito.

Ang huling hakbang ay upang panoorin ang pagkolekta ng data sa ilang mga magagandang tsart na hinahanap.

Hakbang 7: Pag-set up ng Chronograf o Grafana

Pag-set up ng Chronograf o Grafana
Pag-set up ng Chronograf o Grafana

Ang huling bagay na dapat gawin ay ang pag-set up ng ilang mga tsart sa Chronograf o Grafana.

Kakailanganin mong i-set up ang pinagmulan ng data. Ang mga default para sa InfluxDB ay mabuti. Ang address para dito ay 'https:// localhost: 8086' at walang username o password.

Pareho ang pareho sa naayos ang mga ito sa mga Dashboard na mayroong anumang bilang ng mga tsart sa loob nito. Parehong may isang lugar ng Pag-explore na nagbibigay-daan sa iyo upang makita ang mga sukat at interactive na lumikha ng mga tsart. Tandaan ang pangalan ng database ay 'nocan' at naayos sa maraming mga sukat na may isang halaga.

Tulad ng nabanggit ko, mas gusto ko ang Grafana sapagkat mas maisasaayos ito kaysa sa Chronograf. Ito rin ay mobile-friendy, kung saan ang Chronograf ay wala. Ang mga tsart ay madaling naka-embed at ibinahagi

Hakbang 8: Ilang Mga Pagpapabuti

  • Maaari mong itakda ang host name ng iyong Raspberry Pi upang ma-access ito nang mas madali sa iyong network. Maaari mong gawin iyon sa raspi-config. Pinalitan ko ang aking sa nocan, kaya't napunta ako sa nocan.local upang ma-access ito (hindi gagana sa Android).
  • Maaari kang mag-install ng isang programa tulad ng ngrok upang mai-access ang iyong Raspberry Pi sa labas ng iyong network.
  • Gumamit ng isa sa mga pamamaraang ibinibigay ng Kapacitor upang makapagbigay ng mga abiso.
  • Magdagdag ng higit pang mga sensor, syempre.

Inirerekumendang: