สารบัญ:
- ขั้นตอนที่ 1: การตั้งค่าสภาพแวดล้อม
- ขั้นตอนที่ 2: การเดินสาย ESP32
- ขั้นตอนที่ 3: การเดินสาย ESP8266
- ขั้นตอนที่ 4: การเขียนโปรแกรม
- ขั้นตอนที่ 5: การตั้งค่าไคลเอนต์
- ขั้นตอนที่ 6: ผลลัพธ์สุดท้าย
วีดีโอ: การตรวจจับผู้บุกรุก HiFive1 Arduino พร้อมการแจ้งเตือน MQTT โดยใช้ ESP32 หรือ ESP8266: 6 ขั้นตอน
2024 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2024-01-30 13:06
HiFive1 เป็นบอร์ด RISC-V ที่เข้ากันได้กับ Arduino ตัวแรกที่สร้างขึ้นด้วย FE310 CPU จาก SiFive บอร์ดนี้เร็วกว่า Arduino UNO ประมาณ 20 เท่า แต่ยังขาดการเชื่อมต่อไร้สายเหมือนกับบอร์ด UNO
โชคดีที่มีโมดูลราคาไม่แพงจำนวนมากในตลาดเพื่อลดข้อจำกัดนี้ ในบทช่วยสอนนี้ ฉันใช้ ESP32 หรือ ESP8266 เพื่อรับการเชื่อมต่อไร้สาย แม้ว่า ESP-01 จะมีราคาถูกเพียงใด เนื่องจากจำเป็นต้องตั้งโปรแกรมด้วย Arduino Sketch ESP-01 จึงเป็นโซลูชันที่ใช้งานได้จริงน้อยกว่า ในการตั้งโปรแกรม ESP-01 จำเป็นต้องใช้อะแดปเตอร์ USB ภายนอกกับ ESP-01 ที่ฉันไม่มีในขณะที่ทำบทช่วยสอนนี้ (หากคุณสนใจที่จะใช้ HiFive1 กับ ESP-01 ให้ไปที่ลิงก์นี้) ฉันยังไตร่ตรองถึงการใช้ Arduino Shield แต่ลงเอยด้วยการใช้ ESP8266/32 เนื่องจากป้ายราคาค่อนข้างแพงที่เกราะส่วนใหญ่มี
โครงการนี้จะเน้นที่การสร้างระบบตรวจจับผู้บุกรุก ซึ่งจะทำงานโดยส่งการแจ้งเตือนไปยัง MQTT Broker ทุกครั้งที่เซ็นเซอร์ Ultrasonic (SRF05) ตรวจพบวัตถุที่ข้ามเส้นสายตา
วัสดุที่จำเป็นสำหรับโครงการนี้:
- บอร์ด HiFive1 (สามารถซื้อได้ที่นี่)
- โมดูล ESP32 Dev หรือ ESP8266 NodeMCU 1.0
- ตัวต้านทาน 10k x 2
- ตัวต้านทาน 1k
- เขียงหั่นขนม
- สายจัมเปอร์ x 6
- SRF05 โมดูลอัลตราโซนิก
- อุปกรณ์โทรศัพท์
ขั้นตอนที่ 1: การตั้งค่าสภาพแวดล้อม
ติดตั้ง Arduino IDE
1. ทำตามคำแนะนำเพื่อติดตั้งแพ็คเกจ Arduino ของบอร์ด HiFive1 และไดรเวอร์ USB
2. ติดตั้งแพ็คเกจบอร์ด ESP32 หรือ ESP8266 โดยเพิ่ม URL ที่เหมาะสมใน "File->Preferences->Additional Boards Manager":
- ESP8266 -
- ESP32 -
ขั้นตอนที่ 2: การเดินสาย ESP32
หากคุณกำลังใช้ ESP8266 ให้ข้ามไปยังขั้นตอนที่ 3
สำคัญ: SRF05 มาในรูปแบบพินเอาต์ 2 เวอร์ชันที่เป็นเวอร์ชันมิเรอร์ของกันและกัน ตรวจสอบให้แน่ใจว่าคุณมีโมดูลเดียวกันกับของฉันโดยใช้ลิงก์ด้านล่าง
สำหรับรายละเอียดทางเทคนิคเพิ่มเติมเกี่ยวกับ SRF05 ตามลิงค์นี้
GND (HiFive1) - > GND (SRF05)5v (HiFive1) - > VCC (SRF05) DI/O 11 (HiFive1) - > Trigger Pin (SRF05)DI/O 12 (HiFive1) - > Echo Pin (SRF05)DI/ O 5 (HiFive1) - > Tx (ESP32) DI/O 6 (HiFive1) - > Rx (ESP32)
หมายเหตุ: ตรวจสอบให้แน่ใจว่าจัมเปอร์ IOREF ตั้งไว้ที่ 3.3v.
ขั้นตอนที่ 3: การเดินสาย ESP8266
สำคัญ: SRF05 มาในรูปแบบพินเอาต์ 2 เวอร์ชันที่เป็นเวอร์ชันมิเรอร์ของกันและกัน ตรวจสอบให้แน่ใจว่าคุณมีโมดูลเดียวกันกับของฉันโดยใช้ลิงก์ด้านล่าง
สำหรับรายละเอียดทางเทคนิคเพิ่มเติมเกี่ยวกับ SRF05 ตามลิงค์นี้
GND (HiFive1) - > GND (SRF05)5v (HiFive1) - > VCC (SRF05)DI/O 11 (HiFive1) - > Trigger Pin (SRF05) DI/O 12 (HiFive1) - > Echo Pin (SRF05) DI/ O 5 (HiFive1) - > Tx (ESP8266)DI/O 6 (HiFive1) - > Rx (ESP8266)
หมายเหตุ: ตรวจสอบให้แน่ใจว่าจัมเปอร์ IOREF ถูกตั้งค่าเป็น 3.3v
ขั้นตอนที่ 4: การเขียนโปรแกรม
รหัส HiFive1:
ก่อนตั้งโปรแกรมให้ตั้งค่า "Tools->Board" เป็นบอร์ด HiFive1 "Tools->CPU Clock Frequency" เป็น "256MHz PLL", "Tools->Programmer" เป็น "SiFive OpenOCD" และเลือก Serial Port ที่ถูกต้อง
คุณจะต้องดาวน์โหลดไลบรารี Ultrasonic นี้และ PubSubClient นี้และแตกไฟล์เหล่านี้ลงในโฟลเดอร์ Arduino Libraries ที่พบใน "User->Documents->Arduino->Libraries"
รหัส ESP32/8266:
ระหว่างการเขียนโปรแกรม บอร์ด ESP ควรตัดการเชื่อมต่อพิน Rx และ Tx ของฮาร์ดแวร์ หลังจากที่อัปโหลดโค้ดสำเร็จแล้ว ให้ต่อสายพิน Rx และ Tx บน ESP อีกครั้ง เพื่อให้แน่ใจว่ามีการสื่อสารระหว่าง HiFive1 และ ESP
สำหรับ ESP32 - ตั้งค่า "Tools->Board" เป็น "ESP32 Dev Module", "Tools->Programmer" เป็น "AVRISP mkll" และเลือก Serial Port ที่ถูกต้อง
สำหรับ ESP8266 - ตั้งค่า "Tools->Board" เป็น "NodeMCU 1.0 (โมดูล ESP-12E)", "Tools->Programmer" เป็น "AVRISP mkll" และเลือก Serial Port ที่ถูกต้อง
โค้ดสเก็ตช์ถูกยืมมาจากที่นี่พร้อมกับการดัดแปลงเพื่อแปลงเป็นระบบตรวจจับผู้บุกรุก
ขั้นตอนที่ 5: การตั้งค่าไคลเอนต์
ฉันใช้โบรกเกอร์ MQTT บนคลาวด์ (อันนี้) และโทรศัพท์ Android กับแอพนี้
ในการตั้งค่าทุกอย่าง คุณจะต้องเปิดบัญชี
ใช้ภาพหน้าจอที่ให้มาเพื่อผ่านการตั้งค่า CloudMQTT และแอพ
ขั้นตอนที่ 6: ผลลัพธ์สุดท้าย
หมายเหตุ: คุณควรตั้งค่าอัตราบอดของ Serial Monitor เป็น 115200 เนื่องจากเป็นอัตราบอดที่เราใช้ในแบบร่างของเรา
ผลลัพธ์สุดท้ายของคุณควรคล้ายกับภาพหน้าจอสุดท้าย
แนะนำ:
สร้างระบบ DIY Hydroponic ขนาดเล็กและสวนสมุนไพร Hydroponic DIY พร้อมการแจ้งเตือน WiFi: 18 ขั้นตอน
สร้างระบบ DIY Hydroponic ขนาดเล็กและสวนสมุนไพร Hydroponic DIY พร้อมการแจ้งเตือน WiFi: ในบทช่วยสอนนี้ เราจะแสดงวิธีสร้างระบบ #DIY #hydroponics ระบบไฮโดรโปนิกส์ DIY นี้จะรดน้ำตามรอบการรดน้ำแบบไฮโดรโปนิกส์แบบกำหนดเองโดยเปิด 2 นาทีและปิด 4 นาที นอกจากนี้ยังจะติดตามระดับน้ำในอ่างเก็บน้ำ ระบบนี้
วิธีใช้ Neopixel Ws2812 LED หรือ LED STRIP หรือ Led Ring กับ Arduino: 4 ขั้นตอน
วิธีใช้ Neopixel Ws2812 LED หรือ LED STRIP หรือ Led Ring กับ Arduino: สวัสดีทุกคนเนื่องจาก Neopixel led Strip เป็นที่นิยมอย่างมากและเรียกอีกอย่างว่า ws2812 led strip เช่นกัน พวกเขาเป็นที่นิยมอย่างมากเพราะในแถบนำเหล่านี้เราสามารถระบุแต่ละ LED แยกจากกัน ซึ่งหมายความว่าหากคุณต้องการให้ไฟ LED สองสามดวงเรืองแสงเป็นสีเดียว
Arduino Ws2812 LED หรือ Neopixel Led Strip หรือ Ring Tutorial: 4 ขั้นตอน
Arduino Ws2812 LED หรือ Neopixel Led Strip หรือ Ring Tutorial: ในคำแนะนำนี้เราจะเรียนรู้วิธีใช้ neopixel หรือ ws 2812 หรือนำอย่างรวดเร็วด้วย Arduino LED หรือแถบหรือวงแหวนประเภทนี้ถูกควบคุมโดยพิน Vin เพียงอันเดียวและทั้งหมด LED สามารถระบุแอดเดรสแยกกันได้ ดังนั้นจึงเรียกอีกอย่างว่า indi
Faucet Faucet หรือ Pedal Faucet หรือ Water Saver Tap ฟรี: 5 ขั้นตอน
Hand Free Faucet หรือ Pedal Faucet หรือ Water Saver Tap: นี่เป็นวิธีที่ประหยัดและง่ายในการเปลี่ยน faucet ที่ทางออกเป็น faucet แบบแฮนด์ฟรี (ถูกสุขลักษณะ) แพทย์ต้องการเพื่อวัตถุประสงค์ที่ถูกสุขอนามัย หรือในห้องครัว พนักงานที่คล้ายกันสำหรับ Hand-free สำหรับ ล้างมือทั้งสองข้างพร้อมกันและประหยัดน้ำ มันคือ
MacBook Tablet หรือ DIY Cintiq หรือ Homebrew Mac Tablet: 7 ขั้นตอน
MacBook Tablet หรือ DIY Cintiq หรือ Homebrew Mac Tablet: ได้รับแรงบันดาลใจอย่างมากจากคำแนะนำที่โดดเด่นของ c4l3b ซึ่งได้รับแรงบันดาลใจจาก bongofish ฉันจึงตัดสินใจลองใช้สิ่งเดียวกันนี้กับ Core 2 Duo MacBook ของฉัน ขั้นตอนต่างกันมากจนฉันคิดว่าต้องมีการสอนแยกต่างหาก อีกด้วย