برای خرید ماژول MC60 به فروشگاه سیسوگ مراجعه نمایید.
با این آموزش از سیسوگ همراه باشید.
برای راه اندازی ماژول mc60 به صورت OpenCpu شرکت کوئیکتل دو راه پیشنهاد داده که یکی استفاده از Eclipse IDE برای ویرایش کدها و کامپایل کردن، و دیگری ویرایش کدها با یک ادیتور و کامپایل کردن به صورت دستی هست. اما حالا ما میایم و از ویرایشگر Visual Studio Code استفاده میکنیم.
در مرحله اول vs code رو نصب میکنیم.
سپس کامپایلر GCC رو نصب میکنیم که فایل نصبی اون در پیوست موجود هست (به همراه راهنمای نصب).
بعد از نصب، از SDK که برای کار با ماژول آماده شده استفاده میکنیم و پوشه اون رو در vs code باز میکنیم. (SDK در پیوست موجود هست)
برای این کار از از منوی file-> open folder استفاده میکنیم.
حالا به کاربرد برخی فایلها و پوشههای موجود در sdk میپردازیم:
build/gcc: محل ذخیره فریمور تولید شده
custom/main.c: کدهای اصلی ماژول
docs: فایلهای راهنمای ماژول
example: نمونه کد برای کار با بخشهای مختلف ماژول
برای شروع فایل main.c رو به صورت زیر تغییر میدیم تا یک چشمک زن ساده داشته باشیم.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | #ifdef __CUSTOMER_CODE__ #include "ql_system.h" #include "ql_gpio.h" void proc_main_task(s32 taskId) { // Specify a GPIO pin Enum_PinName gpioPin = PINNAME_NETLIGHT; // Initialize the GPIO pin (output high level, pull up) Ql_GPIO_Init(gpioPin, PINDIRECTION_OUT, PINLEVEL_HIGH, PINPULLSEL_PULLUP); while (TRUE) { // Set the GPIO level to low after 500ms. Ql_Sleep(500); Ql_GPIO_SetLevel(gpioPin, PINLEVEL_LOW); // Set the GPIO level to high after 500ms. Ql_Sleep(500); Ql_GPIO_SetLevel(gpioPin, PINLEVEL_HIGH); } } #endif |
تابع proc_main_task تابع شروع برناممون هست
و تابع Ql_Sleep برای تأخیر بر اساس ms هست.
حالا برای کامپایل باید داخل پوشه اصلی sdk خودمون یک دستور رو توسط کامند اجرا کنیم. برای این کار میتونید cmd رو باز کرده و به پوشه sdk بیایید یا اینکه فایل MS-DOS رو باز کنید تا cmd در همون پوشه بالا بیاد، حالا دستور
1 | make clean && make new |
رو اجرا میکنیم.
اگر که با این پیغام مواجه شدید:
1 2 3 4 5 6 7 8 | ... - 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. ---------------------------------------------------- |
یعنی که هیچ مشکلی وجود نداره!
اما اگر چنین پیغامی نداد یعنی در کد هاتون مشکل دارید. برای پیدا کردن مشکل به فایل build\gcc\build.log مراجعه کرده و ارور مربوطه رو پیدا کنید، به طور مثال این پیغام
1 2 3 4 5 6 | ... example/utility.c:120:17: warning: suggest parentheses around assignment used as truth value [-Wparentheses] custom/main.c: In function 'proc_main_task': custom/main.c:14:5: error: expected ',' or ';' before 'Ql_GPIO_Init' make.exe[1]: *** [build\gcc\obj/custom/main.o] Error 1 make: *** [all] Error 2 |
نشون دهنده نگذاشتن سمی کالن قبل خط 14 هست.
خب حالا کد ما به درستی کامپایل شده. تغذیه ماژول رو متصل کرده و پورت UART اون رو با یک رابط سریال به سیستم متصل میکنیم.
برای آپلود کردن فریمور از نرم افزار QFlash استفاده میکنیم. (این نرم افزار رو میتونید در پیوست همین مطلب دانلود کنید.)
از بخش 1 فایل app_image_bin.cfg رو از مسیر \build\gcc انتخاب کرده
و در بخش 2 نوع ماژول رو انتخاب میکنیم و از بخش 3 پورتی که به ماژول متصل هست انتخاب و گزینه استارت رو میزنیم.
هنگام نمایش پیغام Waiting…… یک بار ماژول رو خاموش روشن میکنیم و بعد پیغام Download … نمایش داده میشه که بعد حدود 35 ثانیه باید این پیغام نمایش داده به شه که نشون دهنده آپلود موفقیت آمیز هست.
بعد یک بار تغذیه ماژول رو قطع و وصل کرده و شاهد چشمک زدن LED روی پایه 47 (NETLIGHT) هستیم.
حالا که اولین تستمون رو گرفتیم میریم سراغ کد نویسی به طور کاملتر.
برای راه اندازی OpenCpu ماژول MC60 و استفاده از سخت افزارهای ماژول، همچنین کد نویسی راحتتر یکسری توابع توسط خود شرکت Quectel تهیه شده که فایلش در پیوست با نام OpenCPU_User_Guide موجود هست، همچنین میتونیم از example های خود sdk استفاده کنیم، اما ما در این قسمت یک برنامه ساده که با دریافت یک sms یک فعالیت ساده انجام داده و نتیجه اون رو ارسال می کنه شروع میکنیم.
کدهای ما به این صورت است:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 | #ifdef __CUSTOMER_CODE__ #include "ril.h" #include "ril_util.h" #include "ril_sms.h" #include "ril_telephony.h" #include "ril_system.h" #include "ql_stdlib.h" #include "ql_error.h" #include "ql_trace.h" #include "ql_uart.h" #include "ql_system.h" #include "ql_memory.h" #include "ql_timer.h" #include "ql_gpio.h" #if (defined(__OCPU_RIL_SUPPORT__) && defined(__OCPU_RIL_SMS_SUPPORT__)) char PhNum[] = "+98912XXXXXXX\0"; static char DBG_BUFFER[512]; #define CON_SMS_BUF_MAX_CNT (1) #define APP_DEBUG(FORMAT, ...) \ { \ Ql_memset(DBG_BUFFER, 0, 512); \ Ql_sprintf(DBG_BUFFER, FORMAT, ##__VA_ARGS__); \ Ql_UART_Write((Enum_SerialPort)(UART_PORT1), (u8 *)(DBG_BUFFER), Ql_strlen((const char *)(DBG_BUFFER))); \ } typedef struct { u16 uMsgRef; } ConSMSStruct; ConSMSStruct g_asConSMSBuf[CON_SMS_BUF_MAX_CNT]; static bool ConSMSBuf_ResetCtx(ConSMSStruct *pCSBuf, u8 uCSMaxCnt, u8 uIdx) { Ql_memset(&pCSBuf[uIdx], 0x00, sizeof(ConSMSStruct)); return TRUE; } void SMS_TextMode_Send(char strPhNum[], char strTextMsg[]) { u32 nMsgRef; ST_RIL_SMS_SendExt sExt; Ql_memset(&sExt, 0x00, sizeof(sExt)); APP_DEBUG("< Send Normal Text SMS begin... >\r\n"); RIL_SMS_SendSMS_Text(strPhNum, Ql_strlen(strPhNum), LIB_SMS_CHARSET_GSM, strTextMsg, Ql_strlen(strTextMsg), &nMsgRef); } static void Hdlr_RecvNewSMS(u32 nIndex, bool bAutoReply) { ST_RIL_SMS_TextInfo *pTextInfo = NULL; ST_RIL_SMS_DeliverParam *pDeliverTextInfo = NULL; char aPhNum[RIL_SMS_PHONE_NUMBER_MAX_LEN] = { 0, }; pTextInfo = Ql_MEM_Alloc(sizeof(ST_RIL_SMS_TextInfo)); Ql_memset(pTextInfo, 0x00, sizeof(ST_RIL_SMS_TextInfo)); RIL_SMS_ReadSMS_Text(nIndex, LIB_SMS_CHARSET_GSM, pTextInfo); pDeliverTextInfo = &((pTextInfo->param).deliverParam); Ql_strcpy(aPhNum, pDeliverTextInfo->oa); APP_DEBUG("data = %s\r\n", (pDeliverTextInfo->data)); char text[350]; Ql_strcpy(text, (pDeliverTextInfo->data)); if (text[0] == 'p' && text[1] == 'i' && text[2] == 'n') { switch (text[4]) { case '1': Ql_GPIO_Init(PINNAME_NETLIGHT, PINDIRECTION_OUT, 0, PINPULLSEL_PULLUP); if (text[6] == 'o' && text[7] == 'n') { Ql_GPIO_SetLevel(PINNAME_NETLIGHT, 1); } else if (text[6] == 'o' && text[7] == 'f' && text[8] == 'f') { Ql_GPIO_SetLevel(PINNAME_NETLIGHT, 0); } break; } if (bAutoReply) { SMS_TextMode_Send(aPhNum, "OK\0"); } } Ql_MEM_Free(pTextInfo); return; } static void CallBack_UART_Hdlr(Enum_SerialPort port, Enum_UARTEventType msg, bool level, void *customizedPara) {} void proc_main_task(s32 iTaskID) { ST_MSG taskMsg; //Register & open UART port Ql_UART_Register(UART_PORT1, CallBack_UART_Hdlr, NULL); Ql_UART_Open(UART_PORT1, 115200, FC_NONE); APP_DEBUG("Sisoog MC60 SMS Example\r\n"); while (TRUE) { s32 i = 0; Ql_memset(&taskMsg, 0x0, sizeof(ST_MSG)); Ql_OS_GetMessage(&taskMsg); switch (taskMsg.message) { case MSG_ID_RIL_READY: { APP_DEBUG("<-- RIL is ready -->\r\n"); Ql_RIL_Initialize(); // MUST call this function for (i = 0; i < CON_SMS_BUF_MAX_CNT; i++) { ConSMSBuf_ResetCtx(g_asConSMSBuf, CON_SMS_BUF_MAX_CNT, i); } break; } case MSG_ID_URC_INDICATION: switch (taskMsg.param1) { case URC_SYS_INIT_STATE_IND: { if (SYS_STATE_SMSOK == taskMsg.param2) { RIL_SMS_DeleteSMS(0, RIL_SMS_DEL_ALL_MSG); SMS_TextMode_Send(PhNum, "Module is ON\0"); APP_DEBUG("\r\n READY \r\n", taskMsg.param2); } break; } case URC_SIM_CARD_STATE_IND: { APP_DEBUG("\r\n<-- SIM Card Status:%d -->\r\n", taskMsg.param2); } break; case URC_GSM_NW_STATE_IND: { APP_DEBUG("\r\n<-- GSM Network Status:%d -->\r\n", taskMsg.param2); break; } case URC_NEW_SMS_IND: { APP_DEBUG("\r\n<-- New SMS Arrives: index=%d\r\n", taskMsg.param2); Hdlr_RecvNewSMS((taskMsg.param2), TRUE); break; } } break; } } } #endif // __OCPU_RIL_SUPPORT__ && __OCPU_RIL_SMS_SUPPORT__ #endif // __CUSTOMER_CODE__ |
خوب، حالا به تشریح کدها میپردازیم:
در تابع proc_main_task
ابتدا پورت UART اصلی رو به عنوان دیباگ استفاده میکنیم و وضعیت ماژول رو در اون چاپ میکنیم:
1 2 | Ql_UART_Register(UART_PORT1, CallBack_UART_Hdlr, NULL); Ql_UART_Open(UART_PORT1, ۱۱۵۲۰۰, FC_NONE); |
سپس در یک حلقه While پیغامهایی که از هسته ماژول میاد رو بررسی میکنیم، ما از یک switch case استفاده کرده و مطابق با پیغامهای دریافتی میتونیم کدهایی رو اجرا کنیم.
مهمترین بخش RIL هست که کار AT_COMMAND ها رو برای ما انجام میده و توسط توابعی که RIL داره میتونیم از امکانات ماژول استفاده کنیم.
1 2 3 4 5 6 7 8 9 10 | while (TRUE) { s32 i = ۰; Ql_memset(&taskMsg, 0x0, sizeof(ST_MSG)); Ql_OS_GetMessage(&taskMsg); switch (taskMsg.message) { case MSG_ID_RIL_READY: { |
در خط 121 تا 133 آماده بودن امکان SMS رو بررسی کرده و در صورت آماده بودن یک پیام توسط تابع SMS_TextMode_Send ارسال میکنیم که مقدار اول اون شمارهای که باید پیام به اون ارسال به شه (تعریف شده در خط 17) و مقدار دوم متن پیام هست.
1 2 3 4 5 6 7 8 9 10 11 12 13 | case MSG_ID_URC_INDICATION: switch (taskMsg.param1) { case URC_SYS_INIT_STATE_IND: { if (SYS_STATE_SMSOK == taskMsg.param2) { RIL_SMS_DeleteSMS(۰, RIL_SMS_DEL_ALL_MSG); SMS_TextMode_Send(PhNum, "Module is ON\0"); APP_DEBUG("\r\n READY \r\n", taskMsg.param2); } break; } |
در خط 146 تا 151 دریافت پیام جدید رو بررسی میکنیم و در صورت وجود تابع Hdlr_RecvNewSMS رو صدا زده و در پارامتر اول اطلاعات پیام رو ارسال کرده و در پارامتر دوم مشخص میکنیم که پیامک تأیید دریافت برای فرستنده ارسال بشه یا نه
1 2 3 4 5 6 | case URC_NEW_SMS_IND: { APP_DEBUG("\r\n<-- New SMS Arrives: index=%d\r\n", taskMsg.param2); Hdlr_RecvNewSMS((taskMsg.param2), TRUE); break; } |
سپس در خط 66 تا 86 به بررسی پیام دریافتی میپردازیم و اگر پیام pin 1 on دریافت شده بود NETLIGHT روشن شده و اگر pin 1 off دریافت شده بود خاموش میشود.
سپس اگر ارسال پیامک تأیید فعال بود یک پیامک به شمارهای که از آن دستور دریافت شده بود با متن OK ارسال میشود.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | if (text[۰] == 'p' && text[1] == 'i' && text[2] == 'n') { switch (text[4]) { case '1': Ql_GPIO_Init(PINNAME_NETLIGHT, PINDIRECTION_OUT, 0, PINPULLSEL_PULLUP); if (text[۶] == 'o' && text[7] == 'n') { Ql_GPIO_SetLevel(PINNAME_NETLIGHT, 1); } else if (text[۶] == 'o' && text[7] == 'f' && text[8] == 'f') { Ql_GPIO_SetLevel(PINNAME_NETLIGHT, 0); } break; } if (bAutoReply) { SMS_TextMode_Send(aPhNum, "OK\0"); } } |
کار با بخش پیامک به طور کاملتر در بخش example های sdk موجود هست و میتوانید استفاده کنید.
توی قسمت بعد سراغ کار با بخش GPS ماژول رفته و اطلاعات مکانی رو به یک سرور ارسال میکنیم و مکان اون رو در یک نقشه گوگل نمایش میدهیم، پس قسمتهای بعدی آموزش رو هم دنبال کنید.
در قسمت هشتم این سری آموزش نحوه پروگرام توسط نرم افزار eclipse هم توضیح داده شده.
در این بخش میتونید به همه قسمتهای سری آموزش ماژول mc60 دسترسی پیدا کنید:
- کار با ماژول تمام عیار mc60 – قسمت اول – برد راه انداز
- کار با ماژول تمام عیار mc60 – قسمت سوم – ساخت ردیاب
- کار با ماژول تمام عیار mc60 – قسمت چهارم – OpenCPU و تکمیل ردیاب
- کار با ماژول تمام عیار mc60 – قسمت پنجم – ساخت MP3 Player
- کار با ماژول تمام عیار mc60 – قسمت ششم – نمایشگر oled
- کار با ماژول تمام عیار mc60 – قسمت هفتم – کار با MQTT
- کار با ماژول تمام عیار mc60 – قسمت هشتم – کدنویسی با Eclipse
سلام ؛ وقت شما بخیر ، من وقتی تو برنامه بخواهم چند تا SMS ارسال کنم ، بعضی مواقع SMS ها به گیرنده نمیرسه و حتی عدد برگشتی از تابع
ret = RIL_SMS_SendSMS_Text(strPhNum, Ql_strlen(strPhNum), LIB_SMS_CHARSET_GSM, strTextMsg, Ql_strlen(strTextMsg), &nMsgRef);
همواره صفر به معنی موفقیت آمیز بودن ارسال پیام بر می گرداند؛ چطور میشه delivey report در open cpu فعال کرد؟
ممنون میشم راهنمایی بفرمایید
سلام نوشتید که sdk در پیوست موجوده ولی لینک رو پیدا نمیکنم
یه لینک انتهای مطلب هست که توی اون sdk و بقیه فایل ها هست .
این لینک
https://cloud.sisoog.com/s/eztHK7xjDfiYtMJ?path=%2F
سلام.وقت بخیر
این فایل کامپایلر GCC که فرمودین به پیوست با راهنمای نصب قرار دارد ،دقیقا کجاست؟
من فایل پیوست مقاله رو دانلود کردم اما پیداش نمیکنم.
سلام و ادب ممنون از سایت بسیاااااار خوبتون .
من یک مشکلی دارم موقعی که بیلد میگیرم با دستور های make clean & make new بیلدم انجام میشه اما این خطا رو میده GFH_Ganarator.exe خطای MSVCR100.dll was not found رو میده . باید چیکارش کنم؟
سلام دوست عزیز ، ممنونم نظر لطف شماست
لطفا پکیج Microsoft Visual C++ 2010 Redistributable رو نصب کنید احتمالا مشکلتون حل میشه
سلام
آیا راهی وجود داره که دستوراتی که برای GPIO مینویسیم اولویت داشته باشه به دستورات خود ماژول؟
منظورم اینه که مثلا برای همین PINNAME_NETLIGHT . وضعیت این پین هنگام روشن شدن ماژول متناسب با وضعیت شبکه(پیشفرض خود ماژول) است و بعدا تغییر وضعیت داده و مطابق کد ما تنظیم میشود و درواقع اون لحظه اول مطابق چیزی که ما میخواهیم عمل نمیکنه
سلام
توی کدتون ابتدای تابع main اگر وضعیت پین رو مشخص کنید دیگه همون میشه که شما میخواید.
اگر میخواید از اول اول تنظیم بشه ، توی فایل custom/config/custom_gpio_cfg.h میتونید وضعیت پین ها رو مشخص کنید
سلام
example مربوط به sdcard و file system خود ماژول رو کجا میتونم پیدا کنم ؟
سلام دوست عزیز
همراه SDK باید باشه احتمالا
با سلام در قسمت Qflasher من به مشکل خوردم ممکن هست راهنمایی کنید ؟
Unable To Upgrade, Please Check!
دقیقا توی کدوم قسمت به مشکل میخورید
همون اول یا بعد از طی شدن مراحل خاصی ؟
با سلام لطفا در مورد پروگرام کردن development board MC60 راهنمایی میخواستم همش خطای اتصال میدهد
سوالات و مشکلاتتون رو میتونید در انجمن سیسوگ مطرح کنید.
ask.sisoog.com
سلام وقتتون بخیر من ویندوزم 11ه و در حالت Open Cpu به مشکل خوردم منطبق اموزش ما عمل کردم ولی در قسمت CMD وقتی clean رو میزنم با خطا مواجه میشم اما با sdk خود کویکتل این ورژن 1.1 کار میکنم خطا ندارم و موقع پروگرم کردن نمیتونم این کار رو انجام بدم با خطا کانکت مواجه میشم development board mc60 رو از شما تهیه کردم
سلام و درود به همه اعضای پرتلاش سیسوگ
آموزش برنامه نویسی با این SDK از پایه نمیزارید؟
مثل سری اموزش های stm32
سلام
ممنون از شما
هشت قسمت آموزش برای کار با sdk این ماژول به صورت پروژه محور و با توضیحات لازم توی سایت گذاشته شده
فکر نمیکنم مطلب دیگه ای نیاز باشه که ما نگفته باشیم 🙂
با سلام و تشکر از آموزشها و پاسخگویی شما
در میکروکنترلرها به راحتی میشه جلوی کپی کردن کد نوشته شده و پروگرام شده را گرفت،
سوال بنده اینه که آیا در opencpu میتوان فایل کد پروگرم شده را از روی ماژول خوند؟ از لحاظ امنیتی که کد قابل کپی کردن برای بقیه نباشه راهی هست؟
سلام
توی میکروکنترلر ها شما با کمک پروگرامر میتونید برنامه روی میکرو رو بخونید ، اما اینجا ابزاری برای خواندن برنامه از روی ماژول نداریم (حداقل من ندیدم!)
سلام
در ماژول mc60 برای کار با ftp به مشکل بر می خورم ،
از مثال خود sdk برای دانلود یک فایل txt استفاده کردم و فقط تنظیمات سرور و اسم فایل رو تغییر دادم
همه مراحل جلو میره و به مرحله Downloading file, please wait هم میرسه اما بعدش خطای زیر رو میده
کسی می دونه مشکل کجاست؟
دوستان کسی با ftp یا FOTA-ftp این ماژول کار کرده؟
سلام بله من کار کردم 🙂
سلام وقت بخیر
من وسطای اپلود فریم ور با این ارور مواجه میشمFAIL, META_ConnectWithTarget_r, [36], BootROM start command passed, but target has
no response until timeout
ممنون میشم راهنمایی کنید مکشل از کجاست.
مثل اینکه اخرین ورژن sdkاین مشکلو داره ورژنی که داخل سایت هست کاملا درست و بدون نقص داره میکنه.
با سلاممتاسفانه برای من هم ورژن سایت کویکتل و هم ورژن سایت سیسوگ دقیقا همین ارور رو میده. البته با qflash 4.19 می نویسه PASS اما باز هم کد کار نمی کنه و چشمک زن نمیشه
به پیشنهاد یکی از دوستان آی سی مبدل یوآرت رو از pl2303 به ch340 دادم و خوب اولش اوکی نشد اما یکبار رام اصلی رو ریختم داخلش و من بعد اوکی شد. هم کد ریخته میشه و هم اجرا میشه.
سلام وقت بخیر
لطفا بفرمایید تابع Ql_memset چه کاری انجام میده؟ ممنون
سلام
این تابع باز نویسی شده تابع memset از کتابخانه stdio هست. در اینجا میتونید اطلاعات لازم رو بدست بیارید
سلام و خسته نباشید . من ماژول رو خریداری کردم ولی وقتی می خوام با Qflash برنامه رو روی ماؤول بریزم error میده .FAIL, COM:4, FlashToolError:2006, S_BROM_CMD_STARTCMD_TIMEOUT
هرچی گشتم نتونستم حلش کنم.
کسی راه خلشو بلده؟؟
ممنون میشم راهنمایی کنید.
سلام
ماژول رو باید ریست کنید تا پروگرام شروع بشه
برای اینکار دکمه pwr key رو چند ثانیه نگه دارید
ممنون از لطفتون
سلام و ارادت
با هر بار پروگرم ماژول mc60 اطلاعاتی که داخل حافظه ی ufs ماژول ذخیره شده بود پاک میشه در صورتی که در مواقعی که از طریق fota آئدیت انجام میشه این اطلاعات از بین نمیره
آیا این ماژول حافظه ای داره که با پروگرم کردن از بین نره؟
نمیخوام از حافظه ی خارجی استفاده کنم
سلام
بنده هنوز تو بخش اس ام اس مشکل دارم با وجود خوندن توضیحات
چه دستوری باید ارسال کنم که متن اس ام اس دریافتی متوجه بشه
و چه دستوری ارسال کنم که به متنی خودش ارسال کنه
در اصل برنامه دریافت و ارسال اس ام اس اگه لطف کنین بیشتر راهنمایی کنین ممنون میشم
سلام دوست عزیز
برای ارسال و خواندن پیامک دستور های مشخصی وجود دارد
دقیقا چه چیزی رو شما متوجه نشدید که براتون جای سوال داره؟
سلام خسته نباشید
بنده برنامه اس ام اس اپلود کردم اما زمانی که اس ام اس میدم جوابی دریافت نمیکنم
متن اس ام اس که میفرستیم پیام خاصی باید باشه؟
یه توضیحاتی در موردش بدید ممنون میشم
سلام.
بله داخل مطلب گفته شده که چی باید ارسال کنید:
“سپس در خط 66 تا 86 به بررسی پیام دریافتی میپردازیم و اگر پیام pin 1 on دریافت شده بود NETLIGHT روشن شده و اگر pin 1 off دریافت شده بود خاموش میشود.”
سلام وقت بخیر من از ماژول 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 ها رو حذف میکنم درست میشن!!!!
آیا توی استفاده از پریفرال های مختلف تداخل وجود داره؟ممنون میشم راهنمایی کنید
سلام وقت بخیر
در این بخش در حلقه while ما به بررسی آماده بودن ارسال پیام و همچنین در صورت وجود پیام جدید بررسی میشه،از چه طریقی میشه مانند ماژول های simcom بررسی کرد اگر سیمکارت از شبکه خارج شده دوباره ماژول اینیت بشه؟ و همچنین برای دریافت شارژ تابعی وجود داره یا مستقیم باید دستورات at+command را ارسال کرد و پیام برگشتی را بررسی کرد؟
سلام. توی ماژول های simcom به چه صورت خارج شدن از شبکه رو بررسی میکنید؟
دریافت شارژ از چه طریقی منظورتون هست؟
ممنون میشم بیشتر توضیح بدید
سلام مجدد
من توی sim800c از طریق دستور ?AT+CREG پاسخی که بر میگردوند در قالب y,x بود که y همیشه صفر بود و x اگر 1 برمی گردوند یعنی متصل به شبکه بود و اگر 2 بود یعنی در حال جستجو و اگر 3 بود یعنی متصل نشده و حالا با توجه به اون میشد برق ماژول را قطع وصل کرد و دوباره sim800 را Init کرد.منظور من این بود.
راجب شارژ هم توی sim800 از طریق کد های اجرای ussd میتونستیم شارژ سیمکارت را چک کنیم و حالا با توجه به میزان شارژ میتونستیم هشداری برای شارژ بفرستیم و..
میخواستم بدونم با توابع RIL اینجا تابعی هست بشه میزان شارژ را گرفت یا باید مستقیما با AT+COMMAND و اجرای دستورات ussd با ماژول ارتباط گرفت و میزان شارژ را دریافت کرد
شما با دستور 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
ممنونم مهندس از وقت و راهنمایی که کردید تشکر
سلام
من ماژول MC60E را با SDK مربوط به ماژول MC60 پروگرم کردم. بعد از پروگرم کردن دیگه نه چراغ Netlight روشن میشه و نه UART درست کار میکنه. ینی پروگرام میشه ولی نمیتونه دستورات دیباگ را در q navigator درست بفرسته و عبارات درهم و برهم نشون میده. ایا sdk ماژول MC60 با MC60E فرقی داره!؟
مشکل از sdk نیست شما میتونید sdk ماژول mc60 رو روی ماژول mc60e پروگرام کنید
سلام لینک دانلود فایل sdk لطف میکنید قرار بدید
سلام
داخل همین فایل بالا هست که برای دانلود قرار داده
https://dl.sisoog.com/Quectel/MC60%20OpenCPU%20Sisoog.rar
سلام. از چه ای سی پاور استفاده کنم خوبه؟
سلام.
کاملا بستگی به پروژتون داره ، ورودیتون چند ولته ، باتری دارید یا نه ، مصرف کننده دیگه ای دارید یا نه ، ابعاد چقدر براتون مهمه ، هزینه چطور و …
اما به طور کلی میتونید از رگولاتور هایی که توی داکیومنت reference design پیشنهاد شده استفاده کنید.
سلام.
ورودی 12 ولت هست و بدون باطری. چندتا رله هم نیاز دارم. چه چیپی مناسبه؟
تشکر
میتونید از MIC29302 استفاده کنید
سلام مهندس
اگر بخوام ماژول را طوری راه اندازی کنم که همیشه روشن باشه، باید وضعیت پین PWRKEY را به چه صورت قرار بدم؟
داخل داکیومنت های ماژول گفته این پایه باید چند لحظه صفر بشه و سپس یک بشه تا بشه ماژول را روشن کرد. راهی هست که کلا از لحظه وصل تغذیه ماژول روشن بشه و نیاز به فشردن کلید نباشه؟
سلام
میتونید پین PWRKEY رو مستقیم به زمین وصل کنید
سلام موقع فلش کردن با نرم افزار Qflash تایم اوت میگیرم بعد از 30 ثانیه.
FAIL, COM:3, FlashToolError:2006, S_BROM_CMD_STARTCMD_TIMEOUT
کسی این مشکل رو نداشته؟
سلام.
اول اینکه از برقرار بودن ارتباط ماژول با سیستمتون مطمئن بشید (مثلا اول ببینید با at command میتونید بهش دستور بدید یا نه)
و نکته بعدی اینکه برای پروگرام کردن باید ماژول خاموش باشه ، بعد از اون شما دکمه start رو بزنید و حالا دکمه پاور ماژول رو نگه دارید تا زمانی که توی نرم افزار نشون بده که داره پروگرام میشه ، حالا میتونید دکمه پاور رو رها کنید. بعد از پروگرام شدن هم نیازه که تغذیه ماژول یکبار قطع و وصل بشه
سلام
خسته نباشید بابت مطالب خوبتون
ببخشید این ماژول برای روشن شدن حتما نیاز به تریگر کردن پایه PWRKEY داره یا نه؟
یعنی میشه تا برق ماژول وصل شد خودش روشن بشه بدون این که این پایه تحریک بشه؟
سلام میتونید با اتصال همین پایه PWRkey به زمین وقتی برق وصل میشه کاری کنید که خودکار ماژول روشن بشه
سلام
بعد از متصل شدن به اینترنت و گرفتن 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
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
سلام
میتونید آخرین قسمت آموزش که مربوط به بحث mqtt هست رو بررسی کنید.
احتمالا مشکل شما به این خاطر هست که آخرین نسخه فریمور رو روی ماژول نریختید
سلام وقت شما بخیر
در بیشتر دیتاشیت هایی که از ماژول mc60 در فضای نت هست در بین پروتکل های ارتباطی پروتکل mqtt و ssl هم ذکر شده
اما در دیتاشیتی که در فروشگاه قرار داده شده MQTT بین پروتوکولهای ارتباطی نیست
تصور من این است که مسئله به فرمور دستگاه مرتبط میشه و در همه مدلهای mc60، امکان استفاده از این پروتوکول وجود داشته باشه
با توجه به اهمیت MQTT در مباحث IOT ،
براتون امکان داره برای امتحان یک خط از دستورات AT command مربوط به mqtt رو تست بگیرید که فقط ببینیم میشناسه یا ارور میده؟
مثلا :. ?=AT+QMTCFG
ممنون از آموزشهای ارزشمندتون
سلام دوست عزیز
بله 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'
C:/Users/Ertebatat/Desktop/MC60/OpenCPU/MC60_OpenCPU_GS3_SDK_V1.3′make.exe[1]: Leaving directory
دوست عزیز من ویندوز ندارم – از لاگ شما معلومه که داره کامپایل انجام میشه ولی احتمالا فایلی رو پیدا نکرده که این خطا رو دریافت کردید – اجازه بدید من یه سیستم ویندوزی ست آپ کنم ببینم متوجه میشم مشکل شما چی میتونه باشه !!!
در ضمن بهتره این کارها رو توی ویندوز انجام ندید 🙂
خوب توی لینوکس که دستور make clean && make new کار نمیکنه .
خوب الان من موفق نشدم تولز کامپایل رو روی ویندوز ۱۰ نصب کنم دقیقا فایل arm-2012.09-63-arm-none-eabi.exe که توی فایل های زیپ هست رو میگم – شما این تولز رو چطور نصب کردید ؟ آیا ویندوز شما ده هست ؟ آیا همین تولز رو نصب کردید؟
اگر پاسخ بدید بتونیم به جواب برسیم خوبه – ظاهرا دوستان زیادی این مشکل رو دارند.
سلام
بنده هم این مشکل رو داشتم و بعد از چند روز کلنجار رفتن توی ویندوز 10 متوجه شدم که این خطا در زمان کامپایل توسط gcc داده میشه و به ورژن کامپایلر gcc مربوط هستش. ورژن کامپایلری که من نصب کرده بودم آخرین ورژن بود و این خطا رو داشتم. شما باید همون ورژن 2012 (ورژن 4.7.2) که خود شرکت کویکتل در پوشه SDK داده رو نصب کنید. دلیلش هم برمیگرده به تنظیماتی که در زمان ایجاد فایل خروجی تعریف شده و آدرس محل نصب کامپایلری که خود شرکت داده با نسخه های دیگه gcc متفاوت هستش.
خوب دقیقا سوال من اینه که چطور ورژن ۲۰۱۲ رو روی ویندوز ده نصب کردید – موقع نصب خطا میده و میگه از طریق GUI قابل نصب نیست !
یعنی شما الان همین ورژن ۲۰۱۲ رو روی ویندوز ۱۰ نصب کردید – زحمت بکشید بگید چطور این ورژن رو روی ویندوز ده نصب کنم !
دوم اینه که توی cmd خروجی دستور زیر رو بهم بدید
arm-none-eabi-gcc --version
بله درسته ورژن 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.
خوب بسیار عالی – بذارید من ببینم میتونم مشکل رو بفهمم – شاید مشکل از این روش نصب باشه
فقط یه سوال دیگه الان آدرس این فایل توی path سیستم هست یا برای اجرا شدنش باید مسیر کامل رو بزنید ؟
یعنی اگر دقیقا بعد از اجرای کامند لاین دستور ریر را بزنید اجرا می شود ؟
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.
در صورتی که توی Path آدرس زیر رو اعمال کرده باشید میتونید توی cmd دستور arm-none-eabi-gcc –version بدون مورد خاصی اجرا کنید. ولی اگر در path اضافه نکردید توی cmd اول باید وارد دایرکتوری زیر بشید تا دستوری که گفتید رو بهتون پاسخ بده.
C:\Program Files (x86)\CodeSourcery\Sourcery_CodeBench_Lite_for_ARM_EABI\bin
اینو میدونم – میخوام شرایط سیستم شما رو بدونم چیه !
چقدر ویندوز سخته کار کردن باهاش :/یادم رفته بود –
دارم به جواب میرسم احتمالا – فقط به من بگید که توی پد اضافه کردید یا نکردید – توی سیستم خودتون
توی path اضافه کردم. قطعا به جواب می رسید
جواب رو ارسال کردم – توی یه کامنت جداگونه – ببینید کار میکنه
من الان با ویندوز ده چک کردم و مشکلی ندیدم – ببنید کارهایی که کردم رو به شکل مرحله به مرحله میذارم اینجا که بتونیم با هم چک کنیم.
اول فایل 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'
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
سلام خسته نباشید
تمام مراحل گفته شده رو انجام دادم ولی موقع کامپایل کردن، کامپایل نمیشه و این رو در cmd نمایش میده:
——————-
clean finished.
——————-
1 file(s) copied.
make.exe[1]: Entering directory
C:/Users/armin/Desktop/MC60_Project/MC60_OpenCPU_GS3_SDK_V1.3'
C:/Users/armin/Desktop/MC60_Project/MC60_OpenCPU_GS3_SDK_V1.3′make.exe[1]: Leaving directory
و درون فایل build.log ارور زیر رو میده:
/usr/bin/sh: -c: line 1: syntax error near unexpected token
('
if not exist build\gcc (md build\gcc)’/usr/bin/sh: -c: line 1:
make.exe[1]: *** [CreateDir] Error 2
make: *** [all] Error 2
لطفا راهنمایی کنید
سلام
کامپایلر رو تست کردید که نصب شده باشه به درستی ؟
یک بار دیگه sdk رو اکسترکت کنید و دوباره تست کنید
بله با دستورات زیر بررسی کردم:
λ 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.
C:\Users\armin\Desktop\MC60_Project\MC60_OpenCPU_GS3_SDK_V1.3
λ 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.
فایل sdk هم اکسترکت کردم دوباره و باز به همون ارور برخوردم
با عرض سلام
در خصوص راه اندازی ماژول از طریق sdk و برنامه Eclipse خدمتتون عرض کنم که ورژن Eclipse که خود شرکت داده پایین هستش و در ویندوز 10 قابل اجرا نیست. از اونجایی که برای راه اندازی و استفاده از ورژن جدید باید Plug-in خاصی روی Eclipse نصب بشه تا کامپایلر GCC بر اساس اون فایل خروجی رو کامپایل کنه لطف بفرمایید توضیح بدید که در صورتی که شخص نخواد از اون فایل SDK استفاده کنه و خودش یه پروژه ای رو ایجاد کنه چه مراحلی باید طی بشه و چه تغییراتی باید در Eclipse اعمال کنیم. با تشکر
با سلام و تشکر، من به تازگی کار با ماژول های کویکتل رو شروع کردم
میخواستم بدونم که ایا میشود که با ماژول موسیقی پلی کرد ، به عنوان مثال موسیقی از طریق سرور دریافت شود و از طریق پایه های اسپیکر روی ماژول پلی شود!!!!
ماژولی که خریدم ec200t هست
با تشکر
سلام
ماژول ec200t که شما تهیه کردید ، قابلیت اجرای کد روی خودش رو نداره و باید یه کنترلر خارجی براش بزارید که در اون صورت دیگه دلیلی هم برای استفاده از خود ماژول برای پخش صدا نیست! شما میتونید از این ماژول فقط برای دریافت موسیقی از اینترنت استفاده کنید.
ساخت نمونه آفلاین این پلیر شما رو در این قسمت آموزش دادیم (البته با mc60):
https://sisoog.com/2021/04/02/کار-با-ماژول-تمام-عیار-mc60-قسمت-پنجم-سا/
سلام وقت بخیر -تشکر از تیم سیسوگ بابت این حجم فعالیت در حوژه اموزش
میخاستم لطف کنین یک ویدیو از ابتدا نصب کامپایلر GCC و همچنین استفاده از SDK پیشنهادی رو در پیوست این اموزش قرار بدید …
متاسفانه من تا جایی که دانشش رو داشتم نرم افزار هارو نصب و SDK رو در VC باز کردم و مراحلی که گفته بودین رو طی کردم ولی نتیجه ای نداشت و تماما به ارور بر میخورم …
چه در قسمت کامپایل کد نمونه چشک زن
و چه در قسمت محیط CMD …
ممنون از شما
سلام
ممنون از مطالب عالی که میذارین
خداقوت
چطوری میتونم میزان فضای باقی مانده ماژول رو متوجه بشم که چند درصدش با برنامه ای که نوشتم پرشده و چقدر دیگه خالی داره؟
سلام
سلام
ممنون از سیسوگ و تیم خوبتون
من قسمت اول آموزش که چشمک زن بود رو ریختم روی برد
وقتی make new کردم . success داد و qflash هم پاسخ pass داد و همه چی اوکی بود.
فقط وقتی تغذیه رو قطع و وصل کردم و ماژول رو روشن کردم . led مثل حالت defult روشن خاموش میشه. اومدم و delay خاموش و روشن رو 5000 میلی ثانیه کردم که مطمئن بشم. ولی باز هم led مثل حالت defult روشن خاموش میشه.
حتی آموزش دوم که sms بود رو هم ریختم روی ماژول. ولی اون هم کار نمیکنه.
از کجا بفهمم مشکل چیه ؟
باسلام
تنها نکته ای که به نظر میرسه این هست که شما فایل رو درست انتخاب نکرده باشید!
میتونید دستورات AT رو برای ماژول ارسال کنید اگر که پاسخ داد احتمال زیاد فایل رو اشتباه انتخاب کردید یا درست پروگرام نشده
سلام و خداقوت
در نرم افزار qflash بنده پورت مبدلی که به سیستم متصل کردم رو نمایش نمیده
داخل دیوایس منیجر بعنوان پورت ۴ شناخته شده ولی داخل نرم افزار Qflash فقط پورت ۵ و ۶ نمایش داده میشه
دلیلش چیه؟
سلام احتمال داره این پورت و دیوایس امضای ویندوز را نداشته باشه
اینجور مواقع یک علام زرد رنگ روی اون پورت نشون داده میشه
سلام. ببخشید ماژول های UG95 و UC200T که ماژول های 3G هستند نیز از openCPU بهره مند هستند یا خیر ؟ داکیومنت کامل opencpu رو از چه جایی میشه پیدا کرد؟
UC200 , و EC200 ها ندارند
توصیه نمیکنم اصلا از UG استفاده کنید چون از نظر قیمتی همین الانش هم گرونتر از ماژول 4G درمیاد و البته بزودی مثل UC15 فکر کنم دیگه تولید نخواهد شد
کلا بهتره 3 جی را بیخیال شید و برید سراغ 4 جی
ممنونم از شما، در ماژول های 4G مدلی که Open CPU رو پشتیبانی کنه وجود داره؟
در حال برنامه ریزی روی اون هستند انشاله بزودی خواهیم داشت
مدلهای EC25 هم هم اکنون یک لینوکس داخلی دارند با قابلیتی به نام Quecopen
سپاس
سلام. وقت بخیر. ممنون بابت آموزش خوبتون.
ولی یک مشکل!!
من برنامه دوم شما رو وقتی پروگرم کردم، دیگه نمیتونم با Qnavigator کار کنم. فکرکنم پورت سریال باز مونده باشه. الان اگه من بخوام با Qnavigator کد ارسال کنم، باید چکار کنم؟ ممنون از پاسخ شما.
سلام
وقتی برنامه میریزید روش و نیاز هست به حالت اول برگرده باید برنامه پیش فرض را روی ماژول بریزید
ممنون از شما. ولی برنامه پیش فرض رو از کجا باید بگیرم؟
ممنون. متوجه شدم. همون فایل main.c که اول قرار داده بودین،و بعد ما ویرایشش کردیم رو ریختم و خوب شد. خیلی خیلی ممنونم از آموزش های خوبتان.
خب خدا رو شکر مشکل حل شد
سلامی دوباره. البته فایل پیش فرض خود شرکت، فایل QUECTEL03D_M2M_11C_BB.cfg میباشد که داخل پوشه Default mode of MC60 میباشد و در همین فایل ضمیمه ای که عزیزان سیسوگ قرار داده اند، وجود دارد.
فایلی که قبلا گفته بودم(main.c پیش فرض)، وقتی پروگرم میشد، در نرم افزار qnavigator، نمیتونستیم پیامک ارسال کنیم و ارور میداد.
خواستم گفته باشم شاید به درد دوستان بخوره.ممنون از همه.
ممنون از شما
با درود و سپاس از مطالب بسیار عالی شما.
آیا MC60 قابلیت دماسنج هم دارد که از سنسور خارجی استفاده نکنیم….
لطفا راهنمایی بفرمایید….
سلام نه متاسفانه دوست عزیز
بخصوص اگر شما قرار باشه دمای خارجی را سنس کنید باید از سنسوری استفاده کنید که ترجیحا موارد دمایی روی برد تاثیر نداشته باشه
یکی از بهترین گزینه ها سنسورهای دمای I2C هست که میتونید به ماژول متصل کنید
سلام وقت بخير
ببخشيد من موقع نصب كامپايلر gccبرام پيغام Installer User Interface Mode Not Supported مياد
ممنون ميشم راهنماييم كنيد بايد چطور نصبشو كامل انجام بدم
احتمالا از ویندوز 10 استفاده میکنین!
برای حل این مشکل باید روی فایل نصبی کامپایلر راست کلیک کنین و در properties از زیر منو compatibility و در compatibility mode تیک run this program… رو بزنین و زبونه باز شو همان قسمت windows7 رو انتخاب کنین
با سلام و تشکر از این آموزش عالی
آیا با OpenCPU این قابلیت وجود داره که برای مثال با غیرفعال بودن SD memory card، از پایه های مربوطه به عنوان GPIO استفاده کرد؟ آیا دسترسی مستقیم به همه پایه های ماژول داریم؟
سلام
دوست عزیز یه سری پایه ها و پروتکل ها هست که داخل دیتاشیت هم اومده و شما دسترسی کامل برای کار با اونها دارید
حتی پروتکل هایی مثل I2C SPI هم هستند که به راحتی میتونید استفاده کنید.
با سلام و تشکر از مطالب خیلی مفید و آموزنده تون
یک سوالی که داشتم حدود مصرف ماژول توی حالت idle چقدر باید باشه؟
چون طبق چیزی که من در مستندات ماژول دیدم توی حالت معمول 13 میلی آمپر و حالت sleep حدود 1.2 میلی آمپر باید جریان بکشه
طبق اندازه گیزی های من حدود 100 میلی آمپر مصرف توان و با رفتن تو حالت sleep تغییر محسوسی احساس نمی کنم
توی ۲ مد at و open cpu تست کردم و هر دو جا اینطوری بوده
ممنون می شم اگه راهنمایی کنید چه نکاتی رو باید در نظر بگیرم که در نظر نگرفتم
سلام دوست عزیز مدارتون را حتما بررسی کنید
در حالت اسلیپ هم باید جی پی اس را خاموش کنید و هم قسمت جی اس ام را به حالت اسلیپ ببرید
مصرف اون با رعایت همه موارد به زیر 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)
سپاس فراوان
برای رفع این خطا تمام تنظیمات دیباگ رو به حالت ریلیز نیز منتقل کنید
جز فلگ بهینه سازی کد (اپتیمایز)
سپاس
مشکل make build رو چکار کنم:
error:parameter numbers must be 2!
متن کامل خطا رو می نویسید ؟
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)
خوب باید مسیر ها رو هم دونه دونه اصلاح کنید
فکر میکنم راحت ترین کار این باشه که پروژه رو توی همون حالت دیباگ بذارید ولی توی تنظیمات پروژه برید و بگید اطلاعات دیباگ رو ایجاد نکنه
در حالت دیباگ فلگ اپتیمایز روی Og هست که تغییرش بدید مثلا به Os یا O2
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
مهندس جان این خطا رو هم میده
این چجوری رفع میشه؟
اون راهی رو که عرض کردم رو برید جلو
درود.برشما.
آیا حافظه داخلی داره برا ذخیره ؟
بلی داره یه حافظه کمی برای کد و حتی ذخیره کردن اطلاعات داره
مقدارش چقدره ؟تو هر ماژول فرق میکنه .آیا M10 ،Open cpu داره؟داکویمنت ها مقدار زده؟
داخل داکیومنت ها هست 320 کیلو برای کد و 120 کیلو File system
سپاس فراوان.تمام ماژول ها open cpu دارن ؟یا اینه با حرف خاصی تو پارت نامبر مشخص میشه که کدوم ماژول داره؟
نه این قابلیت حدیدا اضافه شده و بخاطر قابلیتهایی هست که هسته های اونها دارند
باید دقیق ماژول را بررسی کرد آیا داره یا نه
سلام،ممنون از آموزش های خوبتون،چطور میشه سمپل هایی که میزنیم رو در فرمت example مثل خوده فایلsdk ذخیره کرد؟؟
سلام
شما باید در همون پوشه 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
C:/Users/mahmood/Desktop/MC60 OpenCPU Sisoog.rarr/GS3_SDK_V2.3'
make.exe[1]: Leaving directory
/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'
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>
با تشکرات فراوان.
من هم با ماژول m66 همین مشکل رو دارم و همین خطا رو میده برام ، اگر راه حلی دارید لطلفا به منم کمک بفرمایید
سلام
لینک این فایل MC60 OpenCPU Sisoog.rar نیومده.
سپاس
لینک رو من الان چک کردم مشکلی نداشت
با سلام
ممنون بابت مطلب بالا
document های مربوط به OpenCPU ماژول M66 رو از کجا میشه دریافت کرد؟ من داخل سایت خود شرکت هم چیزی نتونستم پیدا کنم
سلام دوست عزیز
لینک M66 Hardware design :
https://www.quectel.com/UploadImage/Downlad/Quectel_M66_Hardware_Design_V1.2.pdf
موفق باشین
ممنون از پاسختون
اگر تو این فایل یکبار کلمه OpenCPU رو پیدا کردین به من هم نشون بدین. اصلا در موردش اشاره هم نشده. فک میکنم به خود شرکتش باید ایمیل بزنم
فایل های مربوطه رو به انتهای مقاله پیوست کردیم که میتونید دانلود کنید.
داکیومنت هاش هم همراهش هست
سلام دوست عزیز
فایل انتهایی همین پست رو دانلود کنید – توی اسمش هم ذکر شده opencpu
تمام فایل های مربط به راه اندازی و راهنمای اون داخل همون فایل هست
Perfect
به نام خالق متعال :
با سلام بر همگی
خیلی خوشحالم که قسمت دوم این ماژول را گذاشتید .
لطفا یک کیت آموزشی مناسب برای اینگونه open cpu ها نیز معرفی نمایید. ممنون می شوم.
ونیز برنامه ای برای کار با ماژول های هوش مصنوعی (AI) شرکت چینی مثل sc66 و معرفی دیگر ماژول های آن که خودم در کاتالوگ های آن یا در سایت شما منتشر می شود واقعا آدم فکر می کند که دارد خواب می بیند. که یک ماژولی بتواند اینقدر قدرت و یا ظرفیت بالایی داشته باشد که کار چند یا چندین آی سی مجزا را با هم انجام داده. و
با چندین خط کد به نتیجهء دلخواه برسد. با تشکر
سلام دوست عزیز
در قسمت اول ما شماتیک و پی سی بی رایگان از این برد را برای دانلود قرار دادیم که میتونید براحتی استفاده کنید 🙂
انشاله در مورد اونها هم بیشتر خواهیم نوشت