کار با ماژول تمام عیار mc60 – قسمت دوم – راه اندازی OpenCPU

کار با ماژول تمام عیار mc60 – قسمت دوم – راه اندازی OpenCPU

کار با ماژول تمام عیار mc60 – قسمت دوم – راه اندازی OpenCPU
کار با ماژول تمام عیار mc60 – قسمت دوم – راه اندازی OpenCPU
در قسمت اول به یکسری اطلاعات کلی ماژول mc60 پرداختیم، با نرم افزار QNavigator کار کردیم و یک هدربرد هم برای کار با ماژول معرفی کردیم. توی این قسمت میخوایم از قابلیت هیجان انگیز OpenCpu ماژول mc60 استفاده کنیم تا پیامک‌های دریافتی رو بخونیم و بر اساس آن کدهایی رو اجرا کنیم. در نهایت هم نتیجه رو به فرستنده پیامک می‌کنیم!

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

 

 

برای راه اندازی ماژول mc60 به صورت OpenCpu شرکت کوئیکتل دو راه پیشنهاد داده که یکی استفاده از Eclipse IDE برای ویرایش کدها و کامپایل کردن، و دیگری ویرایش کدها با یک ادیتور و کامپایل کردن به صورت دستی هست. اما حالا ما میایم و از ویرایشگر Visual Studio Code استفاده می‌کنیم.

در مرحله اول vs code رو نصب می‌کنیم.

سپس کامپایلر GCC رو نصب می‌کنیم که فایل نصبی اون در پیوست موجود هست (به همراه راهنمای نصب).

بعد از نصب، از SDK که برای کار با ماژول آماده شده استفاده می‌کنیم و پوشه اون رو در vs code باز می‌کنیم. (SDK در پیوست موجود هست)

برای این کار از از منوی file-> open folder استفاده می‌کنیم.

راه اندازی OpenCpu ماژول mc60 در ویژوال استادیو

 

 

حالا به کاربرد برخی فایل‌ها و پوشه‌های موجود در sdk می‌پردازیم:

build/gcc: محل ذخیره فریمور تولید شده

custom/main.c: کدهای اصلی ماژول

docs: فایل‌های راهنمای ماژول

example: نمونه کد برای کار با بخش‌های مختلف ماژول

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

تابع proc_main_task تابع شروع برناممون هست

و تابع Ql_Sleep برای تأخیر بر اساس ms هست.

 

حالا برای کامپایل باید داخل پوشه اصلی sdk خودمون یک دستور رو توسط کامند اجرا کنیم. برای این کار میتونید cmd رو باز کرده و به پوشه sdk بیایید یا اینکه فایل MS-DOS رو باز کنید تا cmd در همون پوشه بالا بیاد، حالا دستور

رو اجرا می‌کنیم.

 

اگر که با این پیغام مواجه شدید:

یعنی که هیچ مشکلی وجود نداره!

اما اگر چنین پیغامی نداد یعنی در کد هاتون مشکل دارید. برای پیدا کردن مشکل به فایل build\gcc\build.log مراجعه کرده و ارور مربوطه رو پیدا کنید، به طور مثال این پیغام

نشون دهنده نگذاشتن سمی کالن قبل خط 14 هست.

خب حالا کد ما به درستی کامپایل شده. تغذیه ماژول رو متصل کرده و پورت UART اون رو با یک رابط سریال به سیستم متصل می‌کنیم.

 

برای آپلود کردن فریمور از نرم افزار QFlash استفاده می‌کنیم. (این نرم افزار رو میتونید در پیوست همین مطلب دانلود کنید.)

نرم افزار QFlash برای آپلود کردن فریمور MC60

از بخش 1 فایل app_image_bin.cfg رو از مسیر \build\gcc انتخاب کرده

و در بخش 2 نوع ماژول رو انتخاب می‌کنیم و از بخش 3 پورتی که به ماژول متصل هست انتخاب و گزینه استارت رو می‌زنیم.

 

هنگام نمایش پیغام Waiting…… یک بار ماژول رو خاموش روشن می‌کنیم و بعد پیغام Download … نمایش داده میشه که بعد حدود 35 ثانیه باید این پیغام نمایش داده به شه که نشون دهنده آپلود موفقیت آمیز هست.

پیام آپلود موفقیت آمیز نرم افزار Qflash

بعد یک بار تغذیه ماژول رو قطع و وصل کرده و شاهد چشمک زدن LED روی پایه 47 (NETLIGHT) هستیم.

 

حالا که اولین تستمون رو گرفتیم میریم سراغ کد نویسی به طور کامل‌تر.

برای راه اندازی OpenCpu ماژول MC60 و استفاده از سخت افزارهای ماژول، همچنین کد نویسی راحت‌تر یکسری توابع توسط خود شرکت Quectel تهیه شده که فایلش در پیوست با نام OpenCPU_User_Guide موجود هست، همچنین میتونیم از example های خود sdk استفاده کنیم، اما ما در این قسمت یک برنامه ساده که با دریافت یک sms یک فعالیت ساده انجام داده و نتیجه اون رو ارسال می کنه شروع می‌کنیم.

کدهای ما به این صورت است:

 

خوب، حالا به تشریح کدها می‌پردازیم:

در تابع proc_main_task

ابتدا پورت UART اصلی رو به عنوان دیباگ استفاده می‌کنیم و وضعیت ماژول رو در اون چاپ می‌کنیم:

سپس در یک حلقه While پیغام‌هایی که از هسته ماژول میاد رو بررسی می‌کنیم، ما از یک switch case استفاده کرده و مطابق با پیغام‌های دریافتی میتونیم کدهایی رو اجرا کنیم.

 

مهم‌ترین بخش RIL هست که کار AT_COMMAND ها رو برای ما انجام می‌ده و توسط توابعی که RIL داره میتونیم از امکانات ماژول استفاده کنیم.

 

در خط 121 تا 133 آماده بودن امکان SMS رو بررسی کرده و در صورت آماده بودن یک پیام توسط تابع SMS_TextMode_Send ارسال می‌کنیم که مقدار اول اون شماره‌ای که باید پیام به اون ارسال به شه (تعریف شده در خط 17) و مقدار دوم متن پیام هست.

 

در خط 146 تا 151 دریافت پیام جدید رو بررسی می‌کنیم و در صورت وجود تابع Hdlr_RecvNewSMS رو صدا زده و در پارامتر اول اطلاعات پیام رو ارسال کرده و در پارامتر دوم مشخص می‌کنیم که پیامک تأیید دریافت برای فرستنده ارسال بشه یا نه

 

سپس در خط 66 تا 86 به بررسی پیام دریافتی می‌پردازیم و اگر پیام pin 1 on دریافت شده بود NETLIGHT روشن شده و اگر pin 1 off دریافت شده بود خاموش می‌شود.
سپس اگر ارسال پیامک تأیید فعال بود یک پیامک به شماره‌ای که از آن دستور دریافت شده بود با متن OK ارسال می‌شود.

کار با بخش پیامک به طور کامل‌تر در بخش example های sdk موجود هست و می‌توانید استفاده کنید.

 

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


در قسمت هشتم این سری آموزش نحوه پروگرام توسط نرم افزار eclipse هم توضیح داده شده.

 

 

 

 

 

 

 

3 نفر

پــــســنــدیـده انـد

توجه

Mahdi.h  
Mahdi.h  

علاقه مند به سیستم های امبدد

دیدگاه ها

102 دیدگاه

  • Ali Saboori
    ali saboori
    ۹ مرداد ۱۴۰۱

    سلام و ارادت
    با هر بار پروگرم ماژول mc60 اطلاعاتی که داخل حافظه ی ufs ماژول ذخیره شده بود پاک میشه در صورتی که در مواقعی که از طریق fota آئدیت انجام میشه این اطلاعات از بین نمیره
    آیا این ماژول حافظه ای داره که با پروگرم کردن از بین نره؟
    نمیخوام از حافظه ی خارجی استفاده کنم

  • Ali
    ۲۱ تیر ۱۴۰۱

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

    • Zeus ‌
      Zeus ‌
      ۲۹ تیر ۱۴۰۱

      سلام دوست عزیز
      برای ارسال و خواندن پیامک دستور های مشخصی وجود دارد
      دقیقا چه چیزی رو شما متوجه نشدید که براتون جای سوال داره؟

  • Ali
    ۱۹ تیر ۱۴۰۱

    سلام خسته نباشید
    بنده برنامه اس ام اس اپلود کردم اما زمانی که اس ام اس میدم جوابی دریافت نمیکنم
    متن اس ام اس که میفرستیم پیام خاصی باید باشه؟
    یه توضیحاتی در موردش بدید ممنون میشم

    • Mahdi.h  
      Mahdi.h  
      ۲۰ تیر ۱۴۰۱

      سلام.
      بله داخل مطلب گفته شده که چی باید ارسال کنید:
      “سپس در خط 66 تا 86 به بررسی پیام دریافتی می‌پردازیم و اگر پیام pin 1 on دریافت شده بود NETLIGHT روشن شده و اگر pin 1 off دریافت شده بود خاموش می‌شود.”

  • ابوالفضل خادمی
    PLATFORM
    ۹ تیر ۱۴۰۱

    سلام وقت بخیر من از ماژول MC65 استفاده میکنم و همین برنامه را رو اون اجرا کردم و جواب گرفتم ، اما زمانی که تغییر توی برنامه ایجاد میکنم و از اینتراپت(eint) استفاده میکنم و تایمر(timer) دیگه gpio های من کار نمیکنه دستور های تغییر سطح gpio کار نمیکنن فرضا :

    APP_DEBUG(“\r\n–SET LEVEL OFF–\r\n”)
    Ql_GPIO_SetLevel(PINNAME_DTR, PINLEVEL_HIGH)
    Ql_Sleep(400)

    توی ترمینال عبارت SET LEVEL OFF اجرا میشه اما خروجی مربوطه یک نمیشه درست اینیت کردم اون هیچ مشکلی نداری وقتی تایمر و eint ها رو حذف میکنم درست میشن!!!!

    آیا توی استفاده از پریفرال های مختلف تداخل وجود داره؟ممنون میشم راهنمایی کنید

  • ابوالفضل خادمی
    PLATFORM2019
    ۴ تیر ۱۴۰۱

    سلام وقت بخیر
    در این بخش در حلقه while ما به بررسی آماده بودن ارسال پیام و همچنین در صورت وجود پیام جدید بررسی میشه،از چه طریقی میشه مانند ماژول های simcom بررسی کرد اگر سیمکارت از شبکه خارج شده دوباره ماژول اینیت بشه؟ و همچنین برای دریافت شارژ تابعی وجود داره یا مستقیم باید دستورات at+command را ارسال کرد و پیام برگشتی را بررسی کرد؟

    • Mahdi.h  
      Mahdi.h  
      ۴ تیر ۱۴۰۱

      سلام. توی ماژول های simcom به چه صورت خارج شدن از شبکه رو بررسی میکنید؟
      دریافت شارژ از چه طریقی منظورتون هست؟
      ممنون میشم بیشتر توضیح بدید

      • ابوالفضل خادمی
        PLATFORM2019
        ۴ تیر ۱۴۰۱

        سلام مجدد
        من توی sim800c از طریق دستور ?AT+CREG پاسخی که بر میگردوند در قالب y,x بود که y همیشه صفر بود و x اگر 1 برمی گردوند یعنی متصل به شبکه بود و اگر 2 بود یعنی در حال جستجو و اگر 3 بود یعنی متصل نشده و حالا با توجه به اون میشد برق ماژول را قطع وصل کرد و دوباره sim800 را Init کرد.منظور من این بود.

        راجب شارژ هم توی sim800 از طریق کد های اجرای ussd میتونستیم شارژ سیمکارت را چک کنیم و حالا با توجه به میزان شارژ میتونستیم هشداری برای شارژ بفرستیم و..
        میخواستم بدونم با توابع RIL اینجا تابعی هست بشه میزان شارژ را گرفت یا باید مستقیما با AT+COMMAND و اجرای دستورات ussd با ماژول ارتباط گرفت و میزان شارژ را دریافت کرد

        • Mahdi.h  
          Mahdi.h  
          ۵ تیر ۱۴۰۱

          شما با دستور AT+CGREG? در ماژول MC60 میتونید وضعیت اتصال به شبکه رو بررسی کنید.
          اگر هم که بخواید داخل open cpu این کار رو انجام بدید میتونید از تابع Ql_GPRS_Register استفاده کنید. پیشنهاد میکنم نگاهی به فایل example_tcpclient.c خط 439 بندازید و ببینید که چطور از این تابع کمک گرفته.
          برای ussd هم متاسفانه تابعی وجود نداره و میتونید با کمک تابع Ql_RIL_SendATCmd دستور at command مربوطه رو ارسال کنید ،پیشنهاد میکنم که این لینک رو هم بررسی کنید:
          https://forums.quectel.com/t/mc60-qeng-data-in-opencpu-and-multi-line-data/4945/3

          • ابوالفضل خادمی
            PLATFORM2019
            ۵ تیر ۱۴۰۱

            ممنونم مهندس از وقت و راهنمایی که کردید تشکر

            1
  • دانیال
    ۲۹ اردیبهشت ۱۴۰۱

    سلام لینک دانلود فایل sdk لطف میکنید قرار بدید

    • Mahdi.h  
      Mahdi.h  
      ۱ خرداد ۱۴۰۱

      سلام
      داخل همین فایل بالا هست که برای دانلود قرار داده
      https://dl.sisoog.com/Quectel/MC60%20OpenCPU%20Sisoog.rar

      • فاضل
        ۱۳ خرداد ۱۴۰۱

        سلام. از چه ای سی پاور استفاده کنم خوبه؟

        • Mahdi.h  
          Mahdi.h  
          ۱۳ خرداد ۱۴۰۱

          سلام.
          کاملا بستگی به پروژتون داره ، ورودیتون چند ولته ، باتری دارید یا نه ، مصرف کننده دیگه ای دارید یا نه ، ابعاد چقدر براتون مهمه ، هزینه چطور و …
          اما به طور کلی میتونید از رگولاتور هایی که توی داکیومنت reference design پیشنهاد شده استفاده کنید.

          • فاضل
            ۱۴ خرداد ۱۴۰۱

            سلام.
            ورودی 12 ولت هست و بدون باطری. چندتا رله هم نیاز دارم. چه چیپی مناسبه؟
            تشکر

            0
          • Mahdi.h  
            Mahdi.h  
            ۱۵ خرداد ۱۴۰۱

            میتونید از MIC29302 استفاده کنید

            0
  • طاهره
    ۲۰ اردیبهشت ۱۴۰۱

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

    • Mahdi.h  
      Mahdi.h  
      ۲۰ اردیبهشت ۱۴۰۱

      سلام
      میتونید پین PWRKEY رو مستقیم به زمین وصل کنید

  • سید محمد موسوی
    ۲۴ اسفند ۱۴۰۰

    سلام موقع فلش کردن با نرم افزار Qflash تایم اوت میگیرم بعد از 30 ثانیه.

    FAIL, COM:3, FlashToolError:2006, S_BROM_CMD_STARTCMD_TIMEOUT

    کسی این مشکل رو نداشته؟

    • Mahdi.h  
      Mahdi.h  
      ۲۲ فروردین ۱۴۰۱

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

  • ِDavood
    ۱۱ بهمن ۱۴۰۰

    سلام
    خسته نباشید بابت مطالب خوبتون
    ببخشید این ماژول برای روشن شدن حتما نیاز به تریگر کردن پایه PWRKEY داره یا نه؟
    یعنی میشه تا برق ماژول وصل شد خودش روشن بشه بدون این که این پایه تحریک بشه؟

    • Sisoog Os
      Sisoog Os
      ۱۱ بهمن ۱۴۰۰

      سلام میتونید با اتصال همین پایه PWRkey به زمین وقتی برق وصل میشه کاری کنید که خودکار ماژول روشن بشه

  • Babak Salmani
    babak salmani
    ۱۱ آبان ۱۴۰۰

    سلام
    بعد از متصل شدن به اینترنت و گرفتن ip هیچکدوم از دستورات MQTT اجرا نمیشه و توی ترمینال به صورت At-Command پاسخ +CME ERROR: 100 رو دریافت میکنم.در انتها هم log ترمینال رو میتونید ببینید. ممنون میشم اگر راهنمایی بفرمایید.

    Serial port COM8 opened
    AT

    OK
    AT+CPIN?

    +CPIN: READY

    OK
    AT+CREG?

    +CREG: 0,1

    OK
    AT+CGREG?

    +CGREG: 0,1

    OK
    AT+QIMODE=0

    OK
    AT+QICSGP=1,”mcinet”

    OK
    AT+QIREGAPP

    OK
    AT+QICSGP?

    +QICSGP: 1

    OK
    AT+QIACT

    OK
    AT+QILOCIP

    21.44.26.101
    AT+QMTOPEN=0,”tb-srv.abreman.ir”,”1883″

    +CME ERROR: 100

    • Babak Salmani
      babak salmani
      ۱۱ آبان ۱۴۰۰

      Serial port COM8 opened
      AT

      OK
      AT+CPIN?

      +CPIN: READY

      OK
      AT+CREG?

      +CREG: 0,1

      OK
      AT+CGREG?

      +CGREG: 0,1

      OK
      AT+QIMODE=0

      OK
      AT+QICSGP=1,”mcinet”

      OK
      AT+QIREGAPP

      OK
      AT+QICSGP?

      +QICSGP: 1

      OK
      AT+QIACT

      OK
      AT+QILOCIP

      21.44.26.101
      AT+QMTOPEN=0,”tb-srv.abreman.ir”,”1883″

      +CME ERROR: 100
      Serial port COM8 closed

    • Mahdi.h  
      Mahdi.h  
      ۱ آذر ۱۴۰۰

      سلام
      میتونید آخرین قسمت آموزش که مربوط به بحث mqtt هست رو بررسی کنید.
      احتمالا مشکل شما به این خاطر هست که آخرین نسخه فریمور رو روی ماژول نریختید

  • امیرحسین
    ۲۶ شهریور ۱۴۰۰

    سلام وقت شما بخیر
    در بیشتر دیتاشیت هایی که از ماژول mc60 در فضای نت هست در بین پروتکل های ارتباطی پروتکل mqtt و ssl هم ذکر شده
    اما در دیتاشیتی که در فروشگاه قرار داده شده MQTT بین پروتوکول‌های ارتباطی نیست
    تصور من این است که مسئله به فرمور دستگاه مرتبط میشه و در همه مدل‌های mc60، امکان استفاده از این پروتوکول وجود داشته باشه
    با توجه به اهمیت MQTT در مباحث IOT ،
    براتون امکان داره برای امتحان یک خط از دستورات AT command مربوط به mqtt رو تست بگیرید که فقط ببینیم میشناسه یا ارور میده؟

    مثلا :. ?=AT+QMTCFG
    ممنون از آموزش‌های ارزشمندتون

    • Sisoog Os
      Sisoog Os
      ۲۹ شهریور ۱۴۰۰

      سلام دوست عزیز
      بله MC60 این امکان را داره و این دستور کار میکنه

      • امیرحسین
        ۲۹ شهریور ۱۴۰۰

        لطف کردید ،خداقوت

  • رسول فرشباف
    ۶ شهریور ۱۴۰۰

    سلام بنده هم به مشکل ارور cmd برای کامپایل میخورم gcc هم نصب کردم ممنون میشم راهنمایی کنید
    C:\Users\Ertebatat\Desktop\MC60\OpenCPU\MC60_OpenCPU_GS3_SDK_V1.3>make clean && make new
    process_begin: CreateProcess(NULL, “C:\Program Files (x86)\CodeSourcery\Sourcery_CodeBench_Lite_for_ARM_EABI/bin/cs-rm.exe” -f build\gcc\obj/custom/config/custom_sys_cfg.o build\gcc\obj/custom/config/sys_config.o build\gcc\obj/ril/src/ril_alarm.o build\gcc\obj/ril/src/ril_atResponse.o build\gcc\obj/ril/src/ril_audio.o build\gcc\obj/ril/src/ril_bluetooth.o build\gcc\obj/ril/src/ril_custom.o build\gcc\obj/ril/src/Ril_dtmf.o build\gcc\obj/ril/src/ril_ftp.o build\gcc\obj/ril/src/ril_gps.o build\gcc\obj/ril/src/ril_http.o build\gcc\obj/ril/src/ril_init.o build\gcc\obj/ril/src/ril_location.o build\gcc\obj/ril/src/ril_network.o build\gcc\obj/ril/src/ril_ntp.o build\gcc\obj/ril/src/ril_sim.o build\gcc\obj/ril/src/ril_sms.o build\gcc\obj/ril/src/ril_system.o build\gcc\obj/ril/src/ril_telephony.o build\gcc\obj/ril/src/ril_urc.o build\gcc\obj/ril/src/ril_util.o build\gcc\obj/example/example_adc.o build\gcc\obj/example/example_alarm.o build\gcc\obj/example/example_audio.o build\gcc\obj/example/example_bluetooth.o build\gcc\obj/example/example_call.o build\gcc\obj/example/example_clk.o build\gcc\obj/example/example_csd.o build\gcc\obj/example/example_download_epo.o build\gcc\obj/example/example_dtmf.o build\gcc\obj/example/example_eint.o build\gcc\obj/example/example_file.o build\gcc\obj/example/example_float_math.o build\gcc\obj/example/example_fota_ftp.o build\gcc\obj/example/example_fota_http.o build\gcc\obj/example/example_ftp.o build\gcc\obj/example/example_gpio.o build\gcc\obj/example/example_gps.o build\gcc\obj/example/Example_gps_iic.o build\gcc\obj/example/example_http.o build\gcc\obj/example/example_iic.o build\gcc\obj/example/example_location.o build\gcc\obj/example/example_memory.o build\gcc\obj/example/example_multitask.o build\gcc\obj/example/example_multitask_port.o build\gcc\obj/example/example_pwm.o build\gcc\obj/example/example_sms.o build\gcc\obj/example/example_spi.o build\gcc\obj/example/example_system.o build\gcc\obj/example/example_tcp_demo.o build\gcc\obj/example/example_tcpclient.o build\gcc\obj/example/example_tcpserver.o build\gcc\obj/example/example_time.o build\gcc\obj/example/example_timer.o build\gcc\obj/example/example_transpass.o build\gcc\obj/example/example_udpclient.o build\gcc\obj/example/example_udpserver.o build\gcc\obj/example/example_watchdog.o build\gcc\obj/example/nema_pro.o build\gcc\obj/example/utility.o build\gcc\obj/custom/main.o build\gcc\obj/custom/fota/src/fota_ftp.o build\gcc\obj/custom/fota/src/fota_http.o build\gcc\obj/custom/fota/src/fota_http_code.o build\gcc\obj/custom/fota/src/fota_main.o build\gcc/build.log build\gcc/APPGS3MDM32A01.bin build\gcc/APPGS3MDM32A01.elf, …) failed.
    make (e=2): The system cannot find the file specified.
    make: *** [clean] Error 2
    1 file(s) copied.
    make.exe[1]: Entering directory C:/Users/Ertebatat/Desktop/MC60/OpenCPU/MC60_OpenCPU_GS3_SDK_V1.3'
    make.exe[1]: Leaving directory
    C:/Users/Ertebatat/Desktop/MC60/OpenCPU/MC60_OpenCPU_GS3_SDK_V1.3′

    • Zeus ‌
      Zeus
      ۷ شهریور ۱۴۰۰

      دوست عزیز من ویندوز ندارم – از لاگ شما معلومه که داره کامپایل انجام میشه ولی احتمالا فایلی رو پیدا نکرده که این خطا رو دریافت کردید – اجازه بدید من یه سیستم ویندوزی ست آپ کنم ببینم متوجه میشم مشکل شما چی میتونه باشه !!!
      در ضمن بهتره این کارها رو توی ویندوز انجام ندید 🙂

    • Zeus ‌
      Zeus
      ۷ شهریور ۱۴۰۰

      خوب الان من موفق نشدم تولز کامپایل رو روی ویندوز ۱۰ نصب کنم دقیقا فایل arm-2012.09-63-arm-none-eabi.exe که توی فایل های زیپ هست رو میگم – شما این تولز رو چطور نصب کردید ؟ آیا ویندوز شما ده هست ؟ آیا همین تولز رو نصب کردید؟
      اگر پاسخ بدید بتونیم به جواب برسیم خوبه – ظاهرا دوستان زیادی این مشکل رو دارند.

    • Babak Salmani
      babak salmani
      ۷ شهریور ۱۴۰۰

      سلام
      بنده هم این مشکل رو داشتم و بعد از چند روز کلنجار رفتن توی ویندوز 10 متوجه شدم که این خطا در زمان کامپایل توسط gcc داده میشه و به ورژن کامپایلر gcc مربوط هستش. ورژن کامپایلری که من نصب کرده بودم آخرین ورژن بود و این خطا رو داشتم. شما باید همون ورژن 2012 (ورژن 4.7.2) که خود شرکت کویکتل در پوشه SDK داده رو نصب کنید. دلیلش هم برمیگرده به تنظیماتی که در زمان ایجاد فایل خروجی تعریف شده و آدرس محل نصب کامپایلری که خود شرکت داده با نسخه های دیگه gcc متفاوت هستش.

      • Zeus ‌
        Zeus
        ۷ شهریور ۱۴۰۰

        خوب دقیقا سوال من اینه که چطور ورژن ۲۰۱۲ رو روی ویندوز ده نصب کردید – موقع نصب خطا میده و میگه از طریق GUI قابل نصب نیست !
        یعنی شما الان همین ورژن ۲۰۱۲ رو روی ویندوز ۱۰ نصب کردید – زحمت بکشید بگید چطور این ورژن رو روی ویندوز ده نصب کنم !
        دوم اینه که توی cmd خروجی دستور زیر رو بهم بدید

        arm-none-eabi-gcc --version

        • Babak Salmani
          babak salmani
          ۷ شهریور ۱۴۰۰

          بله درسته ورژن 2012 به صورت پیش فرض روی ویندوز 10 قابل اجرا نیست ولی میشه با کلیک راست کردن روی فایل arm-2012.09-63-arm-none-eabi و وارد شدن به Properties و قسمت Compatibility تیک قسمت Compatibility mode رو بزنیم و روی Windows 7 دسترسی اجرا شدن رو بدیم.
          این هم از ورژن:

          C:\Program Files (x86)\CodeSourcery\Sourcery_CodeBench_Lite_for_ARM_EABI\bin>arm-none-eabi-gcc –version

          arm-none-eabi-gcc (Sourcery CodeBench Lite 2012.09-63) 4.7.2
          Copyright (C) 2012 Free Software Foundation, Inc.
          This is free software; see the source for copying conditions. There is NO
          warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

          • Zeus ‌
            Zeus
            ۷ شهریور ۱۴۰۰

            خوب بسیار عالی – بذارید من ببینم میتونم مشکل رو بفهمم – شاید مشکل از این روش نصب باشه
            فقط یه سوال دیگه الان آدرس این فایل توی path سیستم هست یا برای اجرا شدنش باید مسیر کامل رو بزنید ؟
            یعنی اگر دقیقا بعد از اجرای کامند لاین دستور ریر را بزنید اجرا می شود ؟

            arm-none-eabi-gcc --version

            یا باید حتما آدرس کامل رو بزنید ؟

            0
        • Babak Salmani
          babak salmani
          ۷ شهریور ۱۴۰۰

          arm-none-eabi-gcc (Sourcery CodeBench Lite 2012.09-63) 4.7.2
          Copyright (C) 2012 Free Software Foundation, Inc.
          This is free software; see the source for copying conditions. There is NO
          warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

          • Babak Salmani
            babak salmani
            ۷ شهریور ۱۴۰۰

            در صورتی که توی Path آدرس زیر رو اعمال کرده باشید میتونید توی cmd دستور arm-none-eabi-gcc –version بدون مورد خاصی اجرا کنید. ولی اگر در path اضافه نکردید توی cmd اول باید وارد دایرکتوری زیر بشید تا دستوری که گفتید رو بهتون پاسخ بده.

            C:\Program Files (x86)\CodeSourcery\Sourcery_CodeBench_Lite_for_ARM_EABI\bin

            0
          • Zeus ‌
            Zeus
            ۷ شهریور ۱۴۰۰

            اینو میدونم – میخوام شرایط سیستم شما رو بدونم چیه !
            چقدر ویندوز سخته کار کردن باهاش :/یادم رفته بود –
            دارم به جواب میرسم احتمالا – فقط به من بگید که توی پد اضافه کردید یا نکردید – توی سیستم خودتون

            0
          • Babak Salmani
            babak salmani
            ۷ شهریور ۱۴۰۰

            توی path اضافه کردم. قطعا به جواب می رسید

            0
          • Zeus ‌
            Zeus
            ۷ شهریور ۱۴۰۰

            جواب رو ارسال کردم – توی یه کامنت جداگونه – ببینید کار میکنه

            0
    • Zeus ‌
      Zeus
      ۷ شهریور ۱۴۰۰

      من الان با ویندوز ده چک کردم و مشکلی ندیدم – ببنید کارهایی که کردم رو به شکل مرحله به مرحله میذارم اینجا که بتونیم با هم چک کنیم.
      اول فایل MC60 OpenCPU Sisoog.rar را دانلود کردم. از این فایل زیپ یک پوشه و یک فایل رو استخراج میکنیم.

      اول فایل زیر رو از فایل خارج میکنیم :
      MC60\OpenCPU\arm-2012.09-63-arm-none-eabi.exe
      کلیک راست کنید روی فایل و گزینه properties را انتخاب کنید بعد از آن در سربرگ Compatibility تیک Compatibility mode را بزنید و گزینه windows 7 را انتخاب کنید. هنگام نصب دقت کنید که تیک اضافه کردن به path را انتخاب کرده باشید.
      وقتی که نصب تمام شد از منوی start کامندپرامت را باز کنید با تایپ (cmd) ، اول چک میکنیم cs-rm در سیستم نصب شده یا نه برای این کار دستور زیر را در کامند پرامت بنویسید باید
      cs-rm --version
      و خروجی باید به شکل زیر باشد :

      rm (Sourcery CodeBench Lite 2012.09-63) 5.94
      Copyright (C) 2006 Free Software Foundation, Inc.
      This is free software. You may redistribute copies of it under the terms of
      the GNU General Public License .
      There is NO WARRANTY, to the extent permitted by law.

      Written by Paul Rubin, David MacKenzie, Richard Stallman, and Jim Meyering.

      بعد از آن دستور زیر را وارد کنید
      arm-none-eabi-gcc --version
      و خروجی باید به شکل زیر باشد

      arm-none-eabi-gcc (Sourcery CodeBench Lite 2012.09-63) 4.7.2
      Copyright (C) 2012 Free Software Foundation, Inc.
      This is free software; see the source for copying conditions. There is NO
      warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

      بعد از آن مطمين شوید فایل در مسیر زیر نصب شده باشد – این مورد مهمه چون آدرس دهی میشه (مسیر پیش فرض)
      C:\Program Files (x86)\CodeSourcery\Sourcery_CodeBench_Lite_for_ARM_EABI

      بعد از چک کردن موارد بالا – پوشه MC60_OpenCPU_GS3_SDK_V1.3 را در مسیر دلخواه از فایل زیپ خارج کنید، برای تست من در مسیر داکیومنت قرار دادم که آدرس ان به شکل زیر است
      C:\Users\\Documents\MC60_OpenCPU_GS3_SDK_V1.3
      در کامند پرامت که قبلا باز کرده بودیم دستور زیر را وارد میکنیم
      cd C:\Users\\Documents\MC60_OpenCPU_GS3_SDK_V1.3
      بعد به سادگی بنویسید
      make new
      که همه چیز خوب پیش خواهد رفت و خروجی به شکل زیر خواهید داشت

      1 file(s) copied.
      make.exe[1]: Entering directory
      C:/Users/admin/Documents/MC60_OpenCPU_GS3_SDK_V1.3'
      - Building build\gcc\obj/custom/config/custom_sys_cfg.o
      - Building build\gcc\obj/custom/config/sys_config.o
      - Building build\gcc\obj/ril/src/ril_alarm.o
      - Building build\gcc\obj/ril/src/ril_atResponse.o
      - Building build\gcc\obj/ril/src/ril_audio.o
      - Building build\gcc\obj/ril/src/ril_bluetooth.o
      - Building build\gcc\obj/ril/src/ril_custom.o
      - Building build\gcc\obj/ril/src/Ril_dtmf.o
      - Building build\gcc\obj/ril/src/ril_ftp.o
      - Building build\gcc\obj/ril/src/ril_gps.o
      - Building build\gcc\obj/ril/src/ril_http.o
      - Building build\gcc\obj/ril/src/ril_init.o
      - Building build\gcc\obj/ril/src/ril_location.o
      - Building build\gcc\obj/ril/src/ril_network.o
      - Building build\gcc\obj/ril/src/ril_ntp.o
      - Building build\gcc\obj/ril/src/ril_sim.o
      - Building build\gcc\obj/ril/src/ril_sms.o
      - Building build\gcc\obj/ril/src/ril_system.o
      - Building build\gcc\obj/ril/src/ril_telephony.o
      - Building build\gcc\obj/ril/src/ril_urc.o
      - Building build\gcc\obj/ril/src/ril_util.o
      - Building build\gcc\obj/example/example_adc.o
      - Building build\gcc\obj/example/example_alarm.o
      - Building build\gcc\obj/example/example_audio.o
      - Building build\gcc\obj/example/example_bluetooth.o
      - Building build\gcc\obj/example/example_call.o
      - Building build\gcc\obj/example/example_clk.o
      - Building build\gcc\obj/example/example_csd.o
      - Building build\gcc\obj/example/example_download_epo.o
      - Building build\gcc\obj/example/example_dtmf.o
      - Building build\gcc\obj/example/example_eint.o
      - Building build\gcc\obj/example/example_file.o
      - Building build\gcc\obj/example/example_float_math.o
      - Building build\gcc\obj/example/example_fota_ftp.o
      - Building build\gcc\obj/example/example_fota_http.o
      - Building build\gcc\obj/example/example_ftp.o
      - Building build\gcc\obj/example/example_gpio.o
      - Building build\gcc\obj/example/example_gps.o
      - Building build\gcc\obj/example/Example_gps_iic.o
      - Building build\gcc\obj/example/example_http.o
      - Building build\gcc\obj/example/example_iic.o
      - Building build\gcc\obj/example/example_location.o
      - Building build\gcc\obj/example/example_memory.o
      - Building build\gcc\obj/example/example_multitask.o
      - Building build\gcc\obj/example/example_multitask_port.o
      - Building build\gcc\obj/example/example_pwm.o
      - Building build\gcc\obj/example/example_sms.o
      - Building build\gcc\obj/example/example_spi.o
      - Building build\gcc\obj/example/example_system.o
      - Building build\gcc\obj/example/example_tcp_demo.o
      - Building build\gcc\obj/example/example_tcpclient.o
      - Building build\gcc\obj/example/example_tcpserver.o
      - Building build\gcc\obj/example/example_time.o
      - Building build\gcc\obj/example/example_timer.o
      - Building build\gcc\obj/example/example_transpass.o
      - Building build\gcc\obj/example/example_udpclient.o
      - Building build\gcc\obj/example/example_udpserver.o
      - Building build\gcc\obj/example/example_watchdog.o
      - Building build\gcc\obj/example/nema_pro.o
      - Building build\gcc\obj/example/utility.o
      - Building build\gcc\obj/custom/main.o
      - Building build\gcc\obj/custom/fota/src/fota_ftp.o
      - Building build\gcc\obj/custom/fota/src/fota_http.o
      - Building build\gcc\obj/custom/fota/src/fota_http_code.o
      - Building build\gcc\obj/custom/fota/src/fota_main.o
      ----------------------------------------------------
      - GCC Compiling Finished Sucessfully.
      - The target image is in the 'build\gcc' directory.
      ----------------------------------------------------
      make.exe[1]: Leaving directory
      C:/Users/admin/Documents/MC60_OpenCPU_GS3_SDK_V1.3'

      • آرمین آذرخش
        آرمین آذرخش
        ۵ شهریور ۱۴۰۱

        سلام خسته نباشید
        تمام مراحل گفته شده رو انجام دادم ولی موقع کامپایل کردن، کامپایل نمیشه و این رو در cmd نمایش میده:
        ——————-
        clean finished.
        ——————-
        1 file(s) copied.
        make.exe[1]: Entering directory C:/Users/armin/Desktop/MC60_Project/MC60_OpenCPU_GS3_SDK_V1.3'
        make.exe[1]: Leaving directory
        C:/Users/armin/Desktop/MC60_Project/MC60_OpenCPU_GS3_SDK_V1.3′
        و درون فایل build.log ارور زیر رو میده:
        /usr/bin/sh: -c: line 1: syntax error near unexpected token ('
        /usr/bin/sh: -c: line 1:
        if not exist build\gcc (md build\gcc)’
        make.exe[1]: *** [CreateDir] Error 2
        make: *** [all] Error 2

        لطفا راهنمایی کنید

        • Mahdi.h  
          Mahdi.h  
          ۶ شهریور ۱۴۰۱

          سلام
          کامپایلر رو تست کردید که نصب شده باشه به درستی ؟
          یک بار دیگه sdk رو اکسترکت کنید و دوباره تست کنید

  • Babak Salmani
    babak salmani
    ۱ شهریور ۱۴۰۰

    با عرض سلام
    در خصوص راه اندازی ماژول از طریق sdk و برنامه Eclipse خدمتتون عرض کنم که ورژن Eclipse که خود شرکت داده پایین هستش و در ویندوز 10 قابل اجرا نیست. از اونجایی که برای راه اندازی و استفاده از ورژن جدید باید Plug-in خاصی روی Eclipse نصب بشه تا کامپایلر GCC بر اساس اون فایل خروجی رو کامپایل کنه لطف بفرمایید توضیح بدید که در صورتی که شخص نخواد از اون فایل SDK استفاده کنه و خودش یه پروژه ای رو ایجاد کنه چه مراحلی باید طی بشه و چه تغییراتی باید در Eclipse اعمال کنیم. با تشکر

  • علیرضا
    ۱۸ مرداد ۱۴۰۰

    با سلام و تشکر، من به تازگی کار با ماژول های کویکتل رو شروع کردم
    میخواستم بدونم که ایا میشود که با ماژول موسیقی پلی کرد ، به عنوان مثال موسیقی از طریق سرور دریافت شود و از طریق پایه های اسپیکر روی ماژول پلی شود!!!!
    ماژولی که خریدم ec200t هست
    با تشکر

    • Mahdi.h  
      Mahdi.h  
      ۱۴ تیر ۱۴۰۱

      سلام
      ماژول ec200t که شما تهیه کردید ، قابلیت اجرای کد روی خودش رو نداره و باید یه کنترلر خارجی براش بزارید که در اون صورت دیگه دلیلی هم برای استفاده از خود ماژول برای پخش صدا نیست! شما میتونید از این ماژول فقط برای دریافت موسیقی از اینترنت استفاده کنید.
      ساخت نمونه آفلاین این پلیر شما رو در این قسمت آموزش دادیم (البته با mc60):
      https://sisoog.com/2021/04/02/کار-با-ماژول-تمام-عیار-mc60-قسمت-پنجم-سا/

  • علی محمدی
    علی محمدی
    ۷ مرداد ۱۴۰۰

    سلام وقت بخیر -تشکر از تیم سیسوگ بابت این حجم فعالیت در حوژه اموزش
    میخاستم لطف کنین یک ویدیو از ابتدا نصب کامپایلر GCC و همچنین استفاده از SDK پیشنهادی رو در پیوست این اموزش قرار بدید …
    متاسفانه من تا جایی که دانشش رو داشتم نرم افزار هارو نصب و SDK رو در VC باز کردم و مراحلی که گفته بودین رو طی کردم ولی نتیجه ای نداشت و تماما به ارور بر میخورم …
    چه در قسمت کامپایل کد نمونه چشک زن
    و چه در قسمت محیط CMD …
    ممنون از شما

  • Ali Saboori
    ali saboori
    ۱۷ تیر ۱۴۰۰

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

  • Ali Saboori
    ali saboori
    ۱۷ تیر ۱۴۰۰

    سلام

  • behzad
    ۸ تیر ۱۴۰۰

    سلام
    ممنون از سیسوگ و تیم خوبتون
    من قسمت اول آموزش که چشمک زن بود رو ریختم روی برد
    وقتی make new کردم . success داد و qflash هم پاسخ pass داد و همه چی اوکی بود.
    فقط وقتی تغذیه رو قطع و وصل کردم و ماژول رو روشن کردم . led مثل حالت defult روشن خاموش میشه. اومدم و delay خاموش و روشن رو 5000 میلی ثانیه کردم که مطمئن بشم. ولی باز هم led مثل حالت defult روشن خاموش میشه.
    حتی آموزش دوم که sms بود رو هم ریختم روی ماژول. ولی اون هم کار نمیکنه.
    از کجا بفهمم مشکل چیه ؟

    • Mahdi.h  
      Mahdi.h
      ۵ مرداد ۱۴۰۰

      باسلام
      تنها نکته ای که به نظر میرسه این هست که شما فایل رو درست انتخاب نکرده باشید!
      میتونید دستورات AT رو برای ماژول ارسال کنید اگر که پاسخ داد احتمال زیاد فایل رو اشتباه انتخاب کردید یا درست پروگرام نشده

  • Ali Saboori
    ali saboori
    ۷ تیر ۱۴۰۰

    سلام و خداقوت
    در نرم افزار qflash بنده پورت مبدلی که به سیستم متصل کردم رو نمایش نمیده
    داخل دیوایس منیجر بعنوان پورت ۴ شناخته شده ولی داخل نرم افزار Qflash فقط پورت ۵ و ۶ نمایش داده میشه
    دلیلش چیه؟

    • Sisoog Os
      Sisoog Os
      ۱۴ تیر ۱۴۰۱

      سلام احتمال داره این پورت و دیوایس امضای ویندوز را نداشته باشه
      اینجور مواقع یک علام زرد رنگ روی اون پورت نشون داده میشه

  • میلاد صبری
    Milad Sabri
    ۲۴ خرداد ۱۴۰۰

    سلام. ببخشید ماژول های UG95 و UC200T که ماژول های 3G هستند نیز از openCPU بهره مند هستند یا خیر ؟ داکیومنت کامل opencpu رو از چه جایی میشه پیدا کرد؟

    • Sisoog Os
      Sisoog Os
      ۱ تیر ۱۴۰۰

      UC200 , و EC200 ها ندارند
      توصیه نمیکنم اصلا از UG استفاده کنید چون از نظر قیمتی همین الانش هم گرونتر از ماژول 4G درمیاد و البته بزودی مثل UC15 فکر کنم دیگه تولید نخواهد شد
      کلا بهتره 3 جی را بیخیال شید و برید سراغ 4 جی

      • Milad
        ۲ تیر ۱۴۰۰

        ممنونم از شما، در ماژول های 4G مدلی که Open CPU رو پشتیبانی کنه وجود داره؟

        • Sisoog Os
          Sisoog Os
          ۳ تیر ۱۴۰۰

          در حال برنامه ریزی روی اون هستند انشاله بزودی خواهیم داشت
          مدلهای EC25 هم هم اکنون یک لینوکس داخلی دارند با قابلیتی به نام Quecopen

          • میلاد صبری
            Milad Sabri
            ۵ تیر ۱۴۰۰

            سپاس

            0
  • محمد سجاد تواضعی
    محمد سجاد تواضعی
    ۱۴ آبان ۱۳۹۹

    سلام. وقت بخیر. ممنون بابت آموزش خوبتون.

    ولی یک مشکل!!

    من برنامه دوم شما رو وقتی پروگرم کردم، دیگه نمیتونم با Qnavigator کار کنم. فکرکنم پورت سریال باز مونده باشه. الان اگه من بخوام با Qnavigator کد ارسال کنم، باید چکار کنم؟ ممنون از پاسخ شما.

    • Sisoog Os
      Sisoog Os
      ۱۴ آبان ۱۳۹۹

      سلام
      وقتی برنامه میریزید روش و نیاز هست به حالت اول برگرده باید برنامه پیش فرض را روی ماژول بریزید

      • محمد سجاد تواضعی
        ۱۴ آبان ۱۳۹۹

        ممنون از شما. ولی برنامه پیش فرض رو از کجا باید بگیرم؟

      • محمد سجاد تواضعی
        ۱۴ آبان ۱۳۹۹

        ممنون. متوجه شدم. همون فایل main.c که اول قرار داده بودین،و بعد ما ویرایشش کردیم رو ریختم و خوب شد. خیلی خیلی ممنونم از آموزش های خوبتان.

        • Sisoog Os
          Sisoog Os
          ۱۵ آبان ۱۳۹۹

          خب خدا رو شکر مشکل حل شد

        • محمد سجاد تواضعی
          محمد سجاد تواضعی
          ۱۷ آبان ۱۳۹۹

          سلامی دوباره. البته فایل پیش فرض خود شرکت، فایل QUECTEL03D_M2M_11C_BB.cfg میباشد که داخل پوشه Default mode of MC60 میباشد و در همین فایل ضمیمه ای که عزیزان سیسوگ قرار داده اند، وجود دارد.
          فایلی که قبلا گفته بودم(main.c پیش فرض)، وقتی پروگرم میشد، در نرم افزار qnavigator، نمیتونستیم پیامک ارسال کنیم و ارور میداد.
          خواستم گفته باشم شاید به درد دوستان بخوره.ممنون از همه.

          • Sisoog Os
            Sisoog Os
            ۱۷ آبان ۱۳۹۹

            ممنون از شما

            0
  • Morteza
    ۲۸ مهر ۱۳۹۹

    با درود و سپاس از مطالب بسیار عالی شما.
    آیا MC60 قابلیت دماسنج هم دارد که از سنسور خارجی استفاده نکنیم….
    لطفا راهنمایی بفرمایید….

    • Sisoog Os
      Sisoog Os
      ۲۸ مهر ۱۳۹۹

      سلام نه متاسفانه دوست عزیز
      بخصوص اگر شما قرار باشه دمای خارجی را سنس کنید باید از سنسوری استفاده کنید که ترجیحا موارد دمایی روی برد تاثیر نداشته باشه
      یکی از بهترین گزینه ها سنسورهای دمای I2C هست که میتونید به ماژول متصل کنید

  • Saba
    ۱ مهر ۱۳۹۹

    سلام وقت بخير
    ببخشيد من موقع نصب كامپايلر gccبرام پيغام Installer User Interface Mode Not Supported مياد
    ممنون ميشم راهنماييم كنيد بايد چطور نصبشو كامل انجام بدم

    • Hamsa
      ۲ دی ۱۳۹۹

      احتمالا از ویندوز 10 استفاده میکنین!
      برای حل این مشکل باید روی فایل نصبی کامپایلر راست کلیک کنین و در properties از زیر منو compatibility و در compatibility mode تیک run this program… رو بزنین و زبونه باز شو همان قسمت windows7 رو انتخاب کنین

  • DigiMaster
    ۲۶ شهریور ۱۳۹۹

    با سلام و تشکر از این آموزش عالی

    آیا با OpenCPU این قابلیت وجود داره که برای مثال با غیرفعال بودن SD memory card، از پایه های مربوطه به عنوان GPIO استفاده کرد؟ آیا دسترسی مستقیم به همه پایه های ماژول داریم؟

    • Sisoog Os
      Sisoog Os
      ۲۶ شهریور ۱۳۹۹

      سلام
      دوست عزیز یه سری پایه ها و پروتکل ها هست که داخل دیتاشیت هم اومده و شما دسترسی کامل برای کار با اونها دارید
      حتی پروتکل هایی مثل I2C SPI هم هستند که به راحتی میتونید استفاده کنید.

  • سیدعلی علائی طباطبائی
    ۲۹ تیر ۱۳۹۹

    با سلام و تشکر از مطالب خیلی مفید و آموزنده تون
    یک سوالی که داشتم حدود مصرف ماژول توی حالت idle چقدر باید باشه؟
    چون طبق چیزی که من در مستندات ماژول دیدم توی حالت معمول 13 میلی آمپر و حالت sleep حدود 1.2 میلی آمپر باید جریان بکشه
    طبق اندازه گیزی های من حدود 100 میلی آمپر مصرف توان و با رفتن تو حالت sleep تغییر محسوسی احساس نمی کنم
    توی ۲ مد at و open cpu تست کردم و هر دو جا اینطوری بوده
    ممنون می شم اگه راهنمایی کنید چه نکاتی رو باید در نظر بگیرم که در نظر نگرفتم

    • Sisoog Os
      Sisoog Os
      ۱ مرداد ۱۳۹۹

      سلام دوست عزیز مدارتون را حتما بررسی کنید
      در حالت اسلیپ هم باید جی پی اس را خاموش کنید و هم قسمت جی اس ام را به حالت اسلیپ ببرید
      مصرف اون با رعایت همه موارد به زیر 5 میلی امپر میاد

  • علیرضا
    ۳۰ فروردین ۱۳۹۹

    درود بر سروران گرامی:
    من با eclips کار کردم با release مشکل داره اما با تارگت debug درسته.نمیدونم براچی.
    حالا با debug میخوام make->target ,و Build کنم نمیشه واین خطا رو میده

    12:57:47 **** Build of configuration Debug for project OpenCPU_SDK ****
    “G:\\Folder\\programs\\software electronic\\Compailer\\MC60 OpenCPU Sisoog\\MC60\\OpenCPU\\MC60_OpenCPU_GS3_SDK_V1.3_Eclipse\\MC60_OpenCPU_GS3_SDK_V1.3_Eclipse\\make\\GFH_Generator.exe” “G:\\Folder\\programs\\software” “electronic\\Compailer\\MC60” OpenCPU “Sisoog\\MC60\\OpenCPU\\MC60_OpenCPU_GS3_SDK_V1.3_Eclipse\\MC60_OpenCPU_GS3_SDK_V1.3_Eclipse\\Debug\\APPGS3MDM32A01.bin”

    error:parameter numbers must be 2!

    12:57:47 Build Finished (took 133ms)

    سپاس فراوان

    • Zeus ‌
      زئوس Zeus
      ۳۰ فروردین ۱۳۹۹

      برای رفع این خطا تمام تنظیمات دیباگ رو به حالت ریلیز نیز منتقل کنید
      جز فلگ بهینه سازی کد (اپتیمایز)

      • علیرضا
        ۳۰ فروردین ۱۳۹۹

        سپاس
        مشکل make build رو چکار کنم:
        error:parameter numbers must be 2!

        • Zeus ‌
          زئوس Zeus
          ۳۰ فروردین ۱۳۹۹

          متن کامل خطا رو می نویسید ؟

          • علیرضا
            ۳۱ فروردین ۱۳۹۹

            G:/Folder/programs/software electronic/Compailer/M66_OpenCPU_GS3_SDK_V2.4_Eclipse_3/M66_OpenCPU_GS3_SDK_V2.4_Eclipse/make/make –no-print-directory post-build
            copy /y G:\Folder\programs\software electronic\Compailer\M66_OpenCPU_GS3_SDK_V2.4_Eclipse_3\M66_OpenCPU_GS3_SDK_V2.4_Eclipse\libs\app_image_bin.cfg G:\Folder\programs\software electronic\Compailer\M66_OpenCPU_GS3_SDK_V2.4_Eclipse_3\M66_OpenCPU_GS3_SDK_V2.4_Eclipse\Debug\app_image_bin.cfg
            The system cannot find the file specified.
            make[1]: [post-build] Error 1 (ignored)

            0
          • Zeus ‌
            زئوس Zeus
            ۱ اردیبهشت ۱۳۹۹

            خوب باید مسیر ها رو هم دونه دونه اصلاح کنید
            فکر میکنم راحت ترین کار این باشه که پروژه رو توی همون حالت دیباگ بذارید ولی توی تنظیمات پروژه برید و بگید اطلاعات دیباگ رو ایجاد نکنه
            در حالت دیباگ فلگ اپتیمایز روی Og هست که تغییرش بدید مثلا به Os یا O2

            0
          • علیرضا
            ۳۱ فروردین ۱۳۹۹

            Description Resource Path Location Type
            Symbol ‘main_task_id’ could not be resolved ril_urc.c ‪/OpenCPU_SDK_M66/ril/src‬ line 217 Semantic Error
            مهندس جان این خطا رو هم میده
            این چجوری رفع میشه؟

            0
          • Zeus ‌
            زئوس Zeus
            ۱ اردیبهشت ۱۳۹۹

            اون راهی رو که عرض کردم رو برید جلو

            0
  • علیرضا
    ۲۷ فروردین ۱۳۹۹

    درود.برشما.
    آیا حافظه داخلی داره برا ذخیره ؟

    • Sisoog Os
      Sisoog Os
      ۲۷ فروردین ۱۳۹۹

      بلی داره یه حافظه کمی برای کد و حتی ذخیره کردن اطلاعات داره

      • علیرضا
        ۲۷ فروردین ۱۳۹۹

        مقدارش چقدره ؟تو هر ماژول فرق میکنه .آیا M10 ،Open cpu داره؟داکویمنت ها مقدار زده؟

        • Sisoog Os
          Sisoog Os
          ۲۸ فروردین ۱۳۹۹

          داخل داکیومنت ها هست 320 کیلو برای کد و 120 کیلو File system

          • علیرضا
            ۲۸ فروردین ۱۳۹۹

            سپاس فراوان.تمام ماژول ها open cpu دارن ؟یا اینه با حرف خاصی تو پارت نامبر مشخص میشه که کدوم ماژول داره؟

            0
          • Sisoog Os
            Sisoog Os
            ۲۹ فروردین ۱۳۹۹

            نه این قابلیت حدیدا اضافه شده و بخاطر قابلیتهایی هست که هسته های اونها دارند
            باید دقیق ماژول را بررسی کرد آیا داره یا نه

            0
  • امیر
    ۱۵ اسفند ۱۳۹۸

    سلام،ممنون از آموزش های خوبتون،چطور میشه سمپل هایی که میزنیم رو در فرمت example مثل خوده فایلsdk ذخیره کرد؟؟

    • Mahdi.h  
      Mahdi.h
      ۲۲ اسفند ۱۳۹۸

      سلام
      شما باید در همون پوشه example یک فایل با نام دلخواهتون بسازید ، بعد در ابتدای فایلتون مثل بقیه سمپل ها یک شرط به این صورت بنویسید “#ifdef __MY_EXAMPLE__” و در انتهای فایل هم این شرط رو ببندید.
      حالا برای استفاده از اون داخل فایل “make/gcc/gcc_makefile” در خط 21 اسمی که برای سمپلتون مشخص کردید رو وارد کنید مثلا به این صورت میشه “C_PREDEF=-D __MY_EXAMPLE__”

  • محمود
    ۱۳ اسفند ۱۳۹۸

    بنام آفریننده ماه و مهر
    سلام : این لینک را عوض کردم باز جواب مثل قبل می باشد.
    کجا مشکل دارد یا چه مرحله ای اجرا نشده یا … .
    این کد خروجی است که بنا به جوابتان نام پوشه از mc60_1 ==> MC60 OpenCPU Sisoog.rar تغییر دادم و برنامه را کامپایل کردم.

    Microsoft Windows [Version 6.1.7601]
    Copyright (c) 2009 Microsoft Corporation. All rights reserved.

    C:\Users\mahmood\Desktop\MC60 OpenCPU Sisoog.rar\GS3_SDK_V2.3>make clean && make
    new
    process_begin: CreateProcess(NULL, “C:\Program Files (x86)\CodeSourcery\Sourcery
    _CodeBench_Lite_for_ARM_EABI/bin/cs-rm.exe” -f build\gcc\obj/custom/config/custo
    m_sys_cfg.o build\gcc\obj/custom/config/sys_config.o build\gcc\obj/ril/src/ril_a
    larm.o build\gcc\obj/ril/src/ril_atResponse.o build\gcc\obj/ril/src/ril_audio.o
    build\gcc\obj/ril/src/ril_bluetooth.o build\gcc\obj/ril/src/ril_custom.o build\g
    cc\obj/ril/src/ril_dtmf.o build\gcc\obj/ril/src/ril_ftp.o build\gcc\obj/ril/src/
    ril_http.o build\gcc\obj/ril/src/ril_init.o build\gcc\obj/ril/src/ril_location.o
    build\gcc\obj/ril/src/ril_network.o build\gcc\obj/ril/src/ril_ntp.o build\gcc\o
    bj/ril/src/ril_sim.o build\gcc\obj/ril/src/ril_sms.o build\gcc\obj/ril/src/ril_s
    ystem.o build\gcc\obj/ril/src/ril_telephony.o build\gcc\obj/ril/src/ril_urc.o bu
    ild\gcc\obj/ril/src/ril_util.o build\gcc\obj/example/example_adc.o build\gcc\obj
    /example/example_alarm.o build\gcc\obj/example/example_audio.o build\gcc\obj/exa
    mple/example_bluetooth.o build\gcc\obj/example/example_call.o build\gcc\obj/exam
    ple/example_clk.o build\gcc\obj/example/example_csd.o build\gcc\obj/example/exam
    ple_download_epo.o build\gcc\obj/example/example_dtmf.o build\gcc\obj/example/ex
    ample_eint.o build\gcc\obj/example/example_file.o build\gcc\obj/example/example_
    float_math.o build\gcc\obj/example/example_fota_ftp.o build\gcc\obj/example/exam
    ple_fota_http.o build\gcc\obj/example/example_ftp.o build\gcc\obj/example/exampl
    e_gpio.o build\gcc\obj/example/Example_gps_iic.o build\gcc\obj/example/example_h
    ttp.o build\gcc\obj/example/example_iic.o build\gcc\obj/example/example_location
    .o build\gcc\obj/example/example_memory.o build\gcc\obj/example/example_multitas
    k.o build\gcc\obj/example/example_multitask_port.o build\gcc\obj/example/example
    _pwm.o build\gcc\obj/example/example_sms.o build\gcc\obj/example/example_spi.o b
    uild\gcc\obj/example/example_system.o build\gcc\obj/example/example_tcp_demo.o b
    uild\gcc\obj/example/example_tcpclient.o build\gcc\obj/example/example_tcpserver
    .o build\gcc\obj/example/example_time.o build\gcc\obj/example/example_timer.o bu
    ild\gcc\obj/example/example_transpass.o build\gcc\obj/example/example_udpclient.
    o build\gcc\obj/example/example_udpserver.o build\gcc\obj/example/example_watchd
    og.o build\gcc\obj/example/main1.o build\gcc\obj/example/nema_pro.o build\gcc\ob
    j/example/utility.o build\gcc\obj/custom/main.o build\gcc\obj/custom/fota/src/fo
    ta_ftp.o build\gcc\obj/custom/fota/src/fota_http.o build\gcc\obj/custom/fota/src
    /fota_http_code.o build\gcc\obj/custom/fota/src/fota_main.o build\gcc/build.log
    build\gcc/APPGS3MDM32A01.map build\gcc/APPGS3MDM32A01.bin build\gcc/APPGS3MDM32A
    01.elf, …) failed.
    make (e=2): The system cannot find the file specified.
    make: *** [clean] Error 2
    1 file(s) copied.
    make.exe[1]: Entering directory C:/Users/mahmood/Desktop/MC60 OpenCPU Sisoog.ra
    r/GS3_SDK_V2.3'
    make.exe[1]: Leaving directory
    C:/Users/mahmood/Desktop/MC60 OpenCPU Sisoog.rar
    /GS3_SDK_V2.3′

    C:\Users\mahmood\Desktop\MC60 OpenCPU Sisoog.rar\GS3_SDK_V2.3>

    با تشکرات فراوان

  • محمود
    ۱۲ اسفند ۱۳۹۸

    به نام آفریننده جان و خرد.
    سلام
    هر کار می کنم فایل کامپایلر نمی شه و خطای زیر دارد. اشکال کار کجاست. کامپایلرgcc را هم نصب کردم همچنین برنامه را داخل vc code باز کردم و فایل main.c را تغییر دادم به چشمک زن لطفا در صورت امکان بصورت فیلم انیمیشن نشان دهید .
    Microsoft Windows [Version 6.1.7601]
    Copyright (c) 2009 Microsoft Corporation. All rights reserved.

    C:\Users\mahmood\Desktop\mc60_1\GS3_SDK_V2.3>make clean && make new
    process_begin: CreateProcess(NULL, “C:\Program Files (x86)\CodeSourcery\Sourcery
    _CodeBench_Lite_for_ARM_EABI/bin/cs-rm.exe” -f build\gcc\obj/custom/config/custo
    m_sys_cfg.o build\gcc\obj/custom/config/sys_config.o build\gcc\obj/ril/src/ril_a
    larm.o build\gcc\obj/ril/src/ril_atResponse.o build\gcc\obj/ril/src/ril_audio.o
    build\gcc\obj/ril/src/ril_bluetooth.o build\gcc\obj/ril/src/ril_custom.o build\g
    cc\obj/ril/src/ril_dtmf.o build\gcc\obj/ril/src/ril_ftp.o build\gcc\obj/ril/src/
    ril_http.o build\gcc\obj/ril/src/ril_init.o build\gcc\obj/ril/src/ril_location.o
    build\gcc\obj/ril/src/ril_network.o build\gcc\obj/ril/src/ril_ntp.o build\gcc\o
    bj/ril/src/ril_sim.o build\gcc\obj/ril/src/ril_sms.o build\gcc\obj/ril/src/ril_s
    ystem.o build\gcc\obj/ril/src/ril_telephony.o build\gcc\obj/ril/src/ril_urc.o bu
    ild\gcc\obj/ril/src/ril_util.o build\gcc\obj/example/example_adc.o build\gcc\obj
    /example/example_alarm.o build\gcc\obj/example/example_audio.o build\gcc\obj/exa
    mple/example_bluetooth.o build\gcc\obj/example/example_call.o build\gcc\obj/exam
    ple/example_clk.o build\gcc\obj/example/example_csd.o build\gcc\obj/example/exam
    ple_download_epo.o build\gcc\obj/example/example_dtmf.o build\gcc\obj/example/ex
    ample_eint.o build\gcc\obj/example/example_file.o build\gcc\obj/example/example_
    float_math.o build\gcc\obj/example/example_fota_ftp.o build\gcc\obj/example/exam
    ple_fota_http.o build\gcc\obj/example/example_ftp.o build\gcc\obj/example/exampl
    e_gpio.o build\gcc\obj/example/Example_gps_iic.o build\gcc\obj/example/example_h
    ttp.o build\gcc\obj/example/example_iic.o build\gcc\obj/example/example_location
    .o build\gcc\obj/example/example_memory.o build\gcc\obj/example/example_multitas
    k.o build\gcc\obj/example/example_multitask_port.o build\gcc\obj/example/example
    _pwm.o build\gcc\obj/example/example_sms.o build\gcc\obj/example/example_spi.o b
    uild\gcc\obj/example/example_system.o build\gcc\obj/example/example_tcp_demo.o b
    uild\gcc\obj/example/example_tcpclient.o build\gcc\obj/example/example_tcpserver
    .o build\gcc\obj/example/example_time.o build\gcc\obj/example/example_timer.o bu
    ild\gcc\obj/example/example_transpass.o build\gcc\obj/example/example_udpclient.
    o build\gcc\obj/example/example_udpserver.o build\gcc\obj/example/example_watchd
    og.o build\gcc\obj/example/main1.o build\gcc\obj/example/nema_pro.o build\gcc\ob
    j/example/utility.o build\gcc\obj/custom/main.o build\gcc\obj/custom/fota/src/fo
    ta_ftp.o build\gcc\obj/custom/fota/src/fota_http.o build\gcc\obj/custom/fota/src
    /fota_http_code.o build\gcc\obj/custom/fota/src/fota_main.o build\gcc/build.log
    build\gcc/APPGS3MDM32A01.map build\gcc/APPGS3MDM32A01.bin build\gcc/APPGS3MDM32A
    01.elf, …) failed.
    make (e=2): The system cannot find the file specified.
    make: *** [clean] Error 2
    1 file(s) copied.
    make.exe[1]: Entering directory C:/Users/mahmood/Desktop/mc60_1/GS3_SDK_V2.3'
    make.exe[1]: Leaving directory
    C:/Users/mahmood/Desktop/mc60_1/GS3_SDK_V2.3′

    C:\Users\mahmood\Desktop\mc60_1\GS3_SDK_V2.3>

    با تشکرات فراوان.

  • مهدی احمدی
    ۱۹ بهمن ۱۳۹۸

    سلام
    لینک این فایل MC60 OpenCPU Sisoog.rar نیومده.

    سپاس

    • Zeus ‌
      زئوس Zeus
      ۲۰ بهمن ۱۳۹۸

      لینک رو من الان چک کردم مشکلی نداشت

  • احسان
    ۱۷ بهمن ۱۳۹۸

    با سلام
    ممنون بابت مطلب بالا
    document های مربوط به OpenCPU ماژول M66 رو از کجا میشه دریافت کرد؟ من داخل سایت خود شرکت هم چیزی نتونستم پیدا کنم

    • Nasim Hematian
      electronic girl
      ۱۹ بهمن ۱۳۹۸

      سلام دوست عزیز
      لینک M66 Hardware design :
      https://www.quectel.com/UploadImage/Downlad/Quectel_M66_Hardware_Design_V1.2.pdf
      موفق باشین

      • احسان
        ۱۹ بهمن ۱۳۹۸

        ممنون از پاسختون
        اگر تو این فایل یکبار کلمه OpenCPU رو پیدا کردین به من هم نشون بدین. اصلا در موردش اشاره هم نشده. فک میکنم به خود شرکتش باید ایمیل بزنم

        • Zeus ‌
          زئوس Zeus
          ۲۰ بهمن ۱۳۹۸

          فایل های مربوطه رو به انتهای مقاله پیوست کردیم که میتونید دانلود کنید.
          داکیومنت هاش هم همراهش هست

    • Zeus ‌
      زئوس Zeus
      ۲۰ بهمن ۱۳۹۸

      سلام دوست عزیز
      فایل انتهایی همین پست رو دانلود کنید – توی اسمش هم ذکر شده opencpu
      تمام فایل های مربط به راه اندازی و راهنمای اون داخل همون فایل هست

  • محمد صادق
    ۱۶ بهمن ۱۳۹۸

    Perfect

  • محمود
    ۱۴ بهمن ۱۳۹۸

    به نام خالق متعال :
    با سلام بر همگی
    خیلی خوشحالم که قسمت دوم این ماژول را گذاشتید .
    لطفا یک کیت آموزشی مناسب برای اینگونه open cpu ها نیز معرفی نمایید. ممنون می شوم.
    ونیز برنامه ای برای کار با ماژول های هوش مصنوعی (AI) شرکت چینی مثل sc66 و معرفی دیگر ماژول های آن که خودم در کاتالوگ های آن یا در سایت شما منتشر می شود واقعا آدم فکر می کند که دارد خواب می بیند. که یک ماژولی بتواند اینقدر قدرت و یا ظرفیت بالایی داشته باشد که کار چند یا چندین آی سی مجزا را با هم انجام داده. و
    با چندین خط کد به نتیجهء دلخواه برسد. با تشکر

    • Sisoog Os
      Sisoog OS
      ۱۵ بهمن ۱۳۹۸

      سلام دوست عزیز
      در قسمت اول ما شماتیک و پی سی بی رایگان از این برد را برای دانلود قرار دادیم که میتونید براحتی استفاده کنید 🙂
      انشاله در مورد اونها هم بیشتر خواهیم نوشت

پر بحث ترین ها

مسابقه دوم : چالش برنامه نویسی به زبان C

مسابقه دوم : چالش برنامه نویسی به زبان C

مسابقه اول سیسوگ (مسابقه اول: درک سخت افزار) انتقادهای زیادی رو در پی داشت تا جایی که حتی خودمم به نتیجه مسابقه...

Zeus ‌ Zeus ‌
  • 3 سال پیش
راه اندازی LCD گرافیکی Nokia 1661

راه اندازی LCD گرافیکی Nokia 1661

LCD گرافیکی یکی از مهم ترین پارامترهای موجود در طراحی انواع مدارات الکترونیکی پیچیده و حتی ساده است ، نمایش وضعیت و...

Zeus ‌ Zeus ‌
  • 4 سال پیش
ریموت کدلرن و چکونگی دکد کردن آن به همراه سورس برنامه

ریموت کدلرن و چکونگی دکد کردن آن به همراه سورس برنامه

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

Zeus ‌ Zeus ‌
  • 5 سال پیش
همه چیز درباره ریموت کنترل‌های هاپینگ

همه چیز درباره ریموت کنترل‌های هاپینگ

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

Zeus ‌ Zeus ‌
  • 5 سال پیش
مسابقه سوم: استخراج داده از رشته ها در زبان C

مسابقه سوم: استخراج داده از رشته ها در زبان C

نزدیک به 5 ماه از مسابقه دوم سیسوگ می‌گذره و فکر کردم که بد نیست یک چالش جدید داشته باشیم! البته چالش‌ها...

Zeus ‌ Zeus ‌
  • 2 سال پیش
مسابقه ششم: بزن میکروکنترلر را بسوزون!

مسابقه ششم: بزن میکروکنترلر را بسوزون!

بزنم میکروکنترلر را بسوزونم اونم تو  این شرایط!، طراحی مسابقه از اون چیزی که به نظر می‌رسه سخت‌تر است، باید حواست باشه...

Zeus ‌ Zeus ‌
  • 12 ماه پیش
آموزش قدم به قدم راه اندازی NRF24L01

آموزش قدم به قدم راه اندازی NRF24L01

آموزش قدم به قدم راه اندازی +NRF24L01  با کتابخانه سازگار با انواع میکروکنترلرها و کامپایلرها قبل از اینکه قسمت بشه با ماژول...

رسول خواجوی بجستانی رسول خواجوی بجستانی
  • 3 سال پیش
ساخت ماینر با FPGA و ARM

ساخت ماینر با FPGA و ARM

چند ماهی هست که تب بیت کوین و ارزهای دیجیتال خیلی بالا رفته! چه شد که این پست را نوشتم همانطور که...

Zeus ‌ Zeus ‌
  • 3 سال پیش
کار با ماژول تمام عیار mc60 – قسمت دوم – راه اندازی OpenCPU

کار با ماژول تمام عیار mc60 – قسمت دوم – راه اندازی OpenCPU

در قسمت اول به یکسری اطلاعات کلی ماژول mc60 پرداختیم، با نرم افزار QNavigator کار کردیم و یک هدربرد هم برای کار...

Mahdi.h   Mahdi.h  
  • 3 سال پیش
مسابقه چهارم: کدام حلقه سریع‌تر است؟

مسابقه چهارم: کدام حلقه سریع‌تر است؟

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

Zeus ‌ Zeus ‌
  • 2 سال پیش
سیـــســـوگ

مرجع متن باز آموزش الکترونیک