ساخت دستگاه حضور و غیاب IoT با سنسور اثر انگشت و آردوینو

مقدمه

با توجه به گسترش روز افزون استفاده از سیستم های IoT، یادگیری نحوه عملکرد و ساخت دستگاه های IoT امری ضروری است. در این آموزش قصد داریم یک دستگاه حضور و غیاب با اثر انگشت به کمک آردوینو بسازیم که علاوه بر ذخیره اطلاعات ورود، خروج و جمع ساعات در کارت حافظه، این اطلاعات را به محض اتصال به اینترنت در پلتفورم Thingspeak آپلود می کند  و می توانید این اطلاعات را با فرمت های مختلف از جمله CSV از این پنل دانلود کنید.

آنچه در این آموزش یاد می گیرید

  • آشنایی با محیط داده ابری Thingspeak
  • ذخیره آنلاین دیتا در Thingspeak با استفاده از Nodemcu
  • ساخت یک دستگاه حضور و غیاب IoT با سنسور اثر انگشت و آردوینو

Thingspeak چیست؟

Iot (Internet of things) پلتفورمی است که در آن تعدادی قطعات (things) به اینترنت متصل هستند که با افراد و قطعات دیگر تعامل دارند و معمولا داده هایی را برای تحلیل در فضای ابری قرار می دهند.

Thingspeak یک پلتفورم IoT می باشد که به شما اجازه می دهد داده های زنده را در فضای ابری نمایش داده و نیز جمع آوری و تحلیل کنید.

برقراری ارتباط با Thingspeak و آپلود داده

برای شروع برقراری ارتباط با Thingspeak مراحل زیر را دنبال کنید:

گام اول) وارد سایت thingspeak.com شوید و یک اکانت بسازید.

گام دوم) پس از فعالسازی اکانت خود وارد آن شوید و در قسمت My Channel روی New Channel کلیک کنید.

گام سوم) در پنجره جدید باز شده برای پنل خود نام و درصورت نیاز توضیح بنویسید، سپس تعداد فیلدهایی که به آن نیاز دارید را با اختصاص نام تعیین کنید. باقی قسمت ها دلخواه می باشد. پس از تکمیل اطلاعات پنل را ذخیره کنید.

گام چهارم) حال که وارد پنل شدید به بخش API Keys بروید.

گام پنجم) برای ارسال داده به Channel ID و  Write API Key نیاز دارید، آنها را یادداشت کنید.

گام ششم) برای راحتی کار با پلتفروم Thingspeak برای آن کتابخانه موجود است آنرا دانلود کرده و به Arduino IDE اضافه کنید.

لینک دانلود کتابخانه Thingspeak

گام هفتم) Arduino IDE را باز کنید. از قسمت مثال ها WriteMultipleFields را باز کرده و  SSID، Password، Channel ID و Write API Key را وراد کنید.


پس از آپلود کردن کد، مشاهده می کنید که مقادیر عددی تصادفی در فیلدهای 1 تا 4 پنل شما آپلود شده است. از ساختار همین کد در ساخت دستگاه حضور و غیاب برای آپلود کردن داده ها استفاده شده است.

توجه

بین هر بار آپلود کردن داده روی پنل Thingspeak حداقل 15 ثانیه زمان لازم است.

ساخت دستگاه حضور و غیاب IoT با سنسور اثر انگشت و آردوینو

در این سیستم پس از ثبت ورود و خروج شخص توسط اثر انگشت وی، تاریخ، نام، ساعت ورود، ساعت خروج و تایم کاری شخص ابتدا روی SD کارت ذخیره می شود سپس این اطلاعات در ساعاتی که شما تعیین می کنید برای آپلود به Thingspeak فرستاده می شود. درصورت عدم اتصال به اینترنت، داده های آپلود نشده ذخیره می گردند و به محض اتصال به اینترنت برای آپلود به Thingspeak فرستاده می شوند. با توجه به ثبت اطلاعات ورود و خروج هر شخص در EEPROM میکروکنترلر، درصورت قطع برق این اطلاعات از دست نمی رود.

لوازمی که به آن احتیاج دارید

قطعات مورد نیاز

آردوینو مگا 2560 - R3 × 1
سنسور اثر انگشت R301T × 1
ماژول مموری ریدر میکرو SD - Micro SD/TF × 1
ماژول DS3231 I2C RTC × 1
شیلد نمایشگر 3.5 اینچی × 1
برد NodeMCU ESP8266 ESP-12E × 1
بازر الکترومغناطیسی × 1
سیم جامپر نری به مادگی × 1

نرم افزار های مورد نیاز

Arduino IDE

سیم بندی

پس از اتصال تمامی ماژول ها شیلد LCD را روی آردوینو قرار دهید.

توجه

به دلیل آنکه شیلد LCD قسمتی از پایه های آردوینو را می پوشاند در صورت نیاز به آن پایه ها، از زیر بورد به پایه مورد نظر سیم لحیم کنید.

کد

برای ساخت این دستگاه به کتابخانه های زیر نیاز دارید:

Adafruit-Fingerprint-Sensor-Library

Adafruit-GFX-Library

MCUFRIEND_kbv

RTClib

حال کد زیر را دانلود کرده و روی آردوینو خود آپلود کنید. در این کد بصورت پیشفرض برای 11 نفر اسم انتخاب شده که می توانید آنها را تغییر داده یا از حالت پیشفرض خارج کنید. برای ثبت نام نفر جدید کافی است دستگاه را به کامپیوتر خود متصل کرده و کلید را فشار دهید تا سیستم به حالت ثبت نام برود سپس Serial Monitor را باز کرده و فرآیند ثبت نام را طبق دستورالعمل نشان داده شده در Serial monitor انجام دهید.

می توانید برای کسب اطلاعات بیشتر راجع به کار با SD کارت آموزش نوشتن و خواندن SD کارت با آردوینو، برای کار با ماژول ساعت آموزش چگونه از ماژول RTC DS1307 با آردوینو استفاده کنیم و یک یادآور هوشمند بسازیم و برای کار با LCD راهنمای کامل مبتدیان برای استفاده از نمایشگرهای TFT LCD با آردوینو را مطالعه کنید.

وظیفه آپلود کردن اطلاعات با Nodemcu می باشد، Nodemcu از طریق درگاه سریال اطلاعات را برای آپلود از آردوینو می گیرد و وضعیت آپلود شدن را به آردوینو بر می گرداند. کد زیر را  روی Nodemcu خود آپلود کنید.


ابتدا Channel ID و Write API Key را با توجه به پنل Thingspeak خود تغییر دهید.

در این کد ابتدا با تابع String_Analuze ();رشته ورودی به Nodemcu را به تاریخ، نام، ساعت ورود، ساعت خروج و جمع کاری تفکیک کرده و این اطلاعات را به Thingspeak ارسال می کند، سپس در صورت موفقیت آمیز بودن فرایند آپلود کاراکتر “1” و در صورت عدم آپلود کاراکتر “0” را به آردوینو ارسال می کند.

ساخت بدنه و سر هم بندی دستگاه حضور و غیاب

برای ساخت بدنه دستگاه حضور و غیاب می توانید از نقشه های زیر و پلکسی گلس با رنگ های مختلف یا هر جنس دیگری استفاده کنید

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

یک گام جلوتر

  • سعی کنید از آیکون های بیشتری روی LCD استفاده کنید.
  • سعی کنید سیستم را به RFID نیز مجهز کنید.
  • سعی کنید بجای استفاده از Thingspeak داده ها را در google spreadsheets آپلود کنید.

Share this post

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *