Nano ESP32 BLE Scanner: 14 ขั้นตอน (พร้อมรูปภาพ)
Nano ESP32 BLE Scanner: 14 ขั้นตอน (พร้อมรูปภาพ)
Anonim
นาโน ESP32 BLE Scanner
นาโน ESP32 BLE Scanner

คำแนะนำนี้แสดงวิธีใช้ ESP32 เพื่อสร้างเครื่องสแกนสัญญาณ BLE แบบไร้สาย ข้อมูลที่สแกนทั้งหมดจะถูกส่งไปยังเซิร์ฟเวอร์ HTTP ผ่าน WiFi

ขั้นตอนที่ 1: ทำไมต้อง BLE Scanner?

ทำไมต้อง BLE Scanner?
ทำไมต้อง BLE Scanner?

สัญญาณ BLE (บลูทูธพลังงานต่ำ) เป็นเรื่องปกติมากสำหรับอุปกรณ์ดิจิทัล โทรศัพท์มือถือ สายรัดข้อมือ iBeacon แท็กสินทรัพย์ สัญญาณนี้ไม่เพียงแต่ช่วยให้คุณจับคู่อุปกรณ์เท่านั้น แต่ยังสามารถรายงานสถานะของอุปกรณ์ได้ เช่น ระดับแบตเตอรี่ อัตราการเต้นของหัวใจ การเคลื่อนไหว (การเดิน วิ่ง การล้ม) อุณหภูมิ ปุ่มตกใจ การป้องกันการสูญหาย ฯลฯ

เป็นข้อมูลขนาดใหญ่ที่มีค่าสำหรับการติดตามตำแหน่งหากเราสามารถรวบรวมสัญญาณ BLE ที่ตำแหน่งจำนวนหนึ่งได้

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

ขั้นตอนที่ 2: การเตรียมการ

การตระเตรียม
การตระเตรียม
การตระเตรียม
การตระเตรียม

บอร์ด ESP32

ฉันใช้บอร์ด ESP-WROOM-32 ในครั้งนี้

คอนเทนเนอร์จิ๋ว

ภาชนะขนาดเล็กใด ๆ ก็ใช้ได้ ฉันมีกล่อง TicTac เล็ก ๆ อยู่ในมือ และมันพอดีกับบอร์ด ESP32 เลย ช่างบังเอิญเหลือเกิน!

แบตลิโพ

กระแสไฟสูงสุดของ ESP32 อยู่ที่ประมาณ 250 mA หากไม่ดึงกระแสไฟเกิน 1C ได้ตลอดเวลา แบตเตอรี่ Lipo ควรมีความจุมากกว่า 250 mAh 852025 เป็นขนาดสูงสุดที่สามารถใส่ลงในกล่อง Tictac และอ้างว่ามีความจุ 300 mAh ก็เพียงพอแล้ว

วงจรควบคุมกำลัง

ตัวควบคุม 3.3 V LDO, ตัวเก็บประจุบางตัว, ฉันมีตัวควบคุม HT7333A, ตัวเก็บประจุ 22 uf และ 100 uf อยู่ในมือ

คนอื่น

ตัวต้านทาน SMD 10k Ohm สำหรับดึงพิน EN, PCB อเนกประสงค์ชิ้นเล็ก, สวิตช์ไฟ, สายไฟเคลือบบางตัว, ส่วนหัว 7 พิน

ESP32 Dev Dock

ในกระบวนการโปรแกรม มันต้องใช้ ESP32 Development Dock ด้วย คุณอาจพบวิธีสร้างมันในคำสั่งก่อนหน้าของฉัน:

www.instructables.com/id/Battery-Powered-E…

ขั้นตอนที่ 3: ตัดแต่ง PCB

ตัดแต่ง PCB
ตัดแต่ง PCB

วัดขนาดของภาชนะเล็ก ๆ ของคุณและตัดแต่ง PCB ให้พอดี

ขั้นตอนที่ 4: หัวเข็มบัดกรี

หัวแร้งบัดกรี
หัวแร้งบัดกรี

มาเริ่มงานบัดกรีจากส่วนหัว 7 พินและ PCB กัน

ขั้นตอนที่ 5: วงจรไฟฟ้าบัดกรี

วงจรไฟฟ้าบัดกรี
วงจรไฟฟ้าบัดกรี
วงจรไฟฟ้าบัดกรี
วงจรไฟฟ้าบัดกรี
วงจรไฟฟ้าบัดกรี
วงจรไฟฟ้าบัดกรี

นี่คือบทสรุปการเชื่อมต่อ:

LDO Vin -> ส่วนหัวพิน Vcc(1) -> สวิตช์เปิด/ปิด -> Lipo V+, ส่วนหัวของพินชาร์จ(7)

LDO GND -> หัวพิน GND (2), ตัวเก็บประจุ V- พิน, ESP32 GND LDO Vout -> ตัวเก็บประจุ V+ พิน, ESP32 Vcc

ขั้นตอนที่ 6: การบัดกรีตัวต้านทานแบบดึงขึ้น

ตัวต้านทานแบบดึงขึ้นบัดกรี
ตัวต้านทานแบบดึงขึ้นบัดกรี

เป็นงานบัดกรีที่ยากที่สุดในโปรเจ็กต์นี้ ความกว้างของพินในบอร์ด ESP32 เพียง 1.27 มม. โชคดีที่มีขา Vcc และ EN อยู่ใกล้ๆ จึงสามารถกำหนดทิศทางการบัดกรีระหว่างขาทั้งสองโดยไม่ต้องใช้สายได้

ขา ESP32 Vcc -> ตัวต้านทาน 10k Ohm -> ESP32 EN pin

ขั้นตอนที่ 7: พินโปรแกรมบัดกรี

หมุดโปรแกรมบัดกรี
หมุดโปรแกรมบัดกรี

นี่คือบทสรุปการเชื่อมต่อ:

ส่วนหัว Tx pin (3) -> ESP32 Tx pin

ส่วนหัวของ Rx pin(4) -> ESP32 Rx pin ส่วนหัวของโปรแกรม(5) -> ESP32 GPIO 0 พิน RST pin header(6) -> ESP32 EN pin

ขั้นตอนที่ 8: ทำความสะอาดกล่อง TicTac

ทำความสะอาดกล่องทิกแทค
ทำความสะอาดกล่องทิกแทค
  • กินขนมให้หมด
  • แกะสติกเกอร์ออก

ขั้นตอนที่ 9: บีบลงในกล่อง

บีบใส่กล่อง
บีบใส่กล่อง
บีบใส่กล่อง
บีบใส่กล่อง
บีบใส่กล่อง
บีบใส่กล่อง

บีบส่วนประกอบทั้งหมดลงในกล่อง TicTac ระวังอย่าให้สายไฟขาด

ขั้นตอนที่ 10: เตรียมซอฟต์แวร์

เตรียมซอฟต์แวร์
เตรียมซอฟต์แวร์
เตรียมซอฟต์แวร์
เตรียมซอฟต์แวร์

Arduino IDE

ดาวน์โหลดและติดตั้ง Arduino IDE หากยังไม่ได้:

www.arduino.cc/en/Main/Software

arduino-esp32

ติดตั้งการสนับสนุนฮาร์ดแวร์สำหรับ ESP32

คำแนะนำโดยละเอียดสำหรับการติดตั้งในระบบปฏิบัติการยอดนิยม

สำหรับ Linux: https://www.arduino.cc/en/Guide/Linux (โปรดดูหน้าสนามเด็กเล่น Arduino

สำหรับ macOS X:

สำหรับ Windows:

อ้างอิง:

ขั้นตอนที่ 11: ตั้งโปรแกรม ESP32

ตั้งโปรแกรม ESP32
ตั้งโปรแกรม ESP32
ตั้งโปรแกรม ESP32
ตั้งโปรแกรม ESP32
ตั้งโปรแกรม ESP32
ตั้งโปรแกรม ESP32
ตั้งโปรแกรม ESP32
ตั้งโปรแกรม ESP32
  • ดาวน์โหลดโปรแกรม Arduino:
  • แก้ไขพารามิเตอร์:

#define WIFI_SSID "YOURPSSID"

#define WIFI_PASSWORD "YOURPPASSWORD" #define POST_URL "https://YOURSERVERNAMEORIP:3000/"

  • เลือกบอร์ด: บอร์ด ESP32 ใดก็ได้
  • เลือกพาร์ติชั่น: ไม่มี OTA / Minimal SPIFFS
  • ที่อัพโหลด

ขั้นตอนที่ 12: รับข้อมูล

รับข้อมูล
รับข้อมูล

หากคุณยังไม่มีเซิร์ฟเวอร์ HTTP เพื่อรับข้อมูล POST คุณอาจลองใช้โปรแกรม Node.js ง่ายๆ นี้:

นี่คือข้อมูลตัวอย่างที่ได้รับ:

อ. 20 มี.ค. 2018 08:44:41 GMT+0000 (UTC): [{ "ที่อยู่": "6e:3d:f0:a0:00:36", "Rssi": -65, "ข้อมูลผู้ผลิต": "4c0010050b1047f0b3" } { "ที่อยู่": "f8:04:2e:bc:51:97", "Rssi": -94, "ManufacturerData": "75004204018020f8042ebc5197fa042ebc519601000000000000" }, { "ที่อยู่": "0c:07:4a:fa:60:dd", "Rssi": -96, "ManufacturerData": "4c0009060304c0a80105" }]

ขั้นตอนที่ 13: การวัดกำลัง

การวัดกำลังไฟฟ้า
การวัดกำลังไฟฟ้า
การวัดกำลังไฟฟ้า
การวัดกำลังไฟฟ้า
การวัดกำลังไฟฟ้า
การวัดกำลังไฟฟ้า

โปรแกรมสแกนสัญญาณ BLE เป็นเวลา 30 วินาที จากนั้นหลับลึก 300 วินาที แล้วสแกนอีกครั้ง สำหรับแต่ละลูปจะกินไฟประมาณ 3.9 mWh

ในทางทฤษฎี มันสามารถทำงานได้: (ฉันจะอัปเดตผลการทดสอบในภายหลังบน Twitter ของฉัน)

300 mAh Lipo / 3.9 mWh @ 330 วินาที

= [(300 mA * 3.3 V) mWh / 3.9 mWh * 330] วินาที ~83769 วินาที ~23 ชั่วโมง

2018-04-08 ปรับปรุง:

ฉันเปลี่ยนไปใช้ตัวควบคุม XC6503D331 LDO และทำการวัด 2 แบบ:

รอบ 1: 12:43:28 - 16:42:10 (~20 ชั่วโมง) 210 BLE scan POST ได้รับแล้ว

รอบ 2: 10:04:01 - 05:36:47 (~19.5 ชั่วโมง) ได้รับ 208 BLE scan POST แล้ว

ขั้นตอนที่ 14: สแกนอย่างมีความสุข

มีความสุขในการสแกน!
มีความสุขในการสแกน!

ได้เวลาหาสถานที่เพื่อตั้งค่าเครือข่ายการติดตาม BLE ของคุณแล้ว!

แนะนำ: