สารบัญ:
- เสบียง
- ขั้นตอนที่ 1: สถานะเริ่มต้น
- ขั้นตอนที่ 2: BerryGPS-GSM & Raspberry Pi Zero
- ขั้นตอนที่ 3: ตำแหน่ง & แดชบอร์ดความเร็ว
วีดีโอ: การติดตาม GPS แบบเรียลไทม์: 3 ขั้นตอน
2024 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2024-01-30 13:05
โดย elizabethnaFollow เพิ่มเติมโดยผู้เขียน:
ในบทช่วยสอนนี้ เราจะแสดงวิธีการติดตามตำแหน่งแบบเรียลไทม์โดยใช้ BerryGPS-GSM, Raspberry Pi Zero และสถานะเริ่มต้น เราจะส่งลองจิจูด ละติจูด และความเร็วผ่าน 3G ด้วย BerryGPS-GSM ไปยังสถานะเริ่มต้น
เสบียง
- Raspberry Pi Zero
- BerryGPS-GSM
- สถานะเริ่มต้น
ขั้นตอนที่ 1: สถานะเริ่มต้น
เราต้องการสตรีมข้อมูลลองจิจูด ละติจูด และความเร็วทั้งหมดไปยังบริการคลาวด์ และให้บริการนั้นเปลี่ยนข้อมูลของเราให้เป็นแดชบอร์ดที่ดีที่เราสามารถเข้าถึงได้จากแล็ปท็อปหรืออุปกรณ์มือถือของเรา เราจะใช้สถานะเริ่มต้น
ขั้นตอนที่ 1: ลงทะเบียนบัญชีสถานะเริ่มต้น
ไปที่ https://iot.app.initialstate.com และสร้างบัญชีใหม่ คุณได้รับการทดลองใช้ฟรี 14 วัน และทุกคนที่มีที่อยู่อีเมลสำหรับการศึกษาสามารถลงทะเบียนแผนสำหรับนักเรียนได้ฟรี
ขั้นตอนที่ 2: ติดตั้ง ISStreamer
ติดตั้งโมดูล Initial State Python ลงใน Raspberry Pi ของคุณ ในพรอมต์คำสั่ง เรียกใช้คำสั่งต่อไปนี้:
$ cd /home/pi/
$ \curl -sSL https://get.initialstate.com/python -o - | sudo bash
ขั้นตอนที่ 3: สร้าง Automagic
หลังจากขั้นตอนที่ 2 คุณจะเห็นสิ่งที่คล้ายกับผลลัพธ์ต่อไปนี้ที่หน้าจอ:
pi@raspberrypi ~ $ \curl -sSL https://get.initialstate.com/python -o - | sudo bashPassword: เริ่มต้น ISStreamer Python ติดตั้งง่าย! อาจใช้เวลาสองสามนาทีในการติดตั้ง หยิบกาแฟ:) แต่อย่าลืมกลับมา ฉันจะมีคำถามในภายหลัง! พบ easy_install: setuptools 1.1.6 พบ pip: pip 1.5.6 จาก /Library/Python/2.7/site-packages/pip-1.5.6- py2.7.egg (python 2.7) รุ่น pip หลัก: 1 pip รุ่นรอง: พบ ISStreamer 5 รายการ กำลังอัปเดต… ข้อกำหนดเป็นปัจจุบันแล้ว: ISStreamer ใน Library/Python/2.7/site-packages กำลังล้างข้อมูล… คุณต้องการรับสคริปต์ตัวอย่างโดยอัตโนมัติหรือไม่ [y/N] คุณต้องการเก็บตัวอย่างไว้ที่ไหน? [ค่าเริ่มต้น:./is_example.py] โปรดเลือกแอป Initial State ที่คุณใช้อยู่: 1. app.initialstate.com 2. [ใหม่!] iot.app.initialstate.com ป้อนตัวเลือก 1 หรือ 2: ป้อน iot.app.initialstate.com ชื่อผู้ใช้: ป้อน iot.app.initialstate.com รหัสผ่าน:
เมื่อถูกถามว่าคุณต้องการรับสคริปต์ตัวอย่างโดยอัตโนมัติหรือไม่ ให้ใส่ "y" สำหรับใช่ แล้วกด Enter เพื่อบันทึกสคริปต์ของคุณในตำแหน่งเริ่มต้น สำหรับคำถามเกี่ยวกับแอปที่คุณกำลังใช้ ให้เลือก 2 (เว้นแต่คุณจะสมัครก่อนเดือนพฤศจิกายน 2018) แล้วป้อนชื่อผู้ใช้และรหัสผ่านของคุณ
ขั้นตอนที่ 4: เรียกใช้สคริปต์ตัวอย่าง
เรียกใช้สคริปต์ทดสอบเพื่อให้แน่ใจว่าเราสามารถสร้างสตรีมข้อมูลไปยังบัญชีสถานะเริ่มต้นของคุณได้ เขียนคำสั่งต่อไปนี้:
$ หลาม is_example.py
ขั้นตอนที่ 5: ตัวอย่างข้อมูล
กลับไปที่บัญชี Initial State ของคุณในเว็บเบราว์เซอร์ ที่เก็บข้อมูลใหม่ที่เรียกว่า "ตัวอย่างสตรีม Python" ควรปรากฏขึ้นทางด้านซ้ายในชั้นวางบันทึกของคุณ (คุณอาจต้องรีเฟรชหน้า) คลิกที่ถังนี้เพื่อดูข้อมูลของคุณ
ขั้นตอนที่ 2: BerryGPS-GSM & Raspberry Pi Zero
หากคุณกำลังใช้ BerryGPS-GSM คุณสามารถทำตามคำแนะนำนี้เพื่อให้ GPS ทำงานได้ และทำให้ Pi ของคุณเชื่อมต่อผ่าน 3G โดยใช้ PPP
คู่มือที่เชื่อมโยงยังแสดงวิธีทำให้ Pi ของคุณเชื่อมต่อกับเครือข่ายผู้ให้บริการโดยอัตโนมัติเมื่อบู๊ต คุณจะต้องใช้สิ่งนี้หากคุณวางแผนที่จะดำเนินการติดตามระยะไกล
ติดตั้งไลบรารี
คุณจะต้องติดตั้งไลบรารีต่อไปนี้:
$ sudo apt-get ติดตั้ง python-pip
$ sudo pip ติดตั้ง pynmea2 $ sudo pip ติดตั้ง ISStreamer
สคริปต์ Python หลัก
ที่นี่ เราจะสร้างสคริปต์หลักซึ่งจะสตรีมข้อมูล GPS ไปยังสถานะเริ่มต้น รหัสด้านล่างสร้างเธรดแยกต่างหากซึ่งใช้ตรวจสอบพอร์ตอนุกรม นี่เป็นสิ่งจำเป็นเพราะเรามีการหยุดชั่วคราวในลูปหลัก มีการหยุดชั่วคราวเพื่อจำกัดปริมาณข้อมูลที่เราอัปโหลดผ่าน 3G
ถ้าเราทำทุกอย่างในเธรดเดียวกันระหว่างการหยุดชั่วคราว บัฟเฟอร์อนุกรมจะเต็ม (มันคือ FIFO) และเมื่อเราได้รับค่าถัดไปจากบัฟเฟอร์ ค่านั้นก็จะเก่าภายในไม่กี่วินาที สิ่งนี้เกิดขึ้นทุก ๆ วงและในที่สุดข้อมูลจะช้าไปเป็นนาทีหรือหลายชั่วโมง
ในการสร้างสคริปต์หลามและเปิดตัวแก้ไขข้อความให้ป้อนคำสั่งต่อไปนี้:
$ nano GPStracker.py
คัดลอกและวางโค้ดต่อไปนี้ลงในโปรแกรมแก้ไขข้อความ คุณจะต้องป้อนรหัสการเข้าถึงสถานะเริ่มต้นของคุณในบรรทัดที่ 11 ซึ่งระบุว่า "ENTER YOUR ACCESS KEY":
#! /usr/bin/pythonfrom การนำเข้า gps * จากการนำเข้าเวลา * วันที่นำเข้าเธรดการนำเข้าจาก ISStreamer. Streamer การนำเข้าสตรีมเมอร์ gpsd = ไม่มี #Setup ตัวแปรส่วนกลาง #Setup สถานะเริ่มต้นสตรีม ป้อนคีย์การเข้าถึงของคุณด้านล่าง streamer = Streamer (bucket_name="GPS_Tracker ", bucket_key="GPS_TRACKER", access_key="ENTER YOUR ACCESS KEY") คลาส GPSDcollector(threading. Thread): def _init_(self, threadID): threading. Thread._init_(self) self.threadID = threadID global gpsd #bring มันอยู่ในขอบเขต gpsd = gps(mode=WATCH_ENABLE) #Start GPSD self.running = True #Start run this thread def run(self): global gpsd while gpsdThread.running: gpsd.next() if _name_ == '_main_': gpsdThread = GPSDcollector(1) # สร้างเธรดเพื่อรวบรวมข้อมูล ลอง: gpsdThread.start() # start it up while True: print 'GPS', gpsd.utc, ' CPU time->', datetime.datetime.now().time(), if (gpsd.fix.longitude0) และ (gpsd.fix.longitude'nan'): streamer.log("Location", "{lat}, {lon}".format(lat=gpsd.fix).latitude, lon=gpsd.fix.longitu de)) streamer.log ("speed", gpsd.fix.speed) พิมพ์ ' lat ', gpsd.fix.latitude พิมพ์ ' lon ', gpsd.fix.longitude พิมพ์ ' speed ', gpsd.fix.speed sleep (5) ยกเว้น (KeyboardInterrupt, SystemExit): #เมื่อคุณกด ctrl+c พิมพ์ "\nKilling Thread…" gpsdThread.running = False gpsdThread.join() # รอให้เธรดทำงานเสร็จ ให้พิมพ์ "เสร็จสิ้น\nการออก."
บันทึกและออกจากโปรแกรมแก้ไขข้อความโดยกด CTRL + X, Y แล้ว Enter
เริ่มสคริปต์โดยอัตโนมัติเมื่อบูต
หากคุณกำลังตรวจสอบระยะไกล คุณต้องการให้สคริปต์ทำงานขณะบูต ในการทำเช่นนี้ เราจะสร้างสคริปต์ขนาดเล็กที่จะเริ่มต้นโปรแกรมไพธอนหลัก ป้อนคำสั่งต่อไปนี้:
$ nano GPStrackerStart.sh
คัดลอกบรรทัดลงในโปรแกรมแก้ไขข้อความ:
#!/bin/bash
นอน 15 หลาม /home/pi/GPStracker.py &
การหยุดชั่วคราวด้านบนมีไว้เพื่อให้ Pi มีเวลาบูตและเชื่อมต่อผ่าน PPP
ทำให้สคริปต์สามารถเรียกใช้งานได้:
$ chmod +x ~/GPStrackerStart.sh
เราจะใช้ cron เพื่อเริ่มสคริปต์ทุกครั้งที่บูท Pi:
$ crontab -e
เพิ่มบรรทัดด้านล่างไปที่ด้านล่าง:
@reboot /home/pi/GPStrackerStart.sh &
ขั้นตอนที่ 3: ตำแหน่ง & แดชบอร์ดความเร็ว
ตอนนี้คุณมีโปรเจ็กต์ของคุณแล้วและกำลังดำเนินการ ข้อมูลควรถูกส่งไปยังสถานะเริ่มต้น คุณจะมีข้อมูล GPS และข้อมูลความเร็ว คุณสามารถใช้ข้อมูล GPS ในไทล์แผนที่เพื่อติดตามตำแหน่งได้ สำหรับไทล์แผนที่ ตรวจสอบให้แน่ใจว่าได้เลือกช่องทำเครื่องหมาย Draw Path เพื่อให้การติดตามตำแหน่งของคุณถูกแมปเหมือนแดชบอร์ดด้านบน คุณสามารถใส่ข้อมูลความเร็วของคุณในกราฟเส้นเพื่อดูความเร็วเมื่อเวลาผ่านไป
แนะนำ:
ตัวติดตาม GPS: 6 ขั้นตอน
GPS Tracker: สวัสดีทุกคนในวิดีโอนี้ เราจะสร้างตัวติดตาม GPS โดยใช้ Esp 8266 (nodemcu) และโมดูล GPS neo 6m มาเริ่มกันเลย
โปรแกรม MicroPython: อัปเดตข้อมูลโรค Coronavirus (COVID-19) แบบเรียลไทม์: 10 ขั้นตอน (พร้อมรูปภาพ)
โปรแกรม MicroPython: อัปเดตข้อมูลโรคโคโรนาไวรัส (COVID-19) แบบเรียลไทม์: ในช่วงไม่กี่สัปดาห์ที่ผ่านมา จำนวนผู้ป่วยที่ได้รับการยืนยันว่าเป็นโรค coronavirus (COVID 19) ทั่วโลกเกิน 100,000 รายและองค์การอนามัยโลก (WHO) ได้ประกาศ การระบาดของโรคปอดบวม coronavirus ใหม่จะเป็นการแพร่ระบาดทั่วโลก ฉันเป็นอย่างมาก
ติดตาม Covid19 สดโดยใช้ ESP8266 และ OLED - แดชบอร์ด Covid19 แบบเรียลไทม์: 4 ขั้นตอน
ติดตาม Covid19 สดโดยใช้ ESP8266 และ OLED | แดชบอร์ด Covid19 แบบเรียลไทม์: เยี่ยมชมเว็บไซต์ Techtronic Harsh: http://techtronicharsh.comทุกที่ที่มีการระบาดใหญ่ของไวรัสโคโรน่าสายพันธุ์ใหม่ (โควิด19) จำเป็นต้องจับตาดูสถานการณ์ปัจจุบันของ COVID-19 ในโลก ดังนั้นเมื่ออยู่บ้าน นี่คือสิ่งที่เป
ESP01 Moodlight พร้อม Firebase แบบเรียลไทม์ + OTA: 7 ขั้นตอน
ESP01 Moodlight พร้อม Firebase แบบเรียลไทม์ + OTA: รองรับโหมด RGB และเอฟเฟกต์จาง นอกจากนี้ยังมีการรองรับการควบคุมความสว่าง รองรับการอัปเดต OTA
วิธีเชื่อมต่อ DeLorme Earthmate GPS LT-20 กับ Google Earth ของคุณสำหรับแผนที่การติดตาม GPS ที่ยอดเยี่ยม: 5 ขั้นตอน
วิธีเชื่อมต่อ DeLorme Earthmate GPS LT-20 กับ Google Earth ของคุณสำหรับแผนที่การติดตาม GPS ที่ยอดเยี่ยม: ฉันจะแสดงวิธีเชื่อมต่ออุปกรณ์ GPS กับโปรแกรม Google Earth ยอดนิยมโดยไม่ต้องใช้ Google Earth Plus ฉันไม่มีงบประมาณมากดังนั้นฉันสามารถรับประกันได้ว่าจะถูกที่สุด