7.3 KiB
Membaca Data GPS - Perangkat IoT Virtual
Dalam bagian pelajaran ini, Anda akan menambahkan sensor GPS ke perangkat IoT virtual Anda, dan membaca nilai-nilainya.
Perangkat Virtual
Perangkat IoT virtual akan menggunakan sensor GPS yang disimulasikan, yang dapat diakses melalui UART melalui port serial.
Sensor GPS fisik memiliki antena untuk menangkap gelombang radio dari satelit GPS, dan mengubah sinyal GPS menjadi data GPS. Versi virtual mensimulasikan ini dengan memungkinkan Anda untuk mengatur lintang dan bujur, mengirim kalimat NMEA mentah, atau mengunggah file GPX dengan beberapa lokasi yang dapat dikembalikan secara berurutan.
🎓 Kalimat NMEA akan dibahas lebih lanjut dalam pelajaran ini
Menambahkan Sensor ke CounterFit
Untuk menggunakan sensor GPS virtual, Anda perlu menambahkannya ke aplikasi CounterFit.
Tugas - Menambahkan Sensor ke CounterFit
Tambahkan sensor GPS ke aplikasi CounterFit.
-
Buat aplikasi Python baru di komputer Anda dalam folder bernama
gps-sensor
dengan satu file bernamaapp.py
dan lingkungan virtual Python, lalu tambahkan paket pip CounterFit.⚠️ Anda dapat merujuk ke instruksi untuk membuat dan mengatur proyek Python CounterFit di pelajaran 1 jika diperlukan.
-
Instal paket Pip tambahan untuk menginstal shim CounterFit yang dapat berkomunikasi dengan sensor berbasis UART melalui koneksi serial. Pastikan Anda menginstalnya dari terminal dengan lingkungan virtual yang diaktifkan.
pip install counterfit-shims-serial
-
Pastikan aplikasi web CounterFit sedang berjalan.
-
Buat sensor GPS:
-
Di kotak Create sensor pada panel Sensors, klik dropdown pada kotak Sensor type dan pilih UART GPS.
-
Biarkan Port tetap diatur ke /dev/ttyAMA0
-
Pilih tombol Add untuk membuat sensor GPS pada port
/dev/ttyAMA0
.
Sensor GPS akan dibuat dan muncul dalam daftar sensor.
-
Memprogram Sensor GPS
Perangkat IoT virtual sekarang dapat diprogram untuk menggunakan sensor GPS virtual.
Tugas - Memprogram Sensor GPS
Program aplikasi sensor GPS.
-
Pastikan aplikasi
gps-sensor
terbuka di VS Code. -
Buka file
app.py
. -
Tambahkan kode berikut di bagian atas
app.py
untuk menghubungkan aplikasi ke CounterFit:from counterfit_connection import CounterFitConnection CounterFitConnection.init('127.0.0.1', 5000)
-
Tambahkan kode berikut di bawahnya untuk mengimpor beberapa pustaka yang diperlukan, termasuk pustaka untuk port serial CounterFit:
import time import counterfit_shims_serial serial = counterfit_shims_serial.Serial('/dev/ttyAMA0')
Kode ini mengimpor modul
serial
dari paket Pipcounterfit_shims_serial
. Kemudian menghubungkan ke port serial/dev/ttyAMA0
- ini adalah alamat port serial yang digunakan sensor GPS virtual untuk port UART-nya. -
Tambahkan kode berikut di bawahnya untuk membaca dari port serial dan mencetak nilai ke konsol:
def print_gps_data(line): print(line.rstrip()) while True: line = serial.readline().decode('utf-8') while len(line) > 0: print_gps_data(line) line = serial.readline().decode('utf-8') time.sleep(1)
Fungsi bernama
print_gps_data
didefinisikan untuk mencetak baris yang diteruskan kepadanya ke konsol.Selanjutnya, kode melakukan loop tanpa henti, membaca sebanyak mungkin baris teks dari port serial dalam setiap loop. Fungsi
print_gps_data
dipanggil untuk setiap baris.Setelah semua data dibaca, loop akan tidur selama 1 detik, lalu mencoba lagi.
-
Jalankan kode ini, pastikan Anda menggunakan terminal yang berbeda dari yang digunakan aplikasi CounterFit agar aplikasi CounterFit tetap berjalan.
-
Dari aplikasi CounterFit, ubah nilai sensor GPS. Anda dapat melakukannya dengan salah satu cara berikut:
-
Atur Source ke
Lat/Lon
, dan tetapkan lintang, bujur, dan jumlah satelit yang digunakan untuk mendapatkan posisi GPS. Nilai ini hanya akan dikirim sekali, jadi centang kotak Repeat agar data dikirim ulang setiap detik. -
Atur Source ke
NMEA
dan tambahkan beberapa kalimat NMEA ke kotak teks. Semua nilai ini akan dikirim, dengan jeda 1 detik sebelum setiap kalimat GGA (posisi) baru dapat dibaca.Anda dapat menggunakan alat seperti nmeagen.org untuk menghasilkan kalimat ini dengan menggambar di peta. Nilai-nilai ini hanya akan dikirim sekali, jadi centang kotak Repeat agar data dikirim ulang satu detik setelah semuanya dikirim.
-
Atur Source ke file GPX, dan unggah file GPX dengan lokasi lintasan. Anda dapat mengunduh file GPX dari sejumlah situs pemetaan dan hiking populer, seperti AllTrails. File ini berisi beberapa lokasi GPS sebagai jalur, dan sensor GPS akan mengembalikan setiap lokasi baru dalam interval 1 detik.
Nilai-nilai ini hanya akan dikirim sekali, jadi centang kotak Repeat agar data dikirim ulang satu detik setelah semuanya dikirim.
Setelah Anda mengatur pengaturan GPS, pilih tombol Set untuk menyimpan nilai-nilai ini ke sensor.
-
-
Anda akan melihat output mentah dari sensor GPS, seperti berikut:
$GNGGA,020604.001,4738.538654,N,12208.341758,W,1,3,,164.7,M,-17.1,M,,*67 $GNGGA,020604.001,4738.538654,N,12208.341758,W,1,3,,164.7,M,-17.1,M,,*67
💁 Anda dapat menemukan kode ini di folder code-gps/virtual-device.
😀 Program sensor GPS Anda berhasil!
Penafian:
Dokumen ini telah diterjemahkan menggunakan layanan penerjemahan AI Co-op Translator. Meskipun kami berusaha untuk memberikan hasil yang akurat, harap diingat bahwa terjemahan otomatis mungkin mengandung kesalahan atau ketidakakuratan. Dokumen asli dalam bahasa aslinya harus dianggap sebagai sumber yang otoritatif. Untuk informasi yang bersifat kritis, disarankan menggunakan jasa penerjemahan profesional oleh manusia. Kami tidak bertanggung jawab atas kesalahpahaman atau penafsiran yang keliru yang timbul dari penggunaan terjemahan ini.