Daftar Isi:

Pelacakan GPS Real-Time: 3 Langkah
Pelacakan GPS Real-Time: 3 Langkah

Video: Pelacakan GPS Real-Time: 3 Langkah

Video: Pelacakan GPS Real-Time: 3 Langkah
Video: GPS Tracking 2024, Juli
Anonim

Oleh elizabethnaIkuti Lainnya oleh penulis:

Labu Pi Trick-or-Treat Tracker
Labu Pi Trick-or-Treat Tracker
Labu Pi Trick-or-Treat Tracker
Labu Pi Trick-or-Treat Tracker
Cara Membuat Monitor Suhu Raspberry Pi
Cara Membuat Monitor Suhu Raspberry Pi
Cara Membuat Monitor Suhu Raspberry Pi
Cara Membuat Monitor Suhu Raspberry Pi
Streaming Data Dari Google Spreadsheet ke Dasbor
Streaming Data Dari Google Spreadsheet ke Dasbor
Streaming Data Dari Google Spreadsheet ke Dasbor
Streaming Data Dari Google Spreadsheet ke Dasbor

Dalam tutorial ini, kami akan menunjukkan kepada Anda bagaimana melakukan pelacakan lokasi real-time menggunakan BerryGPS-GSM, Raspberry Pi Zero, dan Initial State. Kami akan mengirimkan bujur, lintang, dan kecepatan melalui 3G dengan BerryGPS-GSM ke Status Awal.

Perlengkapan

  • Raspberry Pi Nol
  • BerryGPS-GSM
  • Keadaan Awal

Langkah 1: Status Awal

Keadaan Awal
Keadaan Awal

Kami ingin mengalirkan semua data bujur, lintang, dan kecepatan kami ke layanan cloud dan membuat layanan itu mengubah data kami menjadi dasbor bagus yang dapat kami akses dari laptop atau perangkat seluler kami. Kami akan menggunakan Status Awal.

Langkah 1: Daftar untuk Akun Negara Awal

Buka https://iot.app.initialstate.com dan buat akun baru. Anda mendapatkan uji coba gratis 14 hari dan siapa pun yang memiliki alamat email edu dapat mendaftar untuk paket pelajar gratis.

Langkah 2: Instal ISStreamer

Instal modul Initial State Python ke Raspberry Pi Anda. Di prompt perintah, jalankan perintah berikut:

$ cd /rumah/pi/

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

Langkah 3: Buat Automagic

Setelah Langkah 2 Anda akan melihat sesuatu yang mirip dengan output berikut ke layar:

pi@raspberrypi ~ $ \curl -sSL https://get.initialstate.com/python -o - | sudo bashPassword: Memulai Instalasi Mudah ISStreamer Python! Ini mungkin memerlukan beberapa menit untuk menginstal, ambil kopi:) Tapi jangan lupa untuk kembali, saya akan memiliki pertanyaan nanti! Ditemukan easy_install: setuptools 1.1.6 Ditemukan pip: pip 1.5.6 dari /Library/Python/2.7/site-packages/pip-1.5.6- py2.7.egg (python 2.7) pip versi utama: 1 pip versi minor: 5 ISStreamer ditemukan, memperbarui… Persyaratan sudah diperbarui: ISStreamer di Library/Python/2.7/site-packages Membersihkan… Apakah Anda ingin mendapatkan contoh skrip secara otomatis? [y/T] Di mana Anda ingin menyimpan contoh? [default:./is_example.py] Silakan pilih aplikasi Status Awal yang Anda gunakan: 1. app.initialstate.com 2. [BARU!] iot.app.initialstate.com Masukkan pilihan 1 atau 2: Masukkan iot.app.initialstate.com nama pengguna: Masukkan kata sandi iot.app.initialstate.com:

Ketika ditanya apakah Anda ingin mendapatkan skrip contoh secara otomatis, masukkan "y" untuk ya dan tekan enter untuk menyimpan skrip Anda di lokasi default. Untuk pertanyaan tentang aplikasi mana yang Anda gunakan, pilih 2 (kecuali Anda mendaftar sebelum November 2018) dan masukkan nama pengguna dan kata sandi Anda.

Langkah 4: Jalankan Contoh Script

Jalankan skrip pengujian untuk memastikan kami dapat membuat aliran data ke akun Status Awal Anda. Tulis perintah berikut:

$ python is_example.py

Langkah 5: Contoh Data

Kembali ke akun Status Awal Anda di browser web Anda. Keranjang data baru yang disebut "Contoh Aliran Python" seharusnya muncul di sebelah kiri di rak log Anda (Anda mungkin harus menyegarkan halaman). Klik keranjang ini untuk melihat data Anda.

Langkah 2: BerryGPS-GSM & Raspberry Pi Zero

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

Jika Anda menggunakan BerryGPS-GSM, Anda dapat mengikuti panduan ini agar GPS berfungsi dan membuat Pi Anda terhubung melalui 3G menggunakan PPP.

Panduan tertaut juga menunjukkan cara membuat Pi Anda terhubung ke jaringan operator secara otomatis saat di-boot. Anda akan memerlukan ini jika Anda berencana untuk melakukan pelacakan jarak jauh.

Instal Perpustakaan

Anda perlu menginstal pustaka berikut:

$ sudo apt-get install python-pip

$ sudo pip install pynmea2 $ sudo pip install ISStreamer

Skrip Python Utama

Di sini kita akan membuat skrip utama yang akan mengalirkan data GPS ke Status Awal. Kode di bawah ini membuat utas terpisah yang digunakan untuk memantau port serial. Ini diperlukan karena kami memiliki jeda di loop utama. Jeda itu ada untuk membatasi berapa banyak data yang kita unggah melalui 3G.

Jika kami melakukan semuanya di utas yang sama selama jeda, buffer serial akan terisi (itu adalah FIFO) dan ketika kami mendapatkan nilai berikutnya dari buffer, itu akan menjadi tua beberapa detik. Ini terjadi setiap loop dan akhirnya data akan tertinggal beberapa menit atau jam.

Untuk membuat skrip python dan membuka editor teks, masukkan perintah berikut:

$ nano GPStracker.py

Salin dan tempel kode berikut ke dalam editor teks. Anda harus memasukkan Kunci Akses Status Awal Anda pada baris 11 di mana dikatakan "MASUKKAN KUNCI AKSES ANDA":

#! /usr/bin/pythonfrom gps import * from time import * import threading import datetime dari ISStreamer. Streamer import Streamer gpsd = None #Setup global variable #Setup the Initial State stream, masukkan kunci akses Anda di bawah streamer = Streamer(bucket_name="GPS_Tracker ", bucket_key="GPS_TRACKER", access_key="ENTER YOUR ACCESS KEY") class GPSDcollector(threading. Thread): def _init_(self, threadID): threading. Thread._init_(self) self.threadID = threadID global gpsd #bring dalam lingkup 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) # buat thread untuk mengumpulkan data coba: gpsdThread.start() # start it up while True: print 'GPS ', gpsd.utc, ' CPU time->', datetime.datetime.now().time(), if (gpsd.fix.longitude0) dan (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) print ' lat ', gpsd.fix.latitude, print ' lon ', gpsd.fix.longitude, print ' speed ', gpsd.fix.speed sleep (5) kecuali (KeyboardInterrupt, SystemExit): #ketika Anda menekan ctrl+c print "\nKilling Thread…" gpsdThread.running = False gpsdThread.join() # tunggu utas menyelesaikan apa yang dilakukannya print "Selesai.\nKeluar."

Simpan dan keluar dari editor teks saya menekan CTRL + X, Y, enter.

Mulai skrip secara otomatis saat boot

Jika Anda melakukan pemantauan jarak jauh, Anda ingin skrip berjalan saat boot. Untuk melakukan ini, kita akan membuat skrip kecil yang akan memulai program python utama. Masukkan perintah berikut:

$ nano GPStrackerStart.sh

Salin baris ke editor teks:

#!/bin/bash

tidur 15 python /home/pi/GPStracker.py &

Jeda di atas ada untuk memberi waktu Pi untuk boot dan terhubung melalui PPP.

Jadikan skrip dapat dieksekusi:

$ chmod +x ~/GPStrackerStart.sh

Kami akan menggunakan cron untuk memulai skrip setiap kali Pi melakukan boot:

$ crontab -e

Tambahkan baris di bawah ini ke bagian bawah:

@reboot /home/pi/GPStrackerStart.sh &

Langkah 3: Dasbor Lokasi & Kecepatan

Lokasi & Dasbor Kecepatan
Lokasi & Dasbor Kecepatan

Sekarang setelah Anda memiliki proyek dan menjalankan data harus dikirim ke Status Awal. Anda akan memiliki data GPS dan data kecepatan. Anda dapat menggunakan data GPS di ubin peta untuk melacak lokasi. Untuk Ubin peta, pastikan untuk mencentang kotak Gambar Jalur agar pelacakan lokasi Anda dipetakan seperti dasbor di atas. Anda dapat menempatkan data kecepatan Anda dalam grafik garis untuk melihat kecepatan dari waktu ke waktu.

Direkomendasikan: