Daftar Isi:
- Langkah 1: Perangkat Keras
- Langkah 2: API Uber
- Langkah 3: Terapkan di Heroku
- Langkah 4: [Opsional] Pemberitahuan SMS Gratis Dengan Operator Seluler Prancis (bernama Gratis)
- Langkah 5: Konfigurasikan Panggilan Balik Backend Sigfox
- Langkah 6: Jalankan untuk Menguji
- Langkah 7: Pesan Perjalanan Uber Nyata
Video: Tombol Uber: 7 Langkah
2024 Pengarang: John Day | [email protected]. Terakhir diubah: 2024-01-30 09:54
Dapatkan tumpangan Uber hanya dengan menekan tombol!
pengantar
Dalam tutorial ini, kita akan menggunakan layanan lokalisasi jaringan Sigfox (yang dapat, untuk saat ini, memberikan presisi posisi radius paling banyak 1km) untuk mendapatkan posisi terdekat ke alamat yang ditentukan dan meminta tumpangan Uber yang sesuai. Oleh karena itu, kita tidak memerlukan perangkat dengan GPS.
Kami akan menggunakan Sens'it tetapi perangkat apa pun yang dapat mengirim pesan melalui Sigfox dapat digunakan untuk menyelesaikan tutorial ini dengan sukses.
Lihat di sini jika Anda ingin mengetahui detail lebih lanjut tentang pembuat Sigfox.
Langkah 1: Perangkat Keras
A Sens'it (atau perangkat lain yang dapat mengirim pesan Sigfox)
Langkah 2: API Uber
Kami akan mengotomatiskan proses pemesanan permintaan perjalanan dengan memanggil titik akhir API Uber.
Untuk memahami bagaimana ini mungkin, pastikan untuk memeriksa modul node yang saya kembangkan untuk tujuan kesederhanaan dan kejelasan penggunaan. Anda akan memerlukan token akses ke Uber API agar dapat berfungsi. Prosedur cara mendapatkan token ini dapat dilihat di halaman GitHub ini.
Prasyarat
- Akun Uber yang valid
- Token akses Uber API Anda (periksa di atas untuk cara mendapatkannya)
- Perangkat yang diaktifkan di Sigfox Backend (ikuti tautan ini untuk aktivasi Sens'it). Anda akan memerlukan ID perangkat dan PAC.
Instalasi
Di app.js, dua struktur alamat akan dibuat sebagai berikut (dengan nilai yang ditentukan dalam variabel lingkungan):
alamat const_1 = {
'nama': process.env. ADDRESS_1_NAME, 'lat': process.env. ADDRESS_1_LAT, 'lng': process.env. ADDRESS_1_LNG }; const address_2 = { 'name': process.env. ADDRESS_2_NAME, 'lat': process.env. ADDRESS_2_LAT, 'lng': process.env. ADDRESS_2_LNG };
Alamat ini akan digunakan untuk menentukan lokasi penjemputan dan pengantaran. Kami akan mengaturnya nanti.
Jika perangkat Sens'it mengirimkan posisi geo-localized terdekat ke alamat #1, maka alamat #1 ditetapkan sebagai penjemputan dan alamat #2 ditetapkan sebagai pengantaran untuk permintaan perjalanan. Begitu seterusnya untuk kebalikannya…
Jika layanan geo-lokasi Sigfox Backend mengembalikan radius presisi yang lebih besar dari jarak antara dua alamat, permintaan Uber tidak akan dijalankan (karena tujuan kedatangan tidak dapat ditentukan).
Langkah 3: Terapkan di Heroku
Saya menulis aplikasi menggunakan NodeJS untuk mengotomatiskan proses pemesanan. Klik tombol di bawah untuk menerapkannya secara otomatis di Heroku.
KLIK DI SINI UNTUK MENYEDIAKAN
Cara alternatif untuk menjalankannya di Heroku adalah dengan menginstal Heroku Cl dan ikuti langkah-langkah berikut:
$ git clone
$ cd sigfox_uber $ aplikasi heroku: buat $ git push heroku master
Sekarang, buka tab pengaturan aplikasi Heroku Anda (https://dashboard.heroku.com/apps//settings) untuk mengatur variabel lingkungan. Atur variabel berikut (pastikan untuk mengatur alamat yang Anda inginkan):
- ACCESS_TOKEN | YOUR_ACCESS_TOKEN
- ADDRESS_1_LAT | 49.009698
- ADDRESS_1_LNG | 2.547882
- ADDRESS_1_NAME | Bandara
- ADDRESS_2_LAT | 48.876579
- ADDRESS_2_LNG | 2.330618
- ADDRESS_2_NAME | kantor
Titik akhir "…/request/:device/:lat/:lng/:radius" akan dipanggil setiap kali pesan dikirim ke Sigfox Backend (lihat di bawah cara mengkonfigurasinya). Dengan menggunakan layanan geolokalisasi Sigfox, server akan menerima perkiraan posisi Sens'it. Ini kemudian akan memesan UberX dengan alamat penjemputan dan pengantaran yang ditentukan.
Untuk memeriksa apakah aplikasi sedang berjalan, buka URL-nya. Anda akan melihat "Aplikasi sedang berjalan…" di browser Anda. Anda juga dapat memeriksa log untuk lebih jelasnya.
Langkah 4: [Opsional] Pemberitahuan SMS Gratis Dengan Operator Seluler Prancis (bernama Gratis)
Jika Anda memiliki langganan operator seluler Prancis Gratis, Anda dapat menggunakan API notifikasi SMS gratis mereka untuk mendapatkan notifikasi di ponsel Anda. Untuk membuatnya berfungsi, cukup aktifkan layanan di area pelanggan Anda dan rujuk variabel lingkungan berikut di tab pengaturan aplikasi Heroku Anda:
- GRATIS_USER | ANDA_FREE_USER
- GRATIS_PASS | ANDA_FREE_PASS
Anda sekarang dapat menerima peringatan SMS tentang permintaan UberX Anda.
Langkah 5: Konfigurasikan Panggilan Balik Backend Sigfox
- Masuk disini
- Buka https://backend.sigfox.com/devicetype/list, klik kiri pada baris perangkat Anda dan pilih "Edit"
- Sekarang masuk ke bagian "CALLBACK" di sebelah kiri, pilih "new" di kanan atas, pilih "Custom Callback"
- Jenis: LAYANAN | GEOLOC
- URL saluran
- Pola url:
- Gunakan Metode HTTP: DAPATKAN
- Pilih "OK" untuk memvalidasi
Langkah 6: Jalankan untuk Menguji
Secara default, variabel kotak pasir disetel ke true. Ini akan memalsukan permintaan tumpangan Uber sehingga rekening bank Anda tidak terpengaruh oleh manipulasi yang tidak disengaja.
Tekan tombol Sens'it dua kali untuk mengirim pesan melalui Sigfox. Pastikan pesan diterima dengan baik di Sigfox Backend. Masuk, buka bagian PERANGKAT dan klik kiri pada ID perangkat Anda. Anda dapat pergi ke bagian PESAN untuk melihat muatannya.
Langkah 7: Pesan Perjalanan Uber Nyata
Sekarang atur variabel lingkungan kotak pasir ke false jika Anda ingin meminta driver Uber asli.
KOTAK PASIR | Salah
Tombol Sens'it akan memanggil jalur …/request/:device/:lat/:lng/:radius dan memicu permintaan tumpangan Uber!
Anda juga dapat melihat status permintaan saat ini di …/permintaan/saat ini.
Untuk membatalkan pesanan, jalur ini dapat digunakan: …/request/cancel.
Mari kita mengemudi
Bersenang-senang memesan Uber Anda!
Antoine de Chassey
Direkomendasikan:
Tombol Bisukan Tim Microsoft: 4 Langkah
Tombol Matikan Tim Microsoft: Buat tombol tekan yang mudah dijangkau untuk mematikan suara/membunyikan suara Anda sendiri saat melakukan panggilan Microsoft Teams! Karena 2020.Proyek ini menggunakan Adafruit Circuit Playground Express (CPX) dan tombol tekan besar untuk membuat tombol bisu untuk Tim Microsoft melalui tombol pintas
Tombol Otomatisasi Rumah $5: 4 Langkah
Tombol Otomatisasi Rumah $5: Tombol Otomatisasi Rumah $5Terkadang solusi paling sederhana adalah satu tombol. Kami menginginkan cara mudah untuk memicu rutinitas "waktu tidur" di hub otomatisasi rumah kami (Hubitat Elevation), yang mematikan sebagian besar lampu, mengatur yang lain ke tingkat tertentu, dan
Penguncian Suspensi Servo Satu Tombol: 3 Langkah
Penguncian Suspensi Servo Satu Tombol: Sepeda gunung bersuspensi penuh memberikan pengendaraan yang mulus, tetapi sering kali memerlukan penguncian suspensi saat mengayuh menanjak. Jika tidak, suspensi terkompresi saat Anda berdiri di atas pedal, membuang-buang usaha itu. Pabrikan sepeda mengetahui hal ini, dan memberikan
Tombol Power-off untuk Raspberry Pi: 3 Langkah
Tombol Matikan untuk Raspberry Pi: Raspberry Pi adalah platform komputasi yang sangat berguna yang memungkinkan pembuatan berbagai aplikasi proyek IoT/robotik/rumah pintar/…. Satu hal yang tidak dimilikinya, dibandingkan dengan komputer biasa, adalah tombol matikan daya. Jadi bagaimana kita bisa meng
Sakelar Relay Dua Tombol: 3 Langkah
Sakelar Relay Dua Tombol: Artikel ini menunjukkan kepada Anda cara menghidupkan dan mematikan sakelar tombol tekan. Rangkaian ini dapat dilakukan dengan dua sakelar. Anda menekan satu sakelar dan bola lampu menyala. Anda menekan sakelar lain dan bola lampu mati. Namun, Ins