پروژه الکترونیکپروژه های پایتونپروژه های رزبری پای

راه اندازی ماژول GPS Neo 6m با رزبری پای

سلام. راه اندازی ماژول GPS Neo 6m با رزبری پای را آماده کردیم.

پروژه مکان یاب جی پی اس با Raspberry pi

در این پروژه رزبری پای با استفاده از ماژول GPS Neo 6m یک مکان یاب مبتنی بر Raspberry pi میسازیم. در این پروژه داده های طول و عرض جغرافیایی را از طریق UART از یک ماژول جی پی اس به رزبری پای منتصل میکنیم و سپس آنها را در یک ال سی دی کاراکتری نمایش میدهیم.

شماتیک مدار پروژه

همانطور که در شماتیک مدار زیر نشان داده شده ، ماژول GPS و LCD را به Raspberry Pi متصل کنید.

پروژه مکان یاب جی پی اس با Raspberry pi

قطعات مورد نیاز

  1. برد رزبری پای
  2. ماژول GPS Neo 6m v2
  3. ال سی دی کاراکتری 16*2
  4. مقاومت یا پتانسیومتر برای ال سی دی

در اینجا ما از Raspberry Pi 3 با Raspbian Jessie OS استفاده می کنیم.

توضیحات ماژول مکان یاب GPS Neo-6M

ماژول مکان یاب GPS Neo-6M

Neo 6M یک ماژول GPS سریال است که جزئیات مکان را از طریق ارتباط سریال ارائه می دهد. این ماژول جی پی اس دارای چهار پین است. توضیحات پین های این ماژول را در جدول زیر مشاهده میکنید.

پین توضیح
Vcc منبع تغذیه 2.7 تا 5 ولت
Gnd GND
TXD ارسال اطلاعات
RXD دریافت اطلاعات

ماژول GPS داده ها را در چند رشته با نرخ 9600 Baud Rate منتقل می کند. اگر از ترمینال UART با نرخ 9600 Baud استفاده کنیم ، می توانیم داده های دریافت شده توسط GPS را ببینیم.

ماژول GPS داده های موقعیت ردیابی را با فرمت NMEA ارسال می کند. فرمت NMEA شامل چند جمله است که در زیر چهار جمله مهم آن آورده شده است.

  • $ GPGGA : داده های ثابت سیستم موقعیت یابی جهانی
  • $ GPGSV : ماهواره های GPS در نمای
  • $ GPGSA : ماهواره های فعال و GPS DOP
  • $ GPRMC : حداقل داده های خاص GPS / Transit ویژه توصیه شده

ماژول GPS داده های مربوط به موقعیت را در به صورت لحظه ای می فرستد، و داده های زیادی را با فرمت NMEA می فرستد (تصویر زیر). فرمت NMEA شامل چند جمله است که ما در آن فقط به یک جمله نیاز داریم. این جمله از $ GPGGA شروع می شود و حاوی مختصات ، زمان و سایر اطلاعات مفید است.

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

فرمت NMEA

می توانیم با شمارش کاما (,) در رشته ، مختصات را از رشته $ GPGGA استخراج کنیم.

[irp posts=”4775″ name=”آموزش ساخت ردیاب GPS با برد آردوینو و شیلد LoRa (پروژه IoT ردیابی وسایل و افراد)”]

فرمت NMEA چیست ؟

در زیر یک رشته GPGGA $ به همراه توضیحات آن آورده شده است :

$GPGGA,104534.000,7791.0381,N,06727.4434,E,1,08,0.9,510.4,M,43.9,M,,*47
$GPGGA,HHMMSS.SSS,latitude,N,longitude,E,FQ,NOS,HDP,altitude,M,height,M,,checksum data
واحد توضیح
$GPGGA فرمت اطلاعات موقعیت جهانی
HHMMSS.SSS زمان بر حسب ساعت ، دقیقه ، ثانیه و میلی ثانیه
Latitude عرض جغرافیایی
N جهت N= شمال و S= جنوب
Longitude عرض جغرافیایی
E جهت E= شرق و W= غرب
FQ کیفیت اطلاعات
NOS شماره ماهواره های استفاده شده
HDP دقت افقی
Altitude ارتفاع بر حسب متر از سطح دریا
M متر
Height ارتفاع
Checksum چک کردن اطلاعات

آماده سازی Raspberry Pi برای برقراری ارتباط با GPS

اولین کاری که ما برای انجام این پروژه باید انجام دهیم این است که Raspberry Pi 3 خود را آماده کنیم تا بتوانیم از طریق UART با ماژول GPS ارتباط برقرار کنیم.

رزبری پای 3 دارای دو UART داخلی ، PL011 و یک mini UART است. آنها با استفاده از بلوک های سخت افزاری مختلف پیاده سازی می شوند تا ویژگی متفاوتی داشته باشند. اما در Raspberry pi 3 ، ماژول بی سیم / بلوتوث به PLO11 UART وصل می شود ، در حالی که mini UART برای خروجی linux استفاده می شود. برای این پروژه ما با استفاده از یک لایه موجود در نسخه به روز شده Raspbian Jessie، ماژول بلوتوث را در PLO11 UART غیرفعال می کنیم.

همچنین اگر در مورد این مطلب سوالی داشتید در انتهای صفحه در قسمت نظرات بپرسید

مرحله 1: به روزرسانی Raspberry Pi

اولین کاری که من دوست دارم قبل از شروع هر پروژه انجام دهم ، بروزرسانی pi raspberry است. بنابراین می گذاریم دستورات معمول را انجام دهیم و دستورات زیر را اجرا کنیم.

sudo apt-get update
sudo apt-get upgrade

سپس باید سیستم را راه اندازی مجدد کنیم.

sudo reboot

مرحله 2: تنظیم UART در Raspberry Pi

اولین کاری که ما در این زمینه انجام خواهیم داد ، ویرایش فایل /boot/config.txt است. برای این کار ، دستورات زیر را اجرا کنید:

sudo nano /boot/config.txt

در پایین فایل config.txt خطوط زیر را اضافه کنید

dtparam=spi=on
dtoverlay=pi3-disable-bt
core_freq=250
enable_uart=1
force_turbo=1

برای خروج ctrl + x و y را فشار داده تا اطلاعات ذخیره شوند.

آماده سازی Raspberry Pi برای برقراری ارتباط با GPS

force_turbo UART باعث میشود به حداکثر فرکانس هسته که در اینجا 250 است دست یابیم. دلیل این کار اطمینان از ثبات و یکپارچگی داده های سریال است

dtoverlay = pi3-disable-bt بلوتوث را از ttyAMA0 جدا می کند ، این امر به ما این امکان را می دهد تا از قدرت کامل UART موجود از طریق ttyAMAO استفاده کنیم.

مرحله دوم در بخش راه اندازی UART ویرایش boot / cmdline.txt است

من به شما پیشنهاد می کنم از cmdline.txt یک کپی تهیه کنید و ابتدا قبل از ویرایش آن را ذخیره کنید تا در صورت لزوم بتوانید آن را برگردانید. خطوط زیر را با

sudo cp boot/cmdline.txt boot/cmdline_backup.txt
sudo nano /boot.cmdline.txt

خطوط زیر جایگزین کنید.

dwc_otg.lpm_enable=0 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline fsck.repair=yes rootwait quiet splash plymouth.ignore-serial-consoles

ذخیره کنید و خارج شوید.

سپس سیستم را راه اندازی مجدد میکنیم.

مرحله سوم: غیرفعال کردن سرویس Getty سریال Raspberry Pi

مرحله بعدی غیرفعال کردن سریال سرویس گیرنده Pi است ، این دستور از شروع دوباره در راه اندازی مجدد جلوگیری می کند:

sudo systemctl stop serial-getty@ttyS0.service
sudo systemctl disable serial-getty@ttyS0.service

دستورات زیر می توانند در صورت لزوم برای فعال کردن مجدد آن استفاده شوند

sudo systemctl enable serial-getty@ttyS0.service
sudo systemctl start serial-getty@ttyS0.service

سپس سیستم را راه اندازی مجدد کنید.

مرحله 4: فعال کردن ttyAMAO

ما ttyS0 را غیرفعال کرده ایم ،باید با دستور زیر ttyAMAO را فعال کنیم.

sudo systemctl enable serial-getty@ttyAMA0.service

مرحله 5: نصب Minicom و pynmea2

از minicom برای دریافت صحیح دادده های GPS استفاده میکنیم.

sudo apt-get install minicom

برای تجزیه و تحلیل آسان داده های دریافتی، از کتابخانه pynmea2 استفاده خواهیم کرد.

sudo pip install pynmea2

مرحله 6: نصب کتابخانه LCD

برای این پروژه از کتابخانه AdaFruit استفاده خواهیم کرد. این کتابخانه برای صفحه های AdaFruit ساخته شده است و برای صفحه های با استفاده از HD44780 نیز کار می کند. اگر نمایشگر شما بر این اساس است ، باید بدون مشکل کار کند.

git clone https://github.com/adafruit/Adafruit_Python_CharLCD.git

آن را نصب کنید.

cd ./Adafruit_Python_CharLCD
sudo python setup.py install

سپس باید بار دیگر برد رزبری پای را راه اندازی مجدد کنید.

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

قبل از اجرای اسکریپت پایتون، بهتر است یکبار مدار را تست کنید. با اجرای دستور زیر :

sudo minicom -D/dev/ttyAMA0 -b9600

که در آن 9600 بیانگر میزان سرعت baud است که در آن سرعت با ماژول GPS ارتباط برقرار می شود.

آزمایش همچنین با استفاده از دستور زیر قابل انجام است :

sudo cat /dev/ttyAMA0

دریافت مکان GPS با برد رزبری پای

در تصویر بالا، می توانید جملات NMEA را که قبلاً در مورد آنها بحث کردیم ، مشاهده کنید.

موارد موجود در فایل : شماتیک کامل مدار ، سورس کامل

برای دانلود فایل ها باید عضو آیرنکس باشید، تنها چند ثانیه زمان لازم است.

ورود / ثبت نام

[lrm_form default_tab=”register” logged_in_message=””]

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

محمد رحیمی

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

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *