آموزش SDK EC200U - قسمت چهارم - ارتباط با سرور

smem
45 بازدید
۱۴۰۴-۰۴-۱۶
15 دقیقه
  • نویسنده: آرویدتک
  • درباره نویسنده: www.arvidtek.com | گروه مهندسی آرویدتک | فعال حوزه الکترونیک و مخابرات | فروشگاه تخصصی قطعات الکترونیک

در دنیای امروز، اینترنت اشیا (IoT) به یکی از مهم‌ترین شاخه‌های فناوری تبدیل شده که در آن دستگاه‌ها و سنسورها از طریق شبکه با یکدیگر در ارتباط هستند و داده‌ها را جمع‌آوری، پردازش و منتقل می‌کنند. در چنین پروژه‌هایی، استفاده از ماژول‌های 4G مانند Quectel EC200U به عنوان پل ارتباطی بین سخت‌افزار و اینترنت، نقش حیاتی دارد.

در این پست قصد دارم روش  راه‌اندازی این ماژول با استفاده از SDK رسمی EC200U به زبان C را با شما به اشتراک بگذارم. تمرکز اصلی من بر روی پروتکلهای مهم و قابلیت های کلیدی است که تقریباً در تمام پروژه‌های IoT کاربرد دارند:

CSQ , GSM: بررسی کیفیت سیگنال و وضعیت سیم‌کارت برای اطمینان از پایداری ارتباط، ارسال پیامک و تماس.
MQTT: پروتکلی سبک و سریع برای ارسال داده‌های لحظه‌ای بین دستگاه‌ها و سرورهای ابری در پروژه‌های IoT.
HTTP: پروتکلی ساده و فراگیر برای ارسال و دریافت داده از طریق وب‌سرورها، مثل ثبت داده یا دریافت تنظیمات.
Ping: تست اتصال شبکه برای بررسی دسترسی، کیفیت لینک و تاخیر ارتباطی.
NTP: هماهنگ‌سازی ساعت دستگاه‌ها با سرورهای زمانی دقیق برای ثبت درست رویدادها و امنیت ارتباطات.
Socket: ارتباط دوطرفه مستقیم بین کلاینت و سرور برای انتقال سریع داده‌ها به‌صورت پایدار.
OTA: آپدیت نرم‌افزار دستگاه از راه دور برای رفع باگ، افزودن قابلیت‌ها یا افزایش امنیت.

استفاده از این قابلیت‌ها در برنامه‌های C با SDK ماژول، نیازمند درک دقیق از ساختار توابع، مدیریت ارتباطات سریال، نحوه‌ی کار با APIهای موجود، و در برخی موارد، تحلیل پاسخ‌ Callbackهای مربوطه است. هدف من از این پست، ارائه‌ی یک دید عملی برای توسعه‌دهندگانی است که می‌خواهند بدون وابستگی به فریم‌ورک‌های سطح بالا، به‌صورت مستقیم و سطح پایین با سخت‌افزار کار کنند. اگر شما هم به دنبال پیاده‌سازی پروتکلهای ارتباطی با زبان C با یک ماژول 4G هستید ادامه‌ی این آموزش می‌تواند راه را برایتان هموارتر کند.

لازم به ذکر است که به دلیل زیاد بودن تعداد پروتکلها سعی شده آموزش به طور کابردی باشه. همچنین ارتباطی که با ماژول برقرار میکنیم ازطریق UART است و کد مشابه آن چیزی است که در قسمت قبل بیان شد و در اینجا تنها نام تابع UART عوض میشود.

بررسی سیگنال و وضعیت سیمکارت

در پروژه‌های IoT که به ارتباطات سلولار متکی هستند، پایداری و صحت اتصال شبکه از اهمیت بالایی برخوردار است. قبل از هرگونه تبادل داده، بررسی وضعیت سیم‌کارت (SIM) و کیفیت سیگنال شبکه (CSQ) ضروری است تا از فعال بودن سیم‌کارت، ثبت موفق در شبکه و قدرت سیگنال کافی اطمینان حاصل شود. این مرحله می‌تواند از بروز خطاهای ارتباطی، قطعی داده جلوگیری کند و پایه‌ای مطمئن برای اجرای پروتکل‌های مختلف را فراهم سازد.

برای بررسی وضعیت سیگنال و سیمکارت نیاز است که ابتدا از این مسیر (/components/ql-application/init/ql_init.c) تابع (ql_sim_app_init)  را فعال کنید. توابع مهمی که ما در این بخش استفاده میکنیم توابع زیر هستند که بعدا نیز از آنها برای بررسی وضعیت سیمکارت بهره میبریم. این توابع همانطور که مشخص است داده های (IMSI,ICCID,phonenumber) را از سیمکارت دریافت میکنند.

دقت کنید که اگر توابع مربوط به PIN سیمکارت را لازم ندارید آنها را غیرفعال کنید. پس از اینکه از وضعیت سیمکارت اطمینان پیداکردیم سراغ برقراری تماس و ارسال پیامک میرویم.

تماس و ارسال پیامک

در پروژه‌های اینترنت اشیاء (IoT)، ارتباط مؤثر و پیوسته میان دستگاه‌ها و کاربران یا سرورها نقش حیاتی ایفا می‌کند. در این میان، تماس صوتی و پیامک (SMS) به‌عنوان روش‌های ارتباطی سنتی، همچنان در بسیاری از کاربردهای IoT از اهمیت بالایی برخوردارند، به‌ویژه در شرایطی که دسترسی به اینترنت پایدار یا پرسرعت وجود ندارد. پیامک‌ها به دلیل سادگی، امنیت نسبی، پوشش گسترده شبکه‌های سلولی و عدم نیاز به اتصال داده، راهکاری قابل اعتماد برای ارسال هشدارها، دریافت فرمان‌ها و گزارش وضعیت از راه دور محسوب می‌شوند.

همچنین، تماس صوتی می‌تواند برای ارسال پیام‌های صوتی اضطراری یا تأیید هویت انسانی در سیستم‌های امنیتی و نظارتی مورد استفاده قرار گیرد. استفاده از این قابلیت‌ها در پروژه‌های IoT، نه تنها باعث افزایش پایداری ارتباط در شرایط بحرانی می‌شود، بلکه امکان گسترش کاربردها به مناطق دورافتاده و کم‌برخوردار از زیرساخت اینترنت را نیز فراهم می‌کند. از این‌رو، ترکیب تماس و پیامک با فناوری‌های جدید، موجب افزایش انعطاف‌پذیری، امنیت و پوشش در طراحی سیستم‌های هوشمند می‌گردد. برای تماس صوتی لازم است ابتدا کد زیر را در مسیر (/components/ql-application/init/ql_init.c) از حالت کامنت خارج کنید.

ساختار کد برنامه تماس که در فایل voice_call_demo.c قراردارد کاملا مانند چیزیست که در آموزشهای قبل دیدین به همین دلیل به جای بررسی ساختار کد به سراغ بررسی خود کد میرویم. در این کد مثالهایی برای شما قرارداده شده تا بتوانید از قابلیتهای (Disable automatic answer,Enable call waiting,call forwarding,call clccc) استفاده کنید. به دلیل واضح بودن کد و طولانی نشدن مطلب از تفسیر و بررسی کامل تمام قابلیتها صرف نظر میکنیم و تنها مهمترین قسمت یعنی برقراری تماس  را بررسی میکنیم.

با خارج کردن این قسمت کد از حالت کامنت و قراردادن شماره خود بجای “0912xxxxxx” میتوانید تماس برقرارکنید. چنانچه تماس با موفقیت برقرار شد به سراغ ارسال پیامک بروید.

برای ارسال پیامک نیاز است که ابتدا از این مسیر (/components/ql-application/init/ql_init.c) تابع (ql_sms_app_init)  را از حالت کامنت خارج کنید.

سپس نیاز است در توابع مربوط به پیامک این قسمت را از حالت کامنت خارج کنید.

با خارج کردن این قسمت کد از حالت کامنت و قراردادن شماره خود بجای “0912xxxxxx” میتوانید پیامک ارسال کنید. اگر با تماس و پیامک مشکلی نداشتید حالا وقتش است که به شبکه جهانی متصل شویم. برای تست اتصال یکی از بهترین ابزارها Ping است که در ادامه توضیح داده میشود.

استفاده از Ping

ابزار Ping یکی از ساده‌ترین و در عین حال قدرتمندترین ابزارهای عیب‌یابی و پایش در دنیای شبکه‌های کامپیوتری است. این دستور که مخفف Packet Internet Groper است، برای اولین بار به‌عنوان روشی سریع جهت بررسی وضعیت دسترسی و سلامت مسیر ارتباطی میان دو دستگاه در شبکه طراحی شد. عملکرد Ping مبتنی بر پروتکل ICMP (Internet Control Message Protocol) است و با ارسال بسته‌های درخواست (Echo Request) و دریافت پاسخ (Echo Reply) میزان دسترسی، زمان رفت و برگشت بسته‌ها (Round-Trip Time) و در بسیاری موارد میزان از دست رفتن بسته‌ها (Packet Loss) را مشخص می‌کند. استفاده از Ping دلایل و مزایای متعددی دارد از جمله امکان اطمینان از برقراری ارتباط با یک سرور یا دستگاه خاص، شناسایی مشکلات اتصال در مسیر شبکه، اندازه‌گیری کیفیت لینک از نظر تاخیر و پایداری، و حتی تشخیص وجود اختلالات احتمالی مانند فایروال‌ها یا مسدود بودن ICMP.

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

برای استفاده از ping نیاز است که ابتدا از این مسیر (/components/ql-application/init/ql_init.c) تابع (ql_ping_app_init)  را از حالت کامنت خارج کنید.

تابعی که برای درخواست پینگ استفاده میکنیم.

خروجی مانند زیر خواهید داشت:

استفاده از Ping

چنانچه خروجی مانند بالا گرفتید یعنی ارتباط شما با شبکه برقرار است و میتوانیم سراغ سایر پروتکلها برویم. اولین پروتکلی که بررسی خواهیم کرد پروتکل پر استفاده ی NTP است.

راه اندازی NTP

NTP یا Network Time Protocol یکی از قدیمی‌ترین و پرکاربردترین پروتکل‌های اینترنتی برای هماهنگ‌سازی زمان میان سیستم‌های کامپیوتری در یک شبکه است. از آنجایی که بسیاری از سرویس‌ها و کاربردهای حساس شبکه مانند ثبت وقایع (Logging)، احراز هویت، ارتباطات امن، پایگاه‌های داده توزیع‌شده و حتی برخی الگوریتم‌های رمزنگاری به صحت و دقت زمان وابسته‌اند، وجود ابزاری برای همزمان‌سازی ساعت سیستم‌ها ضرورتی انکارناپذیر است.

پروتکل NTP با معماری سلسله‌مراتبی (Stratum) کار می‌کند و این امکان را فراهم می‌آورد که دستگاه‌ها، ساعت خود را از سرورهای زمانی دقیق (مانند ساعت اتمی یا GPS) دریافت کرده و با دقتی در حد میلی‌ثانیه هماهنگ شوند. این پروتکل علاوه بر انتقال زمان، مکانیزم‌هایی برای جبران تاخیر شبکه و کاهش انحراف زمانی (Drift) ارائه می‌دهد. مزایا و دلایل استفاده از NTP به این شرح است.

یکسان‌سازی زمان در شبکه‌های توزیع‌شده: هماهنگی ساعت سیستم‌ها باعث می‌شود رویدادها به‌درستی ثبت شوند و تحلیل لاگ‌ها قابل اعتماد باشد.

  • افزایش امنیت: بسیاری از پروتکل‌های امنیتی مثل Kerberos به زمان صحیح وابسته‌اند و انحراف ساعت می‌تواند منجر به خطا در احراز هویت شود.
  • پشتیبانی از زیرساخت‌های حیاتی: در دیتاسنترها، سرورهای ایمیل، سیستم‌های مالی، مخابرات و اینترنت اشیا، زمان‌بندی دقیق پیش‌نیاز عملکرد صحیح است.
  • انعطاف‌پذیری: NTP می‌تواند از منابع زمانی مختلف استفاده کند و مکانیزم‌های Failover برای دسترس‌پذیری بالا دارد.
  • قابلیت جبران خطا: این پروتکل تا حد زیادی تاثیر تاخیر و نوسان شبکه را جبران می‌کند تا دقت همزمان‌سازی افزایش یابد.

برای استفاده از NTP نیاز است که ابتدا از این مسیر (/components/ql-application/init/ql_init.c) تابع (ql_ntp_app_init)  را از حالت کامنت خارج کنید.

برای دیدن لاگ NTP روی UART از کد زیر استفاده کردم و تابع لاگ اصلی این برنامه یعنی تابع (QL_NTP_LOG) را در کد با تابعی که ساختیم جایگزین کردم. برای اینکار میتوانید از کلید میانبر Ctrl+H در Vscode استفاده کنید.

قسمت دیگر کد که نیاز به تغییر دارد به صورت زیر است. با ایجاد این تغییر از یک سرور NTP ایرانی استفاده میکنیم.

پس از تغییر کد و کامپایل برنامه خروجی مثل زیر خواهیم داشت.

راه اندازی NTP

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

راه اندازی OTA

OTA یا Over-The-Air Update روشی برای به‌روزرسانی نرم‌افزار یا تنظیمات دستگاه‌ها از راه دور و بدون نیاز به دسترسی فیزیکی است. این قابلیت در پروژه‌های IoT، تجهیزات مخابراتی و سیستم‌های توزیع‌شده اهمیت زیادی دارد، چون امکان رفع باگ‌ها، افزودن قابلیت‌های جدید و ارتقای امنیت را فراهم می‌کند، بدون اینکه کاربر مجبور به مراجعه حضوری یا جداسازی دستگاه باشد. FOTA (Firmware Over-The-Air) نوعی خاص از OTA است که به‌طور ویژه برای به‌روزرسانی Firmware دستگاه‌ها استفاده می‌شود.

FOTA به سازندگان و مدیران شبکه این امکان را می‌دهد تا میکروکنترلرها، مودم‌ها یا ماژول‌های ارتباطی را در مقیاس بزرگ، سریع و ایمن به‌روزرسانی کنند. این موضوع به‌ویژه برای رفع آسیب‌پذیری‌های امنیتی و افزایش طول عمر محصولات متصل اهمیت زیادی دارد. در مجموع، OTA و FOTA باعث کاهش هزینه‌های نگهداری، افزایش رضایت کاربران و مدیریت آسان دستگاه‌های نصب‌شده در نقاط مختلف می‌شوند.

برای استفاده از OTA نیاز است که ابتدا از این مسیر (/components/ql-application/init/ql_init.c) تابع (ql_fota_http_app_init)  را فعال کنید.

قبل از اینکه سراغ کد برویم لازم است کد قبلی و کد جدید را به این دایرکتوری ببرید (SDK_U/tools/win32) و از ابزاری به نام dtools استفاده کنید که برای شما یک فایل جهت آپدیت کردن میسازد. این فایل بسته به دستوری که به dtools میدهید میتواند از به طور کامل باشد و یا با استفاده از دستور زیر فقط شامل تغییرات مربوط به دو نسخه باشد. یعنی این ابزار هر دو برنامه را بررسی میکند و فقط تغییراتی را که ایجاد کرده اید به صورت یک فایل در اختیار شما میگذارد که اگر روی یک سرور قراردهید میتوانید از آن استفاده کنید. در آزمایشی که انجام شد تابع OTA حذف نشد و بعد از اینکه سیستم به طور خودکار راه اندازی مجدد شد سیستم به درستی کار کرد. برای استفاده از این برنامه لازم است دستور زیر را در دایرکتوری (SDK_U/tools/win32) بزنید (اگر از ویندوز استفاده میکنید نیاز به کلمه wine ندارید و این کلمه را حذف کنید.)

در اینجا اسم برنامه جدید bb است و برنامه ای که برای ما میسازد (output.pack) نام دارد که باید در سرور قراردهیم. درصورتی که اینکار به طور صحیح انجام شود خروجی به شکل زیر خواهد بود

راه اندازی OTA

حالا در کد نیاز است که این قسمت ها را تغییر دهیم. ابتدا آدرس سرور را در این قسمت کد وارد میکنیم.

در قسمت دیگری از کد هم اسم فایل را وارد میکنیم.

پس از نصب برنامه روی دستگاه خروجی مانند زیر خواهیم داشت.

راه اندازی OTA

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

راه اندازی پروتکل MQTT

در دنیای اینترنت اشیا، ارتباط سریع، سبک و قابل‌اعتماد بین دستگاه‌ها و سرورها حیاتی است. MQTT (Message Queuing Telemetry Transport) یک پروتکل ارتباطی سبک‌وزن و کم‌مصرف است که برای محیط‌های با پهنای باند محدود و منابع سخت‌افزاری کم طراحی شده. به همین دلیل، MQTT انتخابی ایده‌آل برای انتقال داده‌های سنسورها، کنترل از راه دور، و ایجاد ارتباط دائمی میان دستگاه‌های IoT با سرورهای ابری یا داشبوردها است. سادگی در پیاده‌سازی، مصرف کم انرژی و پشتیبانی گسترده از ویژگی‌های کلیدی این پروتکل هستند.

برای ارسال داده با MQTT نیاز است که ابتدا از این مسیر (/components/ql-application/init/ql_init.c) تابع (ql_mqtt_app_init)  را فعال کنید.

برای دریافت داده های (log) برنامه از این کد استفاده میکنیم.

در اینجا تابعی که مربوط به دریافت داده از UART هست را هم در کد قرار دادم. شما میتوانید ایجاد کمی تغییرات در کد از آن برای ارسال پیام دلخواه به سرور استفاده کنید. در اینجا پیامی که میفرستیم به طور ثابت (temp:5) است و از سرور رایگان Thingsboard استفاده کردیم. برای استفاده از این سرور نیاز است ابتدا تنظیمات سرور را به صورت زیر وارد کنید.

کد ما دو تابع کلی دارد که یکی توابع بازگشتی (callback) هستند که به صورت زیر است.

و تابع دیگری که کار اصلی را انجام میدهد تابع (mqtt_app_thread) است که در ادامه مشاهده میکنید.

پس از کامپایل و نصب برنامه خروجی در سرور مانند زیرخواهد بود.

راه اندازی پروتکل MQTT

و خروجی داده های برنامه به صورت زیر است

راه اندازی پروتکل MQTT

درصورتی که موفق شدید گام بزرگی جهت ایجاد ارتباط مناسب جهت پروژه های IOT برداشتید. در ادامه سراغ Socket میرویم که اگرچه برای پروژه های کمی پیچیده به خوبی MQTT نیست اما به دلیل سادگی همچنان در پروژه های زیادی استفاده میشود.

استفاده از Socket

Socket یکی از پایه‌ای‌ترین مفاهیم در برنامه‌نویسی شبکه است که امکان برقراری ارتباط مستقیم، دوطرفه و پایدار بین دو دستگاه (کلاینت و سرور) را فراهم می‌کند. سوکت‌ها به‌عنوان رابطی بین برنامه و شبکه عمل می‌کنند و انتقال داده‌ها را در بستر پروتکل‌های TCP یا UDP مدیریت می‌کنند. این ساختار ساده و منعطف، کاربردهای گسترده‌ای دارد؛ از ارسال پیام‌های لحظه‌ای گرفته تا پیاده‌سازی چت‌سرورها، کنترل از راه دور دستگاه‌ها و تبادل سریع اطلاعات در پروژه‌های IoT. استفاده از سوکت باعث می‌شود برنامه‌نویسان بتوانند ارتباطات شبکه‌ای مطمئن، سریع و با حداقل سربار پیاده‌سازی کنند.

برای استفاده از این قابلیت نیاز است که ابتدا از این مسیر (/components/ql-application/init/ql_init.c) تابع (ql_socket_app_init)  را فعال کنید.

سپس لازم است که آدرس سرور را در این قسمت از کد وارد کنید.

و در ادامه شماره Portی که میخواهید استفاده کنید را در این قسمت قراردهید.

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

استفاده از Socket

باتوجه به اینکه هرروز در وب گردی با HTTP سروکار دارید حتما با پروتکل بعدی به خوبی آشنا هستید. این پروتکل برای نمایش داده ها مناسب است و کاربردهای متنوعی دارد.

راه اندازی پروتکل HTTP

HTTP یکی از پراستفاده‌ترین پروتکل‌ها برای ارتباط با سرورهای وب است که به دلیل سادگی، سازگاری گسترده و ساختار قابل فهم، در پروژه‌های IoT نیز جایگاه ویژه‌ای دارد. از آن برای ارسال داده‌ها به سرور، دریافت تنظیمات، یا اتصال به APIهای ابری استفاده می‌شود. وقتی نیاز به ارتباط یک‌طرفه، ساده و سریع بین دستگاه و سرور دارید، HTTP راه‌حلی کارآمد است که تقریباً در هر زیرساختی پشتیبانی می‌شود.

برای استفاده از این پروتکل نیاز است که ابتدا از این مسیر (/components/ql-application/init/ql_init.c) تابع (ql_http_app_init)  را از حالت کامنت خارج کنید.

در اینجا همانند چیزی که قبلا دیدید برای دریافت داده های برنامه روی UART از این کد استفاده میکنیم و اسم این تابع را با تابع اصلی برنامه جایگزین میکنیم.

و برای ارسال و دریافت درخواست به سرور از این قسمت کد استفاده میکنیم. دقت کنید که آدرس سرور را با چیزی که در کد است (http://188.136.XXX.XXX:1000/http/send.php) جایگزین کنید. چنانچه سرور مناسب ندارید میتوانید برای داشتن یک سرور از سایتهایی که سرورهای ابری فراهم میکنند استفاده کنید.

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

راه اندازی پروتکل HTTP

امیدوارم از این آموزش استفاده کافی را برده باشید. منتظر آموزشهای بعدی باشید و با نظراتتون به ما انرژی بدید. ممنونم 🙂

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

آرویدتک

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

وبسایت: http://www.arvidtek.com

www.arvidtek.com | گروه مهندسی آرویدتک | فعال حوزه الکترونیک و مخابرات | فروشگاه تخصصی قطعات الکترونیک

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

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

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

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

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

سیسوگ‌شاپ | فروشگاه محصولات Quectel

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

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

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

سیکار | اولین مرجع متن باز ECU در ایران

بررسی و ارائه اطلاعات مربوط به ECU (واحد کنترل الکترونیکی) و نرم‌افزارهای متن باز مرتبط با آن برو به سیکار
become a writer

نویسنده شو !

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

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

نویسنده شو !

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

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

فروشگاه محصولات Quectel

پالت
سیسوگ فروم

محلی برای پاسخ پرسش‌های شما

سیسوگ جابز
سیسوگ
سیسوگ فروم
سی‌کار

اولین مرجع متن باز ECU در ایران

سیسوگ مگ
آی‌سی

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

سیسوگ آکادمی
پالت

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

دیدگاه ها

become a writer

نویسنده شو !

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

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

نویسنده شو !

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

ارسال مقاله