สารบัญ:
- ขั้นตอนที่ 1: การประเมิน/แก้ไข
- ขั้นตอนที่ 2: การเขียนโปรแกรม HC05
- ขั้นตอนที่ 3: เยี่ยมชม HC06 อีกครั้ง
- ขั้นตอนที่ 4: การตั้งค่า HC05 เป็น HC06
วีดีโอ: OldMan และ Bluetooth2: 4 ขั้นตอน
2024 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2024-01-30 13:03
ดังนั้น Lazy Old Geek (L. O. G.) นี้จึงได้รับโมดูล Bluetooth HC05 จาก AliExpress.com ฉันสั่งหนึ่งอันหลังจากเขียนคำแนะนำนี้:
www.instructables.com/id/OldMan-and-Blueto…
ฉันใช้เวลาหลายชั่วโมงในการพยายามทำงานในโหมดคำสั่งโดยไม่ประสบความสำเร็จ ฉันยังทำลายโมดูล HC05 (อาจใช้แรงดันไฟฟ้าผิด) เลยต้องซื้ออีกอันหนึ่ง
เคล็ดลับ: โหมดคำสั่งกำลังคุยกับโมดูล HC05 หรือ HC06 เอง โหมดการสื่อสารกำลังคุยกับอุปกรณ์บลูทูธอื่น
สิ่งที่ฉันพบคือความแตกต่างมากมายระหว่าง HC05 และ HC06 HC05 สามารถเป็นมาสเตอร์หรือสเลฟได้ HC06 เป็นสเลฟเท่านั้น โดยพื้นฐานแล้วเจ้านายสามารถพูดคุยกับทาสได้ ทาสสองคนไม่สามารถพูดคุยกันได้ HC05 และ HC06 มีคำสั่งต่างกัน HC05 จะต้องได้รับการกำหนดค่าด้วยฮาร์ดแวร์เพื่อเข้าสู่โหมดคำสั่ง มันสามารถมีอัตรารับส่งข้อมูลที่แตกต่างกันสำหรับโหมดการสื่อสารและคำสั่ง
HC06 อยู่ในโหมดการสื่อสารและคำสั่งเสมอ การตั้งค่าอัตราบอดสำหรับอันหนึ่งจะเปลี่ยนอีกอันหนึ่ง
เคล็ดลับ: ติดตามสิ่งนี้เพราะฉันไม่ได้ทำและมีปัญหาบางอย่าง
เคล็ดลับ: HC05 และ HC06 ที่แตกต่างกันอาจแตกต่างจากที่ฉันได้รับ
HCO6 จะดำเนินการตามคำสั่ง แต่จะไม่แสดงผลที่เปลี่ยนแปลงเสมอไป เช่น เปลี่ยนชื่อ.
ขั้นตอนที่ 1: การประเมิน/แก้ไข
ที่แนบมาเป็นแผนผัง HC05 ที่คล้ายกับของฉัน ความแตกต่างสองประการที่ฉันรู้คือมีตัวต้านทาน 2.2K ระหว่าง PIO11 (34) และพิน EN และตัวควบคุม 3.3v เป็นแพ็คเกจ 3 พินและไม่มีพิน CE รูปภาพที่แนบมาเป็นแผนผังที่ทำเครื่องหมายไว้สำหรับสิ่งที่ฉันคิดว่าฉันมี
สำหรับวัตถุประสงค์ในการเขียนโปรแกรม สิ่งที่สำคัญคือพิน 34 คีย์เชื่อมต่อกับพิน EN ผ่านตัวต้านทาน 2.2K (ยังต่อกับปุ่มกดอีกด้านต่อกับ 3.3V)
สต็อก HC05 ต้องการพลังงาน 5V แม้ว่าจะใช้งานได้กับสัญญาณ 3.3V ดังนั้นฉันจึงแก้ไข HCO5 ของฉันเพื่อใช้ 3.3V แทน ฉันถอดตัวควบคุม 3.3V และรันจัมเปอร์จากพิน VCC โดยตรงไปที่ 3.3V สิ่งนี้แสดงบนแผนผังที่แก้ไขและรูปภาพ HC05 ที่แก้ไขของฉัน
อย่างไรก็ตาม HC05 Command Set.pdf ที่แนบมามีข้อมูลที่มีค่าเกี่ยวกับการใช้ HC05 แต่น่าเสียดายที่มันไม่เป็นมิตรกับผู้ใช้มากนัก
ขั้นตอนที่ 2: การเขียนโปรแกรม HC05
ฉันตัดสินใจว่าวิธีที่ง่ายที่สุดในการใช้ HC05 คือการเชื่อมต่อกับหนึ่งในอะแดปเตอร์ซีเรียล CP2102 3.3V ของฉันเหมือนกับที่ฉันทำใน Old Man And Bluetooth Instructable ด้วย HC06 ดูภาพและแผนผัง
เคล็ดลับสำคัญ: ในการเปิดเครื่อง HC05 ในโหมดคำสั่ง พิน PIO11 (34) จะต้องสูงก่อนที่จะใช้ 3.3V พิน EN บน HC05 ของฉันเชื่อมต่อกับ PIO11 ผ่านตัวต้านทาน 2.2K ดังนั้นจึงจำเป็นต้องเชื่อมโยงกับ 3.3V แผนผังแสดงสิ่งนี้เป็นหมุดของโปรแกรม แต่เพียงแค่วางจัมเปอร์จาก 3.3V เป็นพิน EN ตรวจสอบให้แน่ใจว่าคุณทำสิ่งนี้ก่อนที่จะใช้พลังงาน ของฉัน คุณสามารถบอกได้ว่าคุณอยู่ในโหมดคำสั่งหรือไม่ เพราะไฟ LED HC05 จะกะพริบช้าๆ หากกะพริบเร็ว แสดงว่าคุณอยู่ในโหมดจับคู่และต้องลองอีกครั้ง
เคล็ดลับ: HC05 ในโหมดคำสั่งจะพูดที่อัตราบอด 38400 เสมอ คำสั่งทั้งหมดเป็นตัวพิมพ์ใหญ่และต้องตามด้วย CR และ LF (ซึ่งแตกต่างจาก HC06)
เคล็ดลับ: รูปแบบคำสั่งที่เข้มงวดมาก ใช้ตัวพิมพ์ใหญ่เสมอ พวกเขาทั้งหมดเริ่มต้นด้วย "AT" ปฏิบัติตามอย่างเคร่งครัด คุณไม่สามารถเพิ่มช่องว่างที่ไม่แสดงได้
เริ่มต้นใช้งาน Arduino ไปที่ "เครื่องมือ" "พอร์ต" และเลือกพอร์ต Com ที่ CP2102 เชื่อมต่ออยู่
เปิดการตรวจสอบซีเรียล ที่ด้านล่างของหน้าต่างนั้น ให้เลือก “ทั้ง NL และ CR” และ “38400 บอด” (NL ย่อมาจาก New Line ซึ่งเหมือนกับ LF ซึ่งเป็น Line Feed)
ด้านบนสุดจะมีช่องข้างปุ่ม Send คลิกเข้าไป
บนพีซีของคุณให้เปิด Caps Lock
พิมพ์ AT
หน้าต่างขนาดใหญ่ควรแสดง “ตกลง”
คุณกำลังสื่อสารในโหมดคำสั่ง
คำสั่งบางอย่างที่ทำงานกับฉัน
ที่
AT+รีเซ็ต
AT + รุ่น?
AT+NAME?
AT+ADDR? ADDR:98D3:31:F5CB41
AT+NAME=BT1 เปลี่ยนชื่อเป็น BT1
AT + บทบาท? 0 = สเลฟ 1=มาสเตอร์
ขั้นตอนที่ 3: เยี่ยมชม HC06 อีกครั้ง
ความแตกต่างหลักประการหนึ่งระหว่าง HC05 และ HC06 คือ HC05 สามารถเป็นมาสเตอร์หรือสเลฟได้ ในขณะที่ HC06 เป็นสเลฟเท่านั้น นั่นหมายความว่าคุณสามารถพูดคุยระหว่าง HC05 และ HC06 ได้ อย่างไรก็ตามมีความแตกต่างอื่น ๆ มากมาย
แม้ว่าฉันจะใช้ Arduino เพื่อตั้งค่า HC06 ได้ แต่ฉันเลือกใช้ 3.3v CP2102 ดูภาพ
การเชื่อมต่อ
CP2102 HC06
Gnd Gnd
Vcc Vcc
TXD RXD
RXD TXD
โดยพื้นฐานแล้วจะเหมือนกับ HC05 ยกเว้น HC06 ของฉันมีสี่พินเท่านั้น
CP2102 ของฉันถูกดัดแปลงให้จ่ายไฟ 3.3V
HC06 ของฉันได้รับการแก้ไขให้ยอมรับ 3.3V
CP2102 USB เชื่อมต่อกับพีซีของฉันแล้ว บนพีซีของฉัน ฉันใช้ Arduino IDE
เลือก "พอร์ต" ที่ถูกต้องและเปิด Serial Monitor
ใน HC06 ของฉัน ไฟ LED สีแดงกะพริบเร็ว ซึ่งแสดงว่าพร้อมจับคู่แล้ว แต่ยังสามารถรับคำสั่งได้ด้วย
ข้อมูลบางส่วนนี้มาจาก Martyn Currey:
www.martyncurrey.com/arduino-and-hc-06-zs-0…
ดังนั้น HC06 แต่ละประเภทอาจแตกต่างกัน ฉันส่งคืน VERSION linvorV1.5
สำหรับ HC06 ของฉัน (และน่าจะทั้งหมด) ไม่มีขั้นตอนพิเศษในการเข้าสู่โหมดคำสั่ง เห็นได้ชัดว่าหากไม่มีการจับคู่ คุณสามารถส่งคำสั่งผ่านพอร์ตอนุกรมได้ตลอดเวลา
เคล็ดลับ: คุณไม่สามารถส่งคำสั่งไปยังโมดูล Bluetooth (ที่ฉันรู้จัก) ผ่าน Bluetooth ได้
เปิด Serial Monitor
คลิกที่ช่องแรกที่ด้านล่างของ Serial Monitor และตั้งค่าเป็น "no line ending"
ตอนแรก อัตราบอดของฉันคือ 9600 บอด
บนพีซีของคุณ ให้ตั้งค่า Caps Lock on
ในกล่องด้านบนพิมพ์AT
พิมพ์ Enter หรือแตะปุ่ม "ส่ง"
หน้าจอควรแสดง OK
เคล็ดลับ: หากคุณไม่ได้รับการตกลง อาจเป็นเพราะอัตรารับส่งข้อมูลมีการเปลี่ยนแปลงหรือแตกต่างกัน คุณสามารถลองหลาย ๆ อันได้จนกว่าคุณจะพบสิ่งที่ถูกต้อง
หมายเหตุ: การส่งหลายคำสั่ง ข้อมูลการตอบสนองจะไม่เลื่อนไปที่บรรทัดถัดไป ที่ด้านล่าง คุณสามารถคลิก ล้างข้อมูลออก
คำสั่งที่เหมาะกับฉัน:
การตอบสนองคำสั่ง
AT+รุ่น OKlinvorV1.5
AT+NAMEFred ส่งคืนOKsetname
(มันไม่บอกชื่อแต่ถ้าเชื่อมต่อด้วยบลูทูธก็จะปรากฏขึ้นมา)
หมายเหตุ: หากคุณเปลี่ยนชื่อ ชื่อเดิมจะแสดงบนสมาร์ทโฟนของคุณจนกว่าคุณจะยกเลิกการจับคู่และจับคู่ใหม่
AT+PINxxx ยังไม่ได้ลอง ค่าเริ่มต้นคือ 1234
AT+BAUD8 เปลี่ยนอัตราบอดเป็น 115200
การตอบสนองคืออัตราบอด เช่น 115200
(หลังจากเปลี่ยนอัตราบอดแล้ว คุณต้องเปลี่ยนอัตราบอด Serial Monitor เป็น 115200 เพื่อส่งคำสั่งเพิ่มเติม
ตัวเลือกอัตราบอด
1 1200
2 2400
3 4800
4 9600 (ค่าเริ่มต้น)
5 19200
6 38400
7 57600
8 115200
9 230400
A 4608000
ข 921600
ค 1382400
หมายเหตุ: ฉันไม่ได้ลองสูงกว่า 8 115200 ฉันได้ยินมาว่ามีคนลองใช้อัตราที่สูงกว่าด้วยผลลัพธ์ที่ไม่ดี
คำสั่งอื่นๆ ที่ควรใช้งานได้ แต่ไม่ได้ทดสอบ:
AT+PN ไม่มีการตรวจสอบความเท่าเทียมกัน (ค่าเริ่มต้น)
AT+PO การตรวจสอบความเท่าเทียมกันของคี่
AT+PE การตรวจสอบความเท่าเทียมกัน
สำคัญ: ณ จุดนี้ เราขอแนะนำให้คุณเลือกชื่อที่ไม่ซ้ำกันและใส่เข้าไป ฉันยังแนะนำให้คุณตัดสินใจเกี่ยวกับอัตราบอดที่คุณต้องการสื่อสาร ใส่ลงไป และทำเครื่องหมาย HC06 ของคุณด้วย
ขั้นตอนที่ 4: การตั้งค่า HC05 เป็น HC06
ตกลง คำแนะนำนี้มีประโยชน์กับฉันมากที่สุด:
www.instructables.com/id/How-to-Configure-…
การตั้งค่าของฉัน:
SLAVE ค้นหาที่อยู่
HC06 พร้อม CP2102 (อัตโนมัติในโหมดคำสั่ง)
เสียบสาย USB CP2102 เพื่อจ่ายไฟให้กับ HC06
ไฟ LED HC06 ควรกะพริบเร็ว (โหมดจับคู่)
บนสมาร์ทโฟนของคุณ เปิดการตั้งค่า
ไปที่บลูทูธ
ค้นหาอุปกรณ์ใหม่
หากคุณเห็นบางอย่างเช่น HC06 หรือชื่อที่คุณตั้งไว้ ให้เลือกสิ่งนี้
คุณมักจะเห็นชุดตัวเลข เช่น 00:12:09:27:19:13 น. ซึ่งก็น่าจะเป็นเช่นนั้น
เขียนที่อยู่นี้ (หมายเลขเป็นที่อยู่เฉพาะ)
เลือกเลย
เมื่อถูกถามหาพิน ให้พิมพ์ 1234
ควรแสดงชื่อ
หากคุณยังไม่มีที่อยู่ ภายใต้ “อุปกรณ์ที่เชื่อมต่อก่อนหน้านี้” ให้เลือกชื่อ
คลิกที่ข้อมูล ที่อยู่ควรปรากฏ เขียนมันลง.
หากไม่ปรากฏขึ้น ให้ออกจากการตั้งค่าและเปิดแอป Bluetooth Terminal HC-05
ภายใต้ อุปกรณ์ที่จับคู่ ให้ค้นหาชื่อ ที่อยู่ควรอยู่ด้านล่าง จดไว้
การตั้งค่าสเลฟ
หากไฟ LED HC06 ไม่กะพริบ ให้หมุนเวียนพลังงานเพื่อให้กลับเข้าสู่โหมดจับคู่
เริ่ม Arduino
ภายใต้ “เครื่องมือ” “พอร์ต” เลือกพอร์ต Com ที่ถูกต้อง
เปิด Serial Monitor
ที่ด้านล่างของหน้าต่างนี้
เลือก "ไม่มีจุดสิ้นสุดบรรทัด" และ "9600 บอด"
ผู้เชี่ยวชาญ
HC05 พร้อม CP2102 ตั้งค่าในโหมดคำสั่ง (EN กระโดดสูง)
เสียบสาย USB จาก CP2102 เข้ากับ PC
ฉันพบว่าฉันสามารถเปิด Arduinos สองตัวได้
บน Arduino ตัวที่สอง ให้เลือกพอร์ต Com ที่ถูกต้องสำหรับ HC05
เปิด Serial Monitor
ที่ด้านล่างของหน้าต่าง
เลือก “ทั้ง NL&CR” และ “38400 บอด”
ต่อไปนี้มาจากคำแนะนำข้างต้น
การกำหนดค่าหลัก
คำสั่ง AT ที่จำเป็นในการตั้งค่าคอนฟิก:
การตอบสนองคำสั่ง สิ่งที่ทำ
AT+ROLE=1 ตกลง ตั้ง HC05 เป็นมาสเตอร์
AT+CMODE=1 ตกลง เชื่อมต่อกับที่อยู่ที่ระบุ
หมายเหตุ: ที่อยู่ HC06 อาจมีรูปแบบดังนี้ 00:12:09:27:19:13
คำสั่ง BIND ต้องการ 0012, 09, 27193 นี้ (คุณเอาเครื่องหมายทวิภาคออก นำตัวเลขสี่ตัวแรก ตามด้วยเครื่องหมายจุลภาค ตัวเลขสองตัวถัดไป จากนั้นเครื่องหมายจุลภาค ตามด้วยตัวเลขหกตัวสุดท้าย)
AT+BIND=0012, 09, 271913 ตกลง เชื่อมต่อ/ผูกกับ HC06
(แต่ว่า AT+BIND ตอบสนองด้วย +BIND:12:9:271913)
(คุณต้องการให้ความเร็วในการสื่อสาร HC05 เท่ากับ HC06) ตัวอย่างเช่น:
AT+UART=115200, 0, 0 OK อัตราบอด 115200 (บิตหยุด 1 บิต ไม่มีความเท่าเทียมกัน)
เพื่อทดสอบการสื่อสาร:
ถอดจัมเปอร์ HC05 EN รอบกำลัง
เมื่อเชื่อมต่อทั้งสองแล้ว ไฟ LED HC05 จะกะพริบสองครั้งทุกๆ สองสามวินาที ไฟ LED HC06 จะสว่างต่อเนื่อง
ตั้งค่าพอร์ต com ทั้งสองให้เป็นอัตราบอดเดียวกัน (สิ่งที่คุณตั้งค่า)
ตั้งค่าทั้งคู่เป็น “ทั้ง NL&CR”
พิมพ์บางอย่างบน Serial Monitor1, Serial Monitor2 ควรแสดง
พิมพ์บางอย่างบน Serial Monitor2, Serial Monitor1 ควรแสดง
ขอแสดงความยินดี คุณกำลังสื่อสารผ่านบลูทูธ
ตอนนี้ Instructable ด้านบนมีภาพร่างเกี่ยวกับวิธีการใช้โมดูลกับ Arduino สำหรับคำแนะนำนี้ ฉันจะไม่เจาะลึกเรื่องนี้
แนะนำ:
ติดตาม: ศูนย์สื่อขั้นสูงพร้อม Odroid N2 และ Kodi (รองรับ 4k และ HEVC): 3 ขั้นตอน
ติดตาม: Advanced Media Center พร้อม Odroid N2 และ Kodi (รองรับ 4k และ HEVC): บทความนี้เป็นบทความต่อจากบทความก่อนหน้าของฉันที่ประสบความสำเร็จค่อนข้างมากเกี่ยวกับการสร้างศูนย์สื่ออเนกประสงค์ โดยอ้างอิงจาก Raspberry PI ที่ได้รับความนิยมมากในตอนแรก แต่ ในภายหลัง เนื่องจากไม่มีเอาต์พุตที่สอดคล้องกับ HEVC, H.265 และ HDMI 2.2 จึงมีสวิตช์
OldMan และ Bluetooth: 5 ขั้นตอน
OldMan and Bluetooth: อัปเดตเดือนเมษายน 2020 ขอบคุณความคิดเห็นจากผู้อ่าน Krasla ตอนนี้ฉันสามารถเข้าสู่โหมดคำสั่งด้วย JDY-31s กำลังจะลองเข้าร่วมการแข่งขัน Sensor ดังนั้น Lazy Old Geek (LOG) นี้เพียงแค่ เสร็จสิ้นโครงการ GPS:https://www.instructables.com/id/Old-Ma
Blinds Control ด้วย ESP8266, Google Home และ Openhab Integration และ Webcontrol: 5 ขั้นตอน (พร้อมรูปภาพ)
การควบคุมมู่ลี่ด้วย ESP8266, Google Home และ Openhab Integration และ Webcontrol: ในคำแนะนำนี้ ฉันจะแสดงให้คุณเห็นว่าฉันเพิ่มระบบอัตโนมัติให้กับมู่ลี่ของฉันอย่างไร ฉันต้องการเพิ่มและลบระบบอัตโนมัติได้ ดังนั้นการติดตั้งทั้งหมดจึงเป็นแบบหนีบ ส่วนหลักคือ: สเต็ปเปอร์มอเตอร์ ตัวขับสเต็ปควบคุม bij ESP-01 เกียร์และการติดตั้ง
DIY IBeacon และ Beacon Scanner ด้วย Raspberry Pi และ HM13: 3 ขั้นตอน
DIY IBeacon และ Beacon Scanner ด้วย Raspberry Pi และ HM13: Story A beacon จะส่งสัญญาณอย่างต่อเนื่องเพื่อให้อุปกรณ์บลูทู ธ อื่น ๆ รู้ว่ามีอยู่ และฉันอยากได้บีคอนบลูทูธเพื่อติดตามกุญแจมาตลอด เพราะฉันลืมเอามันมาเหมือน 10 ครั้งในปีที่แล้ว และฉันก็เกิดขึ้น
RuuviTag และ PiZero W และ Blinkt! เทอร์โมมิเตอร์แบบ Bluetooth Beacon: 3 ขั้นตอน (พร้อมรูปภาพ)
RuuviTag และ PiZero W และ Blinkt! เครื่องวัดอุณหภูมิที่ใช้ Bluetooth Beacon: คำแนะนำนี้อธิบายวิธีการอ่านข้อมูลอุณหภูมิและความชื้นจาก RuuviTag โดยใช้ Bluetooth กับ Raspberry Pi Zero W และเพื่อแสดงค่าเป็นเลขฐานสองบน Pimoroni กะพริบตา! pHAT.หรือเรียกสั้นๆ ว่า จะสร้างสถานะอย่างไร