Სარჩევი:

შეინახეთ და გრაფიკულად ჩაწერეთ EC/pH/ORP მონაცემები TICK სტეკით და NoCAN პლატფორმით: 8 ნაბიჯი
შეინახეთ და გრაფიკულად ჩაწერეთ EC/pH/ORP მონაცემები TICK სტეკით და NoCAN პლატფორმით: 8 ნაბიჯი

ვიდეო: შეინახეთ და გრაფიკულად ჩაწერეთ EC/pH/ORP მონაცემები TICK სტეკით და NoCAN პლატფორმით: 8 ნაბიჯი

ვიდეო: შეინახეთ და გრაფიკულად ჩაწერეთ EC/pH/ORP მონაცემები TICK სტეკით და 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 გაზომვების შესანახად. ეს არის timeseries დაფუძნებული მონაცემთა ბაზა, რომელიც შექმნილია ამგვარი საქმისთვის. მას ასევე გააჩნია ქრონოგრაფი, რათა შექმნას დაფები და აჩვენოს ყველა ეს მონაცემი, რომელსაც ჩვენ ვიღებთ. T და K ნიშნავს Telegraf და Kapacitor. ტელეგრაფი მდებარეობს თქვენს მიერ გაგზავნილ მონაცემებსა და ინფლუქსის მონაცემთა ბაზას შორის. Kapacitor არის ღონისძიების ძრავა. როდესაც რამე ხდება, მას შეუძლია გამოგიგზავნოთ შეტყობინება სხვადასხვა მეთოდის საშუალებით. და მხოლოდ იმიტომ, რომ მე ის უფრო მომწონს ვიდრე ქრონოგრაფი, მე დავაყენებ გრაფანას საინფორმაციო დაფებისთვის.

ნაბიჯი 1: ჟოლოს პი მზადყოფნა

გადადით Rasbian– ის ჩამოტვირთვის გვერდზე და გადმოწერეთ სურათი დესკტოპისა და რეკომენდებული პროგრამული უზრუნველყოფის საშუალებით, შემდეგ გადაათრიეთ იგი SD ბარათზე.

მას შემდეგ რაც სურათი თქვენს SD ბარათზეა, თქვენ უნდა გქონდეთ ორი ტომი, root და ჩატვირთვისას. გახსენით ტერმინალი ჩატვირთვისას და ჩაწერეთ:

შეხება 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

ომზლო გთავაზობთ დეტალურ ინსტალაციის სახელმძღვანელოს. მაგრამ მე გადავწყვიტე, რომ ეს უფრო გამიადვილებულიყო და ცოტა ვისწავლე ბაშის სკრიპტირების შესახებ. ასე რომ დაიწყეთ თქვენი 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. წერს პითონის ფაილს ~/.nocand, nocan_ufire.py. ის ესაუბრება NoCAN კვანძის პროგრამულ უზრუნველყოფას და მიიღებს EC, pH და ORP გაზომვებს, აანალიზებს შედეგებს და დაამატებს მათ InfluxDB მონაცემთა ბაზაში.
  5. დასძენს InfluxData– ს რეპოს და აყენებს TICK დასტს. და რადგან მე მას ქრონოგრაფს ვანიჭებ უპირატესობას, ის გრაფანასაც აყენებს.
  6. ქმნის ცარიელ Influx მონაცემთა ბაზას

რამოდენიმე შემოთავაზება, რომელსაც შეიძლება წააწყდეთ:

  • თქვენი ლოკალი შეიძლება არ იყოს დაყენებული, ასე რომ გაუშვით dpkg- გადააკეთეთ ლოკალები
  • Grafana– ს ინსტალაცია შეიძლება გათიშული იყოს, ასე რომ სცადეთ ისევ.
  • შემოდინების დემონი შეიძლება არ დაიწყოს დროულად, რათა სკრიპტმა დაამატოს მონაცემთა ბაზა, ტიპი

    curl -i -XPOST https:// localhost: 8086/query --data -urlencode "q = მონაცემთა ბაზის შექმნა nocan"

  • ეს სკრიპტი მუშაობს მხოლოდ როგორც ნაგულისხმევი pi მომხმარებელი. საჭიროების შემთხვევაში, თქვენ უნდა შეცვალოთ pi თქვენს მომხმარებლის სახელზე, თუ სხვა მომხმარებლის ქვეშ ხართ.

ბოლო არის დაამატოთ cron სამუშაო. მე ვერ ვიპოვე ძალიან კარგი გზა ამ სკრიპტისთვის, ასე რომ ჩაწერეთ 'crontab -e' ხელით რედაქტირებისთვის და დაამატეთ ' * * * * * python /home/pi/.nocand/nocan_ufire.py'.

მას შემდეგ რაც ყველაფერი კეთდება, შეგიძლიათ შეამოწმოთ ყველაფერი დაყენებულია და მუშაობს ისე, როგორც უნდა იყოს. გრაფანა ცხოვრობს https:// [Raspberry Pi's Address]: 3000/. თქვენ უნდა ნახოთ შესვლის გვერდი, ნაგულისხმევი არის ადმინისტრატორი/ადმინისტრატორი.

ქრონოგრაფი შეგიძლიათ იხილოთ https:// [ჟოლოს პიის მისამართი]: 8888/

ნაბიჯი 3: UFire აპარატურის ერთად აწყობა

აყენებს UFire აპარატურას ერთად
აყენებს UFire აპარატურას ერთად

სანამ ჩვენ შევძლებთ აპარატურის აწყობას, არის ერთი რამ, რასაც მივმართავთ. UFire ISE დაფა შეიძლება გამოყენებულ იქნას როგორც pH- ის, ასევე ORP- ის გასაზომად. აპარატურა იგივეა, მაგრამ პროგრამული უზრუნველყოფა განსხვავებულია. იმის გამო, რომ აპარატურა იგივეა, ეს ნიშნავს, რომ I2C მისამართი, სტანდარტულად, იგივეა. და სენსორები კომუნიკაციას ახდენენ I2C საშუალებით, ასე რომ ერთი უნდა შეიცვალოს. ამ პროექტისთვის ჩვენ ვაპირებთ ავირჩიოთ ISE– ს ერთ – ერთი დაფა და გამოვიყენოთ ORP– ის გასაზომად. ნაბიჯების შემდეგ, შეცვალეთ მისამართი 0x3e.

ახლა, როდესაც მისამართი შეიცვალა, აპარატურის გაერთიანება ადვილია. ეს კონფიგურაცია ემყარება ადრინდელ მუშაობას, რომელიც აკეთებს თითქმის ერთსა და იმავეს, მაგრამ იყენებს BLE- ს და არა CAN მონაცემების გადასაცემად. ამის შესახებ შეგიძლიათ წაიკითხოთ Arduino Project Hub– ზე. ყველა სენსორული მოწყობილობა იყენებს Qwiic დამაკავშირებელ სისტემას, ასე რომ ყველაფერი ერთმანეთთან დააკავშირეთ ჯაჭვში, არსებობს მხოლოდ ერთი გზა Qwiic მავთულხლართებზე ჩასასმელად. თქვენ დაგჭირდებათ ერთი Qwiic to Male მავთული, რომ დააკავშიროთ ერთი სენსორი CANZERO კვანძთან. მავთულები არის თანმიმდევრული და ფერადი კოდირებული. შეაერთეთ შავი კვანძის GND– ზე, წითელი ან +3.3V ან +5V პინზე, ლურჯი SDA პინზე, რომელიც არის D11 და ყვითელი SCL პინზე D12– ზე.

ამ პროექტისთვის ის ელოდება ტემპერატურის ინფორმაციას EC სენსორიდან, ამიტომ დარწმუნდით, რომ მიამაგრეთ ტემპერატურის სენსორი EC დაფაზე. ყველა დაფას აქვს ტემპერატურის გაზომვის შესაძლებლობა. არ დაგავიწყდეთ EC, pH და ORP ზონდების მიმაგრება შესაბამის სენსორებზე. ისინი ადვილად ერთვის BNC კონექტორებით. თუ გალავანი გაქვთ, ამ ყველაფრის შიგნით ჩადება კარგი იდეა იქნება, განსაკუთრებით წყლის გათვალისწინებით.

ნაბიჯი 4: NoCAN აპარატურა

NoCAN აპარატურა
NoCAN აპარატურა

NoCAN აპარატურის აწყობა ასევე ადვილია. მიამაგრეთ PiMaster Raspberry Pi– ს და იპოვეთ მისთვის შესაფერისი კვების წყარო.

მიჰყევით ომზლოს მითითებებს თქვენი პროექტისთვის კაბელების დამზადების შესახებ.

განათავსეთ თქვენი კვანძი და იპოვეთ ადგილი PiMaster– ისთვის.

ნაბიჯი 5: პროგრამირება CANZERO კვანძი

პროგრამირება CANZERO კვანძი
პროგრამირება CANZERO კვანძი

ამ კონფიგურაციის ერთ -ერთი ყველაზე მნიშვნელოვანი რამ არის ის, რომ თქვენ შეგიძლიათ მიიღოთ კვანძები მათი განლაგების შემდეგაც კი. ისინი დაპროგრამებულია CAN მავთულის საშუალებით, ასე რომ თქვენ შეგიძლიათ ხელახლა დაპროგრამება მათ ნებისმიერ დროს.

ამისათვის დაგჭირდებათ Arduino IDE დაინსტალირებული, PiMaster თქვენს ქსელში და თქვენი კვანძი დაკავშირებული CAN ავტობუსთან. თქვენ ასევე დაგჭირდებათ პროგრამა სახელწოდებით nocanc დაინსტალირებული თქვენს განვითარების კომპიუტერზე. ეს ყველაფერი აღწერილია ომზლოს ინსტალაციის გვერდზე.

ეწვიეთ GitHub- ს და დააკოპირეთ კოდი ახალ Arduino IDE ესკიზში. შეცვალეთ დაფა Omzlo CANZERO და აირჩიეთ კვანძი "პორტის" მენიუში. შემდეგ უბრალოდ დააჭირეთ ჩვეულებრივ გადმოტვირთვას. თუ ყველაფერი გეგმის მიხედვით წარიმართა, თქვენ უნდა გქონდეთ დაპროგრამებული კვანძი მზად გარკვეული გაზომვებისთვის.

ნაბიჯი 6: როგორ უკავშირდება ეს ყველაფერი ერთმანეთს?

როგორ ერწყმის ეს ყველაფერი ერთმანეთს?
როგორ ერწყმის ეს ყველაფერი ერთმანეთს?

ახლა, როდესაც ყველა პროგრამული უზრუნველყოფა და აპარატურა არის დაყენებული, მოდით ცოტა ხნით ვისაუბროთ იმაზე, თუ როგორ მუშაობს ეს ყველაფერი. და აჩვენე ჩემი GIMP უნარები…

Ჯამში:

  1. CANZERO კვანძი უკავშირდება PiMaster– ს და განლაგებულია სადმე
  2. ყოველ წუთს PiMaster– ზე მუშაობს Cron– ის სამუშაო. ის შეასრულებს პითონის სკრიპტს.
  3. პითონის სკრიპტი გაუგზავნის ბრძანებას კვანძს, რომელიც ეუბნება მიიღოს გაზომვა ან სხვა მოქმედება.
  4. კვანძი შეასრულებს რა ბრძანებას და დააბრუნებს შედეგს JSON ფორმატში.
  5. პითონის სკრიპტი მიიღებს ამ შედეგს, გაანალიზებს მას და განაახლებს InfluxDB მას.

ბოლო ნაბიჯი არის უყუროთ მონაცემებს, რომლებიც აგროვებენ ლამაზ დიაგრამებს.

ნაბიჯი 7: ქრონოგრამის ან გრაფანის დაყენება

ქრონოგრამის ან გრაფანის დაყენება
ქრონოგრამის ან გრაფანის დაყენება

ბოლო რაც უნდა გააკეთოთ არის გარკვეული სქემების დაყენება ქრონოგრაფში ან გრაფანაში.

თქვენ დაგჭირდებათ მონაცემთა წყაროს დაყენება. ნაგულისხმევი InfluxDB– სთვის კარგია. მისი მისამართია "https:// localhost: 8086" და არ არის მომხმარებლის სახელი და პაროლი.

ორივე მსგავსია იმით, რომ ისინი ორგანიზებულია Dashboard– ებად, რომლებსაც აქვთ ნებისმიერი რაოდენობის სქემა. ორივეს აქვს Explore ფართობი, რომელიც საშუალებას გაძლევთ ნახოთ გაზომვები და ინტერაქტიულად შექმნათ სქემები. დაიმახსოვრეთ მონაცემთა ბაზის სახელი არის 'nocan' და ორგანიზებულია რამდენიმე გაზომვაში ერთი მნიშვნელობით.

როგორც აღვნიშნე, მე მირჩევნია Grafana, რადგან ის უფრო კონფიგურირებადია ვიდრე Chronograf. ის ასევე მობილურია, სადაც ქრონოლოგი არ არის. დიაგრამები ადვილად ჩასმული და გაზიარებულია

ნაბიჯი 8: რამდენიმე გაუმჯობესება

  • თქვენ შეგიძლიათ მიუთითოთ თქვენი Raspberry Pi მასპინძლის სახელი, რათა ის უფრო ადვილად შეხვიდეთ თქვენს ქსელში. ამის გაკეთება შეგიძლიათ raspi-config– ში. მე შევცვალე ჩემი nocan, ასე რომ მე შევძელი nocan.local– ზე გადასვლა მასზე წვდომისათვის (არ მუშაობს Android– ზე).
  • თქვენ შეგიძლიათ დააინსტალიროთ პროგრამა, როგორიცაა ngrok, რომ მიიღოთ თქვენი Raspberry Pi თქვენი ქსელის გარეთ.
  • გამოიყენეთ ერთ -ერთი მეთოდი Kapacitor, რომელიც უზრუნველყოფს შეტყობინებების მიწოდებას.
  • დაამატეთ მეტი სენსორი, რა თქმა უნდა.

გირჩევთ: