สารบัญ:

Tiny ESP8266 Dash-Button (กำหนดค่าใหม่ได้): 15 ขั้นตอน
Tiny ESP8266 Dash-Button (กำหนดค่าใหม่ได้): 15 ขั้นตอน

วีดีโอ: Tiny ESP8266 Dash-Button (กำหนดค่าใหม่ได้): 15 ขั้นตอน

วีดีโอ: Tiny ESP8266 Dash-Button (กำหนดค่าใหม่ได้): 15 ขั้นตอน
วีดีโอ: #101 Long lasting DIY "Amazon Dash Button" using an ESP8266 2024, พฤศจิกายน
Anonim
ปุ่ม Dash จิ๋ว ESP8266 (กำหนดค่าใหม่ได้)
ปุ่ม Dash จิ๋ว ESP8266 (กำหนดค่าใหม่ได้)
ปุ่ม Dash จิ๋ว ESP8266 (กำหนดค่าใหม่ได้)
ปุ่ม Dash จิ๋ว ESP8266 (กำหนดค่าใหม่ได้)
ปุ่ม Dash จิ๋ว ESP8266 (กำหนดค่าใหม่ได้)
ปุ่ม Dash จิ๋ว ESP8266 (กำหนดค่าใหม่ได้)

นี่คือปุ่ม 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

Desolder ส่วนหัวของพิน
Desolder ส่วนหัวของพิน

ขั้นแรก ตรวจสอบให้แน่ใจ 100% ว่าคุณตั้งโปรแกรม ESP8266 อย่างถูกต้อง และ 100% แน่ใจว่าคุณอัปโหลดข้อมูล SPIFFS

ขั้นตอนแรกคือการถอดส่วนหัวของพิน 2x4 ออก ซึ่งจะทำให้ปุ่มของเรามีขนาดเล็กลง แต่ยังหมายความว่าคุณไม่สามารถตั้งโปรแกรมใหม่ได้หากไม่มีการขายต่อ ตรวจสอบให้แน่ใจว่าโปรแกรมและ SPIFFS กะพริบ

คุณจะยังคงสามารถกำหนดค่าการตั้งค่าใหม่ได้

วิธีนี้ง่ายกว่ามากด้วยหัวแร้งหัวแร้งที่แหลมคมและปั๊มที่มีการบัดกรี กลยุทธ์ของฉันคือเชื่อมหมุดทั้งแปดตัวด้วยบัดกรีก่อน จากนั้นให้ความร้อนทั้งหมดพร้อมกันและดึงส่วนหัวออกด้วยแหนบ จากนั้นหลังจากถอดบัดกรีส่วนเกินออก ฉันเจาะรูจากด้านบนด้วยเตารีดและดูดบัดกรีด้วยปั๊มของฉันผ่านด้านล่าง

ขั้นตอนที่ 6: ประสานสวิตช์

ประสานสวิตช์
ประสานสวิตช์

ถัดไป คุณจะต้องประสานสวิตช์กดระหว่าง GND และ RST ในกรณีของฉัน หมุดกระดุมมีความหนาเกินไป ฉันจึงต้องตัดให้บางลงเล็กน้อยด้วยสนิป ตรวจสอบให้แน่ใจว่าปุ่มวางชิดกับกระดาน ไม่เช่นนั้นปุ่มอาจพังเมื่อเวลาผ่านไปเนื่องจากแรงกด

ขั้นตอนที่ 7: เชื่อมต่อ CH_PD กับ VCC

เชื่อมต่อ CH_PD กับ VCC
เชื่อมต่อ CH_PD กับ VCC

เพื่อให้ ESP เรียกใช้โค้ดได้ อย่าลืมเชื่อมต่อ CH_PD กับ VCC

ขั้นตอนที่ 8: ถอด LED เพาเวอร์

ถอด LED เพาเวอร์
ถอด LED เพาเวอร์
ถอด LED เพาเวอร์
ถอด LED เพาเวอร์

ปุ่มต้องใช้พลังงานน้อยที่สุด และเนื่องจากเปิดอยู่เสมอ ไฟ LED จึงกินไฟประมาณ 4mA เสมอ สิ่งนี้จะลดอายุการใช้งานแบตเตอรี่ลงเหลือสิบสองชั่วโมง ดังนั้นให้ปลดหรือถอดออก

ขั้นตอนที่ 9: สวิตช์กำหนดค่าบัดกรี

สวิตช์กำหนดค่าบัดกรี
สวิตช์กำหนดค่าบัดกรี

ในการเข้าสู่โหมดการกำหนดค่า GPIO_03[RX] จะต้องเชื่อมต่อกับ GND เพื่อให้ง่ายต่อการทำ ฉันจึงบัดกรีคันโยกเล็กๆ ที่สามารถดันไปด้านข้างเพื่อทำการเชื่อมต่อได้

ขั้นตอนที่ 10: เพิ่มพาวเวอร์ซัพพลาย ตัวควบคุม และตัวเชื่อมต่อ

เพิ่มพาวเวอร์ซัพพลาย ตัวควบคุม และตัวเชื่อมต่อ
เพิ่มพาวเวอร์ซัพพลาย ตัวควบคุม และตัวเชื่อมต่อ
เพิ่มพาวเวอร์ซัพพลาย ตัวควบคุม และตัวเชื่อมต่อ
เพิ่มพาวเวอร์ซัพพลาย ตัวควบคุม และตัวเชื่อมต่อ
เพิ่มพาวเวอร์ซัพพลาย ตัวควบคุม และตัวเชื่อมต่อ
เพิ่มพาวเวอร์ซัพพลาย ตัวควบคุม และตัวเชื่อมต่อ
เพิ่มพาวเวอร์ซัพพลาย ตัวควบคุม และตัวเชื่อมต่อ
เพิ่มพาวเวอร์ซัพพลาย ตัวควบคุม และตัวเชื่อมต่อ

นี่คือส่วนที่ยาวที่สุดของงานสร้าง คุณจะต้องบัดกรีแบตเตอรี่ ตัวควบคุมแรงดันไฟฟ้า และขั้วต่อการชาร์จตามแผนผัง

เพื่อให้ทุกอย่างพอดีกับพื้นที่เล็กๆ ใต้ ESP-01 ฉันต้องขัดแพ็คเกจ TO92 ของตัวควบคุมแรงดันไฟฟ้าลง ตรวจสอบให้แน่ใจว่าได้วางแผนเลย์เอาต์ของคุณก่อนที่จะบัดกรี มันจะแน่นมาก แต่ก็ยังสามารถทำได้

หากแบตเตอรี่ของคุณใหญ่เกินไป คุณอาจเลือกที่จะละเว้นตัวควบคุมแรงดันไฟฟ้า สิ่งนี้จะได้ผล แต่จะเสี่ยงต่อความเสียหายของ ESP8266 ได้รับการจัดอันดับให้สูงถึง 3.6V เท่านั้น แต่ LiPo ที่ชาร์จเต็มแล้วจะให้เอาต์พุต 4.2V ดำเนินการตามความเสี่ยงของคุณเอง

ขั้นตอนที่ 11: Superglue It Toghether

Superglue It Toghether
Superglue It Toghether
Superglue It Toghether
Superglue It Toghether
Superglue It Toghether
Superglue It Toghether

ขั้นตอนสุดท้ายในการเก็บทุกอย่างเข้าที่คือการใส่ทุกอย่างเข้าที่

ขั้นตอนที่ 12: การชาร์จ

กำลังชาร์จ
กำลังชาร์จ

ในการชาร์จปุ่ม คุณจะต้องใช้ที่ชาร์จ LiPo ฉันเพียงแค่ใช้บอร์ดชาร์จ Li-Po แบบ USB ทั่วไปที่เชื่อมต่อกับปุ่มผ่านช่องต่อการชาร์จ ระวังอย่าสลับขั้วไปรอบๆ

ขั้นตอนที่ 13: กำหนดค่า

กำหนดค่า
กำหนดค่า

คุณเกือบจะพร้อมที่จะใช้ปุ่มของคุณเป็นครั้งแรกแล้ว

ในการเข้าสู่โหมดการกำหนดค่า คุณต้องเชื่อมต่อ GPIO_03[RX] กับ GND ซึ่งจะง่ายกว่าถ้าคุณบัดกรีคันโยกเหมือนในขั้นตอนที่ 9 จากนั้นกดปุ่มเพื่อรีเซ็ต ESP ก็ควรเข้าสู่โหมดการกำหนดค่า ตอนนี้คุณสามารถปลดคันโยกได้

จากนั้นคุณสามารถ:

  1. เชื่อมต่อกับจุดเชื่อมต่อ WiFi 'ESP_Button' ด้วยรหัสผ่าน 'wifibutton'
  2. ไปที่ https://192.168.4.1 เพื่อเปิดหน้าการกำหนดค่า
  3. หลังจากตั้งค่าของคุณแล้ว ให้คลิกที่ปุ่ม 'บันทึก' จากนั้น 'เริ่มต้นใหม่'
  4. ปุ่มของคุณจะรีสตาร์ท ดำเนินการตามคำขอ และเข้าสู่โหมดสลีป

ตรวจสอบว่าพิมพ์เฉพาะชื่อโฮสต์ในช่องโฮสต์ ห้ามพิมพ์ https:// หรือ https:// และแยก URL ที่เหลือในช่อง URI

ขั้นตอนที่ 14: ลองใช้งาน

Image
Image

คุณควรไปได้ดี การกดปุ่มจะเป็นการขอ GET ของคุณ

วิดีโอด้านบนคือปุ่มของฉันที่เชื่อมต่อกับเว็บไซต์และ IFTTT ซึ่งโพสต์ทวีตที่สร้างขึ้นเอง

การตั้งค่าคำขอ GET อยู่นอกขอบเขตของคำแนะนำนี้ แต่คุณควรเชื่อมต่อสิ่งนี้กับ IFTTT หรือบริการอื่น ๆ ได้อย่างง่ายดาย หากคุณยินดีที่จะเขียนโค้ด PHP แบบกำหนดเองและโฮสต์ไว้บนเว็บไซต์ของคุณเอง คุณอาจจะสามารถตรวจสอบแบตเตอรี่ได้

หากคุณมีปัญหาใด ๆ หรือต้องการความช่วยเหลือในการแก้ไขปัญหาโปรดแสดงความคิดเห็นด้านล่าง

ทุกคนยินดีที่จะให้แนวคิดในการปรับปรุงสิ่งนี้เช่นอาจจะเป็นกรณี? xD

แสดงความคิดเห็นหากคุณเป็นแฟนตัวยงของ Doctor Who

ไชโย!

ขั้นตอนที่ 15: อัปเดต: เคสที่พิมพ์ 3 มิติ

อัปเดต: เคสพิมพ์ 3 มิติ
อัปเดต: เคสพิมพ์ 3 มิติ
อัปเดต: เคสพิมพ์ 3 มิติ
อัปเดต: เคสพิมพ์ 3 มิติ
อัปเดต: เคสพิมพ์ 3 มิติ
อัปเดต: เคสพิมพ์ 3 มิติ

หลังจากใช้ปุ่ม dash มาระยะหนึ่ง ฉันก็ตัดสินใจทำเคสขึ้นมา แนบไฟล์ STL และ Fusion 360

แนะนำ: