تکنولوژی با سرعتی باورنکردنی در حال رشد و پیشرفت است. سرعت این پیشرفت به حدی زیاد شده که تا یک دهه قبل، شاید کمتر کسی تصور می کرد روزی اینترنت، به یکی از مهم ترین ابزارهای زندگی بشر تبدیل شود. امروزه اینترنت، به یکی از مهم ترین ابزارهای زندگی، صنعت، تجارت و حتی پزشکی تبدیل شده است. این تاثیر به حدی مهم بوده که بدون اینترنت، کلیه صنایع و تجارت های مختلف، لحظه ای دوام نخواهند آورد. اگر روزی جریان الکتریسیته نقشی حیاتی در زندگی و تجارت بازی می کرد، امروز اینترنت نیز پس از برق، موثر ترین نیروی محرکه زندگی به شمار می رود.
تصور کنید در یک روز گرم تابستانی، پس از یک روز شلوغ و خسته کننده، در حال حرکت به سمت منزل هستید. پس از رسیدن به منزل، با هوای دم کرده و گرم منزل مواجه می شوید. در این حالت، می بایست سیستم سرمایشی را روشن کرده و برای مدتی منتظر خنک شدن منزل بمانید. در شرایط دیگر، این موضوع را با فصل زمستان در نظر بگیرید که مجبورید پس از تحمل سرما، منتظر گرم شدن منزل باشید. برای رفع این مشکل، می بایست از فناوری اینترنت اشیا، استفاده نماییم.
در این آموزش، به طراحی و پیاده سازی سیستمی می پردازیم که به صورت خودکار، زمانیکه خودروی شما را در نزدیکی منزل تشخیص دهد، به طور هوشمند اقدام به فعال سازی سیستم گرمایشی یا سرمایشی می نماید. بدین ترتیب، به کمک این دستگاه، هنگام رسیدن به منزل، سیستم گرمایشی و یا سرمایشی به طور خودکار فعال شده و می توانید از هوای مطبوع، لذت ببرید. در کنار این نیز، می توان با اتصال سایر وسایل برقی به این سیستم نظیر قوه جوش و یا چای ساز، هنگام رسیدن به منزل از یک نوشیدنی تازه هم لذت برد!. در ادامه با مرجع تخصصی اینترنت اشیا، دیجی اسپارک همراه باشید.
اینترنت اشیا و تعاریف اولیه
پیش از اینکه به ادامه پروژه بپردازیم، جهت روشن شدن هرچه بهتر موضوع، تعریفی از اینترنت اشیا را ارائه نماییم. اینترنت اشیا، شبکه ای از وسایل و اشیا را ایجاد میکند تا این اشیا بتوانند با یکدیگر به ارسال و دریافت داده بپردازند. در شبکه اینترنت اشیا، هر شی و یا وسیله، دارای یک هویت دیجیتال جهت ارتباط با سایر اشیا حاضر در شبکه است. این اشیا می تواند از وسایل ساده زندگی نظیر گلدان، یخچال، لامپ و …. تشکیل شده باشد. به کمک این فناوری، این اشیا می توانند با یکدیگر ارتباط برقرار کرده و بر روی عملکرد یکدیگر اثر بگذارند.
در شبکه اینترنت اشیا، هر دستگاه الکترونیکی متصل به شبکه، دارای سه بخش اصلی واحد سنسور ها/عملگرها، واحد میکروکنترلر و واحد مخابراتی است. در قسمت سنسور ها و عملگرها، این مورد شامل انوع مختلفی، نظیر سنسور دما، رطوبت و …. می شود. همچنین، عملگرها، قطعاتی نظیر لامپ، موتور، رله و… می شوند. واحد میکروکنترلر نیز می تواند انوع مختلفی، نظیر خانواده آردویینو را در بر بگیرد. در قسمت مخابراتی نیز فناوری های با سیم و بی سیم نظیر وای فای، GSM، GPRS و…وظیفه ارسال و دریافت داده را برعهده دارند. در قسمت بعدی مکانیزم و نحوه عملکرد سیستم فعال سازی هوشمند وسایل برقی با نزدیک شدن خودرو به منزل را مورد بررسی قرار می دهیم.
عملکرد پروژه فعال سازی هوشمند وسایل برقی
همانطور که در قسمت پیشین نیز بیان شد، اینترنت اشیا شبکه ای راجهت اتصال اشیا مختلف به یکدیگر، ایجاد می نماید. در این پروژه به کمک این فناوری، می توانیم خودروی خود را به عنوان یک شی، به سیستم گرمایشی/سرمایشی منزل به عنوان شی دیگر، متصل نماییم. در حقیقت، آنچه که بین این دو شی رد و بدل می شود، داده هاست. خودرو داده GPS خود را به سیستم گرمایش/سرمایش ارسال کرده و این سیستم بر مبنای شرایط، تصمیم به فعال سازی یا عدم فعال سازی می گیرد.
در این پروژه، ارتباط بین خودرو و سیستم گرمایش/سرمایش، از طریق اینترنت فراهم می شود. بر روی خودرو یک دستگاه GPS قرار دارد که به عنوان ردیاب نیز استفاده می شود. این دستگاه به اینترنت GPRS متصل شده و موقعیت خود را پس از دریافت از ماهواره GPS، از طریق اینترنت به یک سرور ارسال می نماید. در طرف دیگر، این دستگاه، به طور دائم فاصله خود را با موقعیت خانه(که از پیش در سرور ثبت شده)، محاسبه می کند؛ چنانچه این فاصله از یک میزان کمتر شود، پیغام فعال سازی کولر و یا سیستم گرمایش را به سرور ارسال می نماید. در طرف دیگر، سیستم سرمایش/گرمایش به اینترنت نیز متصل بوده و چنانچه پیغام فعال سازی را دریافت نماید، سیستم را به جریان می اندازد. در ادامه این پروژه، به معرفی مختصر قطعات و نقش هر یک پرداخته و در نهایت با ارائه شماتیک و کدها، به اجرای آن می پردازیم.
برد آردوینو UNO
همانطور که در قسمت پیشین نیز بیان شد، هر دستگاه اینترنت اشیا دارای سه بخش سنسور/عملگر، پردازنده و واحد مخابراتی است. در یک طرف این پروژه، اقدام به طراحی یک دستگاه ردیاب خودرو نموده ایم. این دستگاه علاوه بر آنکه موقعیت خودرو را به صورت آنلاین بر روی یک سرور نمایش می دهد، فاصله خود تا موقعیت مکانی خانه را نیز محاسبه می نماید. چنانچه این فاصله از یک میزان کمتر شود(در اینجا کمتر از ۵۰۰ متر)، پیغام روشن شدن یک رله را به سرور ارسال می نماید. ما برای پردازش و اجرای این مراحل، از یک برد آردویینو UNO، استفاده نموده ایم.
برد آردویینو UNO در حقیقت یک برد توسعه برای میکروکنترلر ATMEGA328P به شمار می رود. بر روی این برد کریستال جهت منبع کلاک پردازنده و مبدل سریال به USB وجود دارد. همچننی با ایجاد پین هدر، دسترسی ساده و استانداری به پایه های GPIO پردازنده خواهید داشت.
ماژول سیم کارت SIM808
ماژول مخابراتی SIM808، یکی از پرکاربردترین ماژول های مخابراتی سیم کارتی محسوب می شود. این ماژول که برای راه اندازی نیاز به یک سیم کارت دارد، قادر به برقراری تماس تلفنی، ارسال و دریافت پیامک و اتصال به اینترنت است. علاوه بر این قابلیت ها، این ماژول نیز قادر است تا با اتصال به ماهواره های GPS، اقدام به موقعیت یابی و تعیین مختصات مکانی خود نماید. همچنین این ماژول، دارای بلوتوث داخلی بوده و می تواند به ارسال و دریافت داده در بستر این تکنولوژی، بپردازد.
در این پروژه جهت موقعیت یابی خودرو و تعیین فاصله تا منزل، از این ماژول استفاده شده است. ماژول SIM808 دارای رابط سریال UART بوده و با دریافت فرامین از پیش تعیین شده از طریق پروتکل سریال، اقدام به فعالیت می نماید. به کمک این فرامین می توان قابلیت های این ماژول نظیر تماس، پیامک، اینترنت و GPS را فعال نمود. این ماژول به سادگی به برد آردویینو متصل شده و می تواند به ارسال و دریافت داده بپردازد.
ماژول وای فای ESP8266
در قسمت مکانیزم عملکرد پروژه، سه قسمت کلی برای پروژه در نظر گرفته شد. قسمت نخست ردیاب خودرو بود که ضمن ارسال موقعیت خود به سرور، به کمک داده دریافتی از ماهواره GPS، فاصله خود تا موقعیت خانه را محاسبه می کرد. در قسمت بعدی، یک سرور اینترنتی وظیفه دریافت داده های ردیاب خودرو را برعهده دارد. در نهایت، در قسمت مربوط به خانه، یک ماژول وای فای از نوع ESP8266 قرار گرفته که با دریافت داده از سرور، هر زمان که ردیاب با محاسبه فاصله پیغام فعال سازی را ارسال نمود، ماژول وای فای با دریافت آن، رله متصل به خود را فعال می نماید.
ماژول وای فای ESP8266، یک تراشه با قابلیت اتصال به مودم های اینترنتی جهت اتصال به شبکه اینترنت است. این تراشه علاوه بر قابلیت اتصال به اینترنت، می تواند به عنوان یک نقطه دسترسی (Access Point) تعریف شده تا سایر تراشه ها و حتی تلفن های همراه و رایانه ها، به آن متصل شوند. در کنار این قابلیت ها، این ماژول قابلیت برنامه نویسی به کمک آردویینو را در خود جای داده است. در این پروژه، به کمک ویژگی های این ماژول، ابتدا با اتصال به مودم خانگی، ماژول ESP8266 به اینترنت متصل می شود. سپس با رویت پیام های ارسالی از طرف ردیاب خودرو، چنانچه پیام فعال سازی وسایل برقی(سیستم سرمایش/گرمایش) را دریافت نماید، به رله متصل به یکی از پایه های GPIO خود، سیگنال فعال سازی را ارسال نموده و بدین ترتیب وسیله برقی مورد نظر، فعال خواهد شد.
پیش نیازهای پروژه
پروژه فعال شدن هوشمند وسایل برقی با نزدیک شدن خودرو به منزل، یکی از پروژه های چند وجهی و چند قسمتی بوده که دارای چند پیشنیاز است. به همین منظور، جهت درک هرچه بهتر این پروژه، مطالعه آموزش های زیر پیشنهاد می گردد.
آموزش طراحی وب سایت و برنامه نویسی سرور مخصوص اینترنت اشیا(ساخت پلتفرم اینترنتت اشیا-قسمت اول)
آموزش کنترل رله از طریق اینترنت مودم وای فای با ماژول ESP8266(ساخت پلتفرم اینترنت اشیا-قسمت دوم)
آموزش کنترل اینترنتی رله به کمک اینترنت ماژول SIM808 همراه با موقعیت یابی آنلاین رله
در نهایت، ذکر این نکته ضروریست که برای اجرای این پروژه، نیاز به تهییه یک دامنه و یک هاست از نوع لینوکس، خواهید داشت.
شماتیک و اتصالات: بخش ردیاب خودرو
در این قسمت به بررسی شماتیک وسیم کشی مدار، در قسمت ردیاب خودرو می پردازیم. در ابتدا، تصویر زیر که سیم کشی وشماتیک کلی را نشان میدهد، بررسی نمایید.
مطابق شماتیک فوق، سیم کشی و اتصالات مدار در بخش ردیابی خودرو را به صورت زیر، اجرا نمایید.
اتصال پایه TX ماژول SIM808 به پایه ۱۰ آردویینو
اتصال پایه ۱۱ آردویینو با تقسیم مقاومتی(هر مقاومت یک کیلو اهم) به پایه RX ماژول SIM808
اتصال پایه GND آردویینو به GND ماژول SIM808
همچنین برای تغذیه ماژول SIM808 برای برد استفاده شده در این پروژه، نیاز به تغذیه ۵ ولت خواهید داشت؛ این تغذیه قایل تامین از آردویینو نبوده و می بایست حتما از یک منبع مستقل حداقل دو آمپری، تامین گردد.
اتصالات کنترل وسایل برقی منزل
در این قسمت به بررسی شماتیک مدار در بخش کنترل وضعیت رله(وسایل سرمایش/گرمایش) می پردازیم. ابتدا سیم کشی و اتصالات کلی مدار را در زیر مشاهده نمایید.
مطابق تصویر فوق، اتصالات ماژول رله(جهت فعال سازی سیستم سرمایش/گرمایش) را مطابق زیر، در پیش بگیرید.
اتصال پایه VCC ماژول رله به پایه VCC ماژول ESP8266
اتصال پایه GND رله به پایه GND ماژول ESP8266
اتصال پایه SIGNAL و یا IN رله به پایه GPIO12 رله
همچنین برای عملکرد بهتر، تغذیه ماژول ESP8266 را بر روی ۳٫۵۵ ولت قرار دهید.
کدهای پروژه : بخش ردیاب خودرو
این پروژه شامل سه بخش ردیاب خودرو، سرور و قسمت کنترل وسایل برقی منزل می شود. در این قسمت کدهای ردیاب خودرو را مشاهده می نمایید. در نرم افزار آردویینو، برد آردویینو را انتخاب نموده، کدهای زیر را کپی و سپس بر روی برد آردویینو UNO آپلود نمایید. دقت داشته باشید که در کدهای برنامه، در قسمت نام سرور، به جای عبارت example.com، نام دامنه خود را قرار دهید.
محدودیت در دسترسی کامل به این مجموعه آموزش
دسترسی کامل به آموزش برای اعضای دیجی اسپارک امکان پذیر است. بخش اصلی آموزش شامل سورس کدهای توسعه داده شده توسط مهندسهای دیجی اسپارک است. به همین دلیل این آموزش خاص و یکتاست. برای استفاده از آن بایستی عضویت تهیه کنید. تبادل نظر با کاربران و پرسش سوال رایگان است و میتوانید از بخش نظرات همین آموزش اقدام کنید. |
کدهای پروژه: وای فای و فعال سازی رله
در این قسمت کدهای بخش کنترل رله(فعال سازی سیستم سرمایش/گرمایش) را مشاهده می نمایید. این کدها بر روی ماژول ESP8266 اجرا شده واین ماژول با اتصال به اینترنت، به طور مداوم وضعیت سرور را چک می نماید. چنانچه پیام TURNON(به معنای نزدیک شدن خودرو به منزل و قرار گیری آن در فاصله کمتر از ۵۰۰ متر) را بر روی سرور مشاهده نمود، رله را فعال می نماید. برای آپلود ااین کدها بر روی برد، ابتدا در نرم افزار آردویینو برد esp8266 را انتخاب سپس کدها را بر روی این برد، آپلود نمایید.
محدودیت در دسترسی کامل به این مجموعه آموزش
دسترسی کامل به آموزش برای اعضای دیجی اسپارک امکان پذیر است. بخش اصلی آموزش شامل سورس کدهای توسعه داده شده توسط مهندسهای دیجی اسپارک است. به همین دلیل این آموزش خاص و یکتاست. برای استفاده از آن بایستی عضویت تهیه کنید. تبادل نظر با کاربران و پرسش سوال رایگان است و میتوانید از بخش نظرات همین آموزش اقدام کنید. |
کدهای پروژه: بخش وب سرور
در این قسمت نوبت به کدهای قسمت سرور می رسد.وب سرور در این پروژه، نقشی بسیار کلیدی را ایفا میکند، به طوریکه ارتباط بین ردیاب خودرو و ماژول وای و رله آن، از طریق سرور برقرار می گردد. کاربر می تواند با مراجعه به سرور، موقعیت لحظه ای خودر را مشاهده نماید. همچنین، وی می تواند با ثبت موقعیت منزل در سرور، فعال شدن هوشمند رله متصل به ماژول وای فای را در صورت نزدیک شدن خودرو به خانه، درخواست نماید. کدهای سرور در آموزش زیر، به طور کامل قرار گرفته و با مراجعه به آن، به کدها دسترسی خواهید داشت.
آموزش طراحی وب سایت و برنامه نویسی سرور مخصوص اینترنت اشیا(ساخت پلتفرم اینترنتت اشیا-قسمت اول)
اجرای پروژه کنترل هوشمند وسایل برقی
برای اجرای این پروژه، ابتدا وارد وب سایت شده و در کادر متن، عرض و طول جغرافیایی محل مورد نظر که قرار است با نزدیک شدن خودرو، رله(سیستم سرمایش/گرمایش) در آن فعال شود را از چپ به راست با تفکیک یک ویرگول بین طول و عرض، وارد نمایید. در تصویر نمونه این مورد را مشاهده می نمایید.
پس از آنکه موقعیت را در کادر وارد نموده و سپس بر روی دکمه تایید کلیک نمایید. پس از این مرحله، موقعیت در سرور ثبت می شود. در طرف دیگر، دستگاه ردیاب پس از اتصال به ماهواره GPS و دریافت موقعیت مکانی، ضمن ارسال موقعیت خود به صورت زنده به سرور، فاصله خود تا موقعیت ثبت شده توسط کاربر در سرور را مقایسه کرده و چنانچه این فاصله، کمتر از پانصد متر باشد، پیغام TURNON را به سرور ارسال می نماید. سرور ضمن ارسال این پیغام، آن را در فایلی به نام tmp.txt ذخیره می نماید. بر روی صفحه اصلی سایت نیز در قسمت دما(که ر پروزه های پیشین به سرور دما نیز ارسال کردیم) عبارت TURNON نیز مشخص است.
در سمت وسیله وسیله برقی منزل که متصل به اینترنت است، ماژول وای فای ESP8266 با خواندن عبارت ذخیره شده در فایل tmp.txt، چنانچه عبارت TURNON را مشاهده نماید، رله را فعال خواهد نمود؛ چراکه این عبارت به معنای نزدیک شدن خودرو به فاصله کمتر از ۵۰۰ متر نسبت به منزل است.
تست عملکرد پروژه بدون نیاز به نصب ردیاب
در قسمت قبلی، روش اجرا و تست پروژه را با هم مورد بررسی قرار دادیم. اما نکته مهم در رابطه با قسمت قبلی اینست که تست مرحله قبلی، به نصب دستگاه ردیاب بر روی خودرو و حرکت به سمت منزل نیاز دارد. در این قسمت با ارئه روشی، بدون نیاز به نصب ردیاب بر روی خودرو، می توانیم عملکرد مدار و فعال شدن رله، در صورت نزدیک شدن ردیاب به منزل را بررسی نماییم. برای این منظور، ابتدا پیش از فعال کردن ردیاب، در وب سایت، موقعیت مکانی خود را دورتر از جایی که قرار دارید، ثبت کنید.
پس از این مرحله، می بایست کمی صبر کنیم تا ردیاب به ماهواره فیکس نماید. پس از فیکس، از آنجاییکه GPS موقعیت مکانی فعلی شما را ارسال نموده و این موقعیت با موقعیت ثبت شده در سرور فاصله بیش از ۵۰۰ متری دارد، بنابراین رله متصل به ماژول وای فای فعال نخواهد شد. در این مرحله، چنانچه موقعیت فعلی خود را در سرور ثبت نمایید، فاصله کمتر از ۵۰۰ متر شده و در سرور پیام TURNON را در صفحه اصلی سایت، مشاهده خواهید کرد. در ادامه، ماژول وای فای با دریافت این عبارت از سرور، ماژول رله را فعال خواهد نمود.
وسایل مورد نیاز
ماژول رله متناسب با وسیله برقی
جمع بندی
در این آموزش به طراحی و پیاده سازی پروژه ای پرداختیم که به کمک آن، چنانچه خودروی کاربر به نزدیکی منزل وی برسد، وسایل برقی منزل نظیر سیستم گرمایش/سرمایش به طور هوشمند فعال خواهند شد. بدین ترتیب کاربر با رسیدن به منزل، با هوای مطبوع منزل استقبال خواهد شد. حتی می توان به این سیستم دستگاه چای ساز و یا قهوه جوش را متصل کرد که کاربر با رسیدن به خانه، با چای داغ و یا قهوه تازه، از خود پذیرایی نماید. این پروژه دارای سه قسمت است، نخست بخش خودرو بوده که بر روی آن یک دستگاه ردیابی خودرو متصل کرده تا ضمن نمایش موقعیت خودرو بر روی یک سرور اینترنتی، فاصله خود تا موقعیت منزل را محاسبه نماید. قسمت دوم یک ماژول وای فای از نوع ESP8266 بوده که به مودم وای فای خانه متصل شده و منتظر دریافت پیام فعال سازی از خودرو است. در نهایت، یک سرور اینترنتی، وظیفه برقراری ارتباط بین قسمت ردیابی و فعال سازی وسیله برقی را برعهده داشته و در صورت نزدیک شدن خودرو به منزل، فرمان فعال سازی وسیله برقی به ماژول ESP ارسال خواهد شد.
چنانچه در مراحل راه اندازی و انجام این پروژه با مشکل مواجه شدید، بدون هیچ نگرانی در انتهای همین پست، به صورت ثبت نظر سوالتان را مطرح کنید. من در سریعترین زمان ممکن پاسخ رفع مشکل شما را خواهم داد. همچنین اگر ایرادی در کدها و یا مراحل اجرایی وجود دارند میتوانید از همین طریق اطلاع رسانی کنید.
سلام
چقدر ایدهی جالبی بود، من از اینستاگرام اومدم، خیلی خیلی کاربردیه این پروژه
سلام
متشکرم از لطف و همراهی شما
سلام .این سرور نیاز به تمدید ندارد .مثل سایت نیست که سالانه باید تمدید کرد؟
با سلام
کاربر گرامی دقت داشته باشید که سرور یک خدمات است که بایستی برای آن هزینه مربوطه را پرداخت کنید.