İçindekiler:
- Adım 1: Donanım
- 2. Adım: Uber API'si
- 3. Adım: Heroku'da konuşlandırın
- Adım 4: [İsteğe Bağlı] Fransız Mobil Operatörüyle Ücretsiz SMS Bildirimleri (Ücretsiz olarak adlandırılır)
- Adım 5: Sigfox Arka Uç Geri Aramasını Yapılandırın
- 6. Adım: Test Etmek İçin Çalıştırın
- 7. Adım: Gerçek Bir Uber Yolculuğu Sipariş Edin
Video: Uber Düğmesi: 7 Adım
2024 Yazar: John Day | [email protected]. Son düzenleme: 2024-01-30 13:17
Sadece bir düğmeye basarak Uber yolculuğuna çıkın!
Tanıtım
Bu eğitimde, belirli bir adrese en yakın konumu elde etmek ve buna göre bir Uber yolculuğu talep etmek için Sigfox ağ yerelleştirme hizmetini (şimdilik en fazla 1 km yarıçaplı konum hassasiyeti verebilen) kullanacağız. Bu nedenle GPS'li bir cihaza ihtiyacımız yok.
Bir Sens'it kullanacağız, ancak bu öğreticiyi başarıyla tamamlamak için Sigfox üzerinden mesaj gönderebilen herhangi bir cihaz kullanılabilir.
Sigfox yapımcıları hakkında daha fazla ayrıntıya sahip olmak istiyorsanız buraya bir göz atın.
Adım 1: Donanım
Bir Sens'it (veya Sigfox mesajı gönderebilen başka bir cihaz)
2. Adım: Uber API'si
Uber API uç noktalarını çağırarak bir yolculuk isteğinin sipariş sürecini otomatikleştireceğiz.
Bunun nasıl mümkün olduğunu anlamak için kullanım kolaylığı ve anlaşılırlık amacıyla geliştirdiğim düğüm modülünü mutlaka inceleyin. Çalışması için Uber API'sine bir erişim jetonuna ihtiyacınız olacak. Bu jetonun nasıl alınacağına ilişkin prosedür bu GitHub sayfasında bulunabilir.
Önkoşullar
- Uber geçerli bir hesap
- Uber API erişim jetonunuz (nasıl alacağınızı görmek için yukarıya bakın)
- Sigfox Backend'de etkinleştirilmiş bir cihaz (Sens'it aktivasyonu için bu bağlantıyı takip edin). Cihaz kimliğine ve PAC'ye ihtiyacınız olacak.
Kurulum
app.js'de aşağıdaki gibi iki adres yapısı oluşturulacaktır (ortam değişkenlerinde tanımlanan değerlerle):
sabit adres_1 = {
'ad': process.env. ADDRESS_1_NAME, 'lat': process.env. ADDRESS_1_LAT, 'lng': process.env. ADDRESS_1_LNG }; const address_2 = { 'ad': process.env. ADDRESS_2_NAME, 'lat': process.env. ADDRESS_2_LAT, 'lng': process.env. ADDRESS_2_LNG };
Bu adresler, alma ve bırakma konumlarını belirlemek için kullanılacaktır. Onları daha sonra ayarlayacağız.
Sens'it cihazı, 1 numaralı adrese en yakın coğrafi yerelleştirilmiş konumunu gönderirse, o zaman adres 1, alma olarak ayarlanır ve adres 2, sürüş talebi için bırakma olarak ayarlanır. Ve bunun tersi için…
Sigfox Arka Uç coğrafi konum hizmeti, iki adres arasındaki mesafeden daha büyük bir hassas yarıçap döndürürse, Uber isteği yürütülmez (varış hedefi belirlenemediğinden).
3. Adım: Heroku'da konuşlandırın
Sipariş sürecini otomatikleştirmek için NodeJS kullanarak bir uygulama yazdım. Heroku'da otomatik olarak dağıtmak için aşağıdaki düğmeyi tıklayın.
İNDİRMEK İÇİN TIKLAYIN
Heroku'da çalıştırmanın alternatif bir yolu, Heroku Cli'yi kurmak ve şu adımları izlemektir:
$ git klonu
$ cd sigfox_uber $ heroku uygulamaları:oluştur $ git push heroku ustası
Şimdi, ortam değişkenlerini ayarlamak için Heroku uygulamanızın (https://dashboard.heroku.com/apps//settings) ayarlar sekmesine gidin. Aşağıdaki değişkenleri ayarlayın (istediğiniz adresleri ayarladığınızdan emin olun):
- ACCESS_TOKEN | YOUR_ACCESS_TOKEN
- ADDRESS_1_LAT | 49.009698
- ADRES_1_LNG | 2.547882
- ADRES_1_NAME | havalimanı
- ADDRESS_2_LAT | 48.876579
- ADDRESS_2_LNG | 2.330618
- ADDRESS_2_NAME | ofis
"…/request/:device/:lat/:lng/:radius" uç noktası, Sigfox Backend'e her mesaj gönderildiğinde çağrılır (nasıl yapılandırılacağına bakın). Sigfox coğrafi konum belirleme hizmetini kullanarak, sunucu Sens'it yaklaşık konumunu alacaktır. Bu daha sonra belirlenen teslim alma ve bırakma adreslerine sahip bir UberX sipariş edecek.
Uygulamanın çalışıp çalışmadığını kontrol etmek için URL'sine gidin. Tarayıcınızda "Uygulama çalışıyor…" ifadesini görmelisiniz. Daha fazla ayrıntı için günlükleri de kontrol edebilirsiniz.
Adım 4: [İsteğe Bağlı] Fransız Mobil Operatörüyle Ücretsiz SMS Bildirimleri (Ücretsiz olarak adlandırılır)
Fransız Ücretsiz mobil operatör aboneliğiniz varsa, telefonunuza bildirim almak için ücretsiz SMS bildirim API'sini kullanabilirsiniz. Bunu yapmak için, abone alanınızdaki hizmeti etkinleştirmeniz ve Heroku uygulamanızın ayarlar sekmesinde aşağıdaki ortam değişkenlerine başvurmanız yeterlidir:
- FREE_USER | YOUR_FREE_USER
- FREE_PASS | YOUR_FREE_PASS
Artık UberX taleplerinizle ilgili SMS uyarıları alabileceksiniz.
Adım 5: Sigfox Arka Uç Geri Aramasını Yapılandırın
- Giriş yapın
- https://backend.sigfox.com/devicetype/list adresine gidin, cihaz satırında sola tıklayın ve "Düzenle"yi seçin
- Şimdi soldaki "GERİ ARAMALAR" bölümüne gidin, sağ üstteki "yeni"yi seçin, "Özel Geri Arama"yı seçin
- Tür: HİZMET | GEOLOC
- Kanal URL'si
- URL kalıbı:
- HTTP Yöntemini Kullan: GET
- Doğrulamak için "Tamam"ı seçin
6. Adım: Test Etmek İçin Çalıştırın
Varsayılan olarak, sandbox değişkeni true olarak ayarlanmıştır. Bu, Uber yolculuk isteklerini taklit eder, böylece banka hesabınız kasıtsız manipülasyonlardan etkilenmez.
Sigfox üzerinden mesaj göndermek için Sens'it düğmesine iki kez basın. Mesajların Sigfox Backend'de iyi alındığından emin olun. Giriş yapın, CİHAZ bölümüne gidin ve cihaz kimliğinizde sola tıklayın. Yükleri görmek için MESAJLAR bölümüne gidebilirsiniz.
7. Adım: Gerçek Bir Uber Yolculuğu Sipariş Edin
Şimdi gerçek bir Uber sürücüsü talep etmek istiyorsanız sanal alan ortam değişkenini false olarak ayarlayın.
KUM KUTUSU | YANLIŞ
Sens'it düğmesi …/request/:device/:lat/:lng/:radius yolunu çağırır ve Uber sürüş talebini tetikler!
Güncel istek durumunu …/request/current adresinde de görebilirsiniz.
Bir siparişi iptal etmek için şu yol kullanılabilir: …/request/cancel.
Hadi sürelim
Uber'lerinizi sipariş ederken iyi eğlenceler!
Antoine de Chassey
Önerilen:
Microsoft Teams Sessiz Düğmesi: 4 Adım
Microsoft Teams Sessiz Düğmesi: Bir Microsoft Teams araması sırasında kendinizi sessize almak/açmak için ulaşılması kolay bir basma düğmesi oluşturun! Çünkü 2020.Bu proje bir Adafruit Circuit Playground Express (CPX) ve kısayol tuşu aracılığıyla Microsoft Teams için bir sessiz düğmesi oluşturmak için büyük bir buton kullanıyor
$5 Ev Otomasyon Düğmesi: 4 Adım
5 Dolarlık Ev Otomasyon Düğmesi: 5 Dolarlık Ev Otomasyon DüğmesiBazen en basit çözüm tek bir düğmedir. Çoğu ışığı kapatan, diğerlerini belirli seviyelere ayarlayan ve ev otomasyon merkezimizde (Hubitat Yüksekliği) bir "uyku vakti" rutinini tetiklemek için kolay bir yol istedik
Raspberry Pi için Kapatma Düğmesi: 3 Adım
Raspberry Pi için Kapatma Düğmesi: Raspberry Pi, çeşitli IoT/robotik/akıllı-ev/… proje uygulamaları oluşturmaya izin veren çok kullanışlı bir bilgi işlem platformudur. Normal bir bilgisayarla karşılaştırıldığında sahip olmadığı tek şey, kapatma kapatma düğmesidir. Peki nasıl üretebiliriz
Döner Kodlayıcı Düğmesi: 6 Adım
Döner Kodlayıcı Düğmesi: Bu, döner kodlayıcıya dayalı döner bir uzaktan kumandadır. Aşağıdaki özelliklere sahiptir.Akü etkinleştirildiğinde çok düşük akım tüketimi ile çalışır Kontrol döndürüldüğünde otomatik etkinleştirme Bir süre hareketsiz kaldıktan sonra otomatik uykuKonfigürasyon
Ayak Kontrollü Bas Konuş Düğmesi: 5 Adım
Ayak Kontrollü Bas Konuş Düğmesi: Ayaklarınızla kullanabileceğiniz Bas Konuş butonunu bu şekilde yaptım