اینترنت اشیا، پیوند ناگسستنی با داده ها دارد، به طوریکه به جد می توان گفت رکن اصلی و اساسی هر پروژه اینترنت اشیا، داده ها و ارزشی است که خلق می کنند. از طرفی دیگر، به منظور تحلیل و مقایسه پارامترهای مختلف، همواره نیاز بوده است تا داده ها به صورت نمودار ترسیم شوند. با ترسیم داده ها در قالب نمودارهای مختلف، می توان در یک نگاه، روند تغییرات پارامترهای مختلف را مورد بررسی قرار داد. به عنوان نمونه، یک دستگاه ثبت کننده دما در ساعات مختلف روز را در نظر بگیرید؛در یک شبانه روز، با فرض اینکه این دستگاه هر یک دقیقه یکبار به ثبت دما بپردازد، تعداد دماهای ثبت شده به ۱۴۴۰ مورد خواهد رسید. آنچه که مسلم است، تنها با ترسیم داده ها به صورت نمودار می توان به مقایسه و تحلیل آن ها پرداخت. در این آموزش، به نحوه ترسیم داده های دریافتی و یا ثبت شده در برد رزبری پای به کمک نرم افزار gnuplot خواهیم پرداخت. نرم افزار gnuplot، یکی از ابزارهای پرکاربرد در سیستم عامل لینوکس برای ترسیم نمودار از روی داده ها بوده و یکی از قابلیت های بسیار کاربردی این نرم افزار، ترسیم داده ها از روی فایل است. در ادامه با مرجع تخصصی آردوینو به زیان فارسی دیجی اسپارک همراه باشید.
مراحل نصب نرم افزار gnuplot
برای دانلود و نصب این نرم افزار، در ترمینال لینوکس، عبارت زیر را وارد نمایید. همانطور که اطلاع دارید، به کمک دستور زیر، سیستم عامل به طور خودکار در مخازن لینوکس به جستجوی نرم افزار پرداخته و با یافتن آن، ابتدا آن را دانلود و سپس نصب می نماید.
1 |
sudo apt-get install gnuplot |
ترسیم نمودار در نرم افزار GNUPLOT
به کمک نرم افزار GNUPLOT می توان نمودارهای متفاوتی ترسیم نمود. این نرم افزار، طیف وسیعی از نمودارها نظیر نمودارهای آماری و ریاضی را می تواند ترسیم نماید. برای ترسیم نمودار، ابتدا با دستور زیر می بایست وارد محیط نرم افزار شوید.
1 |
gnuplot |
در اینجا فرض کنید میخوایم یک نمودار ریاضی، به عنوان مثال یک نمودار سینوسی، ترسیم نماییم. همانطور که اطلاع دارید، نمودار سینوسی تحت رابطه (y=sin(x ترسیم می گردد، بنابراین، در محیط gnuplot عبارت زیر را تایپ نمایید:
1 |
plot [-10:10] sin(x) |
همچنین، این نمودار این توانایی را دارد تا نمودارهای سه بعدی نیز، ترسیم نماید، برای ترسیم نمودار در حالت سه بعدی، به جای دستور plot، از دستور splot استفاده می شود. به عنوان مثال، به کمک دستور زیر، می خواهیم حاصلضرب تابع سینوس در کسینوس را به صورت سه بعدی، ترسیم نماییم.
1 |
splot [x=-3:3] [y=-3:3] sin(x) * cos(y) |
ترسیم نمودار از روی فایل
همانطور که در بخش پیشین مشاهده کردید، برای ترسیم نمودار، می بایست از دستور plot استفاده نمایید. از طرفی دیگر، این نرم افزار قابلیت ترسیم نمودار از روی فایل را داراست. در اینجا، ما فایلی با دو ستون داده داریم که در آن عددهای مختلفی ذخیره کرده ایم. همچنین، هر ستون، با فاصله یک space، از ستون دیگر جدا شده است. برای ترسیم نمودار از روی داده ها، از دستور زیر استفاده می نماییم.
1 |
plot 'data.txt' using 1:2 with lines |
در دستور فوق، پس از عبارت plot، آدرس کامل فایل قرار می گیرد، از آنجاییکه فایل مورد نظر در مسیر نصب نرم افزار قرار دارد، کافیست تنها نام آن را درج نماییم. در ادامه، به کمک کلمه کلیدی using، ستون هایی که قرار است ترسیم شوند را انتخاب می نماییم. پس از انتخاب ستون ها، به کمک عبارت with lines، نقاط قرار گرفته در صفحه را به کمک خط و یا منحنی(بسته به وضعیت داده ها) به یکدیگر متصل می نماییم. به عبارت دیگر، نرم افزار، هر داده(سطر و ستون) را به صورت یک نقطه در صفحه قرار می دهد که این نقاط به کمک دستور with lines، به یکدیگر متصل می گردند.
نرم افزار gnuplot قابلیت های بی شماری در ترسیم داده ها دارد، این نرم افزار قادر است تا نمودارهای سه بعدی، نمودارهای آماری نظیر نمودار میله ای و حتی رویه های ریاضی را ترسیم نماید. اما در کنار این موضوع، مهم ترین قابلیت این نرم افزار ترسیم داده از روی فایل است، چراکه در اکثر پروژه های اینترنت اشیا، با داده هایی نظیر دما، رطوبت، فشار و…. سروکار داریم که با ترسیم نمودار از روی داده ها، می توانیم به تحلیل و مقایسه آن ها بپردازیم.
چنانچه در مراحل راه اندازی و انجام این پروژه با مشکل مواجه شدید، بدون هیچ نگرانی در انتهای همین پست، به صورت ثبت نظر سوالتان را مطرح کنید. من در سریعترین زمان ممکن پاسخ رفع مشکل شما را خواهم داد. همچنین اگر ایرادی در کدها و یا مراحل اجرایی وجود دارند میتوانید از همین طریق اطلاع رسانی کنید.