Isi kandungan:
- Langkah 1: Perkakasan
- Langkah 2: API Uber
- Langkah 3: Gunakan Heroku
- Langkah 4: [Pilihan] Pemberitahuan SMS Percuma Dengan Operator Mudah Alih Perancis (dinamakan Percuma)
- Langkah 5: Konfigurasikan Sigfox Backend Callback
- Langkah 6: Lari ke Ujian
- Langkah 7: Pesan Perjalanan Uber Sebenar
Video: Butang Uber: 7 Langkah
2024 Pengarang: John Day | [email protected]. Diubah suai terakhir: 2024-01-30 11:07
Dapatkan perjalanan Uber hanya dengan menekan butang!
Pengenalan
Dalam tutorial ini, kami akan menggunakan perkhidmatan penyetempatan rangkaian Sigfox (yang dapat, untuk saat ini, memberikan ketepatan posisi radius maksimum 1km) untuk mendapatkan posisi paling dekat dengan alamat yang ditentukan dan meminta perjalanan Uber dengan sewajarnya. Oleh itu, kami tidak memerlukan peranti dengan GPS.
Kami akan menggunakan Sens'it tetapi mana-mana peranti yang dapat menghantar mesej melalui Sigfox dapat digunakan untuk menjayakan tutorial ini dengan jayanya.
Lihat di sini jika anda ingin mendapatkan lebih banyak maklumat mengenai pembuat Sigfox.
Langkah 1: Perkakasan
Sens'it (atau peranti lain yang dapat menghantar mesej Sigfox)
Langkah 2: API Uber
Kami akan mengotomatisasi proses pesanan permintaan perjalanan dengan memanggil titik akhir API Uber.
Untuk memahami bagaimana ini mungkin berlaku, pastikan anda melihat modul node yang saya kembangkan untuk tujuan kesederhanaan dan kejelasan penggunaan. Anda memerlukan token akses ke Uber API agar dapat berfungsi. Prosedur bagaimana mendapatkan token ini boleh didapati di halaman GitHub ini.
Prasyarat
- Akaun sah Uber
- Token akses Uber API anda (lihat di atas untuk mendapatkannya)
- Peranti yang diaktifkan pada Sigfox Backend (ikuti pautan ini untuk pengaktifan Sens'it). Anda memerlukan ID peranti dan PAC.
Pemasangan
Di app.js, dua struktur alamat akan dibuat sebagai berikut (dengan nilai yang ditentukan dalam pemboleh ubah persekitaran):
alamat const_1 = {
'name': 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 pick-up dan drop-off. Kami akan menetapkannya kemudian.
Sekiranya peranti Sens'it mengirimkan kedudukan geografisnya yang terdekat dengan alamat # 1, maka alamat # 1 ditetapkan sebagai penjemputan dan alamat # 2 ditetapkan sebagai drop-off untuk permintaan perjalanan. Dan seterusnya untuk sebaliknya …
Sekiranya perkhidmatan lokasi geografis Sigfox Backend mengembalikan radius ketepatan yang lebih besar daripada jarak antara kedua alamat tersebut, permintaan Uber tidak akan dilaksanakan (kerana tujuan kedatangan tidak dapat ditentukan).
Langkah 3: Gunakan Heroku
Saya menulis aplikasi menggunakan NodeJS untuk mengautomasikan proses pesanan. Klik butang di bawah untuk menyebarkannya secara automatik di Heroku.
KLIK DI SINI UNTUK MENGHASILKAN
Cara alternatif untuk membuatnya berjalan di Heroku adalah dengan memasang Heroku Cli dan ikuti langkah-langkah berikut:
$ git klon
$ cd sigfox_uber $ heroku apps: buat $ git push master heroku
Sekarang, pergi ke tab tetapan aplikasi Heroku anda (https://dashboard.heroku.com/apps//settings) untuk menetapkan pemboleh ubah persekitaran. Tetapkan pemboleh ubah berikut (pastikan untuk menetapkan alamat yang anda inginkan):
- AKSES_TOKEN | _ACCESS_TOKEN ANDA
- ALAMAT_1_LAT | 49.009698
- ALAMAT_1_LNG | 2.547882
- ALAMAT_1_NAME | lapangan terbang
- ALAMAT_2_LAT | 48.876579
- ALAMAT_2_LNG | 2.330618
- ALAMAT_2_NAME | pejabat
Titik akhir "… / request /: device /: lat /: lng /: radius" akan dipanggil setiap kali mesej dihantar ke Sigfox Backend (lihat di bawah ini cara mengkonfigurasinya). Dengan menggunakan perkhidmatan geolocalization Sigfox, pelayan akan menerima kedudukan Sens'it yang hampir. Ini kemudian akan memesan UberX dengan alamat pick-up dan drop-off yang ditentukan.
Untuk memeriksa apakah aplikasi berjalan, pergi ke URL-nya. Anda akan melihat "Aplikasi sedang berjalan …" di penyemak imbas anda. Anda juga boleh memeriksa log untuk maklumat lebih lanjut.
Langkah 4: [Pilihan] Pemberitahuan SMS Percuma Dengan Operator Mudah Alih Perancis (dinamakan Percuma)
Sekiranya anda mempunyai langganan operator mudah alih Perancis percuma, anda boleh menggunakan API pemberitahuan SMS percuma mereka untuk mendapatkan pemberitahuan di telefon anda. Untuk menjadikannya berfungsi, cukup aktifkan perkhidmatan di kawasan pelanggan anda dan rujuk pemboleh ubah persekitaran berikut di tab tetapan aplikasi Heroku anda:
- PERCUMA_PENGGUNA | _FREE_USER ANDA
- PERCUMA_PASS | _FREE_PASS ANDA
Anda sekarang akan dapat menerima amaran SMS mengenai permintaan UberX anda.
Langkah 5: Konfigurasikan Sigfox Backend Callback
- Daftar masuk disini
- Pergi ke https://backend.sigfox.com/devicetype/list, klik kiri pada baris peranti anda dan pilih "Edit"
- Sekarang pergi ke bahagian "CALLBACKS" di sebelah kiri, pilih "baru" di kanan atas, pilih "Callback Kustom"
- Jenis: PERKHIDMATAN | GEOLOC
- URL Saluran
- Corak url: https://.herokuapp.com/request/ {device} / {lat} / {lng} / {radius}
- Gunakan Kaedah HTTP: DAPATKAN
- Pilih "OK" untuk mengesahkan
Langkah 6: Lari ke Ujian
Secara lalai, pemboleh ubah kotak pasir ditetapkan ke true. Ini akan memalsukan permintaan perjalanan Uber supaya akaun bank anda tidak terjejas oleh manipulasi yang tidak disengajakan.
Tekan butang Sens'it dua kali untuk menghantar mesej melalui Sigfox. Pastikan mesej diterima dengan baik di Sigfox Backend. Log masuk, pergi ke bahagian PERANTI dan klik kiri pada Id peranti anda. Anda boleh pergi dari bahagian PESAN untuk melihat muatan.
Langkah 7: Pesan Perjalanan Uber Sebenar
Sekarang tetapkan pemboleh ubah persekitaran kotak pasir ke palsu jika anda ingin meminta pemandu Uber yang sebenar.
SANDBOX | salah
Butang Sens'it akan memanggil jalan… / request /: device /: lat /: lng /: radius dan mencetuskan permintaan perjalanan Uber!
Anda juga dapat melihat status permintaan saat ini di… / request / current.
Untuk membatalkan pesanan, jalur ini dapat digunakan:… / permintaan / batal.
Mari memandu
Selamat menempah Ubers anda!
Antoine de Chassey
Disyorkan:
Butang Bisu Pasukan Microsoft: 4 Langkah
Tombol Bisu Microsoft Teams: Bangunkan butang tekan yang mudah dijangkau untuk membisukan / mematikan suara diri semasa dalam panggilan Microsoft Teams! Kerana 2020. Projek ini menggunakan Adafruit Circuit Playground Express (CPX) dan butang tekan besar untuk membuat butang bisu untuk Microsoft Teams melalui butang panas
Butang Automasi Rumah $ 5: 4 Langkah
Butang Automasi Rumah $ 5: Butang Automasi Rumah $ 5 Kadang kala penyelesaian termudah adalah satu butang. Kami mahukan cara mudah untuk mencetuskan rutin “waktu tidur” di hab automasi rumah kami (Ketinggian Hubitat), yang mematikan kebanyakan lampu, mengatur yang lain ke tahap tertentu, dan
Penguncupan Suspensi Servo Satu Butang: 3 Langkah
One Button Servo Suspension Lockout: Basikal gunung suspensi penuh memberikan perjalanan yang lancar, tetapi sering kali memerlukan penguncian suspensi ketika mengayuh menanjak. Jika tidak, suspensi memampatkan semasa anda berdiri di pedal, membuang usaha itu. Pengilang basikal tahu ini, dan memberikan
Butang Matikan untuk Raspberry Pi: 3 Langkah
Butang Power-off untuk Raspberry Pi: Raspberry Pi adalah platform pengkomputeran yang sangat berguna yang membolehkan membuat pelbagai aplikasi projek IoT / robotik / rumah pintar / …. Satu perkara yang tidak dimiliki, dibandingkan dengan komputer biasa, adalah butang mematikan. Jadi bagaimana kita dapat
Suis Relay Dua Butang: 3 Langkah
Suis Relay Dua Butang: Artikel ini menunjukkan kepada anda cara membuat suis butang tekan ON dan OFF OFF. Litar ini boleh dilakukan dengan dua suis. Anda menekan pada satu suis dan mentol menyala. Anda menekan suis lain dan lampu menyala. Walau bagaimanapun, Ins ini