Talaan ng mga Nilalaman:
- Hakbang 1: Pagkuha ng Ready na Raspberry Pi
- Hakbang 2: Pag-set up ng NoCAN
- Hakbang 3: Pagsasama-sama sa UFire Hardware
- Hakbang 4: Ang NoCAN Hardware
- Hakbang 5: I-program ang CANZERO Node
- Hakbang 6: Paano Magkasama ang Lahat ng Ito?
- Hakbang 7: Pag-set up ng Chronograf o Grafana
- Hakbang 8: Ilang Mga Pagpapabuti
Video: I-store at Grap ang Data ng EC / PH / ORP Gamit ang TICK Stack at NoCAN Platform: 8 Mga Hakbang
2024 May -akda: John Day | [email protected]. Huling binago: 2024-01-30 13:13
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:
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:
- 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.
- 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.
- Nagtatakda ng serbisyo ng Systemd na pinapanatili ang pagpapatakbo ng NoCAN daemon.
- 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.
- 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.
- 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
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 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
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?
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:
- Ang CANZERO node ay konektado sa PiMaster at ipinakalat sa kung saan
- Bawat minuto isang Cron job ang pinapatakbo sa PiMaster. Isasagawa nito ang isang script ng sawa.
- Ang script ng python ay magpapadala ng isang utos sa node na nagsasabi dito na gumawa ng isang pagsukat o ilang iba pang pagkilos.
- Isasagawa ng node kung ano ang utos at ibabalik ang isang resulta sa format na JSON.
- 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
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:
Ang Pagbasa at Pag-grap ng Banayad at Temperatura ng Sensor ng Data Sa Raspberry Pi: 5 Hakbang
Ang Pagbasa at Pagkuha ng Banayad at Temperatura ng Sensor ng Data Sa Raspberry Pi: Sa Instructable na ito matututunan mo kung paano basahin ang isang ilaw at temperatura sensor na may raspberry pi at ADS1115 analog sa digital converter at i-grap ito gamit ang matplotlib. Magsisimula tayo sa mga kinakailangang materyal
Manatiling Ligtas Gamit ang Bikelight na Ito Gamit ang Mga Senyas na Pagliko: 5 Hakbang (na may Mga Larawan)
Manatiling Ligtas Gamit ang Bikelight na Ito Gamit ang Mga Sinyales na Pag-turn: Gustong-gusto kong sumakay ng bisikleta, karaniwang ginagamit ko ito upang makarating sa paaralan. Sa oras ng taglamig, madalas na madilim pa rin sa labas at mahirap para sa ibang mga sasakyan na makita ang mga signal ng aking kamay na lumiliko. Samakatuwid ito ay isang malaking panganib dahil maaaring hindi makita ng mga trak na nais kong
Mag-log Data at Magplano ng isang Online na Grap Gamit ang NodeMCU, MySQL, PHP at Chartjs.org: 4 na Hakbang
Mag-log Data at Magplano ng isang Online na Grap Gamit ang NodeMCU, MySQL, PHP at Chartjs.org: Inilalarawan ng Makatuturo na ito kung paano namin magagamit ang board ng Node MCU upang mangolekta ng data mula sa maraming mga sensor, ipadala ang data na ito sa isang naka-host na file na PHP na pagkatapos ay nagdaragdag ng data sa isang MySQL database. Maaari nang makita ang data sa online bilang isang grap, gamit ang chart.js.A ba
Kontrolin ang Arduino Gamit ang Smartphone Sa pamamagitan ng USB Gamit ang Blynk App: 7 Mga Hakbang (na may Mga Larawan)
Kontrolin ang Arduino Gamit ang Smartphone Sa Pamamagitan ng USB Sa Blynk App: Sa tutorial na ito, matututunan namin kung paano gamitin ang Blynk app at Arduino upang makontrol ang lampara, ang kumbinasyon ay sa pamamagitan ng USB serial port. Ang layunin ng pagtuturo na ito ay upang ipakita ang pinakasimpleng solusyon sa malayo-pagkontrol ng iyong Arduino o c
Secure Shred Indibidwal na Mga File Gamit ang Ipadala sa Gamit ang Ccleaner V2: 4 Mga Hakbang
Secure Shred Indibidwal na Mga File Gamit ang Ipadala sa Gamit Ccleaner V2: Ito ay isang pinahusay na bersyon ng aking nakaraang tutorial upang magdagdag ng isang pagpipilian sa pag-shredding sa iyong kanang pag-click sa menu na "konteksto" sa explorer na magpapahintulot sa iyo na mag-shred ng mga file sa pamamagitan ng Ccleaner. Nag-aalok ang pamamaraang ito ng higit pa direktang diskarte at soes ay hindi nangangailangan ng pagdaragdag sa