Mục lục:

Theo dõi GPS thời gian thực: 3 bước
Theo dõi GPS thời gian thực: 3 bước

Video: Theo dõi GPS thời gian thực: 3 bước

Video: Theo dõi GPS thời gian thực: 3 bước
Video: Định vị GPS thời gian thực WanwayTrack GS18 và G20 Review mở hộp và giới thiệu nhanh tại Huy Linh 2024, Tháng bảy
Anonim

Bởi elizabethna

Pumpkin Pi Trick-or-Treater
Pumpkin Pi Trick-or-Treater
Pumpkin Pi Trick-or-Treater
Pumpkin Pi Trick-or-Treater
Cách xây dựng màn hình nhiệt độ Raspberry Pi
Cách xây dựng màn hình nhiệt độ Raspberry Pi
Cách xây dựng màn hình nhiệt độ Raspberry Pi
Cách xây dựng màn hình nhiệt độ Raspberry Pi
Truyền dữ liệu từ Google Trang tính sang Trang tổng quan
Truyền dữ liệu từ Google Trang tính sang Trang tổng quan
Truyền dữ liệu từ Google Trang tính sang Trang tổng quan
Truyền dữ liệu từ Google Trang tính sang Trang tổng quan

Trong hướng dẫn này, chúng tôi sẽ chỉ cho bạn cách theo dõi vị trí theo thời gian thực bằng BerryGPS-GSM, Raspberry Pi Zero và Initial State. Chúng tôi sẽ gửi kinh độ, vĩ độ và tốc độ qua 3G với BerryGPS-GSM về Trạng thái ban đầu.

Quân nhu

  • Raspberry Pi Zero
  • BerryGPS-GSM
  • Trạng thái ban đầu

Bước 1: Trạng thái ban đầu

Trạng thái ban đầu
Trạng thái ban đầu

Chúng tôi muốn truyền tất cả dữ liệu kinh độ, vĩ độ và tốc độ của mình lên một dịch vụ đám mây và nhờ dịch vụ đó biến dữ liệu của chúng tôi thành một bảng điều khiển đẹp mà chúng tôi có thể truy cập từ máy tính xách tay hoặc thiết bị di động của mình. Chúng tôi sẽ sử dụng Trạng thái ban đầu.

Bước 1: Đăng ký tài khoản trạng thái ban đầu

Truy cập https://iot.app.initialstate.com và tạo một tài khoản mới. Bạn được dùng thử miễn phí 14 ngày và bất kỳ ai có địa chỉ email edu đều có thể đăng ký gói miễn phí dành cho sinh viên.

Bước 2: Cài đặt ISStreamer

Cài đặt mô-đun Python trạng thái ban đầu vào Raspberry Pi của bạn. Trong dấu nhắc lệnh, hãy chạy lệnh sau:

$ cd / home / pi /

$ / curl -sSL https://get.initialstate.com/python -o - | sudo bash

Bước 3: Tạo một số Automagic

Sau Bước 2, bạn sẽ thấy một cái gì đó tương tự như kết quả sau ra màn hình:

pi @ raspberrypi ~ $ / curl -sSL https://get.initialstate.com/python -o - | sudo bashPassword: Bắt đầu cài đặt Python ISStreamer Dễ dàng! Quá trình này có thể mất vài phút để cài đặt, hãy uống một chút cà phê:) Nhưng đừng quên quay lại, tôi sẽ có câu hỏi sau! Tìm thấy easy_install: setuptools 1.1.6 Tìm thấy pip: pip 1.5.6 từ /Library/Python/2.7/site-packages/pip-1.5.6- py2.7.egg (python 2.7) Phiên bản chính pip: Phiên bản nhỏ 1 pip: 5 ISStreamer được tìm thấy, đang cập nhật… Yêu cầu đã được cập nhật: ISStreamer trong Thư viện / Python / 2.7 / gói trang web Đang dọn dẹp… Bạn có muốn tự động lấy một tập lệnh mẫu không? [y / N] Bạn muốn lưu ví dụ ở đâu? [default:./is_example.py] Vui lòng chọn ứng dụng Trạng thái ban đầu bạn đang sử dụng: 1. app.initialstate.com 2. [MỚI!] iot.app.initialstate.com Nhập lựa chọn 1 hoặc 2: Nhập iot.app Tên người dùng.initialstate.com: Nhập mật khẩu iot.app.initialstate.com:

Khi được hỏi liệu bạn có muốn tự động lấy một tập lệnh mẫu, hãy đặt "y" cho có và nhấn enter để lưu tập lệnh của bạn ở vị trí mặc định. Đối với câu hỏi về ứng dụng bạn đang sử dụng, hãy chọn 2 (trừ khi bạn đăng ký trước tháng 11 năm 2018) và nhập tên người dùng và mật khẩu của bạn.

Bước 4: Chạy tập lệnh mẫu

Chạy tập lệnh thử nghiệm để đảm bảo chúng tôi có thể tạo luồng dữ liệu vào tài khoản Trạng thái ban đầu của bạn. Viết lệnh sau:

$ python is_example.py

Bước 5: Dữ liệu mẫu

Quay lại tài khoản Trạng thái ban đầu trong trình duyệt web của bạn. Một nhóm dữ liệu mới được gọi là “Ví dụ về luồng Python” đáng lẽ phải hiển thị ở bên trái trong giá nhật ký của bạn (bạn có thể phải làm mới trang). Nhấp vào nhóm này để xem dữ liệu của bạn.

Bước 2: BerryGPS-GSM & Raspberry Pi Zero

BerryGPS-GSM & Raspberry Pi Zero
BerryGPS-GSM & Raspberry Pi Zero

Nếu bạn đang sử dụng BerryGPS-GSM, bạn có thể làm theo hướng dẫn này để GPS hoạt động và giúp Pi của bạn kết nối qua 3G bằng PPP.

Hướng dẫn được liên kết cũng chỉ ra cách làm cho Pi của bạn tự động kết nối với mạng của nhà cung cấp dịch vụ khi khởi động. Bạn sẽ cần điều này nếu bạn định thực hiện theo dõi từ xa.

Cài đặt thư viện

Bạn sẽ cần cài đặt các thư viện sau:

$ sudo apt-get install python-pip

$ sudo pip cài đặt pynmea2 $ sudo pip cài đặt ISStreamer

Tập lệnh Python chính

Ở đây chúng ta sẽ tạo tập lệnh chính sẽ truyền dữ liệu GPS về Trạng thái ban đầu. Đoạn mã dưới đây tạo một luồng riêng biệt được sử dụng để giám sát cổng nối tiếp. Điều này là cần thiết vì chúng ta có một khoảng dừng trong vòng lặp chính. Việc tạm dừng là ở đó để giới hạn lượng dữ liệu chúng tôi tải lên qua 3G.

Nếu chúng tôi đã làm mọi thứ trong cùng một chuỗi trong thời gian tạm dừng, bộ đệm nối tiếp sẽ đầy (nó là FIFO) và khi chúng tôi nhận được giá trị tiếp theo từ bộ đệm, nó sẽ cũ vài giây. Điều này xảy ra mỗi vòng lặp và cuối cùng dữ liệu sẽ chậm hơn vài phút hoặc vài giờ.

Để tạo tập lệnh python và mở trình soạn thảo văn bản, hãy nhập lệnh sau:

$ nano GPStracker.py

Sao chép và dán đoạn mã sau vào trình soạn thảo văn bản. Bạn sẽ cần nhập Khoá Truy cập Trạng thái Ban đầu của mình trên dòng 11 có nội dung "NHẬP KHÓA TRUY CẬP CỦA BẠN":

#! / usr / bin / pythonfrom gps import * from time import * import threading import datetime from ISStreamer. Streamer import Streamer gpsd = None #Setup global variable # Thiết lập luồng Trạng thái ban đầu, nhập khóa truy cập của bạn bên dưới streamer = Streamer (bucket_name = "GPS_Tracker ", bucket_key =" GPS_TRACKER ", access_key =" NHẬP KHÓA TRUY CẬP CỦA BẠN ") lớp GPSDcollector (threading. Thread): def _init _ (self, threadID): threading. Thread._ init _ (self) self.threadID = threadID global gpsd #bring nó trong phạm vi gpsd = gps (mode = WATCH_ENABLE) # Bắt đầu GPSD self.running = True # Bắt đầu chạy chuỗi này def run (self): global gpsd while gpsdThread.running: gpsd.next () if _name_ == '_main_': gpsdThread = GPSDcollector (1) # tạo một chuỗi để thu thập dữ liệu, hãy thử: gpsdThread.start () # khởi động nó trong khi True: print 'GPS', gpsd.utc, 'CPU time->', datetime.datetime.now ().time (), if (gpsd.fix.longitude0) và (gpsd.fix.longitude'nan '): streamer.log ("Vị trí", "{lat}, {lon}". format (lat = gpsd.fix.latitude, lon = gpsd.fix.longitu de)) streamer.log ("speed", gpsd.fix.speed) print 'lat', gpsd.fix.latitude, print 'lon', gpsd.fix.longitude, print 'speed', gpsd.fix.speed sleep (5) ngoại trừ (KeyboardInterrupt, SystemExit): # khi bạn nhấn ctrl + c print "\ nKilling Thread…" gpsdThread.running = False gpsdThread.join () # đợi chuỗi hoàn thành việc in "Xong. / NExiting."

Lưu và thoát khỏi trình soạn thảo văn bản, nhấn CTRL + X, Y, enter.

Bắt đầu tập lệnh tự động khi khởi động

Nếu bạn đang thực hiện giám sát từ xa, bạn sẽ muốn tập lệnh chạy khi khởi động. Để làm điều này, chúng tôi sẽ tạo một tập lệnh nhỏ sẽ bắt đầu chương trình python chính. Nhập lệnh sau:

$ nano GPStrackerStart.sh

Sao chép các dòng vào trình soạn thảo văn bản:

#! / bin / bash

ngủ 15 python /home/pi/GPStracker.py &

Việc tạm dừng ở trên là ở đó để cho Pi có thời gian khởi động và kết nối qua PPP.

Làm cho tập lệnh có thể thực thi:

$ chmod + x ~ / GPStrackerStart.sh

Chúng tôi sẽ sử dụng cron để bắt đầu tập lệnh mỗi khi Pi khởi động:

$ crontab -e

Thêm dòng dưới đây vào cuối:

@reboot /home/pi/GPStrackerStart.sh &

Bước 3: Trang tổng quan về vị trí và tốc độ

Trang tổng quan về vị trí và tốc độ
Trang tổng quan về vị trí và tốc độ

Bây giờ bạn đã thiết lập dự án của mình và dữ liệu đang chạy sẽ được gửi đến Trạng thái ban đầu. Bạn sẽ có dữ liệu GPS và dữ liệu tốc độ. Bạn có thể sử dụng dữ liệu GPS trong Tile bản đồ để theo dõi vị trí. Đối với Ngói bản đồ, hãy đảm bảo chọn hộp kiểm Vẽ Đường dẫn để theo dõi vị trí của bạn được lập bản đồ giống như bảng điều khiển ở trên. Bạn có thể đưa dữ liệu tốc độ của mình vào biểu đồ đường để xem tốc độ theo thời gian.

Đề xuất: