สารบัญ:
- ขั้นตอนที่ 1: ฮาร์ดแวร์
- ขั้นตอนที่ 2: Uber API
- ขั้นตอนที่ 3: ปรับใช้กับ Heroku
- ขั้นตอนที่ 4: [ไม่บังคับ] การแจ้งเตือนทาง SMS ฟรีกับผู้ให้บริการมือถือชาวฝรั่งเศส (ชื่อฟรี)
- ขั้นตอนที่ 5: กำหนดค่า Sigfox Backend Callback
- ขั้นตอนที่ 6: เรียกใช้เพื่อทดสอบ
- ขั้นตอนที่ 7: สั่งซื้อ Uber Ride จริง
วีดีโอ: ปุ่ม Uber: 7 ขั้นตอน
2024 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2024-01-30 13:03
รับการนั่ง Uber เพียงแค่กดปุ่ม!
บทนำ
ในบทช่วยสอนนี้ เราจะใช้บริการโลคัลไลเซชันเครือข่าย Sigfox (ซึ่งขณะนี้สามารถระบุตำแหน่งที่แม่นยำในรัศมีสูงสุด 1 กม.) เพื่อให้ได้ตำแหน่งที่ใกล้เคียงที่สุดกับที่อยู่ที่ระบุและขอเรียกรถ Uber ตามนั้น ดังนั้นเราจึงไม่ต้องการอุปกรณ์ที่มี GPS
เราจะใช้ Sens'it แต่อุปกรณ์ใดๆ ที่สามารถส่งข้อความผ่าน Sigfox ได้ สามารถใช้เพื่อทำให้บทช่วยสอนนี้สำเร็จได้
ดูที่นี่หากคุณต้องการรายละเอียดเพิ่มเติมเกี่ยวกับผู้ผลิต Sigfox
ขั้นตอนที่ 1: ฮาร์ดแวร์
Sens'it (หรืออุปกรณ์อื่น ๆ ที่สามารถส่งข้อความ Sigfox)
ขั้นตอนที่ 2: Uber API
เราจะดำเนินการตามขั้นตอนการสั่งซื้อของคำขอเรียกรถโดยอัตโนมัติโดยเรียกตำแหน่งข้อมูล Uber API
เพื่อให้เข้าใจว่าสิ่งนี้เป็นไปได้อย่างไร โปรดตรวจสอบให้แน่ใจว่าได้ตรวจสอบโมดูลโหนดที่ฉันพัฒนาขึ้นเพื่อความเรียบง่ายในการใช้งานและวัตถุประสงค์ที่ชัดเจน คุณจะต้องมีโทเค็นการเข้าถึง Uber API จึงจะใช้งานได้ ขั้นตอนการรับโทเค็นนี้สามารถพบได้ในหน้า GitHub นี้
ข้อกำหนดเบื้องต้น
- บัญชี Uber ที่ถูกต้อง
- โทเค็นการเข้าถึง Uber API ของคุณ (ดูวิธีรับได้ที่ด้านบน)
- อุปกรณ์ที่เปิดใช้งานบน Sigfox Backend (ไปที่ลิงก์นี้เพื่อเปิดใช้งาน Sens'it) คุณจะต้องใช้รหัสอุปกรณ์และ PAC
การติดตั้ง
ใน app.js จะมีการสร้างโครงสร้างที่อยู่สองโครงสร้างดังนี้ (ด้วยค่าที่กำหนดไว้ในตัวแปรสภาพแวดล้อม):
const address_1 = {
'name': process.env. ADDRESS_1_NAME, 'lat': process.env. ADDRESS_1_LAT, 'lng': process.env. ADDRESS_1_LNG }; const address_2 = { 'ชื่อ': process.env. ADDRESS_2_NAME, 'lat': process.env. ADDRESS_2_LAT, 'lng': process.env. ADDRESS_2_LNG };
ที่อยู่เหล่านี้จะใช้เพื่อระบุสถานที่รับและส่ง เราจะตั้งค่าในภายหลัง
หากอุปกรณ์ Sens'it ส่งตำแหน่งทางภูมิศาสตร์ที่ใกล้ที่สุดไปยังที่อยู่ #1 ที่อยู่ #1 จะถูกตั้งค่าเป็นการรับและที่อยู่ #2 จะถูกตั้งค่าเป็น Drop-off สำหรับคำขอโดยสาร และในทางกลับกัน…
หากบริการระบุตำแหน่งทางภูมิศาสตร์ของ Sigfox Backend ส่งกลับรัศมีความแม่นยำที่มากกว่าระยะห่างระหว่างที่อยู่ทั้งสอง คำขอ Uber จะไม่ถูกดำเนินการ (เนื่องจากไม่สามารถระบุปลายทางขาเข้าได้)
ขั้นตอนที่ 3: ปรับใช้กับ Heroku
ฉันเขียนแอปโดยใช้ NodeJS เพื่อทำให้กระบวนการสั่งซื้อเป็นไปโดยอัตโนมัติ คลิกปุ่มด้านล่างเพื่อปรับใช้บน Heroku โดยอัตโนมัติ
คลิกที่นี่เพื่อปรับใช้
อีกทางหนึ่งเพื่อให้มันทำงานที่ Heroku คือการติดตั้ง Heroku Cli และทำตามขั้นตอนเหล่านี้:
$ git clone
$ cd sigfox_uber $ heroku แอพ: สร้าง $ git push heroku master
ตอนนี้ตรงไปที่แท็บการตั้งค่าของแอป Heroku (https://dashboard.heroku.com/apps//settings) เพื่อตั้งค่าตัวแปรสภาพแวดล้อม ตั้งค่าตัวแปรต่อไปนี้ (ตรวจสอบให้แน่ใจว่าได้ตั้งค่าที่อยู่ที่คุณต้องการ):
- ACCESS_TOKEN | YOUR_ACCESS_TOKEN
- ADDRESS_1_LAT | 49.009698
- ADDRESS_1_LNG | 2.547882
- ADDRESS_1_NAME | สนามบิน
- ADDRESS_2_LAT | 48.876579
- ADDRESS_2_LNG | 2.330618
- ADDRESS_2_NAME | สำนักงาน
ปลายทาง "…/request/:device/:lat/:lng/:radius" จะถูกเรียกทุกครั้งที่ส่งข้อความไปยัง Sigfox Backend (ดูวิธีกำหนดค่าด้านล่าง) โดยการใช้บริการระบุตำแหน่งทางภูมิศาสตร์ของ Sigfox เซิร์ฟเวอร์จะได้รับตำแหน่งโดยประมาณของ Sens'it จากนั้นจะสั่ง UberX พร้อมที่อยู่สำหรับรับและส่งที่กำหนด
หากต้องการตรวจสอบว่าแอปทำงานอยู่หรือไม่ ให้ไปที่ URL คุณควรเห็น "แอปกำลังทำงาน…" บนเบราว์เซอร์ของคุณ คุณยังสามารถตรวจสอบบันทึกเพื่อดูรายละเอียดเพิ่มเติมได้
ขั้นตอนที่ 4: [ไม่บังคับ] การแจ้งเตือนทาง SMS ฟรีกับผู้ให้บริการมือถือชาวฝรั่งเศส (ชื่อฟรี)
หากคุณมีการสมัครสมาชิกผู้ให้บริการมือถือฟรีของฝรั่งเศส คุณสามารถใช้ API การแจ้งเตือนทาง SMS ฟรีเพื่อรับการแจ้งเตือนบนโทรศัพท์ของคุณ เพื่อให้ใช้งานได้ เพียงเปิดใช้งานบริการในพื้นที่สมาชิกของคุณและอ้างอิงตัวแปรสภาพแวดล้อมต่อไปนี้ในแท็บการตั้งค่าของแอป Heroku ของคุณ:
- FREE_USER | YOUR_FREE_USER
- FREE_PASS | YOUR_FREE_PASS
ตอนนี้คุณสามารถรับการแจ้งเตือนทาง SMS เกี่ยวกับคำขอ UberX ของคุณได้
ขั้นตอนที่ 5: กำหนดค่า Sigfox Backend Callback
- เข้าสู่ระบบที่นี่
- ไปที่ https://backend.sigfox.com/devicetype/list คลิกซ้ายที่แถวอุปกรณ์ของคุณแล้วเลือก "แก้ไข"
- ไปที่ส่วน "CALLBACKS" ทางด้านซ้าย เลือก "ใหม่" ที่ด้านบนขวา เลือก "Custom Callback"
- ประเภท: SERVICE | จีโอลอค
- URL ของช่อง
- รูปแบบ URL:
- ใช้วิธี HTTP: GET
- เลือก "ตกลง" เพื่อตรวจสอบ
ขั้นตอนที่ 6: เรียกใช้เพื่อทดสอบ
โดยค่าเริ่มต้น ตัวแปรแซนด์บ็อกซ์ถูกตั้งค่าเป็นจริง การดำเนินการนี้จะปลอมคำขอนั่ง Uber เพื่อให้บัญชีธนาคารของคุณไม่ได้รับผลกระทบจากการจัดการโดยไม่ได้ตั้งใจ
กดปุ่ม Sens'it สองครั้งเพื่อส่งข้อความผ่าน Sigfox ตรวจสอบให้แน่ใจว่าข้อความได้รับการตอบรับอย่างดีใน Sigfox Backend เข้าสู่ระบบ ไปที่ส่วน DEVICE แล้วคลิกซ้ายที่ ID อุปกรณ์ของคุณ คุณสามารถไปที่ส่วนข้อความเพื่อดูเพย์โหลด
ขั้นตอนที่ 7: สั่งซื้อ Uber Ride จริง
ตอนนี้ตั้งค่าตัวแปรสภาพแวดล้อมแซนด์บ็อกซ์เป็นเท็จหากคุณต้องการขอไดรเวอร์ Uber ตัวจริง
แซนด์บ็อกซ์ | เท็จ
ปุ่ม Sens'it จะเรียกเส้นทาง …/request/:device/:lat/:lng/:radius และเรียกคำขอนั่ง Uber!
คุณยังสามารถดูสถานะคำขอปัจจุบันได้ที่ …/request/current
หากต้องการยกเลิกคำสั่งซื้อ สามารถใช้เส้นทางนี้: …/request/cancel
มาขับรถกันเถอะ
ขอให้สนุกกับการสั่ง Ubers ของคุณ!
อองตวน เดอ แชสซีย์
แนะนำ:
ปุ่ม Home Automation มูลค่า $5: 4 ขั้นตอน
ปุ่ม Home Automation ราคา $5: ปุ่ม Home Automation ราคา $5 บางครั้งวิธีแก้ปัญหาที่ง่ายที่สุดคือปุ่มเดียว เราต้องการวิธีง่ายๆ ในการเรียกใช้กิจวัตร "เวลาเข้านอน" บนฮับระบบอัตโนมัติภายในบ้านของเรา (Hubitat Elevation) ซึ่งจะปิดไฟส่วนใหญ่ ตั้งค่าอื่นๆ ให้อยู่ในระดับที่เฉพาะเจาะจง และ
ปุ่ม Push to Talk ที่ควบคุมด้วยเท้า: 5 ขั้นตอน
ปุ่ม Push to Talk แบบควบคุมด้วยเท้า: นี่คือวิธีที่ฉันสร้างปุ่ม Push To Talk ที่คุณสามารถใช้กับเท้าของคุณได้
วิธีใช้สเต็ปเปอร์มอเตอร์ 28BYJ-48 พร้อมปุ่มกด 3 ปุ่ม: 5 ขั้นตอน
วิธีใช้สเต็ปเปอร์มอเตอร์ 28BYJ-48 พร้อมปุ่มกด 3 ปุ่ม: คุณต้องการควบคุมสเต็ปเปอร์มอเตอร์โดยใช้ปุ่มกดหรือไม่? ที่สามารถทำตามเข็มนาฬิกา, ทวนเข็มนาฬิกาแล้วหยุดฟังก์ชั่น? วิดีโอนี้เหมาะสำหรับคุณ
ปุ่ม Macbook ทำจากไม้ (พร้อมฟังก์ชั่นแบ็คไลท์): 7 ขั้นตอน
ปุ่ม Macbook ทำจากไม้ (พร้อมฟังก์ชั่นแบ็คไลท์): บทนำ คอมพิวเตอร์ Mac ได้รับการดัดแปลงอย่างหนักในช่วงไม่กี่ปีที่ผ่านมา ซึ่งอาจแตกต่างกันไปตามการเปลี่ยนสี สติ๊กเกอร์ การแกะสลัก และอื่นๆ แป้นไม้บน macbook ทำให้ฉันประทับใจเสมอ คุณสามารถทำได้ทางออนไลน์จากที่ต่างๆ ในราคาประมาณ $70 หรือ
ปุ่ม Gameboy หน้าจอสัมผัส!: 10 ขั้นตอน
ปุ่มเกมบอยหน้าจอสัมผัส!: ตั้งแต่ฉันยังเป็นเด็ก ฉันก็ต้องการเกมบอย กรอไปข้างหน้าสองสามปี ฉันยังไม่มีเกมบอย ฉันตัดสินใจดาวน์โหลดโปรแกรมจำลอง แต่….คุณไม่สามารถสัมผัสปุ่มเสมือนได้! ดังนั้นฉันจึงตัดสินใจสร้างปุ่มที่ฉันสามารถวางทับซ้อนกันบนหน้าจอได้