// پروتکل MQTT و اینترنت اشیاء (IOT) - الکترونیکا

الکترونیکا پروژه های الکترونیک و مکانیک

سایت در حال به روز رسانی به نسخه ی جدید میباشد در صورت بروز مشکل با شماره ی 09213203841 تماس بگیرید

استفاده از پروتکل MQTT برای اینترنت اشیاء (LOT)

پس از سال ۲۰۰۰ که با فراگیر شدن اینترنت جهانی و مفهوم دهکده جهانی واژه اینترنت چیزها نیز مطرح شد که هدفش ایجاد یک سیستم یک پارچه با قابلیت کنترل از طریق شبکه بود.اما چالشهای اصلی این ایده شامل امنیت‌ و پیچیدگی سطوح اجرای و بستر نامناسب (اینترنت بستر قابل اطمینانی از نظر اتصال پایدار نیست) و همچنین نبود یک سخت افزار قدرتمند و ارزان با ارتباطی دو طرفه و پایدار با مصرف انرژی پایین که از اهداف اصلی IOT است , مانع رسیدن به اهداف کامل این ایده شده است.در اینترنت اشیاء علاوه بر نگرانی های موجود در رابطه با حفظ حریم خصوصی , اینترنت اشیا از تکه تکه شدن پلت فرم و نداشتن استانداردهای فنی رنج می برد . یک وضعیت که در آن انواع دستگاههای اینترنت اشیا، از نظر هر دو تغییرات سخت افزاری و تفاوت در نرم افزار در حال اجرا بر روی آنها، باعث می شود کار توسعه برنامه های کاربردی که به طور مداوم بین اکوسیستم های مختلف فن آوری ناسازگار سخت شود.

اینترنت چیزها:

اینترنت چیزها یا چیزنت (به انگلیسی: Internet of Things) (مخفف انگلیسی: IoT) که گاهی در زبان انگلیسی اینترنت اشیا هم برای این کلمه استفاده می‌شود، به طور کلی اشاره دارد به بسیاری از چیزها شامل اشیا و وسایل محیط پیرامون‌مان که به شبکه اینترنت متصل شده و بتوان توسط اپلیکیشن‌های موجود در تلفن‌های هوشمند و تبلت کنترل و مدیریت شوند. اینترنت چیزها به زبان ساده، ارتباط سنسورها و دستگاه‌ها با شبکه‌ای است که از طریق آن می‌توانند با یکدیگر و با کاربرانشان تعامل کنند. این مفهوم می‌تواند به‌سادگی ارتباط یک گوشی هوشمند با تلویزیون باشد و یا به پیچیدگی نظارت بر زیرساخت‌های شهری و ترافیک. از ماشین لباسشویی و یخچال گرفته تا پوشاکمان؛ این شبکه بسیاری از دستگاه‌های اطراف ما را در برمی‌گیرد.

پروتکل MQTT:

معماری ساختار MQTT شامل یک سرور مرکزی یا واسطه است که به شکل توپولوژی ستاره‌ای با یک یا چند دستگاه ارتباط برقرار می‌کند. پایه ارتباطات بر اساس پیام‌ها و تاپیک‌هایی است که به یک گره (دستگاه) ارسال می‌شود. دراین‌بین دیگر گره‌ها (دستگاه‌ها) نیز می‌توانند با اشتراک‌گذاری آن پیام را دریافت کنند. سرور مرکزی مسئول مدیریت شبکه و انتقال پیام‌ها است. ارتباطات می‌تواند یک به یک یا گروهی باشد. هدف از این پروژه ساخت یک آداپتور IOT است که به همه‌ی دستگاه‌های عمومی بدون احتیاج به wifi اجازه می‌دهد تا به‌عنوان یک گره IOT شناخته شوند. تنها شرط موردنیاز دارا بودن یک پورت سریال است.

جهت پیاده‌سازی یک سیستم با حداقل جزئیات، ما باید در مورد چگونگی کار یک سرور مرکزی (کارگزار) نیز بدانیم. گره‌ها بر پایه‌ی یک ماژول ESP-12E و سرور مرکزی بر روی یک ماژول رزبری پای اجرا می‌شود. در تصویر شماره یک، می‌توانید بلوک مربوط به دیاگرام سیستم را مشاهده کنید. یک دفتر کار را تصور کنید؛ شما به چندین دستگاه با یک واحد مرکزی نیاز دارید. دستگاه‌هایی مانند ترموستات، آلارم یا دستگاه‌های مختلفی که باهم مرتبط‌اند ( مانند یک لامپ با سوئیچ قطع و وصل). ما به یک پروتکل ارتباطی نیاز داریم که بین همه‌ی این دستگاه‌ها مشترک باشد.

در میان پروتکل‌های موجود، MQTT به دلایل زیر انتخاب شده است:

  • متن‌باز بودن
  • سازگاری با تمام دستگاه‌ها (اندروید، لینوکس)
  • پیاده‌سازی ساده‌ی سیستم

این پروتکل مبتنی بر مبانی زیر است:

  • هر دستگاهی می‌تواند داده‌ها را فراخوانی و منتشر کند.
  • هر دستگاهی می‌تواند یک تاپیک را برای دیگر دستگاه‌ها منتشر کند.
  • داده‌های منتشر‌شده توسط یک سرور مرکزی که کارگزار نامیده می‌شود مدیریت می‌شوند. در‌واقع کارگزار مسئول توزیع و دریافت داده‌هاست.
  • داده‌ها و سلسله‌ مراتب آن توسط علامت “/” از یکدیگر جدا می‌شوند.

به‌عنوان مثال، یک سنسور دما که در یک اتاق جلسه قرار دارد، داده‌های زیر را منتشر می‌کند:

 “Floor3/Room2/Temperature”

به‌این‌ترتیب دستگاه تهویه هوایی که در اتاق نصب شده است با آگاه شدن از وضعیت دمای اتاق، قادر به تنظیم کردن دمای اتاق خواهد بود و دمای اتاق به خوبی مدیریت می‌شود. دیگر دستگاه‌ها نیز می‌توانند این مورد را مشاهده و تأیید کنند یا حتی جهت نظارت بر دمای تمام اتاق‌ها، آن را با تاپیک “+/+/Temperature” به اشتراک بگذارند. در ادامه مثال، دستگاه تهویه هوا نیز تاپیک “Floor3/Room2/AirConditioner” را به اشتراک می‌گذارد. این تاپیک می‌تواند دو مقدار (ON/OFF) را بگیرد. اگر این تاپیک به‌صورت “Floor3/Room2/AirConditioner = ON”منتشر شود، دستگاه روشن می‌شود. هم دفتر تعمیر و نگهداری و هم اتاق کنترل از راه دور قادر هستند تا این تاپیک را منتشر کنند که البته جای نگرانی نیست و MQTT می‌تواند این موارد را نیز مدیریت کند.

کارگزار:

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

در بین تمامی کارگزارهای در دسترس، ما کارگزار Mosquitto را به دلایل زیر انتخاب کردیم:

  • متن‌باز بودن
  • نصب و مدیریت آسان
  • موجود بودن برای رزبری پای، به این دلیل که باید به‌صورت 24 ساعته در دسترس باشد. به نظر می‌رسد که استفاده از یک دستگاه باقدرت پایین انتخاب خوبی باشد.

اولین مرحله کار نصب Mosquitto بر روی رزبری پای است.

کنسول برنامه‌نویسی خود را باز کنید و عبارت زیر را در آن تایپ کنید:

$ sudo apt-get install mosquitto mosquitto-clients python-mosquitto

در حال حاضر Mosquitto نصب شده و در حال اجرا است. همچنین پس از خاموش شدن و راه‌اندازی مجدد سیستم، به‌صورت خودکار اجرا می‌شود. به منظور بررسی عملکرد مناسب آن، یک جفت برنامه کاربردی را نصب و آماده اجرا می‌کنیم: یک منتشر کننده و یک مشترک. ما این تاپیک را با موضوع “test” با تایپ سطر زیر پیاده‌سازی می‌کنیم:

$ mosquitto_sub -d -t test

برای دیگر قسمت برنامه، یک صفحه‌ی جدید که مخصوص انتشار پیام است را در کنسول خود باز می‌کنیم:

$ mosquitto_pub -d -t test -m Hello

در پنجره اول می‌توانیم ببینیم که پیغامی مبنی بر اینکه “مشترک، تاپیک فوق را دریافت کرده است” نمایش داده می‌شود:

Client mosqsub/22163-raspberry received PUBLISH (d0, q0, r0, m0, 'test', ... (5 bytes)) Hello

استفاده از پروتکل MQTT برای اینترنت چیزها (IOT):

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

به‌عنوان هسته اصلی آداپتور IOT، به دلایلی که در پایین ذکر‌شده، ما یک دستگاه  ESP-12E را بر پایه یک تراشه ESP8266 انتخاب کردیم:

  • اندازه‌ی کوچک
  • هزینه بسیار پایین
  • امکانات وای فای
  • رابط سریال
  • وابسته بودن به یک خانواده بزرگ (که درنتیجه دستگاه به‌راحتی قابل تعویض است.)
  • برنامه‌نویسی ساده به کمک Arduino IDE

سخت‌افزار:

اشکال مهم ESP-12E این است که اتصالات آن از نوع 2.54 نیست. که مانع از اتصال به یک PCB با یک اتصال استاندارد می‌شود. راه‌حل اجراشده در تصویر دو قابل‌مشاهده است. ما یک سیم به هرکدام از پین‌ها لحیم کردیم که خم شدن آن‌ها باعث می‌شود تا با یک هدر 2.54 مواجه شوند. (حداکثر دقت باید اعمال شود. زیرا تلاش برای استفاده از حداقل لحیم‌کاری ممکن است موجب به وجود آمدن اتصالات کوتاه شود که غیرقابل‌بازگشت است.)

ESP-03 می‌تواند به‌صورت متصل یا غیر متصل برنامه‌ریزی شود. البته افزایش حجم، در صورت اتصال حداقل مقدار، ممکن است. همچنین جایگاه عمودی ESP-12E کمک می‌کند تا سطح مورداستفاده PCB کاهش یابد.

پین‌ها باید به مقدار حداقل ممکن برای اپلیکیشن‌ها مورداستفاده قرار گیرند. در تصویر سه، پین‌های خروجی اصلی ESP-12E و آرایش نهایی آداپتور LOT را می‌توانید ببینید. ایضاً می‌بینید که 12 پین هدر مورداستفاده قرار گرفته است.

برای برنامه‌ریزی آداپتور ما به یک فلش USB به‌عنوان مبدل سریال نیاز داریم. با در نظر گرفتن اینکه ESP-12E از جریان برق 3.3V استفاده می‌کند. (و نه 5V) سیگنال‌های Rx و Tx باید با ولتاژ فوق سازگار شود. به این منظور ما از یک کابل FTDI 5V استفاده کردیم و ولتاژ موردنظرمان را تغییر دادیم.

میزان ولتاژ Rx وقتی‌که از کابل FTDI استفاده می‌کنیم باید کاهش یابد. به همین دلیل ما از دو مقاومت تقسیم‌کننده ولتاژ استفاده کردیم. از سوی دیگر سیگنال Tx با استفاده از کابل FTDI باید از 3.3 به 5 ولت افزایش یابد. در تئوری، به این کار نیازی نیست. زیرا 3.3 ولت از 2.5 ولت بالاتر است. ارزش کابل FTDI “1” در نظر گرفته می‌شود. شماتیک دیاگرام فوق را ببینید. بورد فوق به‌راحتی بر روی یک پوسته نصب می‌شود.

نرم‌افزار:

(مواردی که در ادامه ذکر می‌شود تنها برای ESP-01 معتبر است.)

دستگاه‌های ESP-xx  که در این پروژه از آن‌ها نام برده می‌شود، همه از یک کارخانه بوده و به‌وسیله یک پروتکل دستوری مشخص باهم ترکیب شده‌اند.

امکان دوم این است که آن‌ها به یک مترجم زبان LUA مجهز شده‌اند، که البته MQTT را نیز پشتیبانی می‌کنند و پس از چند آزمایش مشاهده شد که به خوبی کار می‌کند.

امکان سوم، استفاده از محیط برنامه‌نویسی آردوینیو (Arduino) به‌طور گسترده است. جهت برنامه‌نویسی بهتر می‌توانید از برنامه ++C به‌عنوان مترجم زبان برنامه‌نویسی استفاده کنید. ما درنهایت این راه را انتخاب کردیم.

فرایندهای زیر را دنبال کنید:

  • نصب نرم افزار Arduino IDE:

از طریق لینک ” https://www.arduino.cc/en/Main/Software” می‌توانید آخرین نسخه نرم‌افزار را یافته و نصب کنید.

  • راه‌اندازی IDE و پیدا کردن کارت سازگار با ESP8266:

نرم افزار Arduino IDE را باز کنید. در قسمت منو این آدرس را دنبال کنید: File–Preferences سپس در باکس Additional Boards Manager URLs  مورد فوق را پیدا کنید:

http://arduino.esp8266.com/versions/2.0.0/package_esp8266com_index.json

نصب کارت سازگار با ESP8266:

در قسمت منو به این آدرس بروید: Tools-Board-Boards Manager، گزینه esp8266 را پیدا کنید و فایل esp8266 by ESP8266 Community را نصب کنید.

در پنجره ای که ظاهر می‌شود به این آدرس بروید: Tools – Board – Generic ESP8266 Module

نصب کتابخانه MQTT:

به این آدرس بروید : Sketch – Include library – Manage Libraries، به دنبال mqtt 8266 بگردید و PubSubClient را نصب کنید.

  • بارگیری و کامپایل کردن طرح ارائه شده mqtt.ino:

جهت توصیف سخت‌افزارها و آپلود طرح، آداپتور IOT را به رایانه متصل کنید برای این کار دکمه‌های  POWER و PROGRAM را بر روی برنامه‌ریز به‌طور همزمان فشار دهید. (توجه داشته باشید که به‌طورمعمول دکمه POWER به‌صورت بسته است.) سپس در ابتدا دکمه POWER و پس‌ازآن دکمه PRGRAM را آزاد کنید. در حال حاضر ESP-01 منتظر دریافت برنامه است. دکمه آپلود را در Arduino IDE فشار دهید. بعد از آن طرح ارسال می‌شود. سپس دکمه POWER  را به‌صورت لحظه‌ای فشار دهید تا برنامه بر روی ESP-03 اجرا شود.

جهت راه‌اندازی نرم‌افزار موارد زیر را دنبال کنید:

  • پس از راه‌اندازی، به روتر متصل شوید. SSID و پسورد آن در قسمت کد نمایش داده می‌شود.
  • سپس، جهت برقراری ارتباط با کارگزار اقدام کنید. آدرس IP آن در قسمت کد مشخص است.
  • جهت دریافت اشتراک از شبکه منتظر بمانید و برای انتشار تاپیک‌ها به سراغ سریال پورت بروید.

ارتباطات با دستگاه‌های عمومی از طریق پورت سریال انجام می‌گیرد که بر اساس یک پروتکل مبتنی بر متن ترکیبی است که در زیر می‌بینید. (برای هر دو Rx و Tx) :

:[Command];[Parameter1];[Parameter2]CRLF

که منظور از هرکدام این‌چنین است:

  • Command : دستورها، پیام‌های استاتوس
  • Parameter1
  • Parameter2 : یک یا دو پارامتر داریم. (بسته به قسمت Command)
  • CRFL : کاراکترهای اسکی 13و 10 که در پایان خط نشان داده می‌شوند.

دستورهایی که از دستگاه عمومی به آداپتور LOT ارسال می‌شوند به این صورت هستند:

:publish;topic;payload

 انتشار یک تاپیک با یک مقدار ارزش‌گذاری مشخص

مثال:

اگر ترموستات دمای اتاق را منتشر کند، کد زیر را ارسال خواهد کرد:

:publish;Floor3/Room2/Temperature;22.3

:subscribe;topic

مشترک شدن در یک تاپیک.

مثال:

یک سیستم تهویه متبوع، به یک سرویس خاموش-روشن مشترک شده است:

:subscribe;Floor3/Room2/AirConditioner

در نتیجه دستورات برگشتی دریافت خواهد شد که در زیر مشاهده می‌کنید.

دستورات از آداپتور LOT به دستگاه‌های عمومی به شکل زیر ارسال می‌شود:

:callback;topic;payload

یک تاپیک با ارزش مشخص دریافت شده است. البته تنها تاپیک‌هایی که از قبل دستگاه با آن‌ها مشترک شده، قابل دریافت هستند.

مثال :

اگر دستگاه تهویه هوایی که قبلاً ذکر شد باید خاموش شود دستور زیر را دریافت خواهد کرد:

:callback;Floor3/Room2/AirConditioner;OFF

پیام های وضعیت:

آداپتورIOT، اطلاعاتی که در مورد پیشامدهای موجود هستند را به دستگاه‌های عمومی ارسال می‌کند. این پیام‌ها، خارج از پروتکل MQTT هستند اما فرمت یکسانی دارند. پیام‌ها عبارتند از:

  • START شروع برنامه ESP-12E به‌صورت بوت
  • WIFI–ON روشن کردن وای فای و برقرار شدن ارتباط با روتر.
  • MQTT-ON روشن شدن MQTT و برقرار شدن ارتباط با کارگزار.
  • MQTT-ERR  خطا در برقراری ارتباط با کارگزار. پس از گذشت 5 ثانیه مجدد تلاش کنید.
  • Error  فرمان ناشناخته دریافت شده است.
  • Ping60 هر 60 ثانیه ارسال می‌شود، به‌عنوان ناظر.

بازبینی:

به‌منظور بررسی عملکرد صحیح آداپتور IOT، آن را از طریق کانال سریال به کامپیوتر متصل کنید. مانند آنچه بر روی Arduino IDE دیده بودید، یک سریال کنسول بر روی کامپیوترتان آغاز بهکار می‌کند. ماژول آداپتور IOT را بدون فشار دادن دکمه  PROGRAM راه‌اندازی کنید. برنامه شروع به کار خواهد کرد و اگر همه‌چیز به‌درستی کار کند، کنسول پیغام زیر را به نمایش می‌گذارد:

:status;Start :status;WiFi_ON :status;MQTT_ON

جهت بررسی اینکه آیا ماژول دستورات را به درستی دریافت می‌کند یا خیر می‌توانیم از یک دستور نامعتبر استفاده کنیم:

در این صورت ماژول باید پیغام زیر را نمایش دهد:

حال ما می‌توانیم کاربری مشترکمان با رزبری پای را آغاز کنیم:

$ mosquitto_sub -d -t test

اگر ما در کنسول IDE کد دستوری زیر را تایپ کنیم:

:publish;test;Hello

در کنسول رزبری پای باید تأییدیه رسیدن پیغام فوق، نمایش داده شود.

همچنین، اگر ما در کنسول IDE کد دستوری زیر را تایپ کنیم:

:subscribe;mytopic

و در کنسول رزبری پای کد زیر را تایپ کنیم:

در کنسول IDE باید کد زیر به نمایش گذاشته شود:

ارتقاء:

یکی از امکان‌ها برای بهبود توانایی، اضافه کردن دستورهای جدید جهت نمایان ساختن روتر ، SSID و پسورد و یا آدرس IP  کارگزار است که به‌جای کدهای ثابت می‌توانند مورداستفاده قرار بگیرند.این پروژه جهت کمک به دیگر مدارها و تبدیل آن‌ها به یک عضو از اینترنت اشیاء (LOT) در نظر گرفته شده است. اما ESP-03 این قابلیت را دارد تا اگر پین‌های (L/O) محدود آن برای یک برنامه خاص کافی باشند، خود به‌عنوان یک ماژول مستقل عمل کند. در غیر این صورت ما به یک ماژول مشابه با تعداد پین بیشتر، مانند ESP-12 نیاز خواهیم داشت.

برنامه‌ها:

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

 

نظرات (0)

هنوز نظری ارسال نشده است

  1. بهتر است نام و نظر خود را فارسی تایپ کنید ( برای انتشار سریع نظر یا افزودن فایل پیوست، باید وارد حساب کاربری خود شوید )
0 کاراکتر
پیوست (0 / 3)
انتشار موقعیت
کد تصویری را وارد کنید
پروژه ها
«
  • PIC micro
  • ARM micro
  • FPGA
  • پروژهPLC-wincc
  • کامپیوتر نرم افزار
  • سخت افزار
  • روباتیک
  • میکروهای قدیمی
  • الکترونیک دیجیتال
  • الکترونیک آنالوگ
  • پروژه matlab
  • #C/C++
  • آردوینو
  • esp8266
  • AVR
»
این پروژه توسط یکی از دوستان ارسال شده و یک ساعت در سایز بزرگ با میکرو pic هستش که میتونه دما و ساعت رو نمایش بده و فایل پروتیوس شماتیک و pcb رو هم داره و نکته مثبت مدار pcb سون سگمنت هستش که با استفاده از led طراحی شده و شما میتونید از همین pcb در مدارات دیگه هم استفاده کنید و خیلی جاها به کار میاد.پروژه مشابه همین با AVR که قبلاً تو سایت قرار داده بودم رو هم میتونید نگاه کنید.سون سگمنت کاتد ...
این برد آموزشی arm رو از توی اینترنت گرفتم که تمام قطعاتش smd و pcb اون نیاز به متالیزه داشت از اونجائی که تو بیشتر شهر های ایران متالیزه نمیکنند تمام قطعاتشو تبدیل به DIP کردم و گذاشتم تو سایت چند تا via زیر میکرو هست که میتونید یک سیم افشان لخت کنید یک رشته از اونو از بالا کج کنید و با کمترین مقدار لحیم بالارو با پائین فیبر اتصال بدید من امتحان کردم جواب داد همان گونه که در تصویر میبینید ...
این برنامه با زبان vhdl نوشته شده و موج pwm را بر اساس عدد وارد شده تولید و به خروجی ارسال میکند.در این برنامه عدد 30 به معنای pwm کامل و 0 به معنای بدون موج خروجی میباشد.پروژه بر اساس ise طراحی شده است و برنامه ise را میتوانید از سایت دانلود نمایید.
این پروژه در مورد ژنراتور بادی می باشد به صورتی که ما در plc ان را شبیه سازی نموده و در حالت های زمان خطای شبکه مقدار توان اکتیو و راکتیو را اندازه گیری نموده و مقدار گشتاور را با توجه به شکل های زیر می توان تغییر داد تا سیستم در یک حالت پایداری در زمان خطای شبکه بتواند به کار خود ادامه دهد این پایان نامه کارشناسی ارشد بوده است و نمونه کار در سایت های دیگر ندارد.
زبان اَسمبلی (Assembly language) یک زبان نزدیک به سخت افزار است که در رابطه ی مستیم با دستورات سخت افزار قرار دارد و در واقع هر معماری با یک زبان اسمبلی خاص خودش شناخته میشود.زبان اسمبلی در هر سخت افزار تعداد دستور متفاوت و اپرندهای مختلفی دارد و دیگر زبانهای سطح بالا بر اساس همین زبان طراحی و نوشته میشوند.
این تقسیم کننده دو عدد 16 بیتی را از ورودی گرفته و حاصل تقسیم را بر اساس خارج قسمت و باقیمانده تقسیم در خروجی نمایش میدهد.الگوریتم تقیسم بر اساس شیفت و تفریق میاشد و هنگامی که عدد خروجی کمترین مقدار را دارد یعنی مقدار باقیمانده از مقدار مقسوم علیه کمتر شود یک کلاک به معنای پایان تقسیم در خروجی ایجاد میکند و علاوه بر آن مقدار باقی مانده و خارج قسمت را در خروجی نمایش میدهد. این پروژه با نرم افزار ...
در این پروژه یک بازوی مکانیکی طراحی و با استفاده از سروو موتور به کنترل آن میپردازیم.بازوی مکانیکی را با استفاده از اتوکد طراحی و با برش لیزر تمام قطعات آن را برش میدهیم و بعد با پیچ و مهره به هم اتصال میدهیم.در این پروژه از 4 عدد سروو موتور برای کنترل تمام بازوی مکانیکی استفاده شده است که به راحتی میتوان قطعات مختلف را با آن جابجا نمود.
میکرو کنترلر AT89C52 از شرکت Atmel یک میکزو کنترلر 8 بیتی از خانواده ی 8051 است که با ساختار CMOS طراحی شده و میتواند تا 24 مگا هرتز سرعت داشته باشد.از جمله امکانات این میکرو میتوان به 32 ورودی و خروجی بودن آن و همچنین 3 عدد تایمر کانتر 8 بیتی و 8 عدد وقفه و همچنین رابط سریال در آن اشاره کرد.برای برنامه نویسی این میکرو میتوان از زبان c و کامپایلر محبوب keil بهره برد البته با bascom ...
الکترونیک دانش مطالعهٔ عبور جریان الکتریکی از مواد مختلف - مانند نیمه‌رساناها، مقاومت‌ها، القاگرها و خازن‌ها - و آثار آن است. الکترونیک همچنین به عنوان شاخه‌ای از فیزیک نظری شناخته می‌شود. طراحی و ساخت مدارهای الکترونیکی برای حل مشکلات عملی، قسمتی از مباحث موجود در مهندسی الکترونیک را تشکیل می‌دهد.
پروژه ضبط و پخش کننده صدا دارای واسط گرافیکی و امکانات پیشرفته با نرم افزار متلب را آماده کردیم.(این پروژه کامل و صد درصد تست شده است)   امکانات و قابلیتهای این پروژه: قابلیت کار با سیگنالهای صوتی تک کاناله، 8 و 16 بیتی قابلیت کار با سیگنالهای صوتی با هر فرکانس نمونه برداری در بازه 8 تا 32 کیلوهرتز امکان ضبط کردن، توقف هنگام ضبط و ادامه ضبط با واسط کاربری امکان تنظیم دقت چندیسازی و ...
در فایل زیر برای تمرین به چند سوال برنامه نویسی به زبان C به شرح زیر پاسخ داده ایم:1-برنامه ای بنویسید که 20 عدد بزرگ 40 رقمی را از وردی گرفته و آنها را صعودی مرتب نماید.2-برنامه ای بنویسید که دو عدد را بدون این که عملیات ضرب یا جمع استفاده نماید یک بار ضرب و یک بار تقسیم نمیاد.3-برنامه ای بنویسید که 20 عدد بزرگ 40 رقمی را از وردی گرفته و آنها را جمع و میانگین بگیرد.4-برنامه ای بنویسید که عددی 60 ...
سنسور DS18B20 به دلیل استفاده از یک سیم برای ارسال دیتا بسیار کاربردی و قابل استفاده در کاربردهای صنعتی است.درجه اطمینان این سنسور نسبت به سنسورهای تک سیمه دیگر بالاست لذا به کار بردن این سنسور در پروژه ای صنعتی توصیه میگردد.سنسور دماسنج DS18B20 از 9 تا 12 بیت محدوده کاری دارد و از نظر سنجش دما -55 درجه سانتی گراد و +125 درجه سانتی گراد می‌باشد. از ویژگی‌های بارز سنسور DS18B20 ارسال اطلاعات ...
ماژول ESP8266 یک ماژول قدرتمند و همه کاره در زمینه ی IOT است که در سالهای اخیر کاربردهای گسترده ای در اینترنت اشیا پیدا کرده و تنها نقطه ضعف این ماژول مصرف بالای ماژول در حدود 100 میلی آمپر و امکانات کم ماژول در حالت اسلیپ است که احتمالا در ورژنهای بعدی توسط سازنده مورد توجه قرار خواهد گرفت.در این پروژه سعی کرده ایم تا یک ماژول کاربردی شبیه به نود ام سیو NodeMCU  طراحی کنیم و با اتصال ...
این دستگاه یک ریموت کنترلر 4 کاناله است، به این معنی که قادر به کنترل ۴ وسیله برقی از راه دور با استفاده از فرستنده ها و گیرنده های رادیویی می باشد.در این پروژه از ماژولهای گیرنده ی ask استفاده شده است که ماژولهایی برای دریافت و دیکد دیتاهای ارسال شده بر اساس مدولاسیون دامنه میباشند.مدولاتور های دامنه هم ازران هستند و هم کم مصرف ولی عیب اصلی آنها نویز شدید روی موج ارسالی است که عملا در فرکانسهای ...
آموزش
«
  • میکروها
  • کامپیوتر سخت افزار
  • کاربردی
  • مکاترونیک
  • الکترونیک دیجیتال
  • الکترونیک آنالوگ
  • برق صنعتی
  • طراحی وب
  • کامپیوتر نرم افزار
  • آموزشmatlab
  • VHDL,VERILOG
  • FPGA
  • #C/C++
  • نرم افزارهای برق
  • اندروید
  • اینترنت اشیاء (IOT)
»
MPLAB یک آی دی ای (IDE) منتشر شده از شرکت میکرو چیپ برای توسعه برنامه بر روی چیپ های PIC میباشد که هم اکنون آخرین ورژن آن با نام MPLAB X منتشر شده است. اگر خود برنامه ی MPLAB X IDE رو نصب کنید فقط می توانید به زبان اسمبلی در این برنامه کد نویسی کنید برای اینکه بتونید به زبان C کد بنویسید باید MPLAB XC8 Compiler رو هم روی سیستم نصب داشته باشید. برای نصب MPLAB x شما باید جاوا را در سیستم نصب داشته ...
برای ثبت اختراع به کجا مراجعه کنیم؟ برای ثبت اختراع باید به اداره کل ثبت شرکت‌ها و مالکیت صنعتی واقع در تهران، خیابان میرداماد، تقاطع بزرگراه مدرس- میرداماد، مراجعه شود .
این پروژه ی تحت عنوان (( ربات مسیر یاب هفت سنسور )) که در سه فصل تهیه شده است ، فصل اول مستندات این پروژه به بررسی تعاریف خاصی که در زمینه رباتیک وجود دارد و همچنین موضوعات مرتبط با آن مانند تاریخچه رباتیک ، انواع رباتها ، دسته بندی رباتها  پرداخته ایم. در فصل دوم کاربرد رباتها و همچنین اجزاء رباتها را مورد بررسی قرار داده ایم. در فصل سوم ، ساختن ربات مسیر یاب ، شرح عملکرد ربات ، توضیحات ...
پس از سال ۲۰۰۰ که با فراگیر شدن اینترنت جهانی و مفهوم دهکده جهانی واژه اینترنت چیزها نیز مطرح شد که هدفش ایجاد یک سیستم یک پارچه با قابلیت کنترل از طریق شبکه بود.اما چالشهای اصلی این ایده شامل امنیت‌ و پیچیدگی سطوح اجرای و بستر نامناسب (اینترنت بستر قابل اطمینانی از نظر اتصال پایدار نیست) و همچنین نبود یک سخت افزار قدرتمند و ارزان با ارتباطی دو طرفه و پایدار با مصرف انرژی پایین که از اهداف اصلی ...
ریموت کنترل ها که به منظور کنترل از راه دور تجهیزات الکترونیکی استفاده می شوند، در بازار به صورت بصورت فیکس کد و لرن کد می باشند که در هر دو نوع این ریموت ها یک دیتای چهاربیتی به طریق کد دهی ارسال می شود. در اینجا به بررسی ویژگی ها و تفاوت های فیکس کد و لرن کد و اینکه کدام بهتر می باشد، می پردازیم.
فایرفاکس مرورگری کدباز، رایگان و انعطاف پذیر برای تمام کاربرانی است که می خواهند ضمن داشتن امنیت در اینترنت، از وب گردی لذت ببرند. معمولاً فایرفاکس انتخاب اول کاربران حرفه ای و البته برنامه نویسان و توسعه دهندگان وب است.
پایتون (Python) یک زبان برنامه نویسی تفسیری ، داینامیک و شی گرا است که می توان از آن در نرم افزار ها و تکنولوژی های متنوع بهره برد . این زبان برنامه نویسی (در ایران پیتون هم تلفظ می شود) با داشتن کتابخانه های گسترده (library)روشهای بسیار قدرتمند و حرفه ای را برای کار با زبانها و ابزار های مختلف به آسانی فراهم می کند. متن باز (اوپن سورس) بوده و یادگیری و استفاده از آن در عرض چند روز ممکن است . کد ...
شاید در نگاه اول یادگیری و کار با شبکه های عصبی رو سخت و زمان بر بدونید. البته منابع و پروژه های اندکی،به زبان فارسی در این رابطه وجود دارد و این خود یادگیری رو یه مقدار دشوار میکنه. در این فیلم آموزشی میخوام در قالب مثالی شما رو با جعبه ابزار شبکه عصبی و کار با شبکه عصبی در نرم افزار متلب آشنا کنم. قطعا اگر با چند مثال آشنا شوید و مراحل کار رو یاد بگیرید درمدت کوتاهی میتونید با شبکه ...
این خودآموز به زبان فارسی نگاشته شده و برای آشنایی مقدماتی با نحو زبان Verilog و توانایی‌های آن مفید است، مخاطب این خودآموز آن دسته از علاقه‌مندانی می‌باشند كه با زبان Verilog‌ آشنایی ندارند.زبان‌های توصیف سخت‌افزار یكی از مهمترین ابزار‌های مدرن طراحی سخت‌افزار‌ها می‌باشد كه كاربرد آنها در صنعت رو به افزایش ‌است به طوری كه امروزه عضو جدا نشدنی فرایند طراحی تا پیاده سازی سخت‌افزار‌های مدرن به شمار ...
نرم افزار ISE Design Suite محصولی از کمپانی Xilinx است که برای بهینه سازی نیرو و هزینه، از طریق بهره وری طراحی بیشتر، تولید شده است است. در واقع ابزارهای طراحی ISE با ارائه ی تکنولوژی هوشمند clock-gating، برای اولین بار، مصرف نیرو را تا سی درصد کاهش داده اند. همچنین این مجموعه نرم افزاری جدید پیشرفت هایی را در رزرو طراحی timing-driven، پشتیبانی برای طراحی plug-and-play و یک جریان طراحی بصری با ...
همان طور که می دانید توسط سوکت ها ما می توانیم میان برنامه ها و نرم افزارهای خود از راه دور ارتباط برقرار کنیم که البته این کار بین کامپیوترهای client و server انجام می شود.کلاینت در حقیقت، خدمات کامپیوتر بزرگتر را درخواست می کند. فرضا این خدمات می تواند شامل جست و جوی اطلاعات و ارسال انها به کلاینت باشد مانند هنگامی که یک پایگاه داده در وب مورد پرس و جو قرار می گیرد. نمونه های دیگری از این ...
سیستمهای کنترلی دستگاههای قدیمی علاوه بر استهلاک بالا و خرابیهای مکرر، راندمان کاری دستگاه را کاهش و زمان توقف و بلا استفاده بودن دستگاه را افزایش میدهند. با تبدیل این سیستمهای قدیمی به کنترلرهای مدرن و جدید علاوه بر اینکه زمان خواب دستگاه و خرابی های مکرر کاهش می یابد، باعث عیب یابی بسیار آسان، هزینه تعمیرات و نگهداری کمتر و افزایش راندمان تولید میشود. از دیگر مزایای این سیستمها ثبت زمان کارکرد ...
رنگ های مختلفی که در طراحی لایه ها استفاده می شود  را می توان از ترکیب RGB یا همان Red Green Blue ایجاد کرد.برای هر رنگ 255 قطره داریم و قصد داریم رنگها را در شکل hex نمایش دهیم. همونطور که میدونید اعداد در مبنای هگزادسیمال به صورت زیر نمایش داده می شوند : 
هر روزه وسایل جدیدی، به اینترنت متصل می‌شوند. ساعت‌های هوشمند نمونه‌ای از این وسایل محسوب می‌شوند. خودروها، سیستم روشنایی خانه‌ها، یخچال‌ها، چراغ‌های راهنمایی و رانندگی، همگی وسایلی هستند که به عنوان یک واحد مستقل به اینترنت افزوده می‌شوند. امروزه کامپیوترها، دیگر الزاماً به آن شکل سنتی که ما می‌شناسیم (صفحه کلید و کیس و مانیتور)‌ نیستند. بلکه در قالب قطعات کوچک، میکروکنترلرها، تراشه‌های ...
مقالات
«
  • کامپیوتر
  • برق-الکترونیک
  • طرح توجیهی
  • گزارش کار آموزی
  • برق قدرت
»
سیستم محاسباتی گرید از گروهی از برنامه ها و منابع که در سراسر ماشینهای گرید گسترده شده اند تشکیل میشود. گرید دارای محیطی پویا و منابع توزیعشده غیرمتمرکز است. یکی از مهمترین موضوعات درزمینهی اجرای کارها در محیط توزیع شده مسئله زمانبندی کارها میباشد، هدف از زمانبندی، واگذاری بهینه و مناسب کارها به وظایف است. زمانبندی جز مسائل NP-Complete میباشد و الگوریتمهای قطعی برای حل اینگونه مسائل مناسب نیستند ...
امــروزه بحران مصرف برق شايد مسئله اي مشكل سـاز براي آينده كشورمـان باشد ، با كاهش و صـرفه جويي در مصـرف برق شايد بتوان نيمي از اين مشكل را حل نمود ، اما با كمي تدبير مي توان كمك بزرگي به آينده و اقتصاد نمود . ساخت دستگاه آنالايزر (VCA005) تنها گامي در بهينه سازي مصرف انرژي مي باشد ، اين دستگاه با آناليز كامل از مصـرف انرژي نموداري بصورت ماكزيمم و مينيمم مصرف در اختيار كاربر قرار مي دهـد ، ...
در این گزارش کارآموزی به مراحل مختلف انجام شده روی شیر خام برای تولید انواع فرآوردهای آن پرداخته شده،همچنین انواع دستگاهای مختلف کارخانه شیر و قسمتهای مختلف این دستگاها(میزان تولید، ظرفیت و...) ذکر شده است. در یک کارخانه شیر انواع و اقسام سنسور ها برای کنترل مراحل مختلف تولید به کار برده میشود. در بخش بعدی این گزارش مهمترین سنسور های به کار رفته در چرخه تولید کارخانه شیر و عملکرد آنها را شرح داده ...
پایان نامه ی پیش رو که در 242 صفحه جمع آوری شده است کاملترین پایان نامه موجود در زمینه ی بررسی تلفات در بخش توزیع و روش های کاهش آن میباشد. شبكه قدرت شامل سه بخش توليد ،انتقال و توزيع نيرو است . انرژي الكتريكي پس از توليد در نيروگاهها و عبور از شبكه هاي انتقال و توزيع به مصرف كنندگان مي رسد در اين مسير مقداري از انرژي بدلايل مختلف تلف مي شود قدمت بحث تلفات در بخش توزیع به اندازه قدمت صنعت برق مي ...