สารบัญ:
- ขั้นตอนที่ 1: วัสดุที่จำเป็น
- ขั้นตอนที่ 2: ส่วนการเขียนโปรแกรม
- ขั้นตอนที่ 3: การประกอบอิเล็กทรอนิกส์
- ขั้นตอนที่ 4: การได้มาซึ่งข้อมูล
- ขั้นตอนที่ 5: ฐานข้อมูล
- ขั้นตอนที่ 6: การสาธิต
วีดีโอ: สร้อยข้อมือปฐมนิเทศที่เชื่อมต่อ: 6 ขั้นตอน
2024 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2024-01-30 13:03
โครงการวิชาการนี้ สร้อยข้อมือปฐมนิเทศเชื่อมต่อกัน เกิดขึ้นโดยนักเรียนสี่คนจากโรงเรียนวิศวกรรม Polytech Paris-UPMC: Sébastien Potet, Pauline Pham, Kevin Antunes และ Boris Bras
โครงการของเราคืออะไร?
ในช่วงหนึ่งเทอม เราต้องสร้างสร้อยข้อมือที่เชื่อมต่อกันซึ่งนักวิ่งจะใช้ เส้นทางการแข่งขันของเขาจะเน้นตามจุดต่างๆ ที่เขาจะแท็ก ซึ่งจะทำให้สามารถบันทึกเส้นทางได้ ข้อมูลเหล่านั้นจะถูกเก็บไว้ในคลาวด์ตามเวลาจริง
ผลิตภัณฑ์นี้สามารถให้อุณหภูมิ ความชื้น และทิศทางได้ นอกจากนี้เรายังมีปุ่มสามปุ่มรวมถึงปุ่มหนึ่งสำหรับส่งตำแหน่ง GPS ในกรณีที่นักวิ่งมีปัญหา (ปุ่ม SOS) นั่นคือเหตุผลที่เราต้องการแบบเรียลไทม์ อันที่สองอนุญาตให้แท็กและอันสุดท้ายปิดสร้อยข้อมือเพราะเราต้องการผลิตภัณฑ์พลังงานต่ำ
เรามี bugdet 120 € หากต้องการทราบสร้อยข้อมือปฐมนิเทศที่เชื่อมต่อให้ทำตามบทช่วยสอนของเรา!
ขั้นตอนที่ 1: วัสดุที่จำเป็น
รายการส่วนประกอบ:
- STM32L432KC-Nucleo Ultra Low Power
- โมดูล SigFox TD1208
- เครื่องอ่าน RFID 125 kHz
- เซ็นเซอร์อุณหภูมิ/ความชื้น HTU21D
- โมดูลมาตรความเร่ง 3-แกน ADXL345
- โมดูลเข็มทิศ 3 แกน HMC5883L
- หน้าจอ OLED ADA938
- โมดูล GPS Grove 31275
- แบตเตอรี่ 1.5 V LR6
- เครื่องปรับความตึง Pololu 3.3V U1V11F3
- ปุ่มควบคุมบางปุ่ม
ขั้นตอนที่ 2: ส่วนการเขียนโปรแกรม
ก่อนอื่น เราตั้งโปรแกรมแต่ละองค์ประกอบด้วยไซต์นักพัฒนา mbed ในการนั้น เราใช้ไมโครคอนโทรลเลอร์ STM32L476RG-Nucleo ซึ่งกินไฟน้อย
หน้าจอ เซ็นเซอร์อุณหภูมิ/ความชื้น และเข็มทิศทำงานในการสื่อสารแบบ I²C เครื่องอ่าน RFID และมาตรความเร่งทำงานในการสื่อสารแบบอนุกรม สำหรับแต่ละองค์ประกอบ คุณต้องเพิ่มไลบรารีของตนเอง
สำหรับเซ็นเซอร์อุณหภูมิ/ความชื้น เข็มทิศ และมาตรความเร่ง คุณต้องเรียกใช้ฟังก์ชันที่กำหนดไว้ในไลบรารีเพื่อรับข้อมูล
เครื่องอ่าน RFID ทำงานบนการสื่อสารแบบอนุกรม คุณต้องใช้ฟังก์ชัน "getc()" เนื่องจากแท็กจะส่งคืนข้อมูลเป็นถ่าน
รหัสทั้งหมดมีอยู่ในไฟล์ ยกเว้นรหัสของหน้าจอ OLED
ขั้นตอนที่ 3: การประกอบอิเล็กทรอนิกส์
หลังจากตั้งโปรแกรมแต่ละส่วนประกอบแล้ว เราก็นำเพลทแล็บเด็คและต่อเข้ากับ STM32L432KC-Nucleo ทำตามไดอะแกรมการเดินสายไฟในไฟล์แนบเพื่อประกอบส่วนประกอบทั้งหมด หรือระบุรายละเอียด PIN ทั้งหมดบนการประกอบรหัส
เราได้เพิ่มปุ่มสามปุ่มที่มีความต้านทาน 10 กิโลโอห์มสามปุ่ม: ปุ่มหนึ่งส่งตำแหน่ง GPS ในกรณีที่เกิดอันตราย ปุ่มหนึ่งสำหรับเปิด/ปิด และปุ่มสุดท้ายเพื่อให้นักวิ่งสามารถแท็กจุดนั้นได้ เราได้เพิ่มเสียงเตือนเมื่อคุณกดปุ่ม SOS
ไฟล์ "braceletOrientation" ในไฟล์แนบคือโครงการของเราเกี่ยวกับ Fritzing นี่คือไฟล์สรุปส่วนประกอบและการเดินสายของเราบน labdec เช่นเดียวกับบน PCB นอกจากนี้เรายังเพิ่มรหัสแอสเซมบลีของส่วนประกอบทั้งหมด
ขั้นตอนที่ 4: การได้มาซึ่งข้อมูล
Actoboard
Actoboard เป็นเครื่องมือที่ใช้แดชบอร์ด จะแสดงข้อมูลทั้งหมดที่ส่งโดยโมดูล Sigfox จากนั้นจะส่งผ่าน URL ข้อมูลนี้ไปยังโหนดเพื่อแทรกลงในฐานข้อมูล
ส่งข้อมูล:
ในการส่งข้อมูลผ่านรหัสของคุณ ก่อนอื่นคุณต้องประกาศ PIN (Tx, Rx) ของโมดูล Sigfox (คุณสามารถดูได้ในรหัสของเรา) หลังจากนั้น ขอบคุณคำสั่งนี้: "sigfox.printf("AT$SF=%02X%02X%02X%02X%02X%02X \r\n", lat_deg, long_deg, lat_10s, long_10s, lat_100s, long_100s);" ตัวอย่างนี้จะส่งข้อมูลของ GPS ไปยัง Actoboard
รับข้อมูล:
หลังจากที่คุณตั้งค่าแหล่งข้อมูลของคุณให้สัมพันธ์กับโมดูล Sigfox แล้ว คุณต้องตั้งค่ารูปแบบข้อมูลของคุณเพื่อรับข้อมูลจากโค้ดของคุณ สำหรับตัวอย่างเดิม (GPS) คุณต้องตั้งค่ารูปแบบข้อมูลเช่นนั้น: "lat_deg::uint:8 long_deg::uint:8 lat_10s::uint:8 long_10s::uint:8 lat_100s::uint:8 long_100s::uint:8".
ระวังด้วยชนิดและจำนวนบิต คุณต้องมีความยาวเท่ากันทุกประการ ดังนั้นฉันจึงแนะนำให้คุณส่งข้อมูลของคุณในโค้ดของคุณแบบนั้น: "lat_deg = (int8_t)lat_deg;"
ระวังเรื่องจำนวนหลักด้วย ในตัวอย่างนี้ เราส่งข้อมูลด้วยตัวเลขสูงสุด 2 หลักเท่านั้น แต่ถ้าคุณต้องการถ่ายโอนข้อมูลที่ใหญ่กว่า เช่น "%04X" คุณอาจรู้ว่า Actoboard กำลังจะผกผันตัวเลข ตัวอย่างเช่น หากคุณส่ง 0x3040 Actoboard จะเข้าใจ 0x4030 ดังนั้นคุณต้องผกผันตัวเลขก่อนส่งรูปแบบข้อมูลที่เกิน 2 หลัก
แก้ไขแดชบอร์ด:
หากต้องการแก้ไขข้อมูลของคุณใน Dashboard บน Actoboard คุณเพียงแค่ต้องเพิ่มวิดเจ็ต มีรายการวิดเจ็ต คุณต้องเลือกวิดเจ็ตที่ตรงกับระบบของคุณมากที่สุด และหลังจากที่คุณเพียงแค่ต้องเลือกว่าข้อมูลใดที่จะเติมวิดเจ็ตใด
ส่งไปยัง nodered:
ในการถ่ายโอนข้อมูลทั้งหมดที่คุณได้รับบน Actoboard ไปยัง nodered ผ่าน URL คุณเพียงแค่กรอกข้อมูลในช่อง "forwarding url" ในการตั้งค่าของคุณด้วย URL โปรเจ็กต์ที่มีโหนด ตัวอย่างเช่น เราได้เติม "https://noderedprojet.mybluemix.net/projet" ลงในช่อง
ขั้นตอนที่ 5: ฐานข้อมูล
บลูมิกซ์
- Nodered:
- รับแบบฟอร์มข้อมูล Actoboard
ในการรับแบบฟอร์มข้อมูล Actoboard คุณต้องเพิ่มอินพุต "websocket" ที่คุณต้องตั้งค่าวิธีการโดย "POST" และระบุ URL ของคุณ (ตัวอย่างในรูปภาพ)
การจัดรูปแบบข้อมูล
คุณต้องดึงข้อมูลที่คุณต้องการเพิ่มในฐานข้อมูลของคุณ (ระบบคลาวด์) และจัดรูปแบบ เพื่อที่คุณจะต้องเพิ่มกลุ่ม "ฟังก์ชั่น" ดูภาพในไฟล์แนบเพื่อทำความเข้าใจวิธีการทำ
คุณสามารถเพิ่ม geomtry ลงในแผนที่ได้ ตัวอย่างเช่น เรามีฟังก์ชันที่เพิ่มจุดด้วยพิกัด GPS บนแผนที่และเชื่อมโยงเข้าด้วยกัน เราใช้ฟังก์ชันนี้เพื่อสร้างการแข่งขัน และหลังจากนั้น เราจะสลับฟังก์ชันอื่นซึ่งจะสร้างรูปหลายเหลี่ยมรอบๆ จุด หากคุณตรวจสอบ RFID TAG
ส่งไปที่ cloudant
หลังจากการจัดรูปแบบข้อมูลของคุณ คุณจะต้องส่งไปยังฐานข้อมูลบนคลาวด์ของคุณ คุณต้องเพิ่มกลุ่มพื้นที่เก็บข้อมูล "cloudant" และระบุการตั้งค่าเช่นชื่อฐานข้อมูลของคุณ การดำเนินการ "insert" ดูตัวอย่างของเราในไฟล์แนบ
อย่าลืม "ปรับใช้" โหนดของคุณเพื่อให้ระบบของคุณทำงานได้
เมฆา:
ในฐานข้อมูล cloudant ของคุณ ขณะนี้คุณสามารถดูข้อมูลทั้งหมดที่คุณส่งด้วย sigfox และการจัดรูปแบบเป็นโหนดสีแดง คุณสามารถเลือกข้อมูลที่ต้องการดู เช่น "วันที่ อุปกรณ์ TAG RFID GPS"
และคุณสามารถเห็นภาพสิ่งที่คุณสร้างใน geomtry funtion ในเมนู "gps Geospatial Indexes"
ขั้นตอนที่ 6: การสาธิต
โดยสรุป เรามี Interfaces Human-Machine สี่เครื่องที่ควบคุมโดยปุ่มกดสี่ปุ่ม
อินเทอร์เฟซพื้นฐานระบุอุณหภูมิ ความชื้น หมายเลขแท็ก โครโนมิเตอร์ และทิศทางแม่เหล็ก
ในการกดปุ่มหนึ่งครั้ง คุณจะพบกับเข็มทิศอินเทอร์เฟซจริง วงกลมจะถูกวาดบนหน้าจอโดยมีทิศทางอยู่ในตำแหน่งที่ดี
ในการกดปุ่มอื่น คุณจะส่งข้อความ SOS ซึ่งจะส่งตำแหน่งของคุณไปยังฐานข้อมูล นอกจากนี้ คุณจะได้ยินข้อความ SOS ในรหัสมอร์ส
นอกจากนี้ ในการกดปุ่มสุดท้าย คุณจะปลุกแท็ก RFID หลังจากนั้นคุณมีเวลาห้าวินาทีในการแท็กจุดข้ามของคุณ แล้วจะได้ยินเสียงบี๊บ การดำเนินการนี้จะเพิ่มตัวนับบนจอแสดงผลและส่งแท็กพร้อมกับเวลาในฐานข้อมูลของเรา สุดท้าย แท็กทั้งหมดจะวาดการขี่บนแผนที่
automomy ของนาฬิกาของเราคือ 4h30 (ประมาณ 660mA/h) ขึ้นอยู่กับหมายเลขแท็กที่ตรวจสอบ
เพื่อสรุปหลังการแข่งขัน คุณจะพบการกระทำของนักวิ่งทั้งหมดในฐานข้อมูล bluemix ของเรา
แนะนำ:
การออกแบบเกมในการสะบัดใน 5 ขั้นตอน: 5 ขั้นตอน
การออกแบบเกมในการสะบัดใน 5 ขั้นตอน: การตวัดเป็นวิธีง่ายๆ ในการสร้างเกม โดยเฉพาะอย่างยิ่งเกมปริศนา นิยายภาพ หรือเกมผจญภัย
การตรวจจับใบหน้าบน Raspberry Pi 4B ใน 3 ขั้นตอน: 3 ขั้นตอน
การตรวจจับใบหน้าบน Raspberry Pi 4B ใน 3 ขั้นตอน: ในคำแนะนำนี้ เราจะทำการตรวจจับใบหน้าบน Raspberry Pi 4 ด้วย Shunya O/S โดยใช้ Shunyaface Library Shunyaface เป็นห้องสมุดจดจำใบหน้า/ตรวจจับใบหน้า โปรเจ็กต์นี้มีจุดมุ่งหมายเพื่อให้เกิดความเร็วในการตรวจจับและจดจำได้เร็วที่สุดด้วย
วิธีการติดตั้งปลั๊กอินใน WordPress ใน 3 ขั้นตอน: 3 ขั้นตอน
วิธีการติดตั้งปลั๊กอินใน WordPress ใน 3 ขั้นตอน: ในบทช่วยสอนนี้ ฉันจะแสดงขั้นตอนสำคัญในการติดตั้งปลั๊กอิน WordPress ให้กับเว็บไซต์ของคุณ โดยทั่วไป คุณสามารถติดตั้งปลั๊กอินได้สองวิธี วิธีแรกคือผ่าน ftp หรือผ่าน cpanel แต่ฉันจะไม่แสดงมันเพราะมันสอดคล้องกับ
การลอยแบบอะคูสติกด้วย Arduino Uno ทีละขั้นตอน (8 ขั้นตอน): 8 ขั้นตอน
การลอยแบบอะคูสติกด้วย Arduino Uno ทีละขั้นตอน (8 ขั้นตอน): ตัวแปลงสัญญาณเสียงล้ำเสียง L298N Dc ตัวเมียอะแดปเตอร์จ่ายไฟพร้อมขา DC ตัวผู้ Arduino UNOBreadboardวิธีการทำงาน: ก่อนอื่น คุณอัปโหลดรหัสไปยัง Arduino Uno (เป็นไมโครคอนโทรลเลอร์ที่ติดตั้งดิจิตอล และพอร์ตแอนะล็อกเพื่อแปลงรหัส (C++)
เครื่อง Rube Goldberg 11 ขั้นตอน: 8 ขั้นตอน
เครื่อง 11 Step Rube Goldberg: โครงการนี้เป็นเครื่อง 11 Step Rube Goldberg ซึ่งออกแบบมาเพื่อสร้างงานง่ายๆ ในรูปแบบที่ซับซ้อน งานของโครงการนี้คือการจับสบู่ก้อนหนึ่ง