สารบัญ:
- ขั้นตอนที่ 1: วัสดุและเครื่องมือที่จำเป็น
- ขั้นตอนที่ 2: การเขียนโปรแกรม
- ขั้นตอนที่ 3: โค้ดทำงานอย่างไร (หากคุณสนใจ ให้ข้ามไป)
- ขั้นตอนที่ 4: แผนผัง
- ขั้นตอนที่ 5: Desolder the Pin Header
- ขั้นตอนที่ 6: ประสานสวิตช์
- ขั้นตอนที่ 7: เชื่อมต่อ CH_PD กับ VCC
- ขั้นตอนที่ 8: ถอด LED เพาเวอร์
- ขั้นตอนที่ 9: สวิตช์กำหนดค่าบัดกรี
- ขั้นตอนที่ 10: เพิ่มพาวเวอร์ซัพพลาย ตัวควบคุม และตัวเชื่อมต่อ
- ขั้นตอนที่ 11: Superglue It Toghether
- ขั้นตอนที่ 12: การชาร์จ
- ขั้นตอนที่ 13: กำหนดค่า
- ขั้นตอนที่ 14: ลองใช้งาน
- ขั้นตอนที่ 15: อัปเดต: เคสที่พิมพ์ 3 มิติ
วีดีโอ: Tiny ESP8266 Dash-Button (กำหนดค่าใหม่ได้): 15 ขั้นตอน
2024 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2024-01-30 13:04
นี่คือปุ่ม Dash ที่ใช้ ESP8266 ขนาดเล็ก มันอยู่ในโหมดหลับลึก เมื่อคุณกดปุ่ม มันจะทำการร้องขอ GET ไปยัง URL ที่ระบุ และหากกำหนดค่าไว้ก็จะส่งแรงดันไฟฟ้าจ่ายเป็นตัวแปรด้วย ส่วนที่ดีที่สุดคือเพียงแค่เชื่อมสองพินเข้าด้วยกัน คุณสามารถทำให้มันเข้าสู่โหมดการกำหนดค่าได้ ให้คุณเปลี่ยนการตั้งค่าทั้งหมดโดยไม่ต้องตั้งโปรแกรมใหม่
สำหรับการทำตามคำแนะนำนี้ ฉันถือว่าคุณรู้บางอย่างเช่น วิธีการประสาน วิธีการทำตามแผนผังและวิธีอัปโหลดโปรแกรมและข้อมูล SPIFFS ไปยัง ESP
ขั้นตอนที่ 1: วัสดุและเครื่องมือที่จำเป็น
สำหรับโครงการนี้ คุณจะต้อง:
- ESP-01 (แน่นอน)
- แบตเตอรี่ Li-Po 50mAh หรือใกล้เคียง
- หัวเข็มหมุดตัวเมีย 2x1
- A 3.3V LDO (ขอแนะนำ HT-7333A, มีกระแสไฟสแตนด์บายที่ดีเยี่ยมที่ 4uA และ 170mV dropout)
- ปุ่มกดเล็กๆ
- ลวดบาง ๆ (ลวดพันลวดใช้งานได้ดี)
คุณจะต้อง:
- บอร์ดเขียนโปรแกรม ESP
- หัวแร้ง / หัวแร้ง / ฟลักซ์
- ปั๊ม desoldering
- แหนบและ/หรือคีมปอกสายไฟ
- กระดาษทราย
- ซุปเปอร์กลู
ขั้นตอนที่ 2: การเขียนโปรแกรม
โปรเจ็กต์นี้เป็นโอเพ่นซอร์สอย่างสมบูรณ์ หากคุณต้องการแก้ไขโค้ดที่อยู่ใน GitHub ของฉัน แต่ไม่จำเป็นต้อง ปุ่มนี้สามารถกำหนดค่าใหม่ได้โดยไม่ต้องตั้งโปรแกรมใหม่
คุณสามารถดาวน์โหลดโค้ดที่คอมไพล์ล่วงหน้าได้ที่นี่
เพียงเสียบโปรแกรมเมอร์ ESP และ ESP8266 ของคุณ (อย่าลืมเชื่อมต่อ GPIO_02 กับ GND เพื่อเข้าสู่โหมดการเขียนโปรแกรม) แล้วอัปโหลดไฟล์.bin และข้อมูล SPIFFS
การอัปโหลดโฟลเดอร์ข้อมูล SPIFFS เป็นสิ่งสำคัญมาก หากไม่มีโฟลเดอร์นี้ โค้ดจะไม่สามารถบู๊ตได้ และหลังจากถอดหัวเข็มแล้วต้องกลับไปตั้งโปรแกรมใหม่จะน่าเบื่อมาก
ขั้นตอนที่ 3: โค้ดทำงานอย่างไร (หากคุณสนใจ ให้ข้ามไป)
เมื่อ ESP เริ่มทำงาน มันจะอ่านและแยกวิเคราะห์ไฟล์ 'config.jsn' จากระบบไฟล์ SPIFFS โดยใช้ไลบรารี ArduinoJSON สิ่งนี้จะโหลดการตั้งค่าที่กำหนดค่าได้ทั้งหมดลงในตัวแปร
จากนั้นตรวจสอบเพื่อดูว่า GPIO_03[RX] เชื่อมต่อกับกราวด์หรือไม่ จะเข้าสู่โหมดการกำหนดค่า
หากไม่เป็นเช่นนั้นจะพยายามเชื่อมต่อกับ WiFi แล้วเซิร์ฟเวอร์ ดำเนินการตามคำขอ GET และเข้าสู่โหมดสลีปเพื่อประหยัดพลังงาน
ในโหมดการกำหนดค่า คุณสามารถตั้งค่าทั้งหมดได้ (เพิ่มเติมเกี่ยวกับเรื่องนี้ในขั้นตอนที่ 13)
เนื่องจากการประหยัดพลังงานเป็นสิ่งสำคัญในที่นี้ หากมีสิ่งใดใช้เวลานานเกินไปหรือหากการเชื่อมต่อกับ wifi/เซิร์ฟเวอร์ล้มเหลว ก็จะกะพริบเร็วห้าครั้ง จากนั้นจึงกะพริบยาวๆ เพื่อระบุข้อผิดพลาดและกลับสู่โหมดสลีป
หากทุกอย่างเป็นไปด้วยดี มันจะกะพริบสั้น ๆ แล้วกะพริบยาว เพื่อแสดงว่าสำเร็จ จากนั้นเข้าสู่โหมดหลับลึก
ยังอยากรู้อยากเห็น? ดู GitHub ของฉัน
ขั้นตอนที่ 4: แผนผัง
สิ่งนี้จะช่วยคุณสร้างมันขึ้นมา ในอีกไม่กี่ขั้นตอนถัดไป
ขั้นตอนที่ 5: Desolder the Pin Header
ขั้นแรก ตรวจสอบให้แน่ใจ 100% ว่าคุณตั้งโปรแกรม ESP8266 อย่างถูกต้อง และ 100% แน่ใจว่าคุณอัปโหลดข้อมูล SPIFFS
ขั้นตอนแรกคือการถอดส่วนหัวของพิน 2x4 ออก ซึ่งจะทำให้ปุ่มของเรามีขนาดเล็กลง แต่ยังหมายความว่าคุณไม่สามารถตั้งโปรแกรมใหม่ได้หากไม่มีการขายต่อ ตรวจสอบให้แน่ใจว่าโปรแกรมและ SPIFFS กะพริบ
คุณจะยังคงสามารถกำหนดค่าการตั้งค่าใหม่ได้
วิธีนี้ง่ายกว่ามากด้วยหัวแร้งหัวแร้งที่แหลมคมและปั๊มที่มีการบัดกรี กลยุทธ์ของฉันคือเชื่อมหมุดทั้งแปดตัวด้วยบัดกรีก่อน จากนั้นให้ความร้อนทั้งหมดพร้อมกันและดึงส่วนหัวออกด้วยแหนบ จากนั้นหลังจากถอดบัดกรีส่วนเกินออก ฉันเจาะรูจากด้านบนด้วยเตารีดและดูดบัดกรีด้วยปั๊มของฉันผ่านด้านล่าง
ขั้นตอนที่ 6: ประสานสวิตช์
ถัดไป คุณจะต้องประสานสวิตช์กดระหว่าง GND และ RST ในกรณีของฉัน หมุดกระดุมมีความหนาเกินไป ฉันจึงต้องตัดให้บางลงเล็กน้อยด้วยสนิป ตรวจสอบให้แน่ใจว่าปุ่มวางชิดกับกระดาน ไม่เช่นนั้นปุ่มอาจพังเมื่อเวลาผ่านไปเนื่องจากแรงกด
ขั้นตอนที่ 7: เชื่อมต่อ CH_PD กับ VCC
เพื่อให้ ESP เรียกใช้โค้ดได้ อย่าลืมเชื่อมต่อ CH_PD กับ VCC
ขั้นตอนที่ 8: ถอด LED เพาเวอร์
ปุ่มต้องใช้พลังงานน้อยที่สุด และเนื่องจากเปิดอยู่เสมอ ไฟ LED จึงกินไฟประมาณ 4mA เสมอ สิ่งนี้จะลดอายุการใช้งานแบตเตอรี่ลงเหลือสิบสองชั่วโมง ดังนั้นให้ปลดหรือถอดออก
ขั้นตอนที่ 9: สวิตช์กำหนดค่าบัดกรี
ในการเข้าสู่โหมดการกำหนดค่า GPIO_03[RX] จะต้องเชื่อมต่อกับ GND เพื่อให้ง่ายต่อการทำ ฉันจึงบัดกรีคันโยกเล็กๆ ที่สามารถดันไปด้านข้างเพื่อทำการเชื่อมต่อได้
ขั้นตอนที่ 10: เพิ่มพาวเวอร์ซัพพลาย ตัวควบคุม และตัวเชื่อมต่อ
นี่คือส่วนที่ยาวที่สุดของงานสร้าง คุณจะต้องบัดกรีแบตเตอรี่ ตัวควบคุมแรงดันไฟฟ้า และขั้วต่อการชาร์จตามแผนผัง
เพื่อให้ทุกอย่างพอดีกับพื้นที่เล็กๆ ใต้ ESP-01 ฉันต้องขัดแพ็คเกจ TO92 ของตัวควบคุมแรงดันไฟฟ้าลง ตรวจสอบให้แน่ใจว่าได้วางแผนเลย์เอาต์ของคุณก่อนที่จะบัดกรี มันจะแน่นมาก แต่ก็ยังสามารถทำได้
หากแบตเตอรี่ของคุณใหญ่เกินไป คุณอาจเลือกที่จะละเว้นตัวควบคุมแรงดันไฟฟ้า สิ่งนี้จะได้ผล แต่จะเสี่ยงต่อความเสียหายของ ESP8266 ได้รับการจัดอันดับให้สูงถึง 3.6V เท่านั้น แต่ LiPo ที่ชาร์จเต็มแล้วจะให้เอาต์พุต 4.2V ดำเนินการตามความเสี่ยงของคุณเอง
ขั้นตอนที่ 11: Superglue It Toghether
ขั้นตอนสุดท้ายในการเก็บทุกอย่างเข้าที่คือการใส่ทุกอย่างเข้าที่
ขั้นตอนที่ 12: การชาร์จ
ในการชาร์จปุ่ม คุณจะต้องใช้ที่ชาร์จ LiPo ฉันเพียงแค่ใช้บอร์ดชาร์จ Li-Po แบบ USB ทั่วไปที่เชื่อมต่อกับปุ่มผ่านช่องต่อการชาร์จ ระวังอย่าสลับขั้วไปรอบๆ
ขั้นตอนที่ 13: กำหนดค่า
คุณเกือบจะพร้อมที่จะใช้ปุ่มของคุณเป็นครั้งแรกแล้ว
ในการเข้าสู่โหมดการกำหนดค่า คุณต้องเชื่อมต่อ GPIO_03[RX] กับ GND ซึ่งจะง่ายกว่าถ้าคุณบัดกรีคันโยกเหมือนในขั้นตอนที่ 9 จากนั้นกดปุ่มเพื่อรีเซ็ต ESP ก็ควรเข้าสู่โหมดการกำหนดค่า ตอนนี้คุณสามารถปลดคันโยกได้
จากนั้นคุณสามารถ:
- เชื่อมต่อกับจุดเชื่อมต่อ WiFi 'ESP_Button' ด้วยรหัสผ่าน 'wifibutton'
- ไปที่ https://192.168.4.1 เพื่อเปิดหน้าการกำหนดค่า
- หลังจากตั้งค่าของคุณแล้ว ให้คลิกที่ปุ่ม 'บันทึก' จากนั้น 'เริ่มต้นใหม่'
- ปุ่มของคุณจะรีสตาร์ท ดำเนินการตามคำขอ และเข้าสู่โหมดสลีป
ตรวจสอบว่าพิมพ์เฉพาะชื่อโฮสต์ในช่องโฮสต์ ห้ามพิมพ์ https:// หรือ https:// และแยก URL ที่เหลือในช่อง URI
ขั้นตอนที่ 14: ลองใช้งาน
คุณควรไปได้ดี การกดปุ่มจะเป็นการขอ GET ของคุณ
วิดีโอด้านบนคือปุ่มของฉันที่เชื่อมต่อกับเว็บไซต์และ IFTTT ซึ่งโพสต์ทวีตที่สร้างขึ้นเอง
การตั้งค่าคำขอ GET อยู่นอกขอบเขตของคำแนะนำนี้ แต่คุณควรเชื่อมต่อสิ่งนี้กับ IFTTT หรือบริการอื่น ๆ ได้อย่างง่ายดาย หากคุณยินดีที่จะเขียนโค้ด PHP แบบกำหนดเองและโฮสต์ไว้บนเว็บไซต์ของคุณเอง คุณอาจจะสามารถตรวจสอบแบตเตอรี่ได้
หากคุณมีปัญหาใด ๆ หรือต้องการความช่วยเหลือในการแก้ไขปัญหาโปรดแสดงความคิดเห็นด้านล่าง
ทุกคนยินดีที่จะให้แนวคิดในการปรับปรุงสิ่งนี้เช่นอาจจะเป็นกรณี? xD
แสดงความคิดเห็นหากคุณเป็นแฟนตัวยงของ Doctor Who
ไชโย!
ขั้นตอนที่ 15: อัปเดต: เคสที่พิมพ์ 3 มิติ
หลังจากใช้ปุ่ม dash มาระยะหนึ่ง ฉันก็ตัดสินใจทำเคสขึ้นมา แนบไฟล์ STL และ Fusion 360
แนะนำ:
กริ่งประตูแบบไร้สาย - (Raspberry PI & Amazon Dash): 4 ขั้นตอน (พร้อมรูปภาพ)
กริ่งประตูไร้สาย - (Raspberry PI & Amazon Dash): ใช้ทำอะไร? (ดูวิดีโอ) เมื่อกดปุ่ม Raspberry จะค้นพบอุปกรณ์ใหม่ในการเข้าสู่ระบบเครือข่ายไร้สาย วิธีนี้- มันสามารถรับรู้การกดปุ่มและส่งข้อมูลเกี่ยวกับข้อเท็จจริงนี้ไปยังมือถือของคุณ (หรืออุปกรณ์ของ
Smash Dash 3000: 7 ขั้นตอน
Smash Dash 3000: นี่คือการคัดลอกวาง ณ วันที่ 13/4/2562 จาก GitHub เพื่อเข้าร่วมการแข่งขัน Instructables LED! หากใครมีปัญหาสามารถแจ้งปัญหาได้ที่ GitHub! ไฟล์โครงการเต็มๆ ได้ที่ https://github.com/naclyellipsis/Smash-Dash-30
ปุ่มออดเงียบของ Amazon Dash: 10 ขั้นตอน (พร้อมรูปภาพ)
กริ่งประตูเงียบของปุ่ม Amazon Dash: มองออกไปนอกหน้าต่างอย่างต่อเนื่องเพื่อสกัดกั้นผู้มาเยี่ยมก่อนที่จะกดกริ่ง? เบื่อไหมที่สุนัขและลูกน้อยจะคลั่งไคล้ทุกเวลาที่มันดัง? ไม่ต้องการใช้โชคกับเครื่อง "สมาร์ท" วิธีแก้ปัญหา?การทำออดแบบเงียบนั้นเหมือนกับ
XiaoMi Vacuum + ปุ่ม Amazon = การทำความสะอาด Dash: 5 ขั้นตอน (พร้อมรูปภาพ)
XiaoMi Vacuum + ปุ่ม Amazon = การทำความสะอาด Dash: คำแนะนำนี้จะอธิบายวิธีใช้ปุ่ม Amazon Dash สำรองของคุณเพื่อควบคุม XiaoMi Vacuum ฉันมีปุ่ม Amazon จำนวนมากวางอยู่รอบ ๆ จากตอนที่มีราคา 1 เหรียญและฉันไม่ได้ใช้มัน แต่เมื่อได้รับ Robot Vacuum ใหม่ ฉันตัดสินใจ
Tiny Fire Alarm Detector Esp8266 MQTT IFTTT ระบบอัตโนมัติภายในบ้าน: 4 ขั้นตอน
Tiny Fire Alarm Detector Esp8266 MQTT IFTTT Home Automation: ฉันต้องการตรวจสอบว่าระบบตรวจจับควันไฟในบ้านของฉันอยู่ในสัญญาณเตือนภัยหรือไม่ ฉันมีเครื่องตรวจจับควันไฟแปดเครื่องในบ้านของฉันและเชื่อมต่อถึงกัน หากเครื่องตรวจจับควันเครื่องหนึ่งอยู่ในสัญญาณเตือนภัย อีกเครื่องหนึ่งจะรับสัญญาณผ่านสายสัญญาณการเชื่อมต่อโครงข่าย เซ็นเซอร์ของฉันอ่าน