สารบัญ:

The Mappifier - การทำแผนที่ + ระบบการแจ้งเตือน: 9 ขั้นตอน
The Mappifier - การทำแผนที่ + ระบบการแจ้งเตือน: 9 ขั้นตอน

วีดีโอ: The Mappifier - การทำแผนที่ + ระบบการแจ้งเตือน: 9 ขั้นตอน

วีดีโอ: The Mappifier - การทำแผนที่ + ระบบการแจ้งเตือน: 9 ขั้นตอน
วีดีโอ: Update everyday makeup ลุคที่แต่งทุกวันตอนนี้ feat. DDC 3D Liquid Lip สีของโมเมเอง | DAILYCHERIE 2024, พฤศจิกายน
Anonim
The Mappifier - การทำแผนที่ + ระบบการแจ้งเตือน
The Mappifier - การทำแผนที่ + ระบบการแจ้งเตือน

การขับรถตอนกลางคืนค่อนข้างสนุก แต่บ่อยครั้งกลับกลายเป็นฝันร้าย ในรูปแบบของสัตว์ข้ามถนน (โดยเฉพาะแมวและสุนัขจรจัดที่รอให้คุณขับรถเข้าใกล้พวกมันจะได้ข้ามไป!!) ดังนั้นฉันจึงคิดว่าจะทำบางอย่างเพื่อเตือนคุณเมื่อคุณเข้าใกล้สถานที่เสี่ยงเหล่านี้ เพื่อให้คุณขับรถได้ระมัดระวังมากขึ้น

ระบบมีสองส่วน: การรวบรวมข้อมูลและการดึงข้อมูล ส่วนแรกใช้ข้อมูลตำแหน่งซึ่งเป็นตำแหน่งที่มีความเป็นไปได้ที่สัตว์จะข้ามผ่านมากขึ้น ต้องเพิ่มข้อมูลนี้ด้วยตนเองและอัปเดตบนแผนที่ ส่วนหลังใช้ตำแหน่งปัจจุบันของเราแล้วเปรียบเทียบกับข้อมูลที่รวบรวมและมีการแจ้งเตือนหรือคำเตือนที่เหมาะสม

เสบียง

ฮาร์ดแวร์ที่ใช้

บอร์ดพัฒนา ESP8266 WiFi

โมดูล GPS Ublox NEO-6M

ไฟ LED

ปุ่มกดชั่วขณะ

ซอฟต์แวร์ที่ใช้

Arduino IDE

ตัวแก้ไข JavaScript ใด ๆ

Firebase (สำหรับการจัดเก็บและดึงข้อมูล)

ขั้นตอนที่ 1: หน่วยฮาร์ดแวร์

ฮาร์ดแวร์จำเป็นต้องทำงานสองวิธี (โหมด): 1) จัดเก็บตำแหน่งไปยังฐานข้อมูล: นี่เป็นส่วนสำคัญในกระบวนการรวบรวมข้อมูล ตำแหน่งที่โมดูล GPS ดึงมาจะถูกส่งไปยังฐานข้อมูล firebase ผ่านบอร์ดพัฒนา ESP8266 WiFi

2) ให้การแจ้งเตือนระหว่างการนำทาง: ในระหว่างการนำทาง ตำแหน่งปัจจุบันจะถูกดึงและถูกส่งไปยังฐานข้อมูล เมื่อมีการอัปเดตตำแหน่งแต่ละครั้ง ระยะห่างระหว่างตำแหน่งปัจจุบันกับตำแหน่งเหล่านั้น (ซึ่งถูกเก็บไว้ระหว่างกระบวนการรวบรวมข้อมูล) จะถูกคำนวณและกู้คืนโดยโมดูล ESP8266 ซึ่งจะเตือนผู้ใช้ว่าผู้ใช้อยู่ใกล้แค่ไหนจากตำแหน่งที่เก็บไว้เหล่านั้น

ฉันเพิ่ม LED สามดวงเพื่อแจ้งการเปลี่ยนแปลงในโหมดต่างๆ รวมถึงการอัพเดตฐานข้อมูลสำเร็จและไฟเตือนเพื่อแจ้งความใกล้ชิดของผู้ใช้ไปยังตำแหน่งที่จัดเก็บไว้

ปุ่มกดใช้เพื่อจัดเก็บตำแหน่งด้วยการคลิกเพียงครั้งเดียว (ในโหมดจัดเก็บ/รวบรวมข้อมูล) และเพื่อเปลี่ยนระหว่างโหมดเหล่านี้

เปิดเครื่อง

เริ่มแรกใช้แบตเตอรี่ Lipo 3.7V 300mAh แต่เกิดปัญหาบางอย่าง ปัญหาหลักคือการรีเซ็ต ESP8266 (อาจเป็นเพราะกระแสไฟพุ่งสูง) แบตเตอรี่ก็ใช้งานได้ไม่นาน ในที่สุดพาวเวอร์แบงค์ก็มาช่วยชีวิตฉัน

ขั้นตอนที่ 2: วงจร

วงจร
วงจร

ขั้นตอนที่ 3: เกี่ยวกับ Firebase

เกี่ยวกับ Firebase
เกี่ยวกับ Firebase
เกี่ยวกับ Firebase
เกี่ยวกับ Firebase
เกี่ยวกับ Firebase
เกี่ยวกับ Firebase
เกี่ยวกับ Firebase
เกี่ยวกับ Firebase

Firebase เป็นแพลตฟอร์มการพัฒนาแอปพลิเคชันมือถือและเว็บที่ Google เป็นเจ้าของ มันมีคุณสมบัติมากมาย แต่ที่นี่ฉันใช้เพียงสองคุณสมบัติเท่านั้น คือ Realtime Database และ Cloud Functions

ในการเริ่มต้นใช้งาน Firebase

1. ไปที่หน้า firebase ก่อน

2. ไปที่คอนโซลแล้วคลิกสร้างโครงการใหม่

3. คุณต้องระบุชื่อโครงการพร้อมกับรายละเอียดอื่น ๆ เพื่อสร้างโครงการ

4. หลังจากสร้างโครงการแล้ว ให้คลิกที่ตัวเลือกฐานข้อมูลจากบานหน้าต่างด้านข้างเพื่อสร้างฐานข้อมูลใหม่

5. ทำเช่นเดียวกันสำหรับฟังก์ชั่น

นี่เป็นขั้นตอนทั่วไปในการสร้างโปรเจ็กต์ firebase ได้รับการจัดทำเป็นเอกสารไว้อย่างดี และมีชุดวิดีโอ youtube มากมายสำหรับผู้เริ่มต้น โปรดอ่านเพื่อทำความเข้าใจเพิ่มเติม

ขั้นตอนที่ 4: ฐานข้อมูลเรียลไทม์

ฐานข้อมูลเรียลไทม์
ฐานข้อมูลเรียลไทม์
ฐานข้อมูลเรียลไทม์
ฐานข้อมูลเรียลไทม์

หลังจากที่คุณสร้างฐานข้อมูลแล้ว ขั้นตอนต่อไปคือการดูว่าข้อมูลในฐานข้อมูลถูกจัดเก็บและสามารถเข้าถึงได้อย่างไร สำหรับการเขียนหรืออ่านไปยัง/จากฐานข้อมูล คุณต้องกำหนดค่ากฎของฐานข้อมูล เพื่อวัตถุประสงค์ในการพัฒนา เราสามารถใช้กฎเปิดเพื่อให้ทุกคนที่มีการอ้างอิงฐานข้อมูลสามารถอ่าน/เขียนได้ แต่โปรดใช้ความระมัดระวังขณะกำหนดค่ากฎ ฐานข้อมูลจัดเก็บข้อมูลในรูปแบบ JSON และซิงค์กับอุปกรณ์ทั้งหมดที่เชื่อมต่อกับ ฐานข้อมูล คุณสามารถเพิ่มโหนดย่อยโดยใช้เครื่องหมาย '+' แต่โหนดสามารถสร้างโดยทางโปรแกรมได้เช่นกัน ข้อมูลทั้งหมดที่เราอัปโหลดไปยังฐานข้อมูลในโหมด 'จัดเก็บ' (จัดเก็บตำแหน่งที่รวบรวม) จะถูกจัดเก็บที่นี่เป็นโหนดแยกต่างหาก ในขณะที่ข้อมูลในโหมด 'การแจ้งเตือน' (การดึงข้อมูลเมื่อนำทาง) จะได้รับการอัปเดตทุกครั้ง (ตรวจสอบภาพ)

ขั้นตอนที่ 5: การตั้งค่าฟังก์ชัน Firebase

การตั้งค่าฟังก์ชัน Firebase
การตั้งค่าฟังก์ชัน Firebase
การตั้งค่าฟังก์ชัน Firebase
การตั้งค่าฟังก์ชัน Firebase
การตั้งค่าฟังก์ชัน Firebase
การตั้งค่าฟังก์ชัน Firebase

เราต้องการบางสิ่งในการคำนวณความใกล้ชิดของตำแหน่งปัจจุบันไปยังตำแหน่งที่เก็บไว้ และฟังก์ชันฐานข้อมูลเบื้องหลังที่เรียกใช้จะทำหน้าที่ของเรา ฟังก์ชั่นเขียนด้วยจาวาสคริปต์และจำเป็นต้องปรับใช้กับฐานไฟ

คุณต้องติดตั้ง node.js บนคอมพิวเตอร์ของคุณ

1) ตอนนี้ดาวน์โหลดอินเทอร์เฟซบรรทัดคำสั่ง firebase โดยใช้คำสั่ง "npm install -g firebase-tools" บนพรอมต์คำสั่งของคุณ

2) ตอนนี้คุณต้องลงชื่อเข้าใช้ firebase โดยใช้คำสั่ง "firebase login" (คุณต้องให้รหัสผ่านล็อกอิน gmail หากคุณยังไม่ได้เข้าสู่ระบบ)

3) หลังจากนี้ไปที่ไดเร็กทอรีโครงการของคุณและเริ่มต้นฟังก์ชันด้วยคำสั่ง "firebase init" คุณจะต้องเลือกตัวเลือก 'ฟังก์ชัน' เพื่อเริ่มต้นฟังก์ชัน firebase สำหรับโครงการของคุณ

4) ตอนนี้คุณต้องไปที่โฟลเดอร์ 'ฟังก์ชั่น' ในไดเรกทอรีโครงการของคุณและค้นหาไฟล์ 'index.js'

5)แก้ไขไฟล์ด้วยโปรแกรมแก้ไขข้อความและแก้ไขไฟล์/แทนที่ไฟล์ด้วย mappifier_function.txt (นี่จะเป็นฟังก์ชันของเราอย่างมีประสิทธิภาพ)

6) สุดท้ายปรับใช้ฟังก์ชันของคุณโดยใช้ "firebase deploy" ที่พรอมต์คำสั่ง

คุณสามารถตรวจสอบว่าฟังก์ชันถูกปรับใช้ภายใต้เมนูฟังก์ชันบนคอนโซล firebase ของคุณหรือไม่

ขั้นตอนที่ 6: รหัส

รหัส
รหัส
รหัส
รหัส
รหัส
รหัส

สำหรับ ESP8266:

บอร์ดเชื่อมต่อกับ WiFi และ Firebase โดยใช้ข้อมูลรับรองและรอการกดปุ่ม ตามระยะเวลาของการกดปุ่ม โหมดต่างๆ จะเริ่มต้นขึ้น ในโหมดรวบรวมข้อมูล (เรียกโหมดนี้ว่า "ร้านค้า") การกดปุ่มแต่ละครั้งจะนำไปสู่ตำแหน่งปัจจุบันที่ถูกส่งไปยังฐานข้อมูลในขณะที่อยู่ในโหมดดึงข้อมูล ("โหมดการแจ้งเตือน") ตำแหน่งปัจจุบันจะถูกส่งไปยังฐานข้อมูล และระยะทางจะถูกดึงจากฐานข้อมูลโดยอัตโนมัติ ฉันเพิ่มไฟ LED สำหรับคำเตือน (ความใกล้ชิดกับตำแหน่งที่ทำเครื่องหมายไว้) และการแจ้งเตือน (เช่น การแก้ไข GPS, การเชื่อมต่อ WiFi, การเขียนฐานข้อมูลสำเร็จ, การเปลี่ยนโหมด ฯลฯ)

สำหรับฟังก์ชัน Firebase:

ฟังก์ชันนี้จะตรวจสอบการเขียนไปยังโหนด 'ตำแหน่งปัจจุบัน' บนฐานข้อมูล และคำนวณระยะห่างระหว่างตำแหน่งบนฐานข้อมูลและตำแหน่งปัจจุบัน จากนั้นค้นหาระยะทางที่เล็กที่สุดซึ่งจะถูกเขียนไปยังโหนด 'ระยะทาง' บนฐานข้อมูล

อย่าลืมเพิ่มข้อมูลรับรอง wifi และข้อมูลรับรอง firebase auth ก่อนที่จะอัปโหลดโปรแกรมของคุณ (โปรดดูภาพ) นอกจากนี้ หากคุณยังใหม่กับ ESP8266 และต้องการเขียนโค้ดบน Arduino IDE ให้อ้างอิงสิ่งเหล่านี้

ขั้นตอนที่ 7: ขั้นตอนที่เลือกได้ (การสร้างสิ่งที่แนบมา)

ขั้นตอนเพิ่มเติม (การสร้างสิ่งที่แนบมา)
ขั้นตอนเพิ่มเติม (การสร้างสิ่งที่แนบมา)
ขั้นตอนเพิ่มเติม (การสร้างสิ่งที่แนบมา)
ขั้นตอนเพิ่มเติม (การสร้างสิ่งที่แนบมา)
ขั้นตอนเพิ่มเติม (การสร้างสิ่งที่แนบมา)
ขั้นตอนเพิ่มเติม (การสร้างสิ่งที่แนบมา)
ขั้นตอนเพิ่มเติม (การสร้างสิ่งที่แนบมา)
ขั้นตอนเพิ่มเติม (การสร้างสิ่งที่แนบมา)

ในการทำให้ชิ้นส่วนฮาร์ดแวร์มีขนาดกะทัดรัดจึงสามารถติดตั้งได้ ฉันจึงสร้างกล่องหุ้มขนาดเล็กเพื่อใส่เข้าไปข้างใน มีรูสองสามรูสำหรับติดไฟ LED และเชื่อมต่อสาย USB แต่ฉากสุดท้ายมันเกินคาด!! มันพอดีกับฝ่ามือของฉันอย่างสมบูรณ์แบบ และติดตั้งได้อย่างง่ายดายมากบนที่จับจักรยานและบนพวงมาลัย

ขั้นตอนที่ 8: ในการดำเนินการ…

นี่คือวิดีโอขนาดเล็กที่แสดงทั้งสองโหมด (ร้านค้าและการแจ้งเตือน) พร้อมไฟ LED เตือนและแจ้งเตือน

ขั้นตอนที่ 9: ก้าวต่อไป…

ก้าวต่อไป…
ก้าวต่อไป…

ระบบนี้สามารถใช้เพื่อวัตถุประสงค์ต่างๆ เช่น พิจารณาสถานการณ์ปัจจุบัน หากคุณสามารถหาตำแหน่งของการแพร่กระจายของโรคและจัดเก็บไว้ในฐานข้อมูล ระบบนี้จะแจ้งเตือนเมื่อคุณอยู่ใกล้สถานที่เหล่านั้น แต่ฉันกำลังคิดอย่างจริงจังว่าจะหาข้อมูลการข้ามผ่านของสัตว์จากทั่วโลกเพื่อให้ผู้ขับขี่ระมัดระวังและช่วยชีวิตสัตว์จำนวนมากจากอุบัติเหตุ ฉันได้สร้างหน้าเว็บง่ายๆ (แต่ยังไม่ได้โฮสต์) ซึ่งมีข้อมูลทั้งหมดที่ฉันรวบรวม ข้อมูลเหล่านี้เป็นข้อมูลที่ฉันรวบรวมระหว่างการเดินหรือปั่นจักรยาน (เมื่อใดก็ตามที่ฉันพบแมวหรือสุนัขข้างถนนเนื่องจากมีแนวโน้มที่จะข้าม) แต่เราต้องการข้อมูลมากกว่านี้ในการดำเนินการ

ฉันค่อนข้างใหม่ในการสร้างหน้าเว็บ (ส่วนใหญ่เป็นจาวาสคริปต์) และสิ่งอื่น ๆ และชอบที่จะได้รับคำแนะนำและความเชี่ยวชาญของคุณ:)

แนะนำ: