Mục lục:

Nút Uber: 7 bước
Nút Uber: 7 bước

Video: Nút Uber: 7 bước

Video: Nút Uber: 7 bước
Video: 7 Bản Setting Các Nút Hoàn Hảo Nhất Free Fire Từ 2 Đến 8 Ngón - Setting Tốt Nhất Free Fire 2024, Tháng mười một
Anonim
Nút Uber
Nút Uber

Nhận một chuyến đi Uber chỉ bằng cách nhấn một nút!

Giới thiệu

Trong hướng dẫn này, chúng tôi sẽ sử dụng dịch vụ bản địa hóa mạng Sigfox (hiện tại có thể cung cấp độ chính xác vị trí bán kính tối đa là 1km) để có được vị trí gần nhất với một địa chỉ được chỉ định và yêu cầu một chuyến xe Uber tương ứng. Do đó, chúng ta không cần thiết bị có GPS.

Chúng tôi sẽ sử dụng Sens'it nhưng bất kỳ thiết bị nào có thể gửi tin nhắn qua Sigfox đều có thể được sử dụng để thực hiện thành công hướng dẫn này.

Hãy xem ở đây nếu bạn muốn biết thêm chi tiết về các nhà sản xuất Sigfox.

Bước 1: Phần cứng

Một Sens'it (hoặc bất kỳ thiết bị nào khác có thể gửi tin nhắn Sigfox)

Bước 2: API Uber

Chúng tôi sẽ tự động hóa quy trình đặt hàng của một yêu cầu đi xe bằng cách gọi các điểm cuối API Uber.

Để hiểu cách thực hiện điều này, hãy đảm bảo xem mô-đun nút mà tôi đã phát triển vì mục đích sử dụng đơn giản và rõ ràng. Bạn sẽ cần một mã thông báo truy cập vào API Uber để nó hoạt động. Bạn có thể tìm thấy quy trình về cách lấy mã thông báo này trên trang GitHub này.

Điều kiện tiên quyết

  • Tài khoản hợp lệ của Uber
  • Mã thông báo truy cập API Uber của bạn (kiểm tra ở trên để biết cách lấy)
  • Một thiết bị đã được kích hoạt trên Sigfox Backend (theo liên kết này để kích hoạt Sens'it). Bạn sẽ cần ID thiết bị và PAC.

Cài đặt

Trong app.js, hai cấu trúc địa chỉ sẽ được tạo như sau (với các giá trị được xác định trong các biến môi trường):

const address_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};

Các địa chỉ này sẽ được sử dụng để chỉ định địa điểm đón và trả khách. Chúng tôi sẽ đặt chúng sau.

Nếu thiết bị Sens'it gửi vị trí địa lý của nó gần nhất với địa chỉ số 1, thì địa chỉ số 1 được đặt làm điểm đón và địa chỉ số 2 được đặt làm điểm trả khách cho yêu cầu đi xe. Và cứ thế ngược lại…

Nếu dịch vụ định vị địa lý Sigfox Backend trả về bán kính chính xác lớn hơn khoảng cách giữa hai địa chỉ, yêu cầu Uber sẽ không được thực hiện (vì không thể xác định điểm đến).

Bước 3: Triển khai trên Heroku

Triển khai trên Heroku
Triển khai trên Heroku
Triển khai trên Heroku
Triển khai trên Heroku

Tôi đã viết một ứng dụng sử dụng NodeJS để tự động hóa quy trình đặt hàng. Nhấp vào nút bên dưới để tự động triển khai nó trên Heroku.

BẤM VÀO ĐÂY ĐỂ TRẢ LỜI

Một cách khác để làm cho nó chạy tại Heroku là cài đặt Heroku Cli và làm theo các bước sau:

$ git clone

Ứng dụng $ cd sigfox_uber $ heroku: tạo $ git push heroku master

Bây giờ, hãy chuyển đến tab cài đặt của ứng dụng Heroku của bạn (https://dashboard.heroku.com/apps//settings) để đặt các biến môi trường. Đặt các biến sau (đảm bảo đặt địa chỉ bạn muốn):

  • ACCESS_TOKEN | BẠN_ACCESS_TOKEN
  • ADDRESS_1_LAT | 49,009698
  • ĐỊA CHỈ_1_LNG | 2,547882
  • ADDRESS_1_NAME | sân bay
  • ADDRESS_2_LAT | 48,876579
  • ĐỊA CHỈ_2_LNG | 2.330618
  • ADDRESS_2_NAME | văn phòng

Điểm cuối "… / request /: device /: lat /: lng /: radius" sẽ được gọi mỗi khi tin nhắn được gửi đến Sigfox Backend (xem bên dưới cách cấu hình nó). Bằng cách sử dụng dịch vụ định vị địa lý Sigfox, máy chủ sẽ nhận được vị trí gần đúng của Sens'it. Sau đó, điều này sẽ đặt một UberX với địa chỉ đón và trả khách đã xác định.

Để kiểm tra xem ứng dụng có đang chạy hay không, hãy truy cập URL của ứng dụng. Bạn sẽ thấy "Ứng dụng đang chạy…" trên trình duyệt của mình. Bạn cũng có thể kiểm tra nhật ký để biết thêm chi tiết.

Bước 4: [Tùy chọn] Thông báo SMS miễn phí với nhà cung cấp dịch vụ di động của Pháp (có tên Miễn phí)

Nếu bạn có đăng ký nhà cung cấp dịch vụ di động Miễn phí của Pháp, bạn có thể sử dụng API thông báo SMS miễn phí của họ để nhận thông báo trên điện thoại của mình. Để làm cho việc này hoạt động, chỉ cần kích hoạt dịch vụ trong khu vực người đăng ký của bạn và tham khảo các biến môi trường sau trong tab cài đặt của ứng dụng Heroku của bạn:

  • MIỄN PHÍ_USER | BẠN_FREE_USER
  • MIỄN_PHÍ | YOUR_FREE_PASS

Giờ đây, bạn sẽ có thể nhận được thông báo qua SMS liên quan đến các yêu cầu UberX của mình.

Bước 5: Định cấu hình cuộc gọi lại phụ trợ Sigfox

Định cấu hình Gọi lại phụ trợ Sigfox
Định cấu hình Gọi lại phụ trợ Sigfox
  • Đăng nhập tại đây
  • Truy cập https://backend.sigfox.com/devicetype/list, nhấp chuột trái vào hàng thiết bị của bạn và chọn "Chỉnh sửa"
  • Bây giờ vào phần "CALLBACKS" ở bên trái, chọn "new" ở trên cùng bên phải, chọn "Custom Callback"
  • Loại hình: DỊCH VỤ | GEOLOC
  • URL kênh
  • Mẫu url: https://.herokuapp.com/request/ {device} / {lat} / {lng} / {radius}
  • Sử dụng phương thức HTTP: GET
  • Chọn "OK" để xác thực

Bước 6: Chạy để kiểm tra

Theo mặc định, biến hộp cát được đặt thành true. Điều này sẽ giả mạo các yêu cầu đi xe Uber để tài khoản ngân hàng của bạn không bị ảnh hưởng bởi các thao tác không chủ ý.

Nhấn nút Sens'it hai lần để gửi tin nhắn qua Sigfox. Đảm bảo rằng các tin nhắn được nhận trên Sigfox Backend. Đăng nhập, vào phần THIẾT BỊ và nhấp chuột trái vào Id thiết bị của bạn. Bạn không thể vào phần MESSAGES để xem trọng tải.

Bước 7: Đặt một chuyến đi Uber thực sự

Đặt một chuyến đi Uber thực sự
Đặt một chuyến đi Uber thực sự

Bây giờ, hãy đặt biến môi trường hộp cát thành false nếu bạn muốn yêu cầu một tài xế Uber thực sự.

SANDBOX | sai

Nút Sens'it sẽ gọi đường dẫn… / request /: device /: lat /: lng /: radius và kích hoạt yêu cầu đi xe Uber!

Bạn cũng có thể xem trạng thái yêu cầu hiện tại trên… / request / current.

Để hủy đơn đặt hàng, bạn có thể sử dụng đường dẫn này:… / request / hủy bỏ.

Hãy lái xe

Hãy vui vẻ khi đặt hàng Ubers của bạn!

Antoine de Chassey

Đề xuất: