توصیه شده, اینترنت اشیاء, Quectel کویکتل

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

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

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

 

قابلیت OpenCpu

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

 

نرم افزار QNavigator

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

با کمک نرم افزار 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 رو انتخاب کنید (مثل تصویر پایین).

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

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

 

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

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

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

 

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

 

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

 

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

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

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

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

حالا باید تغذیه ماژول رو قطع و دوباره وصل کنیم تا شاهد چشمک زدن سربع 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 رو انتخاب می کنیم.

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

 

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

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

 

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

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

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

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

 

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

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

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

 

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

 

 

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

 

 

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

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

بازگشت به لیست

نوشته های مشابه

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

نشانی ایمیل شما منتشر نخواهد شد.

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

  1. محسن گفت:

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

    1. Sisoog Os Sisoog Os گفت:

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

      1. محسن گفت:

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

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

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