فهرست مطالب:
- مرحله 1: آماده سازی رزبری پای
- مرحله 2: راه اندازی NoCAN
- مرحله 3: سخت افزار UFire را کنار هم قرار دهید
- مرحله 4: سخت افزار NoCAN
- مرحله 5: گره CANZERO را برنامه ریزی کنید
- مرحله 6: چگونه همه اینها با هم گره می خورند؟
- مرحله 7: تنظیم Chronograf یا Grafana
- مرحله 8: برخی از پیشرفت ها
تصویری: ذخیره و نمودار EC/pH/ORP Data with TICK Stack and NoCAN Platform: 8 Step
2024 نویسنده: John Day | [email protected]. آخرین اصلاح شده: 2024-01-30 08:54
در این مقاله نحوه استفاده از پلت فرم 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 را در رزبری پای خود قرار دهید ، کمی صبر کنید و تایپ کنید:
شما باید در قسمت ورود به سیستم باشید. رمز آن تمشک است.
مرحله 2: راه اندازی NoCAN
Omzlo یک راهنمای کامل نصب را ارائه می دهد. اما من تصمیم گرفتم این کار را برای خودم آسان کنم و کمی در مورد اسکریپت نویسی باش یاد بگیرم. بنابراین رزبری پای خود را راه اندازی کنید و SSH یا ترمینال سریال را وارد آن کنید.
من آموختم که به همان اندازه زمان توسعه می تواند برای ایجاد یک اسکریپت Bash خوب به اندازه آنچه که در حال تلاش برای نصب آن هستید ، صرف شود. 1000 راه برای انجام کار وجود دارد که برخی از آنها ساده تر از دیگران است. در نهایت ، من واقعاً کار زیادی انجام ندادم. اگر اجرا می کنید:
wget https://ufire.co/nocan.sh && chmod +x nocan.sh && sudo./nocan.sh
در پایانه رزبری پای شما ، اسکریپت را بارگیری و اجرا می کند.
سپس آن:
- بارگیری Omzlo NoCAN را بارگیری می کند و برای دسترسی آسان در/usr/bin نصب می کند ، یک پوشه oc/.nocand ایجاد می کند و یک فایل پیکربندی بسیار اساسی با رمز عبور تنظیم شده روی 'password' می نویسد. احتمالاً باید آن را به چیز دیگری تغییر دهید ، این در ~/.nocand/config است.
- کلاینت Omzlo NoCAN را بارگیری می کند و آن را در /usr /bin کپی می کند و یک فایل پیکربندی اساسی با مجموعه رمز عبور مشابه ایجاد می کند. در ~/.nocanc.conf است.
- سرویس Systemd را تنظیم می کند که Daemon NoCAN را در حال اجرا نگه می دارد.
- یک فایل پایتون را در ~/.nocand ، nocan_ufire.py می نویسد. با سیستم عامل گره NoCAN صحبت می کند و اندازه گیری های EC ، pH و ORP را انجام می دهد ، نتایج را تجزیه و به پایگاه داده InfluxDB اضافه می کند.
- repo InfluxData را به apt اضافه می کند و پشته TICK را نصب می کند. و از آنجا که من آن را بر Chronograf ترجیح می دهم ، Grafana را نیز نصب می کند.
- یک پایگاه داده خالی 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 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 نیز آسان است. PiMaster را به Raspberry Pi متصل کرده و منبع تغذیه مناسب را برای آن پیدا کنید.
دستورالعمل های Omzlo در مورد ساخت کابل برای پروژه خود را دنبال کنید.
گره خود را مستقر کنید و جایی برای PiMaster پیدا کنید.
مرحله 5: گره CANZERO را برنامه ریزی کنید
یکی از نکات مهم در این راه اندازی این است که می توانید به گره ها حتی بعد از استقرار آنها دسترسی پیدا کنید. آنها از طریق سیم CAN برنامه ریزی شده اند ، بنابراین می توانید آنها را در هر زمان که بخواهید دوباره برنامه ریزی کنید.
برای این کار ، به Arduino IDE نصب شده ، PiMaster در شبکه خود و گره خود متصل به گذرگاه CAN نیاز دارید. همچنین به برنامه ای به نام nocanc نیاز دارید که روی رایانه توسعه خود نصب شده است. همه این موارد در صفحه نصب Omzlo توضیح داده شده است.
از GitHub دیدن کرده و کد را در یک طرح جدید Arduino IDE کپی کنید. برد را به Omzlo CANZERO تغییر دهید و گره را در منوی "Port" انتخاب کنید. سپس فقط روی بارگذاری مانند حالت عادی کلیک کنید. اگر همه چیز طبق برنامه پیش رفت ، باید یک گره برنامه ریزی شده برای انجام برخی اندازه گیری ها داشته باشید.
مرحله 6: چگونه همه اینها با هم گره می خورند؟
اکنون که همه نرم افزارها و سخت افزارها راه اندازی شده اند ، بیایید لحظه ای در مورد نحوه عملکرد همه آن صحبت کنیم. و مهارت های GIMP من را به نمایش بگذارید …
به طور خلاصه:
- گره CANZERO به PiMaster متصل شده و در جایی مستقر شده است
- هر دقیقه یک کار Cron در PiMaster اجرا می شود. این یک اسکریپت پایتون را اجرا می کند.
- اسکریپت پایتون یک فرمان به گره ارسال می کند که به آن می گوید اندازه گیری یا اقدام دیگری انجام دهد.
- گره دستور را اجرا کرده و نتیجه را با فرمت JSON برمی گرداند.
- اسکریپت پایتون آن نتیجه را دریافت می کند ، آن را تجزیه می کند و InfluxDB را با آن به روز می کند.
آخرین مرحله مشاهده جمع آوری داده ها در چند نمودار زیبا است.
مرحله 7: تنظیم Chronograf یا Grafana
آخرین کاری که باید انجام دهید این است که برخی نمودارها را در Chronograf یا Grafana تنظیم کنید.
شما باید منبع داده را تنظیم کنید. پیش فرض های InfluxDB خوب است. آدرس آن "https:// localhost: 8086" است و هیچ نام کاربری یا رمز عبور وجود ندارد.
هر دو از نظر مشابه در داشبوردهایی هستند که هر تعداد نمودار درون آنها وجود دارد. هر دو دارای یک منطقه کاوش هستند که به شما امکان می دهد اندازه ها را ببینید و به صورت تعاملی نمودار ایجاد کنید. به یاد داشته باشید نام پایگاه داده 'nocan' است و در چندین اندازه گیری با یک مقدار سازماندهی شده است.
همانطور که اشاره کردم ، Grafana را ترجیح می دهم زیرا قابل تنظیم تر از Chronograf است. این دستگاه همچنین سازگار با تلفن همراه است ، جایی که Chronograf نیست. نمودارها به راحتی جاسازی و به اشتراک گذاشته می شوند
مرحله 8: برخی از پیشرفت ها
- می توانید نام میزبان رزبری پای خود را برای دسترسی راحت تر به شبکه خود تنظیم کنید. می توانید این کار را در raspi-config انجام دهید. من خودم را به nocan تغییر دادم ، بنابراین می توانم برای دسترسی به آن به nocan.local بروم (در Android کار نمی کند).
- برای دسترسی به رزبری پای خود در خارج از شبکه می توانید برنامه ای مانند گرمک را نصب کنید.
- از یکی از روش هایی که Kapacitor برای ارائه اعلان ها ارائه می دهد ، استفاده کنید.
- البته سنسورهای بیشتری اضافه کنید.
توصیه شده:
NodeMCU Lua Cheap 6 $ Board with MicroPython Temperature and Humidity Logging، Wifi and Mobile Stats: 4 Step
NodeMCU Lua Cheap 6 $ Board with MicroPython Temperature and Humidity Logging، Wifi and Mobile Stats: این اساساً ایستگاه هواشناسی ابری است ، می توانید داده های تلفن خود را بررسی کنید یا از برخی تلفن ها به عنوان صفحه نمایش زنده استفاده کنید با دستگاه NodeMCU می توانید داده های دما و رطوبت را در خارج ثبت کنید ، در اتاق ، گلخانه ، آزمایشگاه ، اتاق خنک کننده یا هر مکان دیگری تکمیل شود
IoT Base Platform With RaspberryPi، WIZ850io: Platform Device Driver: 5 Step (with Pictures)
IoT Base Platform With RaspberryPi، WIZ850io: Platform Device Driver: من پلتفرم RaspberryPi را برای IoT می شناسم. اخیراً WIZ850io توسط WIZnet اعلام شده است. بنابراین من یک برنامه RaspberryPi را با اصلاح Ethernet SW پیاده سازی کردم زیرا می توانم به راحتی کد منبع را مدیریت کنم. می توانید درایور دستگاه پلت فرم را از طریق RaspberryPi آزمایش کنید
چگونه در iPhone خود ذخیره سازی ذخیره کنید: 13 مرحله
چگونه ذخیره سازی را در iPhone خود ذخیره کنیم: آیا iPhone شما کندتر از حد معمول کار می کند؟ شاید شما سعی کردید عکس بگیرید اما نتوانستید زیرا فضای ذخیره سازی شما پر بود. صرفه جویی در ذخیره سازی iPhone شما ممکن است بسیار زیاد به نظر برسد ، اما بسیار ساده ، سریع است و بسیاری از مشکلات iPhone شما را برطرف می کند
Realtime MPU-6050/A0 Logging Data with Arduino and Android: 7 Step (with Pictures)
Realtime MPU-6050/A0 ثبت اطلاعات با Arduino و Android: من علاقه مند به استفاده از Arduino برای یادگیری ماشین هستم. به عنوان اولین قدم ، من می خواهم یک نمایش داده و ثبت اطلاعات در زمان واقعی (یا تقریباً نزدیک به آن) با یک دستگاه Android ایجاد کنم. من می خواهم اطلاعات شتاب سنج را از MPU-6050 بگیرم ، بنابراین طراحی می کنم
چگونه می توان داده های دی وی دی رمزگذاری شده را در امنیت ذخیره کرد فایل های خود را ذخیره کنید .: 8 مرحله
چگونه می توان داده های دی وی دی رمزگذاری شده را در امنیت فایل های خود ذخیره کرد: به نظر من این یک روش بسیار آسان برای ایجاد دی وی دی رمزگذاری شده برای امنیت فایل های شما است. من از دسکتاپ PGP برای ایجاد ENCRYPTED VIRTUAL DRIVER (EVD) استفاده کردم. توجه: رومیزی PGP نیست یک نرم افزار رایگان که باید نرم افزار tech-piersrsr را خریداری کنید پس از نصب