Mundarija:

TICK Stack va NoCAN platformasida EC/pH/ORP ma'lumotlarini saqlash va grafik: 8 qadam
TICK Stack va NoCAN platformasida EC/pH/ORP ma'lumotlarini saqlash va grafik: 8 qadam

Video: TICK Stack va NoCAN platformasida EC/pH/ORP ma'lumotlarini saqlash va grafik: 8 qadam

Video: TICK Stack va NoCAN platformasida EC/pH/ORP ma'lumotlarini saqlash va grafik: 8 qadam
Video: If you hit me ima hit back ๐Ÿ˜‚๐Ÿ’• 2024, Dekabr
Anonim
TICK Stack va NoCAN platformasi yordamida EC/pH/ORP ma'lumotlarini saqlang va grafik qiling
TICK Stack va NoCAN platformasi yordamida EC/pH/ORP ma'lumotlarini saqlang va grafik qiling

Bu EC, pH va ORP ni o'lchash uchun Omzlo va uFire sensorlaridagi NoCAN platformasidan qanday foydalanishni ko'rib chiqadi. Ularning veb -saytida aytilganidek, ba'zida sensorli tugunlarga kabel ulash osonroq bo'ladi. CAN aloqa va quvvat afzalliklariga ega, shuning uchun signal va batareya muammo emas. Tugunlarning dasturiy ta'minoti sodda bo'lishi mumkin; masalan, uyqu rejimlari yoki Wi -Fi sozlamalari bilan bezovta qilmaydi. NoCAN platformasi, shuningdek, CAN avtobusidagi tugunlarni dasturlash kabi ajoyib xususiyatlarga ega.

NoCAN platformasi Raspberry Pi -dan foydalanadi, shuning uchun hamma narsa mumkin bo'ladi. Biz bundan TICK to'plamini o'rnatish orqali foydalanamiz. Bu bizga o'lchovlarni saqlash uchun InfluxDB -dan foydalanishga imkon beradi. Bu shunday narsalar uchun maxsus ishlab chiqarilgan ma'lumotlar bazasi. Shuningdek, u Chronograf bilan birga boshqaruv panellarini yaratish va biz qabul qilmoqchi bo'lgan barcha ma'lumotlarni ko'rsatish uchun keladi. T va K - Telegraf va Kapasitorni anglatadi. Telegraf siz yuborayotgan ma'lumotlar va Influx ma'lumotlar bazasi o'rtasida joylashgan. Kapacitor - voqea dvigateli. Agar biror narsa yuz bersa, u sizga turli usullar orqali bildirishnoma yuborishi mumkin. Va menga Chronografdan ko'ra ko'proq yoqqanligi uchun men asboblar paneli uchun Grafanani o'rnataman.

1 -qadam: Raspberry Pi -ni tayyorlash

Rasbian -ni yuklab olish sahifasiga o'ting va tasvirni ish stoli va tavsiya etilgan dasturiy ta'minot bilan yuklab oling, so'ng uni SD -kartaga joylashtiring.

Rasm SD kartangizda bo'lgandan so'ng, sizda ikkita jild, ildiz va yuklash bo'lishi kerak. Yuklash terminalini oching va yozing:

ssh ga teging

Bu SSH -ni ishga tushiradi.

Keyin yozing:

nano wpa_supplicant.conf

O'zingizning tumaningiz va Wi -Fi sozlamalari uchun o'zgartirgandan so'ng, quyidagilarni nusxa ko'chiring/joylashtiring:

mamlakat = AQSh

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

Mamlakat kodlari shu erdan keladi.

SPIni yoqish:

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

SD -kartani Raspberry Pi -ga qo'ying, biroz kuting va yozing:

ssh [email protected]

Siz kirish so'rovida bo'lishingiz kerak. Parol malina.

2 -qadam: NoCAN -ni sozlash

Omzlo o'rnatish bo'yicha batafsil ko'rsatma beradi. Lekin men o'zimni osonlashtirishga qaror qildim va Bash skriptlari haqida bir oz ma'lumotga ega bo'ldim. Shunday qilib, Raspberry Pi -ni ishga tushiring va unga SSH yoki ketma -ket terminal kiriting.

Men yaxshi Bash skriptini yaratish uchun qancha vaqt kerak bo'lsa, shuni o'rnatishni xohlayotganingizni bildim. Biror ishni bajarishning 1000 yo'li bor, boshqalarini tushunish yoki bajarish osonroq. Oxir -oqibat, men ko'p ish qilmadim. Agar siz bajarayotgan bo'lsangiz:

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

Sizning Raspberry Pi terminalida u skriptni yuklab oladi va bajaradi.

Keyin u:

  1. Omzlo NoCAN demonini yuklab oladi va uni oson kirish uchun/usr/bin -ga o'rnatadi, ~/.nocand papkasini yaratadi va "parol" ga o'rnatilgan parol bilan juda oddiy konfiguratsiya faylini yozadi. Ehtimol, uni boshqa narsaga o'zgartirishingiz kerak, u ~/.nocand/config da.
  2. Omzlo NoCAN mijozini yuklaydi va uni /usr /bin -ga ko'chiradi va bir xil parol o'rnatilgan asosiy konfiguratsiya faylini yaratadi. Bu ~/.nocanc.conf da.
  3. NoCAN demonining ishlashini ta'minlaydigan Systemd xizmatini o'rnatadi.
  4. Python faylini ~/.nocand, nocan_ufire.py ga yozadi. U NoCAN tugunining dasturiy ta'minoti bilan gaplashadi va EC, pH va ORP o'lchovlarini oladi, natijalarni tahlil qiladi va ularni InfluxDB ma'lumotlar bazasiga qo'shadi.
  5. Apt ga InfluxData repo -ni qo'shadi va TICK to'plamini o'rnatadi. Va men uni Chronografdan afzal ko'rganim uchun, u Grafanani ham o'rnatadi.
  6. Influx bo'sh ma'lumotlar bazasini yaratadi

Siz duch keladigan ba'zi qiyinchiliklar:

  • Sizning tilingiz sozlanmagan bo'lishi mumkin, shuning uchun dpkg-qayta sozlang
  • Grafana o'rnatilishi to'xtab qolishi mumkin, qaytadan urining.
  • Ma'lumotlar bazasini skriptga qo'shish uchun oqim demoni o'z vaqtida boshlanmasligi mumkin

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

  • Bu skript faqat standart pi foydalanuvchisi sifatida ishlaydi. Agar siz boshqa foydalanuvchi ostida bo'lsangiz, pi -ni foydalanuvchi nomingizga o'zgartirishingiz kerak bo'ladi.

Oxirgi narsa - cron ishini qo'shish. Men buni skript qilishning juda yaxshi usulini topa olmadim, shuning uchun qo'lda tahrir qilish uchun 'crontab -e' yozing va ' * * * * * python /home/pi/.nocand/nocan_ufire.py' qo'shing.

Hammasi tugagach, hamma narsa sozlangan va ishlayotganini tekshirishingiz mumkin. Grafana https:// [Raspberry Pi manzili]: 3000/da yashaydi. Kirish sahifasini ko'rishingiz kerak, standart sifatida admin/admin bo'ladi.

Chronografni https:// [Raspberry Pi manzili]: 8888/manzilida topish mumkin.

3 -qadam: UFire uskunasini birlashtirish

UFire uskunasini birlashtirish
UFire uskunasini birlashtirish

Uskunani yig'ishdan oldin, biz bir narsani hal qilishimiz kerak. UFire ISE kartasi pH va ORP ni o'lchash uchun ishlatilishi mumkin. Uskuna bir xil, lekin dasturiy ta'minot boshqacha. Uskuna bir xil bo'lgani uchun, demak, I2C manzili ham sukut bo'yicha bir xil bo'ladi. Sensorlar I2C orqali aloqa o'rnatadi, shuning uchun uni o'zgartirish kerak bo'ladi. Ushbu loyiha uchun biz ISE platalaridan birini tanlaymiz va undan ORPni o'lchash uchun foydalanamiz. Bu erdagi amallarni bajarib, manzilni 0x3e ga o'zgartiring.

Endi manzil o'zgarganda, uskunani birlashtirish oson. Ushbu sozlash asosan xuddi shu narsani bajaradigan oldingi ishlarga asoslangan, lekin ma'lumotlarni uzatish uchun CAN emas, balki BLEdan foydalaniladi. Siz bu haqda Arduino Project Hub -da o'qishingiz mumkin. Barcha sensorli qurilmalar Qwiic ulanish tizimidan foydalanadi, shuning uchun hamma narsani zanjirda ulang, Qwiic -ni Qwiic -ga ulashning yagona usuli bor. Sensorlardan birini CANZERO tuguniga ulash uchun sizga bitta Qwiic to Erkak sim kerak bo'ladi. Simlar izchil va rangli kodlangan. Qora rangni tugunning GND ga, qizilni +3.3V yoki +5V piniga, ko'kni D11 bo'lgan SDA piniga va sariqni D12 dagi SCL piniga ulang.

Ushbu loyiha uchun harorat sensori EC sensoridan kelishini kutadi, shuning uchun EC kartasiga harorat sensori biriktirilganligiga ishonch hosil qiling. Biroq, barcha taxtalar haroratni o'lchash qobiliyatiga ega. EC, pH va ORP problarini tegishli sensorlarga ulashni unutmang. Ular BNC ulagichlari bilan osongina biriktiriladi. Agar sizda korpus bo'lsa, bularning barchasini ichkariga qo'yish yaxshi bo'lardi, ayniqsa suv aralashishini hisobga olsak.

4 -qadam: NoCAN apparati

NoCAN apparati
NoCAN apparati

NoCAN uskunasini yig'ish ham oson. PiMaster -ni Raspberry Pi -ga ulang va unga mos keladigan quvvat manbasini toping.

Loyihangiz uchun kabellarni tayyorlash bo'yicha Omzlo ko'rsatmalariga amal qiling.

Tuguningizni joylashtiring va PiMaster uchun joy toping.

5 -qadam: CANZERO tugunini dasturlash

CANZERO tugunini dasturlash
CANZERO tugunini dasturlash

Ushbu sozlashning ajoyib jihatlaridan biri shundaki, siz tugunlarga joylashtirilgandan keyin ham kirishingiz mumkin. Ular CAN simlari orqali dasturlashtirilgan, shuning uchun ularni xohlagan vaqtda qayta dasturlash mumkin.

Buning uchun sizga Arduino IDE, tarmoqdagi PiMaster va CAN avtobusiga ulangan tugun kerak bo'ladi. Bundan tashqari, ishlab chiqish kompyuteringizga nocanc deb nomlangan dastur kerak bo'ladi. Bularning barchasi Omzlo -ning o'rnatish sahifasida tasvirlangan.

GitHub -ga tashrif buyuring va kodni yangi Arduino IDE eskiziga nusxalash. Kengashni Omzlo CANZERO -ga o'zgartiring va "Port" menyusidagi tugunni tanlang. Keyin odatdagidek yuklashni bosing. Agar hamma narsa rejaga muvofiq bo'lsa, sizda o'lchovlarni bajarishga tayyor dasturlashtirilgan tugun bo'lishi kerak.

6 -qadam: Bularning barchasi qanday bog'liq?

Bularning barchasi qanday bog'liq?
Bularning barchasi qanday bog'liq?

Endi barcha dasturiy ta'minot va uskunalar o'rnatilgandan so'ng, keling, bularning barchasi qanday ishlashi haqida gapiraylik va GIMP ko'nikmalarimni namoyish etaman.

Qisqa bayoni; yakunida:

  1. CANZERO tuguni PiMaster -ga ulangan va biror joyga joylashtirilgan
  2. PiMaster -da har daqiqada Cron ishi bajariladi. Bu python skriptini bajaradi.
  3. Python skripti tugunga buyruq yuboradi, uni o'lchash yoki boshqa harakat qilish kerak.
  4. Tugun buyruqni bajaradi va natijani JSON formatida qaytaradi.
  5. Python skripti bu natijani oladi, uni tahlil qiladi va u bilan InfluxDB -ni yangilaydi.

Oxirgi qadam - bu ma'lumotlarning chiroyli jadvallarda to'planishini kuzatish.

7 -qadam: Chronograf yoki Grafanani sozlash

Chronograf yoki Grafanani sozlash
Chronograf yoki Grafanani sozlash

Oxirgi narsa - Chronograf yoki Grafanada ba'zi jadvallarni o'rnatish.

Ma'lumot manbasini sozlashingiz kerak bo'ladi. InfluxDB uchun standart sozlamalar yaxshi. Uning manzili "https:// localhost: 8086" va foydalanuvchi nomi yoki parol yo'q.

Ularning ikkalasi ham shunga o'xshash, chunki ular jadvallar soniga ega bo'lgan boshqaruv paneliga joylashtirilgan. Har ikkalasida ham o'lchovlarni ko'rish va interaktiv ravishda grafiklar tuzish imkonini beruvchi Tadqiqot maydoni mavjud. Ma'lumotlar bazasi nomi "nocan" ekanligini va bitta qiymat bilan bir nechta o'lchovlarga bo'linganligini unutmang.

Aytganimdek, men Grafanani afzal ko'raman, chunki u Chronografga qaraganda ancha sozlangan. Bu, shuningdek, Chronograf bo'lmagan mobil aloqada. Diagrammalar osongina joylashtiriladi va almashiladi

8 -qadam: Ba'zi yaxshilanishlar

  • Tarmoqqa kirishni osonlashtirish uchun siz Raspberry Pi -ning xost nomini o'rnatishingiz mumkin. Buni raspi-config-da qilishingiz mumkin. Men o'zimni nocanga o'zgartirdim, shuning uchun unga kirish uchun nocan.local saytiga kira oldim (Androidda ishlamaydi).
  • Raspberry Pi -ga tarmoqdan tashqarida kirish uchun ngrok kabi dasturni o'rnatishingiz mumkin.
  • Xabarnomalarni taqdim etish uchun Kapacitor taqdim etadigan usullardan birini qo'llang.
  • Albatta, ko'proq sensorlar qo'shing.

Tavsiya: