Isi kandungan:
- Bekalan
- Langkah 1: Keadaan Awal
- Langkah 2: BerryGPS-GSM & Raspberry Pi Zero
- Langkah 3: Papan Pemuka Lokasi & Kelajuan
Video: Penjejakan GPS Masa Nyata: 3 Langkah
2024 Pengarang: John Day | [email protected]. Diubah suai terakhir: 2024-01-30 11:09
Oleh elizabethna Ikuti Lagi oleh pengarang:
Dalam tutorial ini, kami akan menunjukkan kepada anda bagaimana melakukan penjejakan lokasi masa nyata menggunakan BerryGPS-GSM, Raspberry Pi Zero, dan Initial State. Kami akan menghantar garis bujur, garis lintang dan kelajuan melalui 3G dengan BerryGPS-GSM ke Negeri Permulaan.
Bekalan
- Raspberry Pi Zero
- BerryGPS-GSM
- Keadaan awal
Langkah 1: Keadaan Awal
Kami ingin mengalirkan semua data garis bujur, garis lintang, dan kelajuan kami ke perkhidmatan cloud dan meminta perkhidmatan itu mengubah data kami menjadi papan pemuka yang bagus yang dapat kami akses dari komputer riba atau peranti mudah alih kami. Kami akan menggunakan Negeri Permulaan.
Langkah 1: Daftar untuk Akaun Negeri Permulaan
Pergi ke https://iot.app.initialstate.com dan buat akaun baru. Anda mendapat percubaan percuma 14 hari dan sesiapa sahaja yang mempunyai alamat e-mel edu boleh mendaftar untuk rancangan pelajar percuma.
Langkah 2: Pasang ISStreamer
Pasang modul Initial State Python ke Raspberry Pi anda. Pada command prompt, jalankan arahan berikut:
$ cd / rumah / pi /
$ / curl -sSL https://get.initialstate.com/python -o - | sudo bash
Langkah 3: Buat beberapa Automagik
Selepas Langkah 2, anda akan melihat sesuatu yang serupa dengan output berikut ke skrin:
pi @ raspberrypi ~ $ / curl -sSL https://get.initialstate.com/python -o - | sudo bash Kata Laluan: Memulakan Pemasangan Mudah ISStreamer Python! Ini mungkin memerlukan beberapa minit untuk memasang, ambil kopi:) Tetapi jangan lupa untuk kembali, saya akan mempunyai soalan kemudian! Found easy_install: setuptools 1.1.6 Found pip: pip 1.5.6 from /Library/Python/2.7/site-packages/pip-1.5.6- py2.7.egg (python 2.7) versi utama pip: 1 pip versi kecil: 5 ISStreamer dijumpai, dikemas kini … Keperluan sudah terkini: ISStreamer di Pustaka / Python / 2.7 / pakej laman Pembersihan … Adakah anda mahu mendapatkan skrip contoh secara automatik? [y / N] Di mana anda mahu menyimpan contohnya? [lalai:./is_example.py] Sila pilih aplikasi Status Permulaan yang anda gunakan: 1. app.initialstate.com 2. [BARU!] iot.app.initialstate.com Masukkan pilihan 1 atau 2: Masukkan iot.app nama pengguna.initialstate.com: Masukkan kata laluan iot.app.initialstate.com:
Apabila ditanya adakah anda ingin mendapatkan skrip contoh secara automatik, letakkan "y" untuk ya dan tekan enter untuk menyimpan skrip anda di lokasi lalai. Untuk pertanyaan mengenai aplikasi mana yang anda gunakan, pilih 2 (kecuali anda mendaftar sebelum November 2018) dan masukkan nama pengguna dan kata laluan anda.
Langkah 4: Jalankan Skrip Contoh
Jalankan skrip ujian untuk memastikan kami dapat membuat aliran data ke akaun Negeri Permulaan anda. Tulis arahan berikut:
$ python is_example.py
Langkah 5: Contoh Data
Kembali ke akaun Keadaan Awal anda di penyemak imbas web anda. Baldi data baru yang disebut "Contoh Python Stream" seharusnya muncul di sebelah kiri di rak log anda (anda mungkin perlu memuat semula halaman). Klik pada baldi ini untuk melihat data anda.
Langkah 2: BerryGPS-GSM & Raspberry Pi Zero
Sekiranya anda menggunakan BerryGPS-GSM, anda boleh mengikuti panduan ini untuk mendapatkan GPS berfungsi dan membuat Pi anda disambungkan melalui 3G menggunakan PPP.
Panduan yang dipautkan juga menunjukkan cara membuat Pi anda menyambung ke rangkaian pembawa secara automatik semasa boot. Anda memerlukannya jika anda merancang untuk melakukan penjejakan jarak jauh.
Pasang Perpustakaan
Anda perlu memasang perpustakaan berikut:
$ sudo apt-get pasang 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 Permulaan. Kod di bawah ini membuat utas terpisah yang digunakan untuk memantau port bersiri. Ini diperlukan kerana kita mempunyai jeda di gelung utama. Jeda ada untuk mengehadkan berapa banyak data yang kami muat naik melalui 3G.
Sekiranya kita melakukan semuanya dalam urutan yang sama semasa jeda, penyangga bersiri akan terisi (itu adalah FIFO) dan apabila kita mendapat nilai seterusnya dari penyangga, itu akan menjadi tua beberapa saat. Ini berlaku setiap gelung dan akhirnya data akan beberapa minit atau jam di belakang.
Untuk membuat skrip python dan membuka editor teks masukkan arahan berikut:
$ nano GPStracker.py
Salin dan tampal kod berikut ke dalam penyunting teks. Anda perlu memasukkan Kunci Akses Keadaan Awal anda pada baris 11 di mana tertera "MASUKKAN KUNCI AKSES ANDA":
#! / usr / bin / pythonfrom import gps * dari import masa * import threading import datetime dari ISStreamer. Streamer import Streamer gpsd = Tiada #Setup pemboleh ubah global #Menyiapkan aliran Negeri Permulaan, masukkan kunci akses anda di bawah streamer = Streamer (bucket_name = "GPS_Tracker ", bucket_key =" GPS_TRACKER ", access_key =" MASUKKAN KUNCI AKSES ANDA ") kelas GPSDcollector (threading. Thread): def _init _ (self, threadID): threading. Thread._ init _ (self) self.threadID = threadID global gpsd #bring dalam skop gpsd = gps (mod = WATCH_ENABLE) #Mulai GPSD self.running = True #Mulai menjalankan thread ini def run (self): global gpsd while gpsdThread.running: gpsd.next () if _name_ == '_main_': gpsdThread = GPSDcollector (1) # buat utas untuk mengumpulkan data cuba: gpsdThread.start () # mulakannya sementara Benar: cetak 'GPS', gpsd.utc, 'CPU time->', datetime.datetime.now ().time (), if (gpsd.fix.longitude0) dan (gpsd.fix.longitude'nan '): streamer.log ("Lokasi", "{lat}, {lon}". format (lat = gpsd.fix.lintang, 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): # semasa anda menekan ctrl + c cetak "\ nMembunuh Thread …" gpsdThread.running = False gpsdThread.join () # tunggu sehingga utas selesai melakukan apa yang dicetak "Selesai. / NExiting."
Simpan dan keluar dari editor teks saya menekan CTRL + X, Y, masukkan.
Mulakan skrip secara automatik semasa boot
Sekiranya anda melakukan pemantauan jarak jauh, anda mahu skrip dijalankan semasa boot. Untuk melakukan ini, kita akan membuat skrip kecil yang akan memulakan program python utama. Masukkan arahan berikut:
$ nano GPStrackerStart.sh
Salin baris ke dalam editor teks:
#! / bin / bash
tidur 15 python /home/pi/GPStracker.py &
Jeda di atas ada untuk memberi masa Pi untuk boot dan berhubung melalui PPP.
Jadikan skrip boleh dilaksanakan:
$ chmod + x ~ / GPStrackerStart.sh
Kami akan menggunakan cron untuk memulakan skrip setiap kali Pi boot:
$ crontab -e
Tambahkan baris di bawah ke bawah:
@reboot /home/pi/GPStrackerStart.sh &
Langkah 3: Papan Pemuka Lokasi & Kelajuan
Sekarang bahawa projek anda sudah siap dan data yang sedang berjalan seharusnya dihantar ke Status Permulaan. Anda akan mempunyai data GPS dan data kelajuan. Anda dapat menggunakan data GPS dalam peta Ubin untuk mengesan lokasi. Untuk peta Tile, pastikan untuk mencentang kotak Draw Path sehingga pelacakan lokasi anda dipetakan seperti papan pemuka di atas. Anda boleh meletakkan data kelajuan anda dalam grafik garis untuk melihat kelajuan dari masa ke masa.
Disyorkan:
Cara Menggunakan Modul Jam Masa Nyata (DS3231): 5 Langkah
Cara Menggunakan Modul Jam Masa Nyata (DS3231): DS3231 adalah jam masa nyata (RTC) I2C kos rendah dan sangat tepat dengan pengayun kristal pampasan suhu bersepadu (TCXO) dan kristal. Peranti ini memasukkan input bateri dan mengekalkan ketepatan masa yang tepat apabila kuasa utama untuk
Memplot Grafik Masa Nyata di Android Dari Arduino Melalui HC-05: 3 Langkah
Memplot Grafik Masa Nyata di Android Dari Arduino Melalui HC-05: Hei, berikut adalah tutorial cara memplot grafik nilai masa nyata dari pengawal mikro seperti Arduino ke aplikasi. Ia menggunakan modul Bluetooth seperti HC-05 untuk bertindak sebagai alat pesanan untuk menghantar dan menerima data antara Ar
Cara Membuat Perekam Data Masa Nyata Kelembapan dan Suhu Dengan Arduino UNO dan SD-Card - Simulasi Pencatat Data DHT11 dalam Proteus: 5 Langkah
Cara Membuat Perekam Data Masa Nyata Kelembapan dan Suhu Dengan Arduino UNO dan SD-Card | DHT11 Data-logger Simulation in Proteus: Pengenalan: hai, ini adalah Liono Maker, berikut adalah pautan YouTube. Kami membuat projek kreatif dengan Arduino dan mengusahakan sistem terbenam. Data-Logger: Data logger (juga data-logger atau data recorder) adalah peranti elektronik yang merekod data dari masa ke masa dengan
Postshirt: Pengesanan Postur Boleh Dikenakan Masa Nyata: 9 Langkah
Postshirt: Realtime Wearable Posture Detection: Postshirt adalah sistem pengesanan postur tanpa wayar masa nyata yang menghantar dan mengklasifikasikan data accelerometer dari Adafruit Feather ke aplikasi Android melalui Bluetooth. Sistem yang lengkap dapat mengesan dalam masa nyata sekiranya pengguna mempunyai postur yang buruk dan
Pengecaman Peranti Masa Nyata Menggunakan Jejak Kaki EM: 6 Langkah
Pengecaman Peranti Masa Nyata Menggunakan Jejak Kaki EM: Peranti ini bertujuan untuk mengklasifikasikan peranti elektronik yang berbeza mengikut isyarat EM mereka. Untuk peranti yang berbeza, mereka mempunyai isyarat EM yang berbeza yang dikeluarkan olehnya. Kami telah mengembangkan penyelesaian IoT untuk mengenal pasti alat elektronik menggunakan Partikel