ردیاب خودرو بسازیم

فهرست

مقدمه

امروزه ردیاب خودرو(Car tracker) جزء لاینفکی از خودروهای مدرن می‌باشد و کمتر خودرویی را می‌توان یافت که از این قابلیت بی‌بهره باشد. اگر خودرو شما هم مثل خودرو من از این قابلیت بی‌بهره است با من همراه باشید تا یک ردیاب خودرو بسازید.

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

نقشه ردیاب خودرو پرومیک

اقلام مورد نیاز برای ساخت ردیاب خودرو

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

  1. برد آردوینو اونو(Arduino UNO) + کابل USB مناسب برای پروگرم کردن آن
  2. شیلد ماژولار آردوینو پرومیک(ProMake Arduino Shield)
  3. ماژول ProMake GSM M66 (برای ارسال اطلاعات مکانی از طریق پیامک(SMS) یا شبکه دیتا همراه(GPRS))+سیم کارت
  4. ماژول ProMake GPS L80 (برای دریافت اطلاعات مکانی از شبکه جهانی ماهواره ای)
  5. آنتن GSM (بسته محلی نصب ردیاب می توانید از آنتن های معمولی و یا خودرویی استفاده کنید)
  6. آنتن GPS خودرویی ( البته الزامی نیست، اگر در محل نصب و هنگام استفاده عملی مشکل جدی وجود داشت می‌توانید از آن استفاده کنید)
  7. کابل مبدل UFL به SMA (برای متصل کردن آنتن ها)
  8. کابل شارژ USB Type-C
  9. شارژر فندکی یا پاوربانک (برای تامین تغذیه بردها)
  10. یک جعبه با سایز مناسب (من از جعبه گوش پاکن استفاده کردم!! خیلی اندازش خوب بود)

من از ماژول GSM استفاده کردم چون پوشش شبکه نسل دوم تلفن همراه بسیار وسیع هست و تقریبا می‌تونم از در دسترس بودن ردیاب خودرو در همه جا اطمینان حاصل کنم. ماژول ProMake GSM M66 از زیر ماژول Quectel M66 بهره می برد که ماژولی بسیار قدرتمند و سریع است و آنتن دهی خوبی از خود به نمایش می گذارد.

اقلام لازم برای ساخت ردیاب خودرو

برای آشنایی بیشتر با محصولات به کار رفته در این کیت برروی آنها کلیک کنید

gsm-002(janbi)

GSM M66

قدرتمندترین ماژول برای اتصال به شبکه تلفن همراه (2G)

سرهم کردن کیت

ابتدا “ProMake Arduino Shield” بر روی برد آردوینو اونو(Arduino UNO) قرار دهید سپس خیلی ساده مطابق شکل :

  1. یک عدد سیم کار فعال و معتبر را محل مربوطه در پشت ماژول ProMake GSM M66 قرار دهید
  2. ماژول ProMake GSM M66 را در محل 1 
  3. ماژول ProMake GPS L80 را در محل 2

برروی شیلد وارد کنید.

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

حال باید کیت شما مطابق شکل روبرو باشد.
هم اکنون می توانید آنتن GSM و در صورت نیاز آنتن GPS را متصل کنید.

با توجه به مصرف جریان به نسیت زیاد ماژول GSM هنگام ارسال (TX) نیاز است که تغذیه شیلد از طریق کانکتور USB Type-C تعبیه شده برروی شیلد تامین شود. برای این کار می توانید از یک شارژر موبایل و یک کابل Type-C معمولی استفاده کنید. (هنگام تست برروی خودرو می توانید از شارژر فندکی یا پاور بانک نیز استفاده کنید)

کیت سرهم شده ردیاب خودرو

برنامه نویسی و بارگزاری(Upload) روی برد

برای برنامه نویسی از محیط معروف و دوست داشتنی Arduino IDE استفاده می‌کنیم. پس اگر آن را برروی رایانه شخصیتون نصب ندارید، سریع نصبش کنید تا بریم سراغ مرحله بعد…

نصب کتابخانه TinyGPSPlus

برای اینکه بتونیم با ماژول GPS ارتباط برقرار کنیم باید کتابخانه TinyGPSPlus  را در Arduino IDE نصب نمایید.

برای اینکار کافی است از منو Sketch وارد زیر منو Include Library شوید و آیتم Manage Libraries را انتخاب نمایید و در پنجره ظاهر شده مطابق تصویر رو به رو، عبارت TinyGPSPlus  را جستجو نمایید. بعد از ظاهر شدن نتایج برروی دکمه Install کلیک نمایید تا کتابخانه نصب شود.

آیتم Manage Libraries از منو Tools نیز قابل دسترس است و البته با استفاده از کلید ترکیبی Ctrl+Shift+I نیز  ظاهر می شود.

کتابخانه TinyGPSPlus

نصب کتابخانه FastLED  

برای کنترل RGB LED های روی شیلد، کتابخانه Fast LED را در Arduino IDE نصب نمایید.

برای اینکار کافی است از منو Sketch وارد زیر منو Include Library شوید و آیتم Manage Libraries را انتخاب نمایید و در پنجره ظاهر شده مطابق تصویر رو به رو عبارت FastLED  را جستجو نمایید. بعد از ظاهر شدن نتایج برروی دکمه Install کلیک نمایید تا کتابخانه نصب شود.

کتابخانه FastLED

ایجاد حساب کاربری Ubidots

برای اینکه بتوانید مسیرها و محل تردد خودرو خود را برروی نقشه مشاهده کنید می بایست برروی یک سرویس دهند اینترنتی پلتفورم IoT یک حساب کاربری داشته باشید. در این پروژه ما سرویس ubidots را به عنوان یک نمونه که به صورت رایگان در اختیار همه قرار دارد انتخاب کردیم.

پس به سایت https://ubidots.com مراجعه نمایید و برای خود یک حساب کاربری رایگان ایجاد نمایید.

سایت ubidots.com

آشنایی با کد

حال که کتابخانه های پیش نیاز را نصب کردید و حساب کاربری ubidots را ساخته اید، آماده هستید تا وارد نوشتن برنامه اصلی شوید.

عجله نکنید!! ابتدا نیاز است تغییراتی در کد زیر بدهید و بعد از آن استفاده کنید، لذا لطفا گام به گام با من همراه شوید تا هم کد را برایتان شرح دهم و هم تغییرات را باهم اعمال کنیم

  • در خطوط 5 تا  12 پین های  مربوط به ماژول های GSM و GPS و LED ها را با دقت از روی مارکاژهای شیلد و ماژول های ProMake استخراج و  تعریف کردیم.
  • در خطوط 14 تا 19 اشیاء مربوط به GPS و ارتباط سریال با ماژول GSM و LEDهای RGB را تعریف کردیم.
  • در تابع setup :
    • ماژول GSM را با تحریک پین PWR روشن کردیم. 
    •  LEDهای RGB را نیز در وضعیت ابتدایی سفید رنگ قرار دادیم. تا فعال بودن هر سه رنگ به صورت بصری نیز تست شود.
    • ارتباط سریال نرم افزاری بین ماژول GSM و  آردوینو و ارتباط سریال سخت افزاری بین ماژول GPS و آردوینو را با سرعت  9600 راه اندازی کردیم.
    • یک دستور AT برای ماژول GSM ارسال کردیم. که 10 ثانیه تاخیر در این میان باعث می شود زمان کافی برای بالا آمدن و ستاپ شدن ماژول های GSM و GPS فراهم شود.
    • در صورتی که سیم کارت شما دارای PIN می‌باشد در این بخش می‌بایست AT Command های لازم را اضافه نمایید. در اینجا به جهت جلوگیری از پیچیده شدن کار از آن دستورات صرفه نظر شده است.
    • در انتها  LEDهای RGB  را خاموش کردیم تا آماده ورود به تابع loop شویم.
  • در تابع loop:
    • ابتدا در یک حلقه در صورتی که داده از ماژول GPS برروی Serial دریافت کرده باشیم اقدام به خواندن و تحلیل آنها  می‌نماییم.
    • در صورتی که اطلاعات دریافتی به درستی پردازش شود و  شامل موقعیت جغرافیایی معتبری باشد (که به معنی lock شدن GPS است) LED دوم را سبز رنگ می‌کنیم.
      • سپس اگر از آخرین زمان ارسال یک دقیقه گذشته باشد، براساس طول وعرض جغرافیایی دریافتی یک عبارت JSON می‌سازیم و از طریق GSM برای سرور ارسال می‌کنیم.
    • در صورتی که اطلاعات دریافتی به درستی پردازش شود  اما  شامل موقعیت جغرافیای معتبری نباشد (که به معنی lock نشدن GPS است)،  LED دوم را آبی رنگ می‌کنیم.
    • سپس  در صورتی که بیش از 15 ثانیه از روشن شدن برد گذشته باشد و کمتر از 10 کاراکتر از ماژول GPS دریافت شده باشد به نشانه خراب بودن ماژول GPS یا عدم ارتباط با آن، هر دو چراغ LED را قرمز می‌کنیم و وارد یک حلقه بی نهایت شده و متوقف می شویم.
  • در تابع gsm_http_post اقدام به ارسال موقعیت جغرافیایی در قالب یک پیام با فرمت JSON به سرور ارسال می‌کنیم.
    • در این تابع با توجه به اینکه پروتکل HTTP پشتیبانی شده توسط ماژول GSM تمام قابلیت‌های مورد نیاز مارا ندارد؛ تصمیم گرفتیم که درخواست HTTP را خودمان توسط یک اتصال TCP برای سرور ارسال کنیم.
    • برای اینکه داده‌های جغرافیایی دریافتی توسط GPS برای حساب کاربری شما ارسال شود می‌بایست Default token حساب خود را در بخشی از کد که عبارت REPLACE_YOUR_TOKEN نوشته شده جایگزین کنید. در ادامه در باره این که چگونه این توکن را از سایت دریافت کنید توضیح خواهم داد.
				
					#include <TinyGPSPlus.h>
#include <SoftwareSerial.h>
#include <FastLED.h>

#define GSM_TX_PIN 4
#define GSM_RX_PIN 7
#define GSM_PWR_PIN 9

#define GPS_RST_PIN 8

#define LED_PIN     16
#define NUM_LEDS    2

// The TinyGPS++ object
TinyGPSPlus gps;
//Create software serial object to communicate with SIM800
SoftwareSerial serialGSM(GSM_TX_PIN,GSM_RX_PIN);

CRGB leds[NUM_LEDS];

void setup() {
  // Powering Up ...
  pinMode(GSM_PWR_PIN,OUTPUT);
  pinMode(GPS_RST_PIN,OUTPUT);
  //GPS reset
  digitalWrite(GPS_RST_PIN,LOW);
  //GSM Power ON
  digitalWrite(GSM_PWR_PIN,LOW);
  delay(1000);
  digitalWrite(GPS_RST_PIN,HIGH);
  digitalWrite(GSM_PWR_PIN,HIGH);

  FastLED.addLeds<WS2812, LED_PIN, GRB>(leds, NUM_LEDS);
  leds[0] = CRGB(255, 255, 255);
  leds[1] = CRGB(255, 255, 255);
  FastLED.show();
  
  //Begin serial communication with Arduino and GPS
  Serial.begin(9600);
  //Begin serial communication with Arduino and GSM
  serialGSM.begin(9600);
  delay(5000);
  serialGSM.println("AT"); //Once the handshake test is successful, it will back to OK
  delay(5000);
  
  leds[0] = CRGB(0, 0, 0);
  leds[1] = CRGB(0, 0, 0);
  FastLED.show();
}
long lastSendTime = 0;
void loop() {
  // reading GPS data from UART
  while (Serial.available() > 0){
    if (gps.encode(Serial.read())){
      if (gps.location.isValid()){
          leds[1] = CRGB(0, 255, 0);
          FastLED.show();
          if(lastSendTime + 60000 < millis()){
            lastSendTime = millis();
            leds[0] = CRGB(0, 0, 255);
            FastLED.show();
            // sending location
            gsm_http_post(String("{\"position\":{\"lat\":")+String(gps.location.lat(),6)+String(",\"lng\":")+String(gps.location.lng(),6)+String("}}"));
            leds[0] = CRGB(0, 255, 0);
            FastLED.show();
         }
      }else{
        // location is not valid
        leds[0] = CRGB(0, 0, 0);
        leds[1] = CRGB(0, 0, 255);
        FastLED.show();
      }
    }
  }
  
  if (millis() > 15000 && gps.charsProcessed() < 10)
  {
      leds[0] = CRGB(255, 0, 0);
      leds[1] = CRGB(255, 0, 0);
      FastLED.show();
      // No GPS detected: check wiring.
      while(true);
  }
}


void gsm_http_post( String postdata) {
/* Use AT+QIDNSIP=0 to use the IP address to establish TCP/UDP session, while AT+QIDNSIP=1 is use the domain name to establish TCP/UDP session */
  gsm_send_serial(F("AT+QIDNSIP=1"), 3000);
/* Use AT+QIOPEN="TCP","industrial.api.ubidots.com","80" to connect to a TCP server. If return "CONNECT OK" means successfully connected to the remote server */
  gsm_send_serial(F("AT+QIOPEN=\"TCP\",\"industrial.api.ubidots.com\",\"80\""), 10000);// Start the connection to Ubidots
/* AT+QISEND, send data to server, ">" from the UART indicates the following input data is considered as data to be send. After receiving ">", input data (TEST),
the maximum length of the data is 1460, the data beyond 1460 will be omitted. Then use <CTRL+Z> to send data. When receive SEND OK means the data has been sent */
  gsm_send_serial(F("AT+QISEND"), 1000);// Start to send data to remote server
  gsm_send_serial(F("POST /api/v1.6/devices/tracker/ HTTP/1.1"), 100);
  gsm_send_serial(F("Host: industrial.api.ubidots.com"), 100);
  gsm_send_serial(F("X-Auth-Token: REPLACE_YOUR_TOKEN"), 100);
  gsm_send_serial(F("Content-Type: application/json"), 100);
  gsm_send_serial("Content-Length: "+String(postdata.length()), 100);
  gsm_send_serial(F("Connection: close"), 100);
  serialGSM.println();
  gsm_send_serial(postdata, 100);
  serialGSM.println();
  serialGSM.println((char)26); // Sending the HTTP request
/* Use AT+QISACK to query whether all the data has been sent out */
  gsm_send_serial(F("AT+QISACK"), 3000);
  delay(7000); // Waiting for a reply. Important! tweak this time depending on the latency of your mobile Internet connection
  gsm_send_serial(F("AT+QICLOSE"), 1000);
}

void gsm_send_serial(String command, long to) {
  serialGSM.println(command);
  long wtimer = millis();
  while (wtimer + to > millis()) {
    while (serialGSM.available()) {
      serialGSM.read();
    }
  }
}
				
			

دریافت Default token از Ubidots

برای ارسال هر درخواست به ubidots نیاز مند TOKEN است. ساده ترین راه برای دریافت توکن ، انتخاب گزینه API Credentials” از منو کاربر در گوشه راست بالای سایت است. برای این کار:

  1. وارد حساب کاربری خود در سایت Ubidots شوید.
  2. وارد منو کاربر در گوشه سمت راست بالا شوید و برروی گزینه API Credentials” کلیک کنید.
  3. حال در فرمی کنه نمایش داده می شود از بخش Tokens مقدار Default token را با استفاده از دکمه مقابل آن کپی کنید. مراقب باشید که توکن را با API Key اشتباه نگیرید!!

بارگذاری کد برروی برد

حال در محیط Arduino IDE :

  • یک Sketch جدید ایجاد نماید و برنامه فوق را  داخل آن کپی نماید.
  • عبارت REPLACE_YOUR_TOKEN را با Default token دریافتی از سایت جایگزین نمایید.
  • حال Sketch را با نامی دلخواه مثل gsm-tracker ذخیره نمایید.
  • بررسی کنید که کلید S1 روی شیلد در وضعیت PROG قرار داشته باشد.
  • حال می توانید برنامه را برروی برد آردوینو اونو بارگذاری(Upload) نمایید.

تست اولیه

برای اینکه قبل از انجام تست میدانی از عملکرد درست مدار اطمینان حاصل کنید:

  • ابتدا کلید S1 روی شیلد را در وضعیت UART قرار دهید تا ارتباط ماژول GPS با آردوینو برقرار شود.
  • یک فضای غیر سر پوشید مناسب را جهت تست انتخاب کنید.
  • از قرار داشتن سیم کارت در ماژول GSM اطمینان حاصل کنید و آنتن GSM مناسب را به آن متصل نمایید.
  • با توجه به اینکه ماژول GPS دارای آنتن سرخود است در تست اولیه نیاز به آنتن GPS ندارید.
  • با استفاده از یک شارژر موبایل یا پاور بانک و یک کابل USB Type-C و اتصال آنها به کانکتور USB Type-C روی شیلد تغذیه شیلد، ماژول ها و آردوینو را تامین کنید.
  • دقت کنید که تغذیه مدار از طریق پورت USB رایانه شخصی به علت محدودیت جریان دهی این پورت ها باعث ریست شدن ماژول GSM هنگام رجیستر شدن در شبکه خواهد شد و مدار شما کار نخواهد کرد.

با برقرار شدن تغذیه علایم زیر مشاهده می شود:

  • چراغ های پاور ماژول ها و شیلد می بایست همگی روشن شوند و دو چراغ RGB به رنگ سفید برای مدت 10 ثانبه روشن می‌مانند.
  • چراغ Net روی ماژول GSM ابتدا شروع به چشمک زدن پیاپی می کند و پس از لحظاتی (با رجیستر شدن برروی شبکه تلفن همراه) سرعت چشمک زدن آن پایین می آید.
  • چراغ  RGB شماره 2 روی شیلد به رنگ آبی روشن می‌شود که نشانه دریافت اطلاعات از ماژول GPS و نا معتبر بودن مختصات جغرافیایی فعلی ماژول  است.
  • اگر پس از خاموش شدن دو  چراغ RGB روی شیلد، این دو چراغ به رنگ قرمز به صورت ممتد روشن ماند ابتدا بررسی کنید که کلید S1 در وضعیت UART قرار داشته باشد. اگر وضعیت این کلید درست بود احتمالا ماژول GPS مشکل سخت افزاری پیدا کرده است.
  • پس از گذشت حدود 20 ثانیه تا چند دقیقه(بسته به قدرت سیگنال های GPS دریافتی در محل تست) ماژول GPS در وضعیت Lock قرار می گیرد و  چراغ  RGB شماره 2 روی شیلد به رنگ سبز روشن می‌شود. همچنین چراغ PPS روی ماژول GPS نیز شروع به چشمک زدن با سرعت یک بار در ثانیه می‌کند.
  • سپس هر یک دقیقه یک بار  چراغ  RGB شماره 1 به رنگ آبی در آماده و مختصات جغرافیایی برای سرور ارسال می شود، سپس به رنگ سبز  در می آید.
  • در سایت Ubidots یک دستگاه به نام tracker برای شما ثبت می شود که دارای یک متغییر به نام Position است که داده های طول و عرض جغرافیایی در آن قابل مشاهده است.
tracker در ubidots

مشاهده موقعیت خودرو روی نقشه

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

  • وارد حساب کاربری خود در سایت Ubidots بشوید.
  • از منوی Data آیتم Dashboards را انتخاب کنید.
  • یک داشبرد جدید با نام دلخواه ایجاد کنید.
  • به این داشبرد یک ویجت از نوع نقشه مطابق شکل رو برو اضافه نمایید.
  • در بخش Settings این ویجت، فیلد Select Devices دستگاه tracker را انتخاب نمایید.
حال می توانید موقعیت خود را در نقشه مشاهده کنید.
نمایش محل خودرو روی نقشه

قرار دادن در جعبه و تست میدانی

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

می توانید از جعبه های آماده در بازار و یا جعبه های محصولات مصرفی دیگر (مثل گوش پاک کن) که اندازه مناسبی برای بردهای ما دارند جهت قرار دادن کیت در محیط های غیر آزمایشگاهی استفاده کنید.

کافی است برای اتصال آنتن های مورد نیاز و اتصال کابل USB Type-C تغذیه شیلد سوراخ های لازم را در محل های مناسب برروی جعبه ایجاد نمایید.

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

برای استفاده های عملیاتی تر می بایست ردیاب را در یک محل مخفی در خودرو نصب کنید و در صورتی که آنتن دهی آن محل مناسب نیست از آنتن های بهتر جهت برقرار ارتباط مطمئن و دقیق استفاده کنید. تامین تغذیه از باتری خودرو نیز یک اقدام مهم است که نیاز مند تخصص و مهارت در زمینه برق خودرو می باشد.

ترکر خودرو آماتور

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

برای مشاهده مسیر طی شده توسط خودرو برروی نقشه، از بخش تنظیمات ویجت نقشه گزینه Map Traces را (مطابق شکل) انتخاب کنید.

تنظیمات مشاهده مسیر در Ubidots

بهبودهای نرم افزاری

همان طور که شاید تاکنون متوجه شده باشید این برنامه تا تبدیل شدن به یک ردیاب ایده آل خودرو فاصله زیادی  دارد. در ادامه به برخی بهبود های نرم افزاری که می شود در این برنامه لحاظ نمود اشاره خواهیم داشت:

  • بهبود زمان ارسال موقعیت جغرافیایی: احتمالا در تست میدانی خود مشاهده کرده باشید که ارسال موقعیت هر یک دقیقه یکبار شاید مسیر حرکت خودرو را به دقت مشخص نکند. یا زمانی که خودرو متوقف است ارسال مدوام یک مکان تکراری داده جذابی به شمار نمی آید!! برای رفع این مشکل می توانید به جای مشخص نمودن فاصله زمانی  بین ارسال ها، از فاصله اقلیدسی بین نقطه های ارسال استفاده کنید.
  • درخواست موقعیت از طریق پیامک: ممکن است خودرو شما در موقعیت قرار گیرد که دسترسی به شبکه داده همراه نداشته باشد، اما بتواند از طریق پیامک با شما ارتباط برقرار کند. می توانید برنامه را طور تغییر دهید که در صورت موفق نبود ارسال موقعیت به سرور ، آن را برای شما پیامک کند. یا اینکه هر گاه شما پیامک خاصی برای ردیاب ارسال کردید دستگاه موقعیت خودرو را برای شما پیامک کند.
  • بررسی موفق بودن دستورات AT: همانگونه که در کد مشاهده نمودید، پاسخ ماژول GSM به AT Command های ارسالی بررسی نمی شود و فرض شده که ماژول در شرایط نرمال قرار دارد و همواره دستورات ارسالی را به درستی انجام می دهد. اما همه ما می دانیم که در کاربردهای دنیای واقعی همیشه شرایط ایده آل نیست. لذا بهتر است برنامه را طوری تغییر دهید که پاسخ های ماژول GSM به دستورات AT بررسی شود و در صورت موفق نبودن دستورات، اقدامات اصلاحی اتخاذ شود.

بهبودهای سخت افزاری

اگر بخواهیم امکانات این ردیاب خودرو را بیشتر کنیم و آن را به نمونه های تجاری موجود در بازار نزدیک تر کنیم، می بایست از یکی از دو محصول کیت  آردوینو نانو یا کیت رزبری پیکو استفاده کنیم. چون:

  1. امکان اتصال تغذیه از باتری خودرو را دارند.
  2. دارابودن امکان استفاده از سه ماژول ProMake که امکان استفاده از  یک ماژول بیشتر را نیز فراهم می کند.
  3. امکان بهره مندی از فضای حافظه و سرعت بیشتر در صورت استفاده از ماژول STM32 Nano یا Raspberry Pico
  4. قابل استفاده بودن ماژول های GPS و GSM فعلی برروی این کیت ها
با داشتن ماژول سوم می توانید قابلیت های زیر را به ردیاب خودرو خود اضافه کنید:
  1. هشدار سرقت: با اضافه کردن یک ماژول رله دو کاناله می توانید در صورتی که خودرو از محدوده جغرافیایی تعیین شده خارج شد، یا شما پیامک به سرقت رفتن را برای ردیاب ارسال کردید، بوق و فلاشر خود را فعال نماید.
  2. روشن و خاموش کردن موتور از راه دور: با استفاده از یک ماژول رله دو کاناله می توانید در صورتی که خودرو از محدوده جغرافیایی تعیین شده خارج شد، یا شما پیامک به سرقت رفتن را برای ردیاب ارسال کردید،  با قطع برق، موتور را از کار بیاندازد. (هشدار: این قابلیت می تواند خطرناک باشد موجب خطرات جانی و مالی شدید و حتی مرگ برای راننده‌ی خودرو و دیگر رانندگان و عابرین پیاده شود) برای روشن شدن موتور نیز می توانید از این ماژول استفاده کنید(البته اگر خودرو شما ایموبالایزر  داشته باشد باید به طریقی آن را دور بزنید).
  3. دیاگ برخط: با استفاده از یک ماژول CAN BUS می توانید با کانکتور Diag خودرو ارتباط برقرار کرده و از طریق پروتکل OBD II پارامترهای مهم موتور و دیگر تجهیزات را دریافت کنید و آنها را تحلیل کرده و یا برای سرور ارسال کنید.

هشدار ایمنی: در صورتی که می خواهید ردیاب خودرو را باسیستم برق خودرو در گیر کنید می بایست از تخصص و مهارت لازم برخوردار باشید. انجام این کار توسط افراد کم تجربه و ناوارد می تواند خطرات جانی و مالی جدی برای شما و دیگران به دنبال داشته باشد.

ماژول ProMake STM32 Nano

STM32 NANO

استفاده از قدرت STM32 در محیط Arduino IDE