الکترونیک اینترنت اشیا

راه‎اندازی ماژول ارتباط بی‎سیم زیگبی ProBee ZE10

مقدمه

استاندارد زیگبی (ZigBee) یا همان IEEE 802.15.4 یک استاندارد ارتباط بی‌سیم است که هدف آن ایجاد شبکه‌های ارتباطی مبتنی بر حسگر، با نرخ ارسال پایین، توان مصرفی پایین، امنیت و اطمینان بالا و هزینه‌ی پایین است. چندین ماژول ارتباط بی‌سیم‌ بر اساس این استاندارد ساخته شده‌اند که در ادامه به معرفی یکی از آن‌ها خواهیم پرداخت.

با ZE10 آشنا شوید!

ماژول ProBee ZE10 یکی از همین ماژول‎های ارتباط بی‎سیم است که از تکنولوژی زیگبی (ZigBee) بهره می‎برد و می‎تواند به شما این امکان را بدهد که یک شبکه‎ی ارتباطی گسترده و امن ایجاد کنید.

بدیهی است که برای برقراری یک ارتباط بی‎سیم حداقل به دو ماژول نیاز خواهید داشت. برای راه‎اندازی ماژول ZE10 شما باید از قبل با مفاهیم ارتباط سریال و UART آشنایی داشته باشید پس اگر نخستین بار است که با این واژه‎ها مواجه می‎شوید باید در اولین دوربرگردان بپیچید و در مسیر بازگشت به دنبال تابلوی UART بگردید!

ماژول زیگبی ProBee ZE10C ساخت شرکت SENA

ماژول زیگبی ProBee ZE10C ساخت شرکت SENA

حالا فرض می‎کنیم که شما با مفاهیم فوق آشنا هستید و از طرفی چون آه نداشته‎اید که با ناله سودا کنید یا اینکه صرفاً قصد بررسی اولیّه‌ی این ماژول را داشته‌اید، تنها یک عدد ماژول ZE10 تهیه کرده‌اید؛ آن هم مدل ZE10C که آنتن آن به صورت یک چیپ [قطعه‎ی سیاه‎رنگ] بر روی آن تعبیه شده است و برای مصارف با برد کوتاه مناسب است و نیازی به صرف هزینه‎ی اضافی برای خرید آنتن ندارد. البته مدل‌های مختلف این ماژول تفاوتی از لحاظ نحوه‌ی راه‌اندازی ندارند.

دست به کار شوید!

خوب، حالا وقت آن است که آستین‎های خود را بالا بزنید و تکانی به خودتان بدهید.

قبل از این که به ماژول دست (یا حتی پا) بزنید باید الکتریسیته‌ی ساکن نهفته در وجود مبارک خویش را از طریق برقراری تماس با یک جسم فلزی نسبتا بزرگ (مثل یک میز یا صندلی فلزی) تخلیه کنید تا بتوانید با خلوص نیت با این ماژول دوست داشتنی و نسبتاً معصوم کار کنید. همچنین بد نیست بدانید که تمام پایه‎های این ماژول با سطح ولتاژ 3.3 ولت کار می‎کند پس حواستان را خوب جمع کنید که با وارد کردن ولتاژهای بالاتر موجب سوختن و از بین رفتن این موجود باارزش نشوید.

بهتر است قبل از هر اقدام عجولانه نگاهی به آرایش پایه‎های ZE10 بیندازیم:

آرایش پایه‌های ماژول ZE10

آرایش پایه‌های ماژول ZE10

برخلاف آن چیزی که در نگاه اول به نظر می‎رسد، اکثر پایه‎های این ماژول در کارهای مورد نظر ما به هیچ دردی نمی‎خورند و تنها پایه‎های مورد علاقه‎ی ما همان پایه‎های تغذیه یعنی +3v3 و GND و پایه‎های مربوط به ارتباط سریال غیرهمزمان یا همان UART یعنی پایه‎های UART_RXD و UART_TXD است. لازم به ذکر است که تمام پایه‎هایی که نامشان GND است به هم متصل هستند و فرقی نمی‎کند که از کدامشان استفاده‎ می‎کنید.

از آنجا که تشریح عملکرد سایر پایه‎ها از حوصله‎ی این مقاله خارج است، به شما اکیداً توصیه می‎کنم که به دیتاشیت (Datasheet) و دفترچه‎ی راهنمای (User Manual) این ماژول که در سایت شرکت سازنده‎ی آن به صورت PDF برای دانلود قرار داده شده است مراجعه کنید. (البته خودتان به زودی متوجه خواهید شد که مجبورید این کار را بکنید!)

http://www.senanetworks.com/ze10c-00.html?sc=14&category=3978

شما برای کار با این ماژول علاوه بر خلوص نیت به یک پورت سریال نیاز دارید. اگر کامپیوتر (یا همان رایانه‎ی) شما ذاتاً مجهز به پورت سریال است باید خروجی RX و TX آن را به تراشه‎ی SP3232 یا MAX3232 تحویل بدهید تا خروجی 3.3 ولت به شما تحویل دهد همچنین می‎توانید از آی‌سی MAX232 با سطح ولتاژ 5 ولت استفاده کنید.

حواستان باشد که هرگز پورت‏های سریال روی خود کامپیوتر یا لپ‏تاپ را مستقیماً به میکروکنترلرها و ماژول‏ها وصل نکنید چون سطح ولتاژ پورت سریال کامپیوتر که دارای سوکت DB9 است کاملاً با سطح ولتاژ میکروکنترلرها و ماژول‏ها متفاوت است.

در مورد لپ‎تاپ‎ها و کامپیوترهایی که فاقد پورت سریال هستند راه حل آسان‎تری وجود دارد و آن مبدل‎های USB به سریال است که معمولاً سطح ولتاژ آن‎ها 5 ولت یا 3.3 ولت است که به کمک ولت‎متر قابل تشخیص است؛ کافی است سیم سیاه ولت‎متر را به GND و سیم قرمز را به یکی از پایه‎های RX یا TX متصل کنید.

تشخیص سطح ولتاژ پورت سریال به کمک ولت‌متر

تشخیص سطح ولتاژ پورت سریال به کمک ولت‌متر

مبدل USB  به سریال ما (همان بورد کوچک نارنجی‌رنگ!) که فقط با یک آی‌سی CP2102 ساخته شده است، اساساً با 3.3 ولت کار می‌کند اما می‌تواند بدون هیچ مشکلی با پورت‌های سریال 5 ولتی هم کار کند.

همچنین میکروکنترلرهایی که دارای قابلیت UART یا USART هستند نیز می‎توانند با رعایت نکات مربوط به سطوح ولتاژ با این ماژول ارتباط برقرار کنند.

اگر مبدل USB به سریال ما تنها از 5 ولت پشتیبانی کند یا بخواهیم یک میکروکنترلر 5 ولتی یا بورد آردوینو را به ماژول ZE10 متصل کنیم طبق شکل زیر عمل می‎کنیم:

مدار تقسیم ولتاژ برای تبدیل خروجی 5 ولت به 3.3 ولت

مدار تقسیم ولتاژ برای تبدیل خروجی 5 ولت به 3.3 ولت

مشکل بعدی که با آن مواجه می‎شویم این است که فاصله‎ی پایه‎های ZE10 برابر با 2 میلی‌متر است در حالی که فاصله‌ی سوراخ‎های بردبورد 2.54 میلی‌متر است و نمی‎توان ماژول را روی بردبورد جا زد پس سعی می‎کنیم راه‎حل دیگری برای اتصال آن به بردبورد پیدا کنیم و آن هم ساخت کانکتور به وسیله‎ی سیم و وارنیش است!

در صورت استفاده از وارنیش مواظب باشید که حرارت مستقیم به پایه‎های ZE10 منتقل نشود چون ممکن است باعث ذوب شدن قسمت پلاستیکی آن‏ها شود.

پس از اینکه به تعداد کافی کانکتور ساختید می‎توانید ZE10 را از طریق بردبورد به پورت سریال وصل کنید.

اتصال کانکتور به یکی از پایه‌های ZE10

اتصال کانکتور به یکی از پایه‌های ZE10

البته چون من مجبور بودم تا به طور مداوم با این ماژول کار کنم تصمیم گرفتم تا ضمن خرید پین هدر 2 میلی‌متری با فیبر مسی و اسید، یک بُرد تبدیل کوچک برای ZE10 بسازم.

بورد تبدیل برای راه‌اندازی ماژول ZE10

بورد تبدیل برای راه‌اندازی ماژول ZE10

اتصال ZE10 به کامپیوتر از طریق ماژول USB به سریال

اتصال ZE10 به کامپیوتر از طریق ماژول USB به سریال

توجه داشته باشید که RXها و TXها به صورت ضربدری به هم وصل می‌شوند یعنی UART_TXD مربوط به ZE10 به RX مربوط به مبدل USB به سریال و UART_RXD مربوط به ZE10 به TX مربوط به مبدل USB به سریال وصل می‎شود.  همچنین باید GND مربوط به ماژول به GND مربوط به پورت سریال وصل باشد.

مبدل USB به سریال ما دارای خروجی تغذیه‎ی 3.3 ولت است پس نیازی به تغذیه‎ی خارجی نداریم ولی اگر مبدل USB به سریال شما فاقد خروجی تغذیه‎ی 3.3 ولتی بود می‎توانید از قطعه‎ی LF33CV که یک رگولاتور ولتاژ 3.3 ولتی است استفاده کنید.

پایه‌های ماژول USB به سریال

پایه‌های ماژول USB به سریال

شما برای راه‎اندازی ZE10 باید ابتدا آن را پیکربندی کنید مثلاً یک ID برای آن تعریف کنید تا توسط سایر اعضای شبکه شناسایی شود. می‎توانید اطلاعات تکمیلی در مورد پیکربندی ZE10 را در دفترچه‎ی راهنمای ماژول (User Manual) که در سایت شرکت سازنده‎ی این ماژول یعنی www.senaindustrial.com قابل دریافت است پیدا کنید. راه‎اندازی ZE10 از طریق ارتباط سریال و با ارسال دستورات AT Commands است که چون در قسمت اوّل این مقاله قصد تشریح چگونگی پیکربندی ZE10 برای ایجاد شبکه را نداریم شما را به قسمت بعدی این مقاله ارجاع می‎دهم.

آشنایی با نرم‌افزار ProBee Manager

حالا به معرفی برنامه‎ی ProBee Manager می‎پردازیم که به منظور پیکربندی، برقراری ارتباط و ارتقای سفت‎افزار (firmware) این ماژول‎ها طراحی شده است و در سایت شرکت سازنده‎ی ماژول قابل دریافت است:

http://www.senanetworks.com/ze10c-00.html?sc=14&category=3978

فرض می‎کنیم که شما این نرم افزار را دانلود و نصب کرده‎اید. حالا اگر از مبدل USB به سریال استفاده می‎کنید باید ابتدا درایور آن را نصب کنید. برای این کار از طریق Device Manager اقدام کنید:

پنجره‌ی System Properties در ویندوز 8

پنجره‌ی System Properties در ویندوز 8

پنجره‌ی Device Manager

پنجره‌ی Device Manager

اگر درایور مبدل USB به سریال را درست نصب کرده باشید، در Device Manager و در زیرشاخه‎ی Ports می‎توانید نام مبدل و در مقابل آن و در داخل پرانتر، نام پورت سریال (در اینجا COM10) را مشاهده کنید.

وقت آن است که وارد نرم‎افزار ProBee Manager شوید و با امکانات مختلف آن آشنا شوید.

نرم‌افزار ProBee Manager

نرم‌افزار ProBee Manager

پس از ورود به نرم افزار در قسمت Serial Port در بخش Serial line نام پورت سریال را انتخاب کنید و در بخش Flow Control گزینه‎ی None را انتخاب کنید. (بدیهی است قبل از انجام این کارها باید مبدل USB  به سریال به کامپیوتر وصل باشد و ماژول ZE10 هم باید به تغذیه‎ی 3.3 ولت و پایه‎های UART_RXD و UART_TXD به ترتیب به TX و RX پورت سریال وصل باشند.)

پس از اطمینان از صحّت اتصالات، در برنامه‎ی ProBee Manager روی Open کلیک کنید. در صورت برقراری ارتباط موفقیت‎آمیز با ZE10 پیغام زیر ظاهر خواهد شد. (البته محتوای این پیغام چیز دیگری است که درک آن نیاز به این دارد که شما اطلاعات دقیقی در مورد UART داشته باشید ولی به طور کلّی مشاهده‎ی این پیغام با اینکه یک پیغام اخطار است، اتفاق خوبی است!)

پیغام اخطاری که به دلیل تنظیمات پیشفرض ZE10 نمایش داده می‌شود.

پیغام اخطاری که به دلیل تنظیمات پیشفرض ZE10 نمایش داده می‌شود.

پس از برقراری ارتباط، اطلاعات ماژول شما در پنجره‎ی ProBee Manager به شکل زیر ظاهر خواهد شد:

تنظیمات مختلف ماژول ZE10

تنظیمات مختلف ماژول ZE10

پس از تغییر هر یک از مشخصات ماژول باید روی گزینه‎ی Save کلیک کنید و در نهایت گزینه‎ی Reboot را بزنید تا ماژول پیکربندی شود؛ در غیر این صورت تنظیمات شما در ماژول اعمال نخواهد شد.

نرم افزار ProBee Manager بخش دیگری با عنوان Terminal دارد که می‎توانید دستورات AT Commands را در آن وارد کنید و پاسخ ماژول را مشاهده نمایید. ساده‎ترین دستور همان AT است که در صورت تایپ کردن آن و زدن کلید Enter باید پاسخ OK را از طرف ماژول دریافت کنید.

ارسال دستور AT و دریافت پاسخ OK

ارسال دستور AT و دریافت پاسخ OK

در صورتی که از میکروکنترلر برای برقراری ارتباط و پیکربندی ماژول استفاده می‎کنید می‎توانید یک رشته شامل دستورات AT Commands را به ماژول ارسال کنید.

مثلاً در برنامه‌نویسی بوردهای آردوینو (Arduino) به کمک کلاس Serial می‎توانید با نوشتن خط زیر دستور AT را به ماژول ارسال کنید:

Serial.print("AT\r\n");

تابع زیر نیز دقیقا همین کار را انجام می‌دهد با این تفاوت که نیازی نیست شما عبارت \r\n را بنویسید بلکه خود تابع این کار را انجام می‌دهد:

Serial.println("AT");
بیشتر بخوانید
mszn_f

آموزش تصویری و گام به گام راه‌اندازی یک شبکه‌ی زیگبی ساده با ماژول ProBee ZE10

دیدگاه‌های شما (۱۰ دیدگاه)
  1. سلام
    فرق زیگبی سری Z با سری های DRF چیست؟
    با کدام راحتر می توان کار کرد؟

    • سلام، هر کدوم ساخت شرکت های متفاوتی هستند و هر کدوم از تراشه مرکزی متفاوتی استفاده میکنن. ولی سری DRF ارزون تر هستن و کار کردن باهاشون آسونتره.

      • سلام
        بر چ اساسی میگین DRF ها راحت تر هستن ، من ک هیچی نمیتونم روی پورت سریال دریافت کنم

        • با سلام،
          علت اینکه کار کردن با ماژول های DRF ساده تر هست اینه که برای راه اندازی این ماژول ها چندین نرم افزار و سند آموزشی توسط شرکت سازنده تهیه شده که شما میتونید با استفاده از اون ها به سرعت ماژول رو راه اندازی کنید. همچنین دستورات این ماژول خیلی سرراست و قابل فهم هستند. خوشبختانه برخلاف سایر ماژولهای چینی که اسناد و نرم افزارهای مربوط به اونها به زبان چینی هستن، نرم افزارها و اسناد مربطوط به ماژول های DRF به زبان انگلیسی موجود هستند.

          تمام نرم افزارها و فایل هایی که برای راه اندازی ماژولهای DRF مورد نیاز است در این آدرس موجود است:
          http://www.lillyelectronics.com/download/DTK%20Zigbee%20Module%20V57%20English

          اگر طبق مطالب موجود در فایل های راهنما عمل می کنید و همچنان از ماژول هیچ پاسخی دریافت نمی کنید حتما ولتاژ تغذیه ماژول، اتصال گراند، و اتصال پورت سریال را چک کنید. همچنین از یک ماژول USB به سریال قابل اطمینان استفاده کنید و حتما از نصب بودن درایور اون مطمئن بشید.

  2. سلام . ایا در برنامه امکان تغییر دستورات امنیت زیگبی وجود دارد ؟

    لطفاً راهنمایی بفرمایید .

    • سلام،
      بله امکانش وجود داره. در ماژول ZE10 به کمک دستور AT+SECURITY=0 میتونید عناصر امنیتی زیگبی از جمله رمزگذاری AES و اعتبارسنجی رو غیر فعال کنید و با دستور AT+SECURITY=1 میتونید فعالش کنید. تا جایی که میدونم عناصر امنیتی به طور پیش فرض فعال هستند. برای مطالعه بیشتر میتونید به صفحه 30 در ProBee-ZE10 User Guide با عنوان ZigBee Security مراجعه کنید

  3. سلام .
    ایا در برنامه امکان تغیر رمزگزاری وجود دارد ، مثلاً به جایی استفاده از رمزگزاری AES می توان رمز گزاری دیگری را در آن تعریف نمود . با تشکر

  4. سلام،من میخام ماژول زیگبی cc2530 رو راه اندازی کنم، ممنون میشم اگه میتنونید کمکم کنید

    • سلام،
      در مورد ماژول های CC2530 باید عرض کنم که برای راه اندازی همه اونها شما نیاز به پروگرمر CC-Debugger دارید. البته ماژول DRF1605H از این موضوع مستثنی است و راه اندازی اون نیاز به پروگرمر نداره و شما میتونید از طریق پورت سریال اون رو راه اندازی کنید که در کامنت های قبلی به طور مفصل در این مورد بحث شده.
      اما در مورد ماژول هایی که نیاز به پروگرامر دارند شما باید برای تراشه CC2530 که در واقع خودش یک میکروکنترلر است برنامه نویسی کنید که کار پیچیده و زمانبر هست. برای این کار برای باید از Z-Stack استفاده کنید که توسط کمپانی TI که تولید کننده همین تراشه CC2530 هست منتشر شده و به طور رایگان در اختیار همه هست. همچنین تمام فایل های آموزشی هم همراه اون موجود هست اما باز هم عرض می کنم که استفاده از اون خیلی سخته:
      http://www.ti.com/tool/z-stack
      ضمنا برای برنامه نویسی برای این تراشه باید از نرم افزار IAR Embedded Workbench for 8051 استفاده کنید.
      توصیه میکنم اگر حرفه ای این کار نیستید از همون ماژول DRF1605H استفاده کنید.

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