کار با QuecOpen در ماژول EC200U

blog
۱۴۰۱-۰۳-۱۵
6 دقیقه

قبلا در مطلب “معرفی قابلیت QuecOpen در ماژول های کویکتل” در مورد QuecOpen صحبت کردیم و اشاره کردیم که به کمک این قابلیت میتونیم کدنویسی خودمون رو روی ماژول انجام بدیم و نیازی به کنترلر خارجی نداشته باشیم ، حالا در این آموزش میخوایم نحوه اجرای یک Hello World رو روی EC200U بررسی کنیم ،پس با سیسوگ همراه باشید.

 

برای کدنویسی این ماژول ما IDE خاصی نداریم ، تنها چیزی که داریم یه SDK هست که البته غیر از اون هم به چیز دیگه ای نیاز نداریم ، شما میتونید برای ادیت کد ها از هر ادیتوری که میخواید استفاده کنید.

 

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

اول از همه باید پوشه sdk رو اکسترکت کنیم ، تصویر زیر ساختار این پوشه رو نشون میده

QuecOpen csdk

 

وارد پوشه sdk میشیم و برای اطمینان از درست بودن فایل هامون ، قبل از اینکه تغییری در اونها بدیم یکبار پروژمون رو build میکنیم. برای اینکار از PowerShell استفاده میکنیم و دستور زیر رو اجرا میکنیم

 

 

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

 

خب حالا میریم سراغ نوشتن کد خودمون…

اول از همه باید بگم که sdk به صورت دیفالت شامل app های کوچیک هست که هر کدومشون یه کاری رو انجام میدند و هر کدوم هم توی یک thread جدا اجرا میشند ، نقطه شروع پردازنده هم برای پردازش کد ها فایل ql_init.c توی مسیر components\ql-application\init  هست که تابع appimg_enter در اون صدا زده میشه.

همونطور که توی خط 24 کد بالا میبینید ، یک thread جدید ایجاد شده که بدنه تابع اون به این صورت هست :

در اینجا هر زیر اپلیکیشنی که بخوایم استفاده کنیم میتونیم فعالش کنیم ، ما برای تست Hello World خودمون ، تابع ql_uart_app_init رو از کامنت در میاریم.

حالا به سراغ فایل uart_demo.c در مسیر components\ql-application\peripheral میریم . نقطه شروع ما توی این فایل همون تابع ql_uart_app_init هست که در اون یک thread ایجاد کرده که تابع ql_uart_demo_thread در اون اجرا میشه

در ادامه میتونید پارامتر های این تابع رو بررسی کنید

quecOpen rtos task create

 

دستورات دیگر RTOS و نحوه پیاده سازی اونها در فایل Quectel_EC200U_Series_QuecOpen_RTOS_Development_Guide_V1.0 به طور کامل توضیح داده شده.

خب ، حالا به تابع ql_uart_demo_thread میریم

همونطور که مشخصه ، توی خط 15 تا 21 تنطیمات UART (مثل BAUD RATE , DATA BIT , …) رو مشخص کرده ، بعد از اون توی خط 34 و 39 کد بالا ، پین های مربوطه رو برای rx و tx مشخص کرده و عملکرد اونها رو برای uart مشخص کرده ؛ الان میخوایم ببینیم که این دو پین QL_UART2_TX_PIN و QL_UART2_RX_PIN از روی سخت افزار کدوم پایه ها میشند ، توی فایل components\ql-application\peripheral\inc\ql_pin_cfg.h این دو پایه به این صورت تعریف شدند:

و بعد از اون توی فایل components\ql-kernel\inc\quec_pin_index.h دوباره به این صورت تعریف شدند:

و در نهایت پایه های 137 و 138 میشند.

 

quecOpen pinmux uart ec200u

 

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

quecOpen pinmux uart ec200u board

شاید به نظر کمی بیهوده بیاد که چندمرحله مختلف برای مشخص کردن یک پین تعریف شده ، اما اینطور نیست ! اگر شما هم از همین استاندارد برای کدنویسی پیروی کنید میتونید بدون تغییر ، کدی که برای مثلا ماژول ec200u نوشتید رو روی eg915u هم استفاده کنید.

 

به سراغ کد بر میگردیم و توی خط 8 ، متنی که میخوایم چاپ کنیم رو تغییر میدیم

زمان توقف رو هم از 20 ثانیه به 1 ثانیه کاهش میدیم (خط 65)

با دستور زیر کدمون رو کامپایل میکنیم

خروجی ما توی پوشه target\EC200UEU_AA_APPIMAGE قرار میگیره

quecOpen image

برای پروگرام نیازه که اول دستور AT+QDOWNLOAD رو برای ماژول ارسال کنیم ، بعد از اون ماژول ریست میشه و یه پورت جدید با نام Diag شناخته میشه

کار با QuecOpen در ماژول EC200U

حالا از نرم افزار QFlash نسخه 5.7 استفاده کرده و فایل 8915DM_cat1_open_APPIMAGE_merge.pac رو انتخاب میکنیم و ماژول رو پروگرام میکنیم.

quecopen qflash

 

با وصل کردن یک مبدل سریال به پایه های AUX_RXD و AUX_TXD ماژول میتونیم خروجی رو بررسی کنیم.

 

quecOpen ec200u helloworld

برای کسب اطلاعات بیشتر و دریافت اطلاعات مورد نیاز و SDK برای کار با QuecOpen این فرم زیر را تکمیل کرده تا با شما تماس گرفته شود.

 

 

اطلاعات
15
0
لینک و اشتراک
profile

Mahdi.h  

متخصص الکترونیک

علاقه مند به سیستم های امبدد | http://mahdi2001h.ir

مقالات بیشتر
slide

پالت | بازار خرید و فروش قطعات الکترونیک

قطعات اضافه و بدون استفاده همیشه یکی از سرباره‌‌های شرکتها و طراحان حوزه برق و الکترونیک بوده و هست. پالت سامانه‌ای است که بصورت تخصصی اجازه خرید و فروش قطعات مازاد الکترونیک را فراهم می‌کند. فروش در پالت
family

آیسی | موتور جستجوی قطعات الکترونیک

سامانه آی سی سیسوگ (Isee) قابلیتی جدید و کاربردی از سیسوگ است. در این سامانه سعی شده است که جستجو، انتخاب و خرید مناسب تر قطعات برای کاربران تسهیل شود. وقتی شما در این سامانه، قطعه الکترونیکی را جستجو می‌کنید؛ آی سی به سرعت نتایج جستجوی شما در اکثر فروشگاه‌های آنلاین در حوزه قطعات الکترونیک را نمایش می‌دهد. جستجو در آیسی
family

فروشگاه سیسوگ

فروشگاه سیسوگ مجموعه ای متمرکز بر تکنولوژی های مبتنی بر IOT و ماژول های M2M نظیر GSM، GPS، LTE، NB-IOT، WiFi، BT و ... جایی که با تعامل فنی و سازنده، بهترین راهکارها انتخاب می شوند. برو به فروشگاه سیسوگ
family

سیسوگ فروم | محلی برای پاسخ پرسش‌های شما

دغدغه همیشگی فعالان تخصصی هر حوزه وجود بستری برای گفتگو و پرسش و پاسخ است. سیسوگ فروم یک انجمن آنلاین است که بصورت تخصصی امکان بحث، گفتگو و پرسش و پاسخ در حوزه الکترونیک را فراهم می‌کند. پرسش در سیسوگ فرم
become a writer

نویسنده شو !

سیسوگ با افتخار فضایی برای اشتراک گذاری دانش شماست. برای ما مقاله بنویسید.

ارسال مقاله
become a writer

نویسنده شو !

سیسوگ با افتخار فضایی برای اشتراک گذاری دانش شماست. برای ما مقاله بنویسید.

ارسال مقاله
خانواده سیسوگ

پالت | بازار خرید و فروش قطعات الکترونیک

قطعات اضافه و بدون استفاده همیشه یکی از سرباره‌‌های شرکتها و طراحان حوزه برق و الکترونیک بوده و هست. پالت سامانه‌ای است که بصورت تخصصی اجازه خرید و فروش قطعات مازاد الکترونیک را فراهم می‌کند.
family

آیسی | موتور جستجوی قطعات الکترونیک

سامانه آی سی سیسوگ (Isee) قابلیتی جدید و کاربردی از سیسوگ است. در این سامانه سعی شده است که جستجو، انتخاب و خرید مناسب تر قطعات برای کاربران تسهیل شود. وقتی شما در این سامانه، قطعه الکترونیکی را جستجو می‌کنید؛ آی سی به سرعت نتایج جستجوی شما در اکثر فروشگاه‌های آنلاین در حوزه قطعات الکترونیک را نمایش می‌دهد.
family

فروشگاه سیسوگ

فروشگاه سیسوگ مجموعه ای متمرکز بر تکنولوژی های مبتنی بر IOT و ماژول های M2M نظیر GSM، GPS، LTE، NB-IOT، WiFi، BT و ... جایی که با تعامل فنی و سازنده، بهترین راهکارها انتخاب می شوند.
family

سیسوگ فروم | محلی برای پاسخ پرسش‌های شما

دغدغه همیشگی فعالان تخصصی هر حوزه وجود بستری برای گفتگو و پرسش و پاسخ است. سیسوگ فروم یک انجمن آنلاین است که بصورت تخصصی امکان بحث، گفتگو و پرسش و پاسخ در حوزه الکترونیک را فراهم می‌کند.
family

دیدگاه ها

profile
سینا گفت :
۱۴۰۳-۰۷-۱۹ ۰۹:۵۹

if(CONFIG_QUEC_PROJECT_FEATURE_MY_API)
option(QL_APP_FEATURE_MY_API “Enable my_api” ON)
else()
message(STATUS “FEATURE SMS is disabled at core!”)
option(QL_APP_FEATURE_MY_API “Enable SMS” OFF)
endif() سلا م نمی دونم چرا موقع ساختن AP جدید طبق مراحل زکر شده در فصل 4 SDK برای ساخت AP جدید من تمام مراحل فصل چهارم رفتم جلو ولی AP من OFF می شود ودر QL _INT .C نیز اضافه شد بعد ازBUILD کردن UNDEF# می شود واگر OFF هم پاک کنم اصلا وارد پوشه ی AP من نمی شود

profile
Mahdi.h   گفت :
۱۴۰۳-۰۷-۲۰ ۱۱:۱۵

سلام. منظورتون از AP من OFF میشه چی هست ؟!
میتونید سوالتون رو کامل در انجمن سیسوگ بپرسید تا دوستان راهنمایی کنند.
ask.sisoog.com
فصل 4 رو هم متوجه نشدم ؟! منظورتون داکیومنتی هست ؟!

profile
سینا گفت :
۱۴۰۳-۰۶-۱۹ ۱۶:۲۹

CMake Error: The source directory “C:/Quectel ec200u” does not appear to contain CMakeLists.txt.
Specify –help for usage, or press the help button on the CMake GUI.

ninja: error: loading ‘build.ninja’: The system cannot find the file specified.
ببخشد
.\build_all.bat new EC200UEU_AA appimage من این دستور در vs code می فرستم با ارور بالا برخورد می کنم برای build کردن می تونید راهنمایم کنید …

profile
Mahdi.h   گفت :
۱۴۰۳-۰۶-۲۰ ۰۹:۰۶

اروری که داره میده خیلی واضحه. مشخصا داره میگه من فایل CMakeLists.txt رو پیدا نمیکنم که نشون میده احتمال زیاد توی فولدر اشتباهی دارید دستور رو میزنید. باید تو فولدر اصلی sdk که فایل CMakeLists.txt هست، این دستور رو بزنید
توی اسم فولدر هاتون هم از فاصله استفاده نکنید.

profile
امیر گفت :
۱۴۰۲-۰۵-۰۹ ۱۰:۳۳

سلام می خواستم ببینم Quec open از Cpp هم پشتیبانی می کند?

profile
Mahdi.h   گفت :
۱۴۰۲-۰۵-۱۱ ۱۲:۰۷

سلام. خیر. با c باید کد بزنید

profile
zahra گفت :
۱۴۰۱-۰۶-۲۸ ۰۸:۰۳

سلام
ببخشید من ی مشکلی که داشتم قبل پروگرم کردن ماژول دستورات اتصال به اینترنت و gps را ساپورت میکرد ولی از وقتی برنامه ریختم روش با پورت usb at هر دستوری مربوط به اینترنت یا gps میفرستم را ارور 58 برمیگردونه.

profile
SABA ABIRI گفت :
۱۴۰۲-۱۰-۰۵ ۱۴:۵۶

سلام وقت بخیر من هم مشکل کاربر ZAHRA رو دارم و تمام AT Command های مربوط به اینترنت را میزنه +CME ERROR: invalid command line
لطفا راهنمایی کنید ممنونم

profile
Mahdi.h   گفت :
۱۴۰۱-۰۶-۲۸ ۰۸:۴۸

سلام . در زمان تنظیم sdk ماژول رو به درستی انتخاب کردید ؟
منظور اینکه از همین دستور استفاده کردید ؟
.\build_all.bat new EC200UEU_AA appimage
اگر اینطور هست دستوراتی که استفاده میکنید و ماژول جواب نمیدهد را بفرستید

profile
zahra گفت :
۱۴۰۱-۰۶-۲۸ ۱۲:۴۰

بله درست انتخاب کردم و بیلد گرفتم و تونستم توی ترمینال hello world ببینم
ولی دستورات gps و اینترنت ساپورت نمیکنه
AT+QGPS
AT+QIACT
AT+QIDEACT
همه رو میزنه
+CME ERROR: invalid command line

profile
مهدی صالحی زاده گفت :
۱۴۰۱-۰۶-۰۵ ۰۹:۲۴

وقتی ماژول رو روشن میکنم،پورت دیاگ فقط نصب میشه، در حالی که که طبق آموزش های سایت ابتدا باید پورت AT port نصب بشه و بعد از ارسال AT+QDOWNLOAD پورت دیاگ فعال میشه لطفا من رو راهنمایی بفرمایید

profile
Mahdi.h   گفت :
۱۴۰۱-۰۶-۰۵ ۰۹:۳۱

درایور های ماژول رو نصب کردید ؟!

profile
مهدی صالحی زاده گفت :
۱۴۰۱-۰۶-۰۵ ۱۱:۴۵

سلام ، من یک پکیج دیتای ماژول از طرف شما داشتم 0که وشه SDK و درایور رو داشته ولی وشه tools رو نداره (نرم افزارها ی کار با ماژول بویژه QFLASH ورژن 5.7 را ندارم)
درایور رو نصب کردم ماژول را که روشن می کنم به پورت ها SPRD U2S Diag اضافه میشه ظاهرا درایورهای دریافتی هم مشکل دارند چون با نام Quectel USB هم نیست

profile
Sisoog Os گفت :
۱۴۰۱-۰۶-۰۵ ۱۲:۱۳

سلام مجدد یه پیغام به همون کاربری که براتون ارسال کرده در تلگرام بدید تا اونها را هم براتون ارسال بشه

profile
سیدمحمد مهدی صالحی زاده گفت :
۱۴۰۱-۰۶-۰۵ ۱۴:۳۹

با تشکر فایل ها ارسال شد. ولی مشکل من در مورد شناخت تنها یک پورت به نام SPRD U2S Diag وجود دارد در حالی که در مستندات ارسالی و سایت با روشن شدن ماژول و اتصال آن به کامپیوتر حداقل دو پورت با پیشوند Quectel دیده میشه

become a writer

نویسنده شو !

سیسوگ با افتخار فضایی برای اشتراک گذاری دانش شماست. برای ما مقاله بنویسید.

ارسال مقاله
become a writer

نویسنده شو !

سیسوگ با افتخار فضایی برای اشتراک گذاری دانش شماست. برای ما مقاله بنویسید.

ارسال مقاله