สารบัญ:

การเชื่อมต่อโมดูล GPS กับ Raspberry Pi: 10 ขั้นตอน
การเชื่อมต่อโมดูล GPS กับ Raspberry Pi: 10 ขั้นตอน

วีดีโอ: การเชื่อมต่อโมดูล GPS กับ Raspberry Pi: 10 ขั้นตอน

วีดีโอ: การเชื่อมต่อโมดูล GPS กับ Raspberry Pi: 10 ขั้นตอน
วีดีโอ: How to interface a GPS receiver module using Raspberry PI 2024, พฤศจิกายน
Anonim
การเชื่อมต่อโมดูล GPS กับ Raspberry Pi
การเชื่อมต่อโมดูล GPS กับ Raspberry Pi

ไงพวก!! คุณต้องการเชื่อมต่อโมดูล GPS กับ Raspberry Pi หรือไม่? แต่ต้องเผชิญกับความยากลำบากในการทำหรือไม่? “ไม่ต้องเป็นห่วง ฉันมาช่วยเธอแล้ว! คุณสามารถเริ่มต้นด้วยการใช้ส่วนต่อไปนี้:

เสบียง

  1. Raspberry Pi 4 Model-B พร้อม RAM 4 GB
  2. โมดูล GPS UBlox NEO-M8N
  3. คอมพิวเตอร์

ขั้นตอนที่ 1: เชื่อมต่อ Raspberry Pi กับ PC

เชื่อมต่อ Raspberry Pi กับ PC
เชื่อมต่อ Raspberry Pi กับ PC

ก่อนอื่น เชื่อมต่อ Raspberry Pi Board ของคุณกับพีซี คุณสามารถเยี่ยมชม https://www.raspberrypi.org/blog/getting-started-raspberry-pi/ สำหรับข้อมูลเกี่ยวกับการติดตั้ง Raspberry Pi Imager

ขั้นตอนที่ 2: ข้อมูลโดยย่อ เกี่ยวกับโมดูล GPS UBlox NEO-M8N

ข้อมูลโดยย่อ เกี่ยวกับโมดูล GPS UBlox NEO-M8N
ข้อมูลโดยย่อ เกี่ยวกับโมดูล GPS UBlox NEO-M8N

นี่คือโมดูล GPS UBlox NEO-M8N พร้อมเสาอากาศเซรามิกแบบแอกทีฟ โมดูล GPS นี้มีเอ็นจิ้น Ublox M8 72 ช่องสัญญาณในตัวรับ โมดูลมี 4 พิน: VCC (แรงดันจ่าย), GND (กราวด์), Tx (ตัวส่งสัญญาณ) และ Rx (ตัวรับ)

โมดูลนี้จัดเตรียมสตริงข้อมูล NMEA (National Marine Electronics Association) แบบดุ๊กดิ๊กไปยังพิน TX ซึ่งส่งผลให้ข้อมูล GPS หากต้องการทราบข้อมูลเพิ่มเติมเกี่ยวกับโมดูลนี้ คุณสามารถดาวน์โหลดแผ่นข้อมูลได้ที่นี่

ขั้นตอนที่ 3: เชื่อมต่อโมดูล GPS ด้วย Raspberry Pi

อินเทอร์เฟซโมดูล GPS พร้อม Raspberry Pi
อินเทอร์เฟซโมดูล GPS พร้อม Raspberry Pi

สำหรับการเชื่อมต่อ ทำการเชื่อมต่อดังนี้:

  1. เชื่อมต่อ Vcc ของโมดูล GPS กับพินพาวเวอร์ซัพพลาย No.2 (5V) ของ Raspberry Pi
  2. เชื่อมต่อ Tx (ขาส่งสัญญาณ) ของโมดูล GPS กับขาหมายเลข 10 ของ Raspberry Pi
  3. เชื่อมต่อ GND (Ground Pin) ของโมดูล GPS กับ Pin No.6 Raspberry Pi

คุณยังสามารถเลือกบอร์ด Raspberry Pi อื่นๆ ได้ แต่อย่าลืมตรวจสอบหมายเลขพินที่เหมาะสมขณะทำการเชื่อมต่อ

ขั้นตอนที่ 4: ตั้งค่า UART ใน Raspberry Pi

ตั้งค่า UART ใน Raspberry Pi
ตั้งค่า 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 แล้ว Enter เพื่อบันทึก

ขั้นตอนที่สองภายใต้ส่วนการตั้งค่า UART นี้คือการแก้ไข boot/cmdline.txt

ฉันจะแนะนำให้คุณทำสำเนาของ cmdline.txt และบันทึกก่อนที่จะแก้ไขเพื่อให้คุณสามารถย้อนกลับได้ในภายหลังหากจำเป็น สามารถทำได้โดยใช้;

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

แทนที่เนื้อหาด้วย;

dwc_otg.lpm_enable=0 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=กำหนดเวลา fsck.repair=ใช่ rootwait เงียบ splash plymouth.ignore-serial-consoles

กด ctrl+x เพื่อออก กด y และกด Enter เพื่อบันทึก

ตอนนี้รีบูต pi เพื่อดูการเปลี่ยนแปลง

ขั้นตอนที่ 5: ปิดการใช้งาน Raspberry Pi Serial Getty Service

NS. หากในเอาต์พุตของคุณ Serial0 เชื่อมโยงกับ ttyAMA0 ให้ปิดการใช้งานโดยใช้คำสั่งด้านล่าง

sudo systemctl หยุด [email protected] systemctl ปิดการใช้งาน [email protected]

NS. หากในเอาต์พุต Serial0 ของคุณเชื่อมโยงกับ ttys0 ให้ปิดการใช้งานโดยใช้คำสั่งด้านล่าง

sudo systemctl หยุด [email protected] systemctl ปิดการใช้งาน [email protected]

ขั้นตอนที่ 6: เปิดใช้งาน Ttys0

ในการเปิดใช้งาน ttyso ให้ใช้คำสั่งต่อไปนี้

sudo systemctl เปิดใช้งาน [email protected]

ขั้นตอนที่ 7: ติดตั้ง Minicom และ Pynmea2

ใช้ไลบรารี่ minicom python เพื่อเชื่อมต่อกับโมดูล GPS และทำความเข้าใจข้อมูล

sudo apt-get ติดตั้ง minicom

ใช้ไลบรารี pynmea2 python เพื่อแยกวิเคราะห์ข้อมูล NMEA ที่ได้รับ

sudo pip ติดตั้ง pynmea2

ขั้นตอนที่ 8: ทดสอบผลลัพธ์

ผลการทดสอบ
ผลการทดสอบ

ในการทดสอบ GPS ให้รันคำสั่ง sudo cat /dev/ttyAMA0 คุณจะได้ผลลัพธ์ดังที่แสดงด้านบน

ขั้นตอนที่ 9: เขียนโค้ด Python

ตอนนี้เขียนโค้ดหลามสำหรับการเชื่อมต่อโมดูล GPS กับ Raspberry pi

นำเข้าซีเรียล

เวลานำเข้า

นำเข้าสตริง นำเข้า pynmea2

ในขณะที่ True: port=“/dev/ttyAMAO”

ser=serial. Serial(พอร์ต, baudrate=9600, หมดเวลา=0.5)

dataout = pynmea2. NMEAStreamReader()

newdata=ser.readline()

ถ้า newdata[0:6]== “$GPRMC”:

newmsg=pynmea2.parse(ข้อมูลใหม่)

lat=newmsg.latitude

lng=newmsg.ลองจิจูด

gps=“ละติจูด=" +str(lat) + “และลองจิจูด=" +str(lng)

พิมพ์ (จีพีเอส)

ขั้นตอนที่ 10: ผลลัพธ์สุดท้าย

ผลลัพธ์สุดท้าย
ผลลัพธ์สุดท้าย

หน้าต่างที่แสดงด้านบนเป็นผลลัพธ์สุดท้าย ให้ข้อมูลตำแหน่งที่แน่นอนของคุณในแง่ของละติจูดและลองจิจูด

โครงงานนี้อิงจากบทความโมดูล GPS กับ Arduino และ Raspberry Pi - โดย Priyanka Dixit เยี่ยมชมบทความนี้เพื่อเรียนรู้เพิ่มเติมเกี่ยวกับ GPS, วิธีการทำงาน, คำอธิบายของคำสำคัญ ลองจิจูด & ละติจูด, ความแตกต่างระหว่างชิป GPS และโมดูล GPS และอีกมากมาย!

แนะนำ: