สารบัญ:

ไม้ไผ่เบา (ต่อกับโคม): 3 ขั้นตอน
ไม้ไผ่เบา (ต่อกับโคม): 3 ขั้นตอน

วีดีโอ: ไม้ไผ่เบา (ต่อกับโคม): 3 ขั้นตอน

วีดีโอ: ไม้ไผ่เบา (ต่อกับโคม): 3 ขั้นตอน
วีดีโอ: 💢3เทคนิคตอกหัวไม้ไม่แตก!!..สิ่งที่คุณคาดไม่ถึง/พ่อบ้านยุคใหม่/💢 2024, พฤศจิกายน
Anonim
ไม้ไผ่อ่อน (โคมเชื่อม)
ไม้ไผ่อ่อน (โคมเชื่อม)

สวัสดีและยินดีต้อนรับ!

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

สำหรับโคมไฟของเรา เราเลือกโรงงานพลาสติกสำหรับการออกแบบตกแต่งที่เก๋ไก๋ สำหรับโครงการนี้ การแจ้งเตือนที่แสดงมาจากแอปพลิเคชันต่อไปนี้: โทร, sms/mms, facebook, messenger, instagram, whatsapp ang gmail มีการระบุสีของแสงหนึ่งสีสำหรับการแจ้งเตือนแต่ละประเภท

สำหรับโครงการนี้ คุณจะต้อง:

  • uC ที่มีโมดูล BLE ในตัว: nFR51822 RedBearLab
  • 3 NeoPixel Ring (ไฟ LED RGB 12 ดวง)
  • สมาร์ทโฟน Android
  • Android Studio

การแจ้งเตือนแต่ละรายการมีลำดับความสำคัญเฉพาะ ขึ้นอยู่กับความสำคัญ ตัวอย่างเช่น การแจ้งเตือนสายเรียกเข้ามีความสำคัญมากกว่าการแจ้งเตือนบน Facebook ในกรณีนั้น ไฟ LED จะเชื่อมโยงกับการแจ้งเตือนสายเรียกเข้า

สมาร์ทโฟนที่เราพัฒนาแอปพลิเคชันนี้คือ Samsung Galaxy A5

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

ส่วนฮาร์ดแวร์
ส่วนฮาร์ดแวร์

สถาปัตยกรรมของเราค่อนข้างเรียบง่าย

เชื่อมต่อหมุด NeoPixel Ring เข้ากับบอร์ด nRF51822 ดังนี้:

  • Inout Data pin ของ NeoPixel Ring ไปยังพอร์ต 3 ของ uC
  • Vcc ของ NeoPixel Ring ถึง 3.3V ของ uC
  • GND ของ NeoPixel Ring ไปยัง GND ของ uC

คุณจะสังเกตเห็นว่าเราไม่ได้ใช้พินข้อมูลเอาต์พุตของ NeoPixel Ring นั่นเป็นเพราะพินอินพุตข้อมูลของ NeoPixel Rings สามอันที่เราใช้ในโครงการนี้ทั้งหมดเชื่อมต่อกับพอร์ตเดียวกันของบอร์ด nRF51822 (พิน 3)

ขั้นตอนที่ 2: ส่วนซอฟต์แวร์

ส่วนซอฟต์แวร์
ส่วนซอฟต์แวร์
ส่วนซอฟต์แวร์
ส่วนซอฟต์แวร์
ส่วนซอฟต์แวร์
ส่วนซอฟต์แวร์

1. การสื่อสาร Bluetooth Low Energy:

ในการสื่อสาร BLE เซิร์ฟเวอร์ (ซึ่งในกรณีของเราคือ uC) และลูกค้า (สมาร์ทโฟน) แลกเปลี่ยนข้อมูลโดยใช้ธุรกรรม GATT ในธุรกรรมเหล่านั้น ข้อมูลจะถูกจัดระเบียบตามลำดับชั้นในส่วนที่เรียกว่าบริการ ซึ่งจัดกลุ่มข้อมูลผู้ใช้ที่เกี่ยวข้องกับแนวคิดที่เรียกว่าคุณลักษณะ ในกรณีของเรา การห่อหุ้มข้อมูลนั้นง่าย เนื่องจากเรามีข้อมูลเดียวเท่านั้นที่จะส่งผ่านจากไคลเอนต์ไปยังเซิร์ฟเวอร์ (ดูภาพด้านบน)

  • ทางฝั่งเซิร์ฟเวอร์: เพื่อให้สามารถใช้บอร์ด nrf51822 เป็นเซิร์ฟเวอร์ BLE ได้ ก่อนอื่นให้ติดตั้งไลบรารี "BLEPeripheral.h" บน Arduino IDE ห้องสมุดนี้มีฟังก์ชันที่พร้อมใช้งานสำหรับการสร้างบริการและคุณลักษณะและการโฆษณา
  • ที่ฝั่งไคลเอ็นต์: ในการเริ่มการสื่อสาร BLE ใน Android Studio ก่อนอื่นให้กำหนดค่าการอนุญาต BLE ในไฟล์ Manifest จากนั้นในไฟล์ activity_main.xml ให้เพิ่มปุ่ม 4 ปุ่ม ได้แก่ สแกน หยุดสแกน เชื่อมต่อและยกเลิกการเชื่อมต่อ ซึ่งจะทำให้แอปพลิเคชันสามารถสแกนหาอุปกรณ์ BLE ที่อยู่ใกล้เคียง หยุดการสแกน เชื่อมต่อและยกเลิกการเชื่อมต่อกับอุปกรณ์ ในไฟล์ main_activity.java ใช้ฟังก์ชันที่เกี่ยวข้องกับปุ่มก่อนหน้า: startScanning(), stopscanning(), connectToDeviceSelected(), disconnectDeviceSelected().สุดท้าย ใช้ฟังก์ชันการเรียกกลับที่ได้รับการเรียกเมื่อสถานะของไคลเอ็นต์เปลี่ยนแปลง.

2. การจัดการการแจ้งเตือน

  • ที่ฝั่งไคลเอ็นต์ (บน Android Studio): หากต้องการฟังการแจ้งเตือนที่มาจากสมาร์ทโฟน ให้ใช้ตัวฟังการแจ้งเตือนซึ่งจะเปิดใช้งานเมื่อมีการแจ้งเตือนในแถบสถานะ ผู้ฟังการแจ้งเตือนนี้จะส่ง "ข้อความ" ที่เรียกว่าเจตนา ไปยังกิจกรรมหลักเมื่อมีการโพสต์หรือลบการแจ้งเตือน "ข้อความ" นี้มีรหัสการแจ้งเตือนที่ช่วยระบุแอปพลิเคชันที่โพสต์การแจ้งเตือน ในการประมวลผลการแจ้งเตือนในกิจกรรมหลัก ให้สร้างเครื่องรับการออกอากาศที่จะรับข้อความจากผู้ฟังการแจ้งเตือน จากนั้น อักขระอื่นจะถูกส่งไปยังเซิร์ฟเวอร์ ทั้งนี้ขึ้นอยู่กับรหัสการแจ้งเตือน
  • ที่ฝั่งเซิร์ฟเวอร์ (บน Arduino IDE): การแจ้งเตือนที่มีลำดับความสำคัญสูงสุดจะปรากฏขึ้น

ขั้นตอนที่ 3: ขั้นตอนที่ 3: ภาคผนวก

ที่นี่ คุณจะพบที่มาของรหัสทั้งหมด

แนะนำ: