فهرست مطالب:

ذخیره و نمودار EC/pH/ORP Data with TICK Stack and NoCAN Platform: 8 Step
ذخیره و نمودار EC/pH/ORP Data with TICK Stack and NoCAN Platform: 8 Step

تصویری: ذخیره و نمودار EC/pH/ORP Data with TICK Stack and NoCAN Platform: 8 Step

تصویری: ذخیره و نمودار EC/pH/ORP Data with TICK Stack and NoCAN Platform: 8 Step
تصویری: SQL 2024, نوامبر
Anonim
ذخیره و نمودار EC/pH/ORP Data با TICK Stack و NoCAN Platform را ذخیره کنید
ذخیره و نمودار EC/pH/ORP Data با TICK Stack و NoCAN Platform را ذخیره کنید

در این مقاله نحوه استفاده از پلت فرم NoCAN توسط سنسورهای Omzlo و uFire برای اندازه گیری EC ، pH و ORP مورد بررسی قرار می گیرد. همانطور که وب سایت آنها می گوید ، گاهی اوقات ساده تر است که فقط کابل را به گره های حسگر خود منتقل کنید. CAN مزیت ارتباط و قدرت را در یک کابل دارد بنابراین سیگنال و باتری مشکلی ندارند. سیستم عامل گره ها می تواند ساده تر باشد. به عنوان مثال ، مزاحم حالت های خواب یا تنظیم WiFi نیستید. پلتفرم NoCAN همچنین دارای ویژگی های فوق العاده ای مانند برنامه نویسی گره ها در گذرگاه CAN است.

پلتفرم NoCAN از رزبری پای استفاده می کند ، بنابراین هر کاری که بتواند انجام دهد در دسترس خواهد بود. ما قصد داریم با نصب پشته TICK از آن استفاده کنیم. این به ما امکان می دهد از InfluxDB برای ذخیره اندازه گیری ها استفاده کنیم. این پایگاه داده زمانی است که برای چنین مواردی ساخته شده است. همچنین Chronograf برای ایجاد داشبورد و نمایش تمام این داده هایی که قرار است از آنها استفاده کنیم ارائه می شود. T و K مخفف Telegraf و Kapacitor هستند. تلگراف بین داده هایی که ارسال می کنید و پایگاه داده Influx قرار دارد. Kapacitor موتور رویداد است. وقتی اتفاقی می افتد ، می تواند اعلانی را از طریق روش های مختلف برای شما ارسال کند. و فقط به دلیل اینکه آن را بهتر از Chronograf دوست دارم ، Grafana را برای داشبوردها نصب می کنم.

مرحله 1: آماده سازی رزبری پای

به صفحه Rasbian Download بروید و تصویر را با دسکتاپ و نرم افزار توصیه شده بارگیری کنید ، سپس آن را روی کارت SD فلش کنید.

بعد از اینکه تصویر روی کارت SD شما قرار گرفت ، باید دو جلد ، root و boot داشته باشید. یک ترمینال را در boot باز کنید و تایپ کنید:

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 را فعال کنید:

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

کارت SD را در رزبری پای خود قرار دهید ، کمی صبر کنید و تایپ کنید:

ssh [email protected]

شما باید در قسمت ورود به سیستم باشید. رمز آن تمشک است.

مرحله 2: راه اندازی NoCAN

Omzlo یک راهنمای کامل نصب را ارائه می دهد. اما من تصمیم گرفتم این کار را برای خودم آسان کنم و کمی در مورد اسکریپت نویسی باش یاد بگیرم. بنابراین رزبری پای خود را راه اندازی کنید و SSH یا ترمینال سریال را وارد آن کنید.

من آموختم که به همان اندازه زمان توسعه می تواند برای ایجاد یک اسکریپت Bash خوب به اندازه آنچه که در حال تلاش برای نصب آن هستید ، صرف شود. 1000 راه برای انجام کار وجود دارد که برخی از آنها ساده تر از دیگران است. در نهایت ، من واقعاً کار زیادی انجام ندادم. اگر اجرا می کنید:

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

در پایانه رزبری پای شما ، اسکریپت را بارگیری و اجرا می کند.

سپس آن:

  1. بارگیری Omzlo NoCAN را بارگیری می کند و برای دسترسی آسان در/usr/bin نصب می کند ، یک پوشه oc/.nocand ایجاد می کند و یک فایل پیکربندی بسیار اساسی با رمز عبور تنظیم شده روی 'password' می نویسد. احتمالاً باید آن را به چیز دیگری تغییر دهید ، این در ~/.nocand/config است.
  2. کلاینت Omzlo NoCAN را بارگیری می کند و آن را در /usr /bin کپی می کند و یک فایل پیکربندی اساسی با مجموعه رمز عبور مشابه ایجاد می کند. در ~/.nocanc.conf است.
  3. سرویس Systemd را تنظیم می کند که Daemon NoCAN را در حال اجرا نگه می دارد.
  4. یک فایل پایتون را در ~/.nocand ، nocan_ufire.py می نویسد. با سیستم عامل گره NoCAN صحبت می کند و اندازه گیری های EC ، pH و ORP را انجام می دهد ، نتایج را تجزیه و به پایگاه داده InfluxDB اضافه می کند.
  5. repo InfluxData را به apt اضافه می کند و پشته TICK را نصب می کند. و از آنجا که من آن را بر Chronograf ترجیح می دهم ، Grafana را نیز نصب می کند.
  6. یک پایگاه داده خالی Influx ایجاد می کند

برخی از خریدهایی که ممکن است به آنها برخورد کنید:

  • ممکن است زبان محلی شما راه اندازی نشده باشد ، بنابراین dpkg-configigure locale ها را اجرا کنید
  • ممکن است نصب Grafana متوقف شود ، بنابراین فقط دوباره امتحان کنید.
  • ممکن است شیطان ورودی به موقع شروع نشود تا اسکریپت پایگاه داده را تایپ کند

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

  • این اسکریپت فقط به عنوان کاربر پیش فرض pi کار می کند. در صورت لزوم اگر کاربر دیگری هستید ، باید pi را به نام کاربری خود تغییر دهید.

آخرین مورد این است که یک cron job اضافه کنید. من نتوانستم روش بسیار خوبی برای نوشتن این روش پیدا کنم ، بنابراین "crontab -e" را برای ویرایش دستی تایپ کنید و " * * * * * python /home/pi/.nocand/nocan_ufire.py" را اضافه کنید.

پس از اتمام کار ، می توانید تأیید کنید که همه چیز به درستی تنظیم شده و در حال اجرا است. گرافانا در https:// [آدرس تمشک پای]: 3000/زندگی می کند. شما باید یک صفحه ورود مشاهده کنید ، admin/admin به طور پیش فرض است.

کرونوگراف را می توانید در https:// [آدرس رزبری پای]: 8888/پیدا کنید.

مرحله 3: سخت افزار UFire را کنار هم قرار دهید

کنار هم قرار دادن سخت افزار UFire
کنار هم قرار دادن سخت افزار UFire

قبل از اینکه بتوانیم سخت افزار را مونتاژ کنیم ، باید به یک نکته توجه کرد. از برد uFire ISE می توان برای اندازه گیری pH و ORP استفاده کرد. سخت افزار یکسان است ، اما نرم افزار متفاوت است. از آنجا که سخت افزار یکسان است ، به این معنی است که آدرس I2C به طور پیش فرض نیز یکسان است. و سنسورها از طریق I2C ارتباط برقرار می کنند بنابراین یکی باید تغییر کند. برای این پروژه ، ما قصد داریم یکی از بردهای ISE را انتخاب کرده و از آن برای اندازه گیری ORP استفاده کنیم. در ادامه مراحل اینجا ، آدرس را به 0x3e تغییر دهید.

اکنون که آدرس تغییر کرده است ، کنار هم قرار دادن سخت افزار آسان است. این تنظیم بر اساس کارهای قبلی است که اساساً یک کار را انجام می دهند ، اما از BLE به جای CAN برای انتقال داده استفاده می کنند. می توانید در مورد Arduino Project Hub بخوانید. همه دستگاه های حسگر از سیستم اتصال Qwiic استفاده می کنند ، بنابراین فقط همه چیز را به صورت زنجیره ای به هم وصل کنید ، فقط یک راه برای قرار دادن سیم Qwiic به Qwiic وجود دارد. برای اتصال یکی از سنسورها به گره CANZERO به یک سیم Qwiic به Male نیاز دارید. سیم ها ثابت و رنگی هستند. سیاه را به GND گره ، قرمز را به پین +3.3V یا +5V ، آبی را به پین SDA که D11 است و زرد را به پین SCL در D12 وصل کنید.

برای این پروژه ، انتظار می رود که اطلاعات دما از سنسور EC دریافت شود ، بنابراین مطمئن شوید که یک سنسور دما را به برد EC وصل کنید. همه تخته ها توانایی اندازه گیری دما را دارند. فراموش نکنید که پروب های EC ، pH و ORP را به سنسورهای مناسب وصل کنید. آنها به راحتی با اتصالات BNC متصل می شوند. اگر محوطه ای دارید ، قرار دادن همه اینها در داخل ایده خوبی خواهد بود ، به ویژه با توجه به اینکه آب در این مورد دخیل است.

مرحله 4: سخت افزار NoCAN

سخت افزار NoCAN
سخت افزار NoCAN

مونتاژ سخت افزار NoCAN نیز آسان است. PiMaster را به Raspberry Pi متصل کرده و منبع تغذیه مناسب را برای آن پیدا کنید.

دستورالعمل های Omzlo در مورد ساخت کابل برای پروژه خود را دنبال کنید.

گره خود را مستقر کنید و جایی برای PiMaster پیدا کنید.

مرحله 5: گره CANZERO را برنامه ریزی کنید

گره CANZERO را برنامه ریزی کنید
گره CANZERO را برنامه ریزی کنید

یکی از نکات مهم در این راه اندازی این است که می توانید به گره ها حتی بعد از استقرار آنها دسترسی پیدا کنید. آنها از طریق سیم CAN برنامه ریزی شده اند ، بنابراین می توانید آنها را در هر زمان که بخواهید دوباره برنامه ریزی کنید.

برای این کار ، به Arduino IDE نصب شده ، PiMaster در شبکه خود و گره خود متصل به گذرگاه CAN نیاز دارید. همچنین به برنامه ای به نام nocanc نیاز دارید که روی رایانه توسعه خود نصب شده است. همه این موارد در صفحه نصب Omzlo توضیح داده شده است.

از GitHub دیدن کرده و کد را در یک طرح جدید Arduino IDE کپی کنید. برد را به Omzlo CANZERO تغییر دهید و گره را در منوی "Port" انتخاب کنید. سپس فقط روی بارگذاری مانند حالت عادی کلیک کنید. اگر همه چیز طبق برنامه پیش رفت ، باید یک گره برنامه ریزی شده برای انجام برخی اندازه گیری ها داشته باشید.

مرحله 6: چگونه همه اینها با هم گره می خورند؟

این همه چگونه با هم گره می خورند؟
این همه چگونه با هم گره می خورند؟

اکنون که همه نرم افزارها و سخت افزارها راه اندازی شده اند ، بیایید لحظه ای در مورد نحوه عملکرد همه آن صحبت کنیم. و مهارت های GIMP من را به نمایش بگذارید …

به طور خلاصه:

  1. گره CANZERO به PiMaster متصل شده و در جایی مستقر شده است
  2. هر دقیقه یک کار Cron در PiMaster اجرا می شود. این یک اسکریپت پایتون را اجرا می کند.
  3. اسکریپت پایتون یک فرمان به گره ارسال می کند که به آن می گوید اندازه گیری یا اقدام دیگری انجام دهد.
  4. گره دستور را اجرا کرده و نتیجه را با فرمت JSON برمی گرداند.
  5. اسکریپت پایتون آن نتیجه را دریافت می کند ، آن را تجزیه می کند و InfluxDB را با آن به روز می کند.

آخرین مرحله مشاهده جمع آوری داده ها در چند نمودار زیبا است.

مرحله 7: تنظیم Chronograf یا Grafana

تنظیم Chronograf یا Grafana
تنظیم Chronograf یا Grafana

آخرین کاری که باید انجام دهید این است که برخی نمودارها را در Chronograf یا Grafana تنظیم کنید.

شما باید منبع داده را تنظیم کنید. پیش فرض های InfluxDB خوب است. آدرس آن "https:// localhost: 8086" است و هیچ نام کاربری یا رمز عبور وجود ندارد.

هر دو از نظر مشابه در داشبوردهایی هستند که هر تعداد نمودار درون آنها وجود دارد. هر دو دارای یک منطقه کاوش هستند که به شما امکان می دهد اندازه ها را ببینید و به صورت تعاملی نمودار ایجاد کنید. به یاد داشته باشید نام پایگاه داده 'nocan' است و در چندین اندازه گیری با یک مقدار سازماندهی شده است.

همانطور که اشاره کردم ، Grafana را ترجیح می دهم زیرا قابل تنظیم تر از Chronograf است. این دستگاه همچنین سازگار با تلفن همراه است ، جایی که Chronograf نیست. نمودارها به راحتی جاسازی و به اشتراک گذاشته می شوند

مرحله 8: برخی از پیشرفت ها

  • می توانید نام میزبان رزبری پای خود را برای دسترسی راحت تر به شبکه خود تنظیم کنید. می توانید این کار را در raspi-config انجام دهید. من خودم را به nocan تغییر دادم ، بنابراین می توانم برای دسترسی به آن به nocan.local بروم (در Android کار نمی کند).
  • برای دسترسی به رزبری پای خود در خارج از شبکه می توانید برنامه ای مانند گرمک را نصب کنید.
  • از یکی از روش هایی که Kapacitor برای ارائه اعلان ها ارائه می دهد ، استفاده کنید.
  • البته سنسورهای بیشتری اضافه کنید.

توصیه شده: