توصیه شده, آموزش کار با ماژول M66, اینترنت اشیاء, کویکتل, نرم افزار eclipse, نرم افزار های الکترونیک

کار با ماژول M66 – قسمت اول – کار با OpenCpu

آموزش کار با ماژول M66

هستند پروژه‌هایی که توی اونها دسترسی مستقیمی به برد نداریم ولی لازم هست که اطلاعاتی رو برای بردمون ارسال یا از اون دریافت کنیم. بهترین راه (و شاید تنها راه) برای اینکار استفاده از ماژول‌های gsm هست، ماژول‌هایی که سیم‌کارت می‌خورند و میتونند به شبکه تلفن همراه متصل بشند، میشه از طریق پیامک با اونها در ارتباط بود و یا زنگ زد بهشون و دستور بهشون داد یا اون زنگ بزنه به ما و حال و احوالش رو بگه?(خارج از شوخی این توی خیلی پروژه‌ها استفاده میشه و جذاب هم هست)، یا توی یه مرحله بالاتر به یک سرور اینترنتی متصل بشند و دیتاها رو برای سرور ارسال کنند. توی ایران اکثراً ماژول‌های gsm رو به ماژول sim800 و هم‌خانواده هاش می‌شناسند ولا غیر، اما مدت زیادی هست که ماژول‌های شرکت کوییکتل هم وارد بازار ایران شدند و امکانات خیلی خوبی هم دارند؛ یکی از اصلی‌ترین این ویژگی‌ها قابلیت OpenCpu بودن این ماژول‌ها هست که به ما این امکان رو می‌ده که کد موردنظرمون رو روی خود ماژول بریزیم و اجرا کنیم و دیگه نیاز به کنترل کننده خارجی نداشته باشیم.

پس با سیسوگ همراه باشید.

 

قابلیت OpenCpu

اگر که دقیق تر به این موضوع نگاه کنیم میبینیم، می بینیم که OpenCpu که خیلی به دردمون میخوره! میتونه هزینمون رو کاهش بده، پیچیدگی طراحی برد رو کم کنه و کدنویسی رو راحت تر کنه (البته اگه بخوبی بتونیم یادش بگیریم) . قبلا توی سایت سیسوگ مطالبی برای کار با ماژول های شرکت کوییکتل نوشته شده که میتونید از اونها استفاده کنید ، یکی از اونها ماژول mc60 بوده که علاوه بر gsm قابلیت gps هم داشته. اما ممکنه توی پروژه ما gps نیاز نباشه ، پس بهتره که از ماژولی که gps نداره و ارزون تر هست استفاده کنیم. توی این سری مطالب میخوایم استفاده از ماژول m66 رو به صورت OpenCpu یاد بگیریم و چندتا پروژه کاربردی هم باهاش انجام بدیم.

شاید برای شما مفید باشد: ساخت کنترل رله پیامکی با ماژول M66 کوییکتل

نرم افزار QNavigator

قبل از اینکه وارد بحث OpenCpu بشیم باید بگم که اگر میخواید با ماژول به صورت at command ارتباط بگیرید میتونید از نرم افزار QNavigator استفاده کنید که در پایین محیط این نرم افزار رو میبینید.

کار با ماژول M66 - قسمت اول - کار با OpenCpu

با کمک نرم افزار qnavigator تست دستورات at command خیلی راحت هست و به تست شما سرعت میده. در پایین مطلب هم لینک داکیومنت های ماژول m66 قرار داده شده که لیست at command ها هم جزو اون هست.

برای کار با OpenCpu در M66 (و مابقی ماژول های کویکتل) شما دوتا روش رو میتونید استفاده کنید. یکی استفاده مستقیم از کامپایلر هست که در این صورت شما IDE ندارید و باید دستورات کامپایل رو در ترمینال وارد کنید و از ادیتور دلخواه خودتون برای ویرایش کدها استفاده کنید ؛ روش دوم استفاده از IDE ایکلیپس هست که میتونید راحت تر کد رو دیباگ و کامپایل کنید ، اما در نهایت هر دو روش یک فایل خروجی به شما میدند که باید اون رو با کمک نرم افزار QFlash و توسط رابط سریال روی ماژول بریزید.

 

استفاده مستقیم از GCC

اول از همه لازم هست که کامپایلر رو از این لینک دانلود و نصب کنیم . اگر که ویندوز 10 داشته باشید احتمالا هنگام نصب کامپایلر با ارور مواجه میشید که لازم هست مراحل زیر رو قبل اون طی کنید:

اول روی اون راست کلیک کرده و گزینه properties رو انتخاب کنید ، بعد از اون توی تب compatibility بخش compatibility mode تیک Run this program in compatibility mode for رو بزنید و ویندوز 7 رو انتخاب کنید (مثل تصویر پایین).

کار با ماژول M66 - قسمت اول - کار با OpenCpu

بعد از اون هم next next و تمام…

با اجرای دستور زیر در cmd میتونید مطمئن بشید که کامپایلر به درستی نصب شده.

 

حالا باید پوشه sdk رو از این لینک دانلود کنید. بعد از اکسترکت کردن چندتا پوشه دارید که شرح مختصرشون در ادامه هست:

  • build/gcc : فریمور ساخته شده توی این پوشه قرار میگیره
  •  custom/main.c : کدها رو داخل این فایل وارد میکنیم
  • example : این پوشه شامل نمونه کد های مختلفی هست که میتونید از اونا استفاده کنید
  • و پوشه های دیگه ای که کاربردشون از اسمشون مشخص هست

برای تست اول کد زیر رو داخل فایل main.c قرار میدیم تا یه چشمک زن ساده داشته باشیم.

 

برای کامپایل فایل MS-DOS رو باز کنید تا یک ترمینال براتون باز بشه حالا دستورات زیر رو وارد کنید تا کامپایل انجام بشه

 

در صورت کامپایل موفقیت آمیز باید چیزی شبیه این رو ببینید

 

اما اگر با این پیغام مواجه نشدید ارور کامپایلر رو میتونید در مسیر build\gcc\build.log مشاهده کنید.

برای آپلود فریمور نرم افزار qflash رو باز میکنیم (فایل نرم افزار داخل پوشه tools در پوشه sdk هست).

کار با ماژول M66 - قسمت اول - کار با OpenCpu

اول از همه فایل app_image_bin.cfg رو از مسیر \build\gcc انتخاب میکنیم بعد پورت سریال و سپس نوع ماژول رو انتخاب میکنیم. حالا تغذیه ماژول رو وصل کرده و پورت uart main اون رو توسط یک ماژول مبدل سریال به سیستم وصل میکنیم. حالا دکمه استارت رو میزنیم بعد از اون پیغام Waiting… نمایش داده میشه که شما باید دکمه پاور ماژول رو نگه داشته تا نرم افزار از حالت waiting در بیاد و شروع به پروگرام ماژول بکنه حالا میتونیم دکمه پاور رو رها کنیم.

در صورت پروگرام موفقیت آمیز با این پیغام مواجه میشید:

کار با ماژول M66 - قسمت اول - کار با OpenCpu

حالا باید تغذیه ماژول رو قطع و دوباره وصل کنیم تا شاهد چشمک زدن سربع led نت لایت باشیم.

برای استفاده از example هایی که توی sdk هست لازم هست که فایل make/gcc/gcc_makefile رو باز کرده و مقدار متغیر C_PREDEF رو تغییر بدید ، مثلا میتونید از این مقدار برای نمونه کد sms استفاده کنید

 

استفاده از eclipse برای OpenCpu ماژول M66

مرحله اول نصب JRE

اول از همه باید jre یا Java Runtime Environment رو نصب کنیم که بتونیم از ایکلیپس که توسط جاوا نوشته شده استفاده کنیم. برای اینکار نسخه 32 بیتی اون رو دانلود میکنیم ، دقت کنید 32 بیتی به دلیل اینکه نسخه ایکلیپس ما هم 32 بیتی هست. با سرچ “دانلود jre 8 32bit” میتونید از سایت های داخلی اون رو دانلود کنید.

بعد از نصب جاوا با اجرای دستور

در cmd میتونیم از نصب اون مطمئن بشیم .

 

مرحله دوم نصب کامپایلر

به صورتی که در بالا توضیح داده شد کامپایلر رو نصب میکنیم

 

مرحله سوم نصب Eclipse

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

ایکلیپس نیازی به نصب نداره و فقط کافیه فایل زیپ رو توی یه پوشه استخراج کنید ، چه بهتر که اون رو توی پوشه Program Files (x86) قرار بدید و یک شورتکات برای استفاده ازش درست کنید.

 

مرحله چهارم پیکربندی Eclipse

بعد از باز کردن نرم افزار پروژه خودمون رو ایمپورت میکنیم (فایل پروژه رو از این لینک میتونید دانلود کنید) ، برای اینکار از منوی file گزینه import رو انتخاب کرده و بعد از قسمت general گزینه Existing project into Workspace رو انتخاب می کنیم.

کار با ماژول M66 - قسمت اول - کار با OpenCpu

بعد از اون هم پروژمون رو انتخاب میکنیم

کار با ماژول M66 - قسمت اول - کار با OpenCpu

 

حالا باید چیزی شبیه این داشته باشید:

کار با ماژول M66 - قسمت اول - کار با OpenCpu

و اگر ندارید از تون گوشه بالا سمت چپ این گزینه رو انتخاب کنید:

کار با ماژول M66 - قسمت اول - کار با OpenCpu

 

و حالا چند تنظیم دیگه که باید انجام بشه

1- گزینه project -> build configurations -> set Active -> Release رو انتخاب میکنیم (اگر گزینه فعال نیست اول از بخش project explorer پروژتون رو روش کلیک کنید تا انتخاب بشه)

2-تنظیم کامپایلر:

روی پروژتون راست کلیک کرده از  properties توی بخش C/C++ Build از قسمت Enviroment محل gcc رو مشخص کنید. (البته اگر محل نصب پیشفرض رو تغییر نداده باشید نیازی نیست کاری بکنید)

کار با ماژول M66 - قسمت اول - کار با OpenCpu

 

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

برای اینکار از منوی project گزینه build project رو انتخاب میکنیم.

کار با ماژول M66 - قسمت اول - کار با OpenCpu

لازم هست که قبل از آپلود فایل خروجی روی ماژول یکسری اطلاعات هم اضافه بشه به فایل خروجی که برای اینکار باید از منوی project-> make target گزینه build رو انتخاب کنیم.

کار با ماژول M66 - قسمت اول - کار با OpenCpu

 

برای ریختن برنامه روی ماژول باید به همون صورتی که در بالا توضیح داده شد از نرم افزار qflash استفاده کرده و فایل app_image_bin.cfg رو که در پوشه Release هست روی ماژول پروگرام کنیم.

 

 

در این بخش میتونید به همه قسمت‌های سری آموزش ماژول m66 دسترسی پیدا کنید:

 

خرید برد و ماژول M66 از فروشگاه سیسوگ:

کار با ماژول M66 - قسمت اول - کار با OpenCpu

 

 

انتشار مطالب با ذکر نام و آدرس وب سایت سیسوگ، بلامانع است.

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

20 دیدگاه در “کار با ماژول M66 – قسمت اول – کار با OpenCpu

  1. Avatar for Armin Armin گفت:

    سلام وقت بخیر. لینکی که برای دانلود sdk و موارد مرتبط با opencpu گذاشتین دیگه در دسترس نیست و هیچ کدوم از فایل ها از سایت Quectel قابل دانلود نیستند. میشه آخرین نسخه رو روی سرور خود سیسوگ بارگذاری کنید؟ ممنونم

    1. Avatar for Mahdi.h   Mahdi.h   گفت:

      سلام. ممنون از توجهتون. لینک ها اصلاح شد.

  2. Avatar for صادق الماسی صادق الماسی گفت:

    ممنون بابت مطالب عالی تون
    خدا قوت
    روی پایه های ماژول m66 (مثلا پایه های مربوط به PCM) در زمان بوت شدن و قبل از راه اندازی برنامه، تعدادی پالس ایجاد می شه که باعث تحریک رله و سایر المان های متصل به این پایه ها می شه، طبق توضیحات خود شرکت، تنظیمات فایل custom_gpio_cfg رو هم در حالات مختلف انجام دادم اما تاثیری نداشت!!! تا حالا با این مشکل مواجه شدید؟؟؟ راه کاری دارید؟ اتصال خازن به خروجی پایه ها هم خیلی تاثیر گذار نبود!

    1. Avatar for Zeus ‌ Zeus ‌ گفت:

      سلام دوست عزیز
      من هم فکر میکنم قبلا چنین مشکلی رو داشتم برخی از پایه ها با مقداردهی custom_gpio_cfg حل شدن و برهی هم متاسفانه نه
      من فکر میکنم احتمالا این موضوع مربوط به فریمور اصلی ماژول هست، من با استفاده از یه بافر سه حالته مشکل رو حل کردم
      به این شکل که بعد از بوت با یه سیگنال بافر رو فعال میکنیم

  3. Avatar for محمد حسن محمد حسن گفت:

    سلام من از شما یک ماژول M66-FB-04از شما خریداری کردم
    ایا نرم افزار و بقیع چیزهاش با این فرق میکنه ؟
    و برای دانلود نرم افزار و داکیومنت ها با مشکل مواجه میشیم وقتی وارد سایت کویکتل میشیم خطای 404 میزنه

  4. Avatar for دانشجو دانشجو گفت:

    سلام من برد m66 رو از سیسوگ خریدم. پورت یو اس بی رو سیستمم نمیشناسه اصلا. روشن میشه برد ولی توی دیوایس منیجر اصلا پورتی شناسایی نمیکنه. mc60 رو وصل میکنم میشناسه. مشکل کجاس؟

    1. Avatar for Mahdi.h   Mahdi.h   گفت:

      قسمت usb فقط برای تغذیه هست
      شما باید با کمک مبدل سریال و پین های rx tx با ماژول ارتباط بگیرید

  5. Avatar for میلاد میلاد گفت:

    آقا فریمور چیه؟ frameware نیست که. firmware هستش.

    1. Avatar for Mahdi.h   Mahdi.h   گفت:

      سلام
      شما پیشنهاد کلمه فارسی بدید تا از اون استفاده کنیم 🙂

  6. Avatar for ktman ktman گفت:

    سلام
    من وقتی که نرم افزار qklash رو باز می کنم این ارور رو میده !!
    ERROR, COPY_APP_FILE, Copy app file APPGS3MDM32A01.bin fail!
    همچنین وقتی که توی ms.dos پیام make clean && make new رو میزنم بازهم ارور میده !
    ضمنا با ویندوز 7 کار می کنم

    1. Avatar for Mahdi.h   Mahdi.h   گفت:

      سلام
      فایلی که باز میکنید اگر درست کامپایل نشده باشه مشخصه qflash ارور میده ، فریمور خود ماژول رو که در قسمت بعد قرار داده شده تست کنید ببینید با اون هم ارور میده یا نه
      در مورد کامپایل هم باید ارورش رو بزارید تا بتونم چک کنم مشکلش رو

  7. Avatar for علی علی گفت:

    سلام در نرم افزار qflash بعد قرار طی مراحله بالا و طی شدن بخشی که برنامه را روی cpu قرار دهد با خطای زیر مواجه می شوم شما می دونید علتش چیه؟
    FAIL, META_FAT_Find_Start_r, [11], Operation timeout

    1. Avatar for Mahdi.h   Mahdi.h   گفت:

      این ارور در زمان پروگرام هست و در نرم افزار پروگرامر نشان داده میشه ؟!
      ابتدا اتصال ماژول از طریق پورت سریال رو چک کنید و مطمئن بشید که بعد از زدن دکمه استارت در نرم افزار پروگرامر ، ماژول رو ریستارت میکنید تا پروگرام شروع بشه

      1. Avatar for علی علی گفت:

        سلام در نرم افزار q flash ابتدا که دکمه start زده می شه و بعد دکمه pwr را در سخت افزار فشار می دهیم پروگرم شروع میشه فایل da و فایل bin را پروگرم می کنه و بعد از گذشت مدتی که داره مراحل پروگرم طی میشه در نرم افزار پروگرم این اتفاق می افته

  8. Avatar for محسن محسن گفت:

    سلام. اگه خواسته باشیم بدون میکرو کنترلر، از open cpu استفاده کنیم. چگونه خود ماژول را پاور کنیم. چون در فایل طراحی برد گفته، باید به پایه PWR پالس داد. بدون میکرو خارجی چطور پالس به پایه PWR بدیم؟

    1. Avatar for Sisoog Os Sisoog Os گفت:

      سلام
      میتونید پایه PWR را به زمین وصل کنید به محض وصل شدن برق روشن میشه

      1. Avatar for محسن محسن گفت:

        اگه دائم زمین باشه بین روشن شدن ماژول و انجام روال عادی و برنامه Open CPU و ریختن Firmware روی Open CPU تداخل رخ نمیده؟
        چون داخل داکیوکنت گفته برای آپدیت کردن برنامه نوشته شده یا همون Firmware باید پایه PWRKEY زمین بشه.

        1. Avatar for Mahdi.h   Mahdi.h   گفت:

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

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

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