فهرست مطالب:
- مرحله 1: لیست اجزاء
- مرحله 2: آماده سازی دوربین
- مرحله 3: آماده سازی Arduino M0-SD سازگار
- مرحله 4: آماده سازی 3G/GPRS/GSM/GPS Shield SIM5320
- مرحله 5: مونتاژ سخت افزار
- مرحله 6: تنظیم کارگزار MQTT
- مرحله 7: برنامه MQTT Dash
- مرحله 8: برنامه نویسی و کار
تصویری: کنترل از راه دور و نظارت بر عکس بر روی MQTT: 8 مرحله
2024 نویسنده: John Day | [email protected]. آخرین اصلاح شده: 2024-01-30 08:55
سلام.
امروز می خواهم در مورد نحوه ساخت یک سیستم کنترل از راه دور و نظارت که می تواند برای کنترل درهای گاراژ ، روشنایی ، گرمایش ، کنترل فشار ، دما و بسیاری از پارامترهای دیگر استفاده شود ، صحبت کنم. اما ویژگی اصلی این سیستم این است که می توانید از راه دور عکس ها را از یک شیء از راه دور دریافت کنید. قبل از شروع داستان ، یک پیشگفتار کوتاه. زمانی که می خواستم یک سیستم نظارت تصویری با استفاده از یک برد سازگار Arduino M0-SD ، یک دوربین VC0706 و یک سپر 3G/GPRS/GSM/GPS برای Arduino بسازم. برد سازگار Arduino M0 -SD از شرایطی که برنامه ریزی آن بسیار آسان است (درست مانند Arduino UNO) ، ولتاژ کار 3.3 ولت انتخاب شده است - این برای کار با دوربین VC0706 ، مقدار زیادی ROM بسیار مناسب است. و RAM ، چندین پورت UART ، یک پورت مجازی جداگانه از USB ، اما مزیت اصلی آن وجود یک رابط micro SD مستقیم بر روی برد است (ذخیره حجم زیادی از داده ها ، مانند تصاویر بسیار راحت است).
سپر 3G/GPRS/GSM/GPS برای آردوینو برای استفاده با برد سازگار Arduino M0-SD بسیار مناسب است. چندین کتابخانه در اینترنت وجود دارد و همچنین نمونه های زیادی برای کار با این سپر وجود دارد. سرعت انتقال داده (3G) بسیار بیشتر از سپرهای معمولی GPRS است (مخصوصاً برای انتقال تصاویر مناسب است). در دسترس بودن ماژول GPS یک مزیت دیگر است.
من یک تعرفه کم هزینه از یک اپراتور تلفن همراه برای انتقال داده (عکس) از طریق اینترنت انتخاب کردم. اما این سوال مطرح شد: چگونه می توان داده ها را انتقال داد؟ MMS؟ FTP؟ چگونه می توان اعلانی در مورد دریافت داده ها (عکس) دریافت کرد؟ در نتیجه ، من تصمیم گرفتم که اطلاعات (عکس) را به ایمیل ارسال کنم و نامه ها را از طریق برنامه نصب شده بر روی تلفن همراه مشاهده کنم. معلوم شد که بسیار راحت است!:-) پروژه به پایان رسیده را می توانید در این پیوند مشاهده کنید.
همچنین یک پروژه مشابه برای Arduino UNO با مرجع وجود دارد.
سپس تصمیم گرفتم عملکرد دستگاه خود را گسترش دهم. به عنوان مثال ، قابلیت کنترل LED ها را اضافه کنید (اگرچه در واقعیت امکانات بسیار گسترده تر هستند). ایمیل برای این کار چندان مناسب نیست. گزینه پیامک گران و ناراحت کننده است. و سپس با MQTT آشنا شدم. من توصیف نمی کنم که او چیست. بگذارید فقط بگویم: این واقعاً یک چیز جالب است!:-) با کمک MQTT ، می توانید نه تنها پیامها ، بلکه فایلهای باینری (تصاویر) را نیز تبادل کنید. در برنامه تلفن ، می توانید به راحتی رابط کاربری خود را ایجاد کنید.
من به دنبال نمونه هایی از اجرای پروتکل MQTT برای سپر 3G/GPRS/GSM/GPS خود (SIM5320) بودم و متأسفانه پیاده سازی مورد نیاز را پیدا نکردم. اما این مرا تنها نگذاشت. من تصمیم گرفتم به طور مستقل عملکرد لازم را اجرا کنم. در نتیجه ، من موفق به ایجاد دستگاهی شدم که از طریق برنامه نصب شده بر روی تلفن همراه (که توسط سه LED نشان داده می شود) از طریق MQTT کنترل می شود و همچنین عکس را به دستور تلفن از طریق تلفن ارسال می کند. (من به شما یک راز می گویم که من قبلاً هیچ نمونه ای از ارسال تصاویر از طریق کارگزار MQTT ندیده بودم و برای اولین بار این کار را انجام دادم. و هنگامی که موفق به انتقال اولین تصویر شدم ، بسیار خوشحال شدم!:-)) و بنابراین ، من پیشنهاد می کنم مستقیماً به اولین مرحله بروید - لیستی از اجزای ضروری.
مرحله 1: لیست اجزاء
ما به اجزای بعدی نیاز داریم:
1) Arduino M0-SD سازگار است.
2) دوربین TTL VC0706.
3) سپر 3G/GPRS/GSM/GPS برای آردوینو.
4) LED های قرمز ، سبز ، زرد ، 3 مقاومت (100-500 اهم) ، سیم ، اتصال زاویه پین با گام 2.54 میلی متر.
5) آداپتور برق AC-DC (6V 1A) ، آنتن 3G و غیره
مرحله 2: آماده سازی دوربین
این دوربین دارای خروجی RS-232 برای اتصال مستقیم به کامپیوتر است. لازم است MAX232 (مبدل RS-232) را بردارید و پدهای تماس را بین پین های مربوطه 7-10 (TX) ، 8-9 (RX) ببندید.
کابل شش سیم همراه با دوربین باید کمی بازسازی شود:
- دو سیم را از اتصال جدا کنید.
- سیم های قرمز (+ 5V) و سیاه (GND) را همانطور که در شکل نشان داده شده است ، مرتب کنید.
در انتهای لخت سیمها باید نوکهایی مانند "زن" لحیم شود.
مرحله 3: آماده سازی Arduino M0-SD سازگار
همانطور که قبلاً نیز اشاره شد ، Arduino M0-SD سازگار سخت افزاری و نرم افزاری سازگار با Arduino M0 اصلی است ، اما همچنین دارای اتصال microSD داخلی برای اتصال کارت حافظه است.
برای اتصال دوربین به Arduino M0-SD سازگار بر روی برد ، لازم است که اتصال زاویه ای را به پایانه های TXD ، RXD (کانکتور X6) ، مانند شکل ، لحیم کنید. این پورت با "سریال" مطابقت دارد.
سیمهای سفید (Camera RX) و زرد (Camera TX) دوربین باید به ترتیب به پایانه های TXD و RXD (کانکتور X6) متصل شوند.
مرحله 4: آماده سازی 3G/GPRS/GSM/GPS Shield SIM5320
قبل از نصب سیم کارت در شکاف ، باید درخواست کد پین را غیرفعال کنید. سپس سیم کارت را در شکاف سمت پایین برد مانند تصویر نشان دهید نصب کنید. دو جهنده باید در موقعیت RX-1 (D1) ، TX-0 (D0) نصب شوند.
مرحله 5: مونتاژ سخت افزار
مونتاژ سخت افزار شامل چندین عملیات ساده است:
- برای کنترل LED ها ، ابتدا باید طرحی کوچک از LED ها و مقاومتهای محدود کننده جریان (100-500 اهم) را در شکل لحیم کنید. به قطبیت LED ها توجه کنید - آند باید به مقاومت ها (+) لحیم شود. برای کاهش قرار گرفتن در معرض انگلی LED ها ، یک صفحه سیاه از مقوای معمولی تهیه کردم.
- LED ها و دوربین را به یک برد سازگار Arduino M0-SD وصل کنید ، همانطور که در نمودار نشان داده شده است. منبع تغذیه دوربین (سیم قرمز "+ 5V" و سیم سیاه "GND") باید از پایانه های "+ 5V" و "GND" از شکاف گرفته شود. برای این کار می توانید از کانکتور زاویه استفاده کنید.
- پس از آن ، سپر 3G/GPRS/GSM/GPS را به برد سازگار Arduino M0-SD وصل کنید. اتصال آنتن 3G را فراموش نکنید.
مرحله 6: تنظیم کارگزار MQTT
من یک www.cloudmqtt.com بسیار راحت و واضح را به عنوان کارگزار MQTT انتخاب کردم. این تست رایگان را ارائه می دهد. همچنین امکان دریافت و ارسال مستقیم پیام ها در سایت وجود دارد.
روش راه اندازی به شرح زیر است:
- آنلاین ثبت نام کنید.
- دکمه "ایجاد نمونه جدید" را فشار دهید.
- نام را تنظیم کنید ، به عنوان مثال "MqttCamera".
- دکمه "انتخاب منطقه" را فشار دهید. به عنوان مثال ، "US-East-1 (ویرجینیای شمالی)" را انتخاب کنید.
- دکمه "مرور" را فشار دهید.
- دکمه "ایجاد نمونه" را فشار دهید. مشاهده پیام "نمونه با موفقیت ایجاد شد".
- روی "MqttCamera" کلیک کنید.
- اطلاعات را به خاطر بسپارید: سرور ، کاربر ، رمز عبور ، پورت ، کلید API (در مراحل 7 و 8 به آن نیاز داریم).
- سپس می توانید به پنجره "WEBSOCKET UI" بروید ، جایی که می توانید آزمایش و اشکال زدایی ، مشاهده و ارسال پیام را انجام دهید (در مرحله بعد به این پنجره نیاز داریم).
مرحله 7: برنامه MQTT Dash
برای ایجاد یک کنترل پنل در تلفن همراه ، من یک برنامه MQTT Dash بسیار کاربر پسند و واضح را انتخاب کردم.
برنامه MQTT Dash را روی تلفن خود نصب کرده و تنظیمات زیر را انجام دهید:
- برنامه را باز کنید.
- در پنجره خط MQTT ، روی (+) کلیک کنید تا یک کنترل پنل جدید اضافه شود.
- در پنجره ای که ظاهر می شود ، فیلدهای مورد نیاز را پر کنید ، مانند: نام (به عنوان مثال ، MqttCamera) ، آدرس ، پورت ، نام کاربر ، رمز عبور کاربر (داده ها را از مرحله 6 بگیرید).
- پس از پر کردن فیلدها ، روی نماد دیسک (عملیات "ذخیره") کلیک کنید.
- در پنجره ای با لیست پانل های کنترل ، روی خط ظاهر شده "MqttCamera" کلیک کنید.
- در پنجره کنترل پنل باز شده ، روی نماد پیکان کلیک کنید تا معیارها بارگیری شوند.
- سپس در پنجره بازشو ، روی دکمه "SUBSCRIBE AND WAIT FOR THE METRIC" کلیک کنید.
- در رایانه شخصی ، یک حساب کاربری MQTT باز کنید (مرحله قبل را ببینید) ، پنجره "WEBSOCKET UI" را باز کنید ، موضوع "metrics/exchange" را در پنجره "Send message" تنظیم کنید و متن را از فایل metrics.txt را در پنجره "پیام" پیوست کنید ، روی دکمه "ارسال" کلیک کنید.
- 10 ثانیه صبر کنید ، مطمئن شوید که معیار در تلفن دریافت شده و صفحه کنترل به روز شده است.
سپس می توانید برنامه نویسی سازگار با Arduino M0-SD را ادامه دهید.
مرحله 8: برنامه نویسی و کار
قبل از برنامه نویسی Arduino M0-SD سازگار ، باید همه کتابخانه های لازم (pubsubclient-master، TinyGSM-master) را که در زیر به آنها اشاره کردم روی کامپیوتر نصب کنید. این کتابخانه ها برای کار با برد سازگار Arduino M0-SD ، دوربین VC0706 و سپر 3G/GPRS/GSM/GPS SIM5320 اندکی اصلاح شدند.
شما باید کابل و منبع تغذیه (6V 1A برای تغذیه سپر 3G/GPRS/GSM/GPS) را به Arduino M0-SD سازگار وصل کنید.
Arduino IDE را راه اندازی کنید. در Arduino IDE باید موارد زیر را انتخاب کند: Tools-> Board: Arduino M0 Pro (درگاه USB بومی).
طرح MqttCamera.ino را باز کنید. فیلدها را پر کنید: نام کاربر ، رمز عبور کاربر ، کلید API ، پورت ، سرور (داده ها را از مرحله 6 بگیرید).
پنجره Serial Monitor را باز کنید.
بارگذاری طرح من روش برنامه نویسی را به تفصیل شرح نمی دهم (دستورالعمل های کافی در اینترنت وجود دارد).
پس از بارگیری موفق و مونتاژ مناسب ، اطلاعات زیر باید در پنجره Serial Monitor ظاهر شود:
دوربین VC0706 + Arduino M0 + SIM5320 + MQTT
Camera init… نسخه: ----------------- VC0703 1.00 Ctrl infr سنسور تعریف شده توسط کاربر 525 ----------------- موفقیت ! راه اندازی مودم… مودم: AT+CGMM SIMCOM_SIM5320E در انتظار شبکه… OK اتصال به اینترنت OK اتصال به 3.83.68.228 خرابی اتصال به 3.83.68.228 OK پینگ: 0
خط "Ping: XX" یک پیام دوره ای از Arduino M0-SD سازگار به سرور است. به جای این اطلاعات ، می توانید اندازه گیری های ADC ، وضعیت ورودی و موارد دیگر را ارسال کنید.
در برنامه MQTT Dash ، روی نمادهای لامپ ها (LED_YELLOW ، LED_GREEN ، LED_RED) کلیک کنید - روشن/خاموش کنید. به پنجره مانیتور سریال نگاه کنید - باید اطلاعاتی در مورد چیزی شبیه به این وجود داشته باشد:
LED_YELLOW روشن است
LED_YELLOW_ خاموش LED_GREEN روشن LED_GREEN خاموش LED_RED روشن LED_RED خاموش
روی نماد دوربین کلیک کنید - دستور "SHOOT" را ارسال کنید و مدتی صبر کنید. اطلاعات زیر باید در پنجره Serial Monitor ظاهر شود:
شروع به شوت زدن!
عکس گرفته شده! ایجاد IMAGE332-j.webp
و بعد از مدتی (5-10 ثانیه) در پنجره "VIEW IMAGE" باید عکس نشان داده شود.
برای تظاهرات ، من دوربین VC0706 را به سمت LED ها هدایت کردم تا بتوانید وضعیت آنها را پس از تعویض دلخواه خود مشاهده کنید. اما در استفاده واقعی ، می توانید دوربین را به اتاق ، در ، خیابان ، دروازه ، ماشین و غیره هدایت کنید (البته ، باید الزامات قانون را در نظر بگیرید). به عنوان یک تظاهرات ، چندین تصویر از یک عکس ارائه می دهم تلفن همراه ، جایی که وضعیت نصب شده و واقعی LED ها نمایش داده می شود.
امیدوارم آموزش من برای شما جالب و مفید بوده باشد. از نظرات و نظرات شما خوشحال می شوم. در برنامه های خود برای توسعه دستگاه خود و به اشتراک گذاشتن نوآوری های جدید با شما. ممنون از ملاحظه تان!
توصیه شده:
ESP8266 - سوکت کنترل از راه دور و از راه دور (امنیت سالمندان): 6 مرحله
ESP8266 - سوکت کنترل از راه دور و از راه دور (امنیت سالمندان): اطلاعات: این مونتاژ در صورت فراموشی وسایل وصل شده (عمدتا توسط افراد مسن مبتلا به آلزایمر) به منظور جلوگیری از گرم شدن بیش از حد ، آتش سوزی و حوادث است. پس از فعال شدن دکمه ، سوکت 110/220 VAC را به مدت 5 دقیقه دریافت می کند (دیگری
کنترل از راه دور جهانی از راه دور با Node-MCU: 12 مرحله
کنترل از راه دور جهانی با Node-MCU: سلام به همه و به این پروژه خوش آمدید! من یک شخص تنبل هستم و کابوس یک تنبل این است که وقتی متوجه می شوید که راه دور خیلی دور است ، تلویزیون تماشا کنید! متوجه شدم که اگر ریموتم را در دست داشته باشم هرگز خیلی دور نخواهد بود
IRduino: کنترل از راه دور Arduino - تقلید از راه دور از دست رفته: 6 مرحله
IRduino: کنترل از راه دور Arduino - تقلید از راه دور گمشده: اگر تا به حال کنترل از راه دور تلویزیون یا دستگاه پخش DVD خود را گم کرده اید ، می دانید که مجبور هستید به دکمه های خود دستگاه بروید ، از آن استفاده کنید و از آن استفاده کنید. گاهی اوقات ، این دکمه ها عملکرد مشابهی با ریموت ندارند. دریافت
ESP8266 RGB LED STRIP WIFI کنترل - NODEMCU به عنوان یک کنترل از راه دور IR برای نوار LED کنترل شده بر روی Wifi - کنترل تلفن هوشمند RGB LED STRIP: 4 مرحله
ESP8266 RGB LED STRIP WIFI کنترل | NODEMCU به عنوان یک کنترل از راه دور IR برای نوار LED کنترل شده بر روی Wifi | RGB LED STRIP Smartphone Control: سلام بچه ها در این آموزش می آموزیم که چگونه از nodemcu یا esp8266 به عنوان ریموت IR برای کنترل نوار LED RGB استفاده کنید و Nodemcu توسط تلفن هوشمند از طریق وای فای کنترل می شود. بنابراین اساساً می توانید RGB LED STRIP را با تلفن هوشمند خود کنترل کنید
کنترل از راه دور سایه/کنترل از راه دور: 5 مرحله
Shadow/Remote Control Activated Leds: آیا تا به حال خواسته اید یک نور فعال شده در شب یا سایه ایجاد کنید؟ خوب .. در اینجا یک دستورالعمل وجود دارد ، اما یک مورد اضافی وجود دارد: می توانید آن را با کنترل RF از راه دور فعال کنید. این بسیار قدرتمند است ، من می توانم اتاق سوراخ خود را روشن کنم