สารบัญ:

IoT Keychain Finder โดยใช้ ESP8266-01: 11 ขั้นตอน (พร้อมรูปภาพ)
IoT Keychain Finder โดยใช้ ESP8266-01: 11 ขั้นตอน (พร้อมรูปภาพ)

วีดีโอ: IoT Keychain Finder โดยใช้ ESP8266-01: 11 ขั้นตอน (พร้อมรูปภาพ)

วีดีโอ: IoT Keychain Finder โดยใช้ ESP8266-01: 11 ขั้นตอน (พร้อมรูปภาพ)
วีดีโอ: EP23 เพียง 3 ขั้นตอนในการใช้ Arduino SPIFFS แทนฮาร์ดไดรว์ 2024, กรกฎาคม
Anonim
ตัวค้นหาพวงกุญแจ IoT โดยใช้ ESP8266-01
ตัวค้นหาพวงกุญแจ IoT โดยใช้ ESP8266-01
ตัวค้นหาพวงกุญแจ IoT โดยใช้ ESP8266-01
ตัวค้นหาพวงกุญแจ IoT โดยใช้ ESP8266-01
ตัวค้นหาพวงกุญแจ IoT โดยใช้ ESP8266-01
ตัวค้นหาพวงกุญแจ IoT โดยใช้ ESP8266-01

คุณเหมือนฉันลืมอยู่เสมอว่าคุณเก็บกุญแจไว้ที่ไหน? ฉันไม่สามารถหากุญแจได้ทันเวลา! และเนื่องจากนิสัยของฉัน ฉันจึงมาเรียนวิทยาลัยสาย การขายสารพัด star wars รุ่นลิมิเต็ด อิดิชั่น (ยังกังวลอยู่!) ออกเดท (เธอไม่เคยรับสายฉันอีกเลย!)

แล้วพวงกุญแจ IoT นี้คืออะไร

ให้ฉันให้แนวคิดที่เป็นนามธรรมแก่คุณ ลองนึกภาพว่าคุณวางแผนจะทานอาหารเย็นกับพ่อแม่ของคุณที่ร้านอาหารสุดหรู คุณกำลังจะชนถนน จู่ๆ กุญแจก็หายไป อุ๊ย! คุณรู้ว่ากุญแจอยู่ที่ไหนสักแห่งในบ้าน ถ้าอย่างนั้นคุณก็จำได้ว่า เฮ้ ฉันได้แนบพวงกุญแจ IoT ซึ่งฉันได้อ้างอิงถึงคำแนะนำของ Ashwin ขอบคุณพระเจ้า! คุณถอดโทรศัพท์ออกแล้วเปิด Chrome จากนั้นพิมพ์ keychain IP (เช่น 192.168.43.193/) หรือ mycarkey.local/ (ใช้งานได้เนื่องจาก mDNS) แล้วกดค้นหา ว้าว! มีไซต์ปรากฏในโทรศัพท์ของคุณ (ลองนึกภาพพวงกุญแจของคุณเป็นเซิร์ฟเวอร์ แปลกมาก!) คุณคลิกที่ปุ่ม Buz My Key และในช่วงเวลาที่คุณได้ยินเสียงบี๊บจากรองเท้าทำงานของคุณ (jeez แมวเหล่านี้) คุณหากุญแจเจอแล้วและออกรถได้ในเวลาไม่นาน voila!

แนวคิดสั้น ๆ เกี่ยวกับวิธีการทำงาน

ESP-01 ในพวงกุญแจเชื่อมต่อกับ WiFi ใด ๆ ที่คุณกล่าวถึงในโปรแกรม (คุณสามารถพูดถึงชื่อ WiFi หลายชื่อพร้อมกับรหัสผ่านและ ESP-01 จะเชื่อมต่อกับเครือข่าย WiFi ที่แรงที่สุดในจุดนั้น) หากคุณนำพวงกุญแจออกนอกช่วง WiFi ของคุณ ESP-01 อาจตัดการเชื่อมต่อและพยายามเชื่อมต่อกับ WiFi ที่กล่าวถึงที่มีอยู่ (ดังนั้น หากคุณลืมกุญแจของคุณที่บ้านเพื่อน คุณสามารถหาได้ง่ายโดยเพียงแค่เปิดฮอตสปอตของโทรศัพท์ (ไม่ต้องใช้ข้อมูล) และ ESP-01 จะเชื่อมต่อกับฮอตสปอตของคุณโดยอัตโนมัติ จากนั้นคุณสามารถส่งเสียงพวงกุญแจและค้นหาได้อย่างง่ายดาย)

ก่อนที่จะเริ่ม ผมขอแนะนำให้ผู้ใช้ ESP เป็นครั้งแรกให้อ่าน A Beginner's Guide to the ESP8266 โดย Pieter P. คลิกที่นี่ คู่มือนี้มีประโยชน์มากสำหรับฉันในฐานะผู้เริ่มต้นใช้งานชิป ESP8266

อะไรคือความสัมพันธ์ระหว่าง ESP8266 และ ESP-01

เมื่อฉันเริ่มทำงานกับ ESP ฉันค่อนข้างสับสน มีข้อมูลมากมายเกี่ยวกับชิป ESP บนอินเทอร์เน็ต ฉันเคยคิดว่า ESP8266, ESP-01, ESP-12E และอื่น ๆ ทั้งหมดแตกต่างกันและไม่สามารถใช้โปรแกรมที่เขียนใน ESP-01 บน ESP-12E ได้ แต่นั่นไม่ใช่กรณี ให้ฉันชี้แจงข้อสงสัยของคุณ! ESP8266 เป็นชิปที่ใช้ในโมดูล ESP ทั้งหมด (เช่น ESP-12E และ ESP-01) มีโมดูล ESP มากมายในตลาดและทั้งหมดใช้ชิป ESP8266 ข้อแตกต่างเพียงอย่างเดียวระหว่างพวกเขาคือฟังก์ชันการทำงานที่โมดูล ESP มีให้ สมมติว่า ESP-01 มีหมุด GPIO ค่อนข้างน้อยในขณะที่ ESP-12E มีหมุด GPIO จำนวนมาก ESP-01 อาจไม่มีโหมดสลีปที่แตกต่างกันเช่น ESP-12E ในขณะที่ ESP-01 ราคาถูกกว่าและมีขนาดเล็กกว่า

โปรดทราบว่าเนื่องจากทั้งหมดใช้ชิป ESP8266 เดียวกัน เราจึงสามารถใช้โปรแกรม ESP8266 เดียวกันบนโมดูล ESP ทั้งหมดได้โดยไม่มีปัญหาใดๆ ตราบใดที่คุณไม่ได้ใช้โปรแกรมที่สามารถทำงานกับชิปเฉพาะตัวเดียวเท่านั้น (เช่น คุณกำลังพยายาม เปิด GPIO pin 6 บน ESP-01 ซึ่งไม่มี ไม่ต้องกังวลและโปรแกรมที่ฉันให้ในบทช่วยสอนนี้เข้ากันได้กับโมดูล ESP ทั้งหมด อันที่จริงฉันเขียนโค้ดทั้งหมดบน ESP-12E NodeMCU เนื่องจากใช้งานได้ง่ายกว่า และดีบักข้อผิดพลาดบน development board หลังจากเชื่อมั่นกับงานของฉันแล้วฉันก็ลองใช้โปรแกรมเหล่านั้นบน ESP-01 ซึ่งทำงานได้อย่างมีเสน่ห์โดยไม่มีการดัดแปลงใด ๆ !

ประเด็นสำคัญบางประการ:

  • เป้าหมายของฉันคือการช่วยให้คุณเข้าใจวิธีที่เราสามารถฝัง IoT ได้ทุกที่
  • ประเด็นหลักจากคำแนะนำนี้คือความรู้ในการฝัง ESP-01 ไว้ในพวงกุญแจซึ่งดูแปลกประหลาด แต่เดี๋ยวก่อน วิศวกรรมเต็มไปด้วยความท้าทาย! ฉันแนะนำให้ทุกคนออกแบบพวงกุญแจที่แตกต่างกันและพยายามทำให้แนวคิดพวงกุญแจ IoT สมบูรณ์แบบ
  • พวงกุญแจ IoT ที่ฉันทำขึ้นนั้นไม่มีประสิทธิภาพแบตเตอรี่มากนัก (6 ชั่วโมงพร้อมแบตเตอรี่ Li-Po 500mAH 3.7v) และค่อนข้างเทอะทะเล็กน้อย แต่ฉันรู้ พวกคุณสามารถทำให้มันสมบูรณ์แบบได้ ถ้าไม่ดีขึ้น และทำให้เป็น Instructable ของคุณเองได้ (อย่าลืมพูดถึงฉันด้วย!)

เพียงพอแล้ว บลา บลา บลา! มาเริ่มกันเลย

คำแนะนำของฉันไหลอย่างไร

  1. วัสดุและส่วนประกอบที่จำเป็น [ขั้นตอนที่ 1]
  2. ESP-01 เริ่มต้นใช้งาน [ขั้นตอนที่ 2]
  3. ให้พร้อม Buzzer สำหรับ ESP-01 [ขั้นตอนที่ 3]
  4. เตรียมพร้อมสำหรับการเขียนโปรแกรม [ขั้นตอนที่ 4]
  5. การปรับแต่งโปรแกรมให้เป็นส่วนตัว [ขั้นตอนที่ 5]
  6. ให้โปรแกรม ESP-01 [ขั้นตอนที่ 6]
  7. IP และ mDNS สำหรับควบคุมออด [ขั้นตอนที่ 7]
  8. การเลือกแบตเตอรี่ที่เหมาะสม [ขั้นตอนที่ 8]
  9. การวางส่วนประกอบทั้งหมด [ขั้นตอนที่ 9]
  10. การเตรียมฝาครอบด้านนอกสำหรับวางวงจรพวงกุญแจและแบตเตอรี่ [ขั้นตอนที่ 10]
  11. ถึงเวลาที่จะอิจฉาเพื่อนของคุณ! จบความคิดบางอย่าง [Step 11]

ขั้นตอนที่ 1: วัสดุและส่วนประกอบที่จำเป็น

วัสดุและส่วนประกอบที่จำเป็น
วัสดุและส่วนประกอบที่จำเป็น
วัสดุและส่วนประกอบที่จำเป็น
วัสดุและส่วนประกอบที่จำเป็น

คุณพร้อมแล้ว เยี่ยมมาก!

ฉันได้กล่าวถึงส่วนประกอบทั้งหมดที่ใช้ในคำแนะนำนี้ในรูปด้านบน (รูปภาพมีค่าหนึ่งพันคำ)

ขั้นตอนที่ 2: ESP-01 เริ่มต้นใช้งาน

ESP-01 เริ่มต้นใช้งาน
ESP-01 เริ่มต้นใช้งาน

ฉันใช้โมดูล ESP มาหลายโมดูลแล้ว แต่ฉันต้องบอกว่า ESP-01 เป็นโมดูล ESP8266 ที่ฉันโปรดปราน เนื่องจากมีขนาดเล็กที่สุดและราคาถูก

มีทั้งหมด 8 พินใน ESP-01 ฉันได้ให้ภาพไดอะแกรมพินด้านบน

เราจะใช้บอร์ด Arduino UNO และ Arduino IDE ในการเขียนโปรแกรม ESP-01 เนื่องจากหลายๆ คนจะต้องมี Arduino อยู่ที่บ้าน

มีสองโหมดใน ESP-01:

  • โหมดการเขียนโปรแกรม
  • โหมดบูตปกติ

ในการเปลี่ยนโหมดเราเพียงแค่สลับ RST และ GPIO 0 พินเท่านั้น

ESP8266 จะตรวจสอบตอนบูตว่าควรบูตเข้าสู่โหมดใด ทำได้โดยการตรวจสอบพิน GPIO 0 หากพินต่อสายดิน 0V ESP จะบูตเข้าสู่โหมดการเขียนโปรแกรม หากพินลอยอยู่หรือเชื่อมต่อกับบูท 3.3V ESP ตามปกติ

พิน RST ทำงานต่ำ ดังนั้น 0V ที่พิน RST จะรีเซ็ตชิป (เพียงแตะพิน RST กับกราวด์สักครู่)

สำหรับโหมดบูตปกติ: GPIO 0 ควรลอยหรือเชื่อมต่อกับ 3.3V หลังจากรีเซ็ตหรือบูตชิปเป็นครั้งแรก

สำหรับโหมดการเขียนโปรแกรม: GPIO 0 ควรต่อสายดินหลังจากรีเซ็ตหรือบู๊ตชิปเป็นครั้งแรกและต่อสายดินจนกว่าการตั้งโปรแกรมจะสิ้นสุดลง ในการออกจากโหมดนี้ เพียงแค่ถอดพิน GPIO 0 ออกจากพื้นและปล่อยให้ลอยหรือเชื่อมต่อกับ 3V จากนั้นกราวด์พิน RST เป็นเวลาหนึ่งวินาที ESP บูตกลับเข้าสู่โหมดปกติ

ESP-01 มีหน่วยความจำแฟลช 1MB

คำเตือน! ESP-01 ใช้งานได้กับ 3.3V หากคุณให้พินใด ๆ มากกว่า 3.6V คุณจะทอดชิป (ฉันได้ทอด ESP-01 สองตัวแล้ว) เราสามารถใช้ได้ระหว่าง 3V - 3.6V ตอนนี้มีประโยชน์เพราะเราจะใช้แบตเตอรี่ LiPo 3.7V ฉันจะอธิบายวิธีที่เราสามารถใช้แบตเตอรี่นี้กับ ESP-01 ในขั้นตอนต่อไป

ขั้นตอนที่ 3: ให้ Buzzer พร้อมสำหรับ ESP-01

ให้พร้อม Buzzer สำหรับ ESP-01
ให้พร้อม Buzzer สำหรับ ESP-01

Buzzer มีสองประเภท:

  • กริ่งที่ใช้งานอยู่
  • ออดแบบพาสซีฟ

ออดแบบแอคทีฟทำงานโดยตรงโดยให้แรงดันไฟฟ้าบางส่วน คุณจะได้ยินเสียงหึ่งทันที

ออดแบบพาสซีฟต้องใช้ PWM ดังนั้น หากคุณใช้แรงดันไฟฟ้าคงที่ ออดจะไม่ส่งเสียงใดๆ

เลือกเสียงกริ่ง Active 3V

หมุด ESP-01 สามารถให้กระแสไฟสูงสุด 12mA ซึ่งค่อนข้างน้อยเมื่อพิจารณาถึงความต้องการพลังงานสำหรับออด 3V ดังนั้นเราจะใช้ทรานซิสเตอร์ NPN (ฉันเคยใช้ 2N3904) เป็นสวิตช์สำหรับควบคุมออด

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

ขั้นตอนที่ 4: เตรียมพร้อมสำหรับการเขียนโปรแกรม

เตรียมพร้อมสำหรับการเขียนโปรแกรม
เตรียมพร้อมสำหรับการเขียนโปรแกรม
เตรียมพร้อมสำหรับการเขียนโปรแกรม
เตรียมพร้อมสำหรับการเขียนโปรแกรม

ตอนนี้ให้ตั้งค่า Arduino IDE สำหรับการเขียนโปรแกรม ESP-01

ก่อนอื่นเราจะเพิ่มบอร์ด ESP8266 บน Arduino IDE เปิด Arduino IDE แล้วไปที่ File > Preferences คุณจะเห็น URL ตัวจัดการบอร์ดเพิ่มเติม วางลิงก์นี้:

  • ไปที่ เครื่องมือ > บอร์ด > ตัวจัดการบอร์ด
  • ค้นหา esp8266 คุณควรเห็น esp8266 โดยชุมชน ESP8266 ติดตั้งเลย
  • ไปที่ เครื่องมือ > บอร์ด > บอร์ด ESP8266 เลือกโมดูล ESP8266 ทั่วไป
  • เสร็จแล้ว! คุณได้ตั้งค่า Arduino IDE

การเชื่อมต่อ

เชื่อมต่อ ESP-01 ของคุณกับบอร์ด Arduino UNO โดยอ้างอิงไดอะแกรมการเชื่อมต่อในภาพด้านบน

เราจะไม่ใช้ชิป Atmega328p (ใช่แล้ว ชิปตัวใหญ่ตัวยาวบนบอร์ด Arduino) เราแค่ใช้บอร์ด Arduino UNO ในการเขียนโปรแกรม ESP-01 นั่นคือเหตุผลที่เราเชื่อมต่อพิน RESET ของ Atmega กับพอร์ต 5V

พิน GPIO0 และ RST ใช้สำหรับควบคุมการบูต ESP-01 เพิ่มเติมในขั้นตอนที่ 6

ไฟ LED สีแดงใช้เพื่อตรวจสอบว่าโปรแกรมที่อัปโหลดทำงานอยู่หรือไม่

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

ข้อมูลเพิ่มเติม (ข้ามถ้าคุณต้องการ)

คุณอาจสังเกตเห็นว่า Rx ไปที่ Rx และ Tx ไปที่ Tx ที่ไม่ถูกต้อง!. หากอุปกรณ์กำลังส่งสัญญาณ อุปกรณ์อีกเครื่องหนึ่งกำลังรับ (Tx ถึง Rx) และในทางกลับกัน (Rx เป็น Tx) ทำไมการเชื่อมต่อนี้?

บอร์ด Arduino UNO ถูกสร้างมาแบบนั้น ให้ฉันทำให้ตัวเองชัดเจน Rx และ Tx ของสาย USB ที่เชื่อมต่อกับบอร์ด Arduino UNO เชื่อมต่อกับ Atmega328p การเชื่อมต่อทำได้ดังนี้: Rx ของ USB ไปที่ Tx ของ Atmega และ Tx ของ USB ไปที่ Rx ของ Atmega ตอนนี้ Port Pin 0 และ 1 ที่กำหนดเป็น Rx และ Tx ตามลำดับเชื่อมต่อโดยตรงกับ Atmega (Rx ของ Atmega คือ Rx ที่ Port Pin 0 และ Tx ของ Atmega คือ Tx ของ Port Pin 1) และเนื่องจากเราจะไม่ไป ใช้ Atmega สำหรับการเขียนโปรแกรมและต้องการการเชื่อมต่อ USB โดยตรงเท่านั้น คุณสามารถเห็น Tx ของ USB คือ Rx ของบอร์ด Arduino UNO Pin 0 และ Rx ของ USB คือ Tx ของบอร์ด Arduino UNO ขา 1

วุ้ย ตอนนี้คุณรู้การเชื่อมต่อ Rx Tx แล้ว

คุณต้องสังเกตเห็นตัวต้านทานระหว่างการเชื่อมต่อ Rx - Rx นั่นเป็นสิ่งสำคัญในการป้องกันไม่ให้ชิป ESP-01 ทอดเนื่องจาก TTL 5V เราใช้การเชื่อมต่อแบบแบ่งแรงดันซึ่งโดยทั่วไปจะลด 5V ที่ Rx เป็น 3.3V เพื่อไม่ให้ ESP-01 ทอด อยากรู้ว่าตัวแบ่งแรงดันทำงานอย่างไร เข้าไปที่ลิงค์นี้

ขั้นตอนที่ 5: การปรับแต่งโปรแกรมให้เป็นส่วนตัว

การปรับแต่งโปรแกรม
การปรับแต่งโปรแกรม
การปรับแต่งโปรแกรม
การปรับแต่งโปรแกรม

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

พื้นที่ทั้งหมดในรหัสที่คุณสามารถทำการเปลี่ยนแปลงได้นั้นอยู่ระหว่างความคิดเห็นบรรทัดเดียวเช่นนี้

//-----------------------------------

ทำการเปลี่ยนแปลงของคุณที่นี่

//----------------------------------

โปรดอ่านความคิดเห็นที่ฉันให้ไว้ในโปรแกรมเพื่อให้เข้าใจรหัสมากขึ้น

…….

คุณสามารถเพิ่มชื่อ WiFi ได้หลายชื่อและรหัสผ่านที่เกี่ยวข้องในโปรแกรม ESP-01 จะเชื่อมต่อกับเครื่องที่แข็งแกร่งที่สุดในขณะที่ทำการสแกน เมื่อตัดการเชื่อมต่อ ระบบจะสแกนหา WiFi ที่สามารถเชื่อมต่อได้อย่างต่อเนื่องและเชื่อมต่อโดยอัตโนมัติ ฉันอยากจะแนะนำให้คุณเพิ่ม Home WiFi และ Mobile Hotspot ของคุณในโปรแกรม

ไวยากรณ์สำหรับการเพิ่ม WiFi: wifiMulti.addAP("Hall_WiFi", "12345678");

สตริงแรกคือชื่อของ WiFi และสตริงที่สองคือรหัสผ่าน

…….

หากคุณต้องการเปลี่ยนพินที่เชื่อมต่อออด คุณสามารถระบุได้ในตัวแปร

const int buz_pin = pin_no;

pin_no ควรเป็นค่าที่ถูกต้องตามโมดูล ESP ที่คุณใช้

ค่า LED_BUILTIN คือ GPIO 2 พินสำหรับ ESP-01;

…….

พิเศษ [ข้ามถ้าคุณต้องการ]

เนื่องจาก ESP-01 ของเราจะทำหน้าที่เป็นเซิร์ฟเวอร์ จึงมีโค้ดเว็บไซต์ HTML พื้นฐานซึ่งฉันได้เพิ่มลงในโปรแกรมที่คุณดาวน์โหลดมาก่อนแล้ว ฉันจะไม่ลงรายละเอียดมากนัก แต่ถ้าคุณต้องการสำรวจซอร์ส HTML คุณสามารถดาวน์โหลดได้จากด้านล่าง [เปลี่ยนชื่อไฟล์จาก html code.html.txt เป็น html code.html]

ขั้นตอนที่ 6: ให้โปรแกรม ESP-01

ให้โปรแกรม ESP-01
ให้โปรแกรม ESP-01
ให้โปรแกรม ESP-01
ให้โปรแกรม ESP-01

1)

  • เชื่อมต่อบอร์ด Arduino UNO กับคอมพิวเตอร์ของคุณ
  • ตรวจสอบให้แน่ใจภายใต้เครื่องมือ ตัวเลือกเหล่านี้ถูกเลือก

    • บอร์ด: "โมดูล ESP8266 ทั่วไป"
    • ความเร็วในการอัพโหลด: "115200"
    • ปล่อยให้ตัวเลือกอื่น ๆ ยังคงเป็นค่าเริ่มต้น
  • ไม่ไปที่เครื่องมือ > พอร์ต
  • เลือกพอร์ต Arduino UNO COM (พีซีของฉันแสดง COM3 ของคุณอาจแตกต่างกันไป

2) แค่นั้นแหละ ก่อนคลิกอัปโหลด เราต้องบูต ESP-01 เข้าสู่โหมดการเขียนโปรแกรม สำหรับกราวด์นั้น 0V พิน ESP-01 จากนั้นกราวด์พิน RST สักครู่ ตอนนี้ ESP-01 ได้บูตเข้าสู่โหมดการเขียนโปรแกรมแล้ว

3) ตอนนี้คลิกที่อัปโหลดใน Arduino IDE ของคุณ ใช้เวลาในการรวบรวมร่าง ตรวจสอบหน้าต่างสถานะคำสั่งด้านล่าง Arduino IDE

4) เมื่อคอมไพล์เสร็จแล้ว คุณจะเห็น กำลังเชื่อมต่อ……._……._……… นี่คือเวลาที่พีซีของคุณพยายามเชื่อมต่อกับ ESP-01 ของคุณ หากคุณได้รับการเชื่อมต่อ……. เป็นเวลานานหรือหากการเชื่อมต่อล้มเหลว (เกิดขึ้นกับฉันบ่อยมาก) ให้รีเซ็ต ESP-01 อีกครั้ง (ฉันแตะ RST บน ESP-01 ไปที่กราวด์ 0V 2 - 3 ครั้งเพื่อให้แน่ใจว่าบูตเข้าสู่โหมดการเขียนโปรแกรมแล้ว).

บางครั้งแม้หลังจากทำเช่นนี้ การเชื่อมต่อก็ล้มเหลว สิ่งที่ฉันทำคือหลังจากที่ฉันได้รับการเชื่อมต่อ……_…… ฉันรีเซ็ต ESP-01 อีกครั้งและโดยปกติแล้วจะใช้งานได้ โปรดทราบว่าพิน GPIO 0 ควรต่อสายดินตลอดระยะเวลาการเขียนโปรแกรมทั้งหมด

5) หลังจากอัปโหลดเสร็จแล้ว คุณจะได้รับ:

ออกเดินทาง……

ฮาร์ดรีเซ็ตผ่านพิน RTS…

แสดงว่าอัปโหลดรหัสสำเร็จแล้ว ตอนนี้ลบพิน GPIO 0 ออกจากพื้นแล้วรีเซ็ต ESP-01 อีกครั้ง ตอนนี้ ESP ของคุณจะบูตเข้าสู่โหมดปกติและพยายามเชื่อมต่อกับเครือข่าย WiFi ที่คุณกล่าวถึงในโปรแกรม

คุณสามารถตรวจสอบโปรแกรม ESP-01 ได้จาก Arduino Serial Monitor

6) เปิด Serial Monitor ที่มุมล่างขวา เลือกทั้ง NL และ CR และ baud rate เป็น 115200 รีเซ็ต ESP-01 (ให้ GPIO 0 ลอยหรือเชื่อมต่อกับ 3.3V ขณะที่เรากำลังพยายามเรียกใช้โปรแกรมที่อัปโหลด) จากนั้น คุณจะเห็นข้อความทั้งหมดที่ส่งคืนโดย ESP-01 เริ่มแรก คุณอาจเห็นค่าขยะซึ่งเป็นเรื่องปกติในชิป ESP8266 ทั้งหมด หลังจากเชื่อมต่อสำเร็จ คุณจะเห็นที่อยู่ IP พิมพ์อยู่บนหน้าจอ จดบันทึกไว้

ฉันได้เพิ่มอีโมติคอนบางตัวใน serial.print() ซึ่งดูดีใน Serial Monitor เนื่องจากมีการแสดงออกบางอย่าง ใครว่าสร้างสรรค์กว่านี้ไม่ได้!

ขั้นตอนที่ 7: IP และ MDNS สำหรับควบคุม Buzzer

IP และ MDNS สำหรับควบคุม Buzzer
IP และ MDNS สำหรับควบคุม Buzzer
IP และ MDNS สำหรับควบคุม Buzzer
IP และ MDNS สำหรับควบคุม Buzzer
IP และ MDNS สำหรับควบคุม Buzzer
IP และ MDNS สำหรับควบคุม Buzzer

ก่อนที่ฉันจะลงรายละเอียดว่าเซิร์ฟเวอร์ทำงานอย่างไร ให้ลองเปิดออด อุปกรณ์ที่คุณพยายามเข้าถึงเซิร์ฟเวอร์ ESP-01 ควรเชื่อมต่อกับเครือข่ายเดียวกันกับ ESP-01 หรือควรเชื่อมต่อกับฮอตสปอตอุปกรณ์ของคุณ ตอนนี้เปิดเบราว์เซอร์ที่คุณชื่นชอบแล้วพิมพ์ที่อยู่ IP ที่คุณได้รับในขั้นตอนก่อนหน้าแล้วค้นหา มันควรจะเปิดหน้า คลิกที่ Toggle buzz และไฟ LED สีแดงควรเริ่มกะพริบ!

ที่อยู่ IP คืออะไร?

IP คือที่อยู่ที่แต่ละอุปกรณ์ได้รับหลังจากเชื่อมต่อกับเครือข่าย WiFi ที่อยู่ IP เป็นเหมือนตัวระบุที่ไม่ซ้ำกันซึ่งช่วยในการค้นหาอุปกรณ์เฉพาะ อุปกรณ์สองเครื่องไม่สามารถมีที่อยู่ IP เดียวกันภายใต้เครือข่ายเดียวกันได้ เมื่อ ESP-01 เชื่อมต่อกับ WiFi หรือฮอตสปอต จะมีการกำหนดที่อยู่ IP ที่จะพิมพ์ใน Serial Monitor

แล้ว mDNS คืออะไร?

มาทำความเข้าใจ DNS มันย่อมาจากระบบชื่อโดเมน เป็นเซิร์ฟเวอร์พิเศษที่ส่งคืนที่อยู่ IP ของโดเมนที่คุณค้นหา เช่น คุณค้นหา Instrucables.com เบราว์เซอร์สอบถามเซิร์ฟเวอร์ DNS และเซิร์ฟเวอร์ส่งคืนที่อยู่ IP ของ Instrucables.com ในขณะที่เขียนคำแนะนำนี้ ฉันได้รับที่อยู่ IP ของ Instrucables.com เป็น 151.101.193.105 ตอนนี้ถ้าฉันใส่ 151.101.193.105 ลงในแถบที่อยู่ของเบราว์เซอร์และค้นหา ฉันจะได้รับไซต์ Instructables.com เดียวกัน เรียบร้อย! มีข้อดีอีกอย่างของ DNS คือ ที่อยู่ IP ของอุปกรณ์ยังคงเปลี่ยนแปลงอยู่เสมอ โดยบอกว่า IP เราเตอร์ของคุณในวันนี้คือ 92.16.52.18 จากนั้นพรุ่งนี้ก็อาจเป็น 52.46.59.190 IP จะเปลี่ยนทุกครั้งที่อุปกรณ์ของคุณเชื่อมต่อกับเครือข่ายอีกครั้ง เนื่องจาก DNS อัปเดต IP ของอุปกรณ์ทั้งหมดโดยอัตโนมัติ เราจึงถูกส่งไปยังเซิร์ฟเวอร์ปลายทางที่เหมาะสมเสมอ

แต่เราไม่สามารถสร้างเซิร์ฟเวอร์ DNS สำหรับ ESP-01 ซึ่งจะสอบถามว่าเป็น IP ในกรณีนั้นเราจะใช้ mDNS มันทำงานบนอุปกรณ์ท้องถิ่น ในมอนิเตอร์แบบอนุกรม คุณอาจสังเกตเห็น esp01.local/ นี่คือชื่อที่เรากำหนดให้กับ ESP-01 ซึ่งจะตอบสนองต่อ esp01.local/ โดยอัตโนมัติ (ลองค้นหา esp01.local/ ในเบราว์เซอร์ของคุณ) ดังนั้นตอนนี้คุณจึงสามารถเข้าถึง ESP-01 ได้โดยตรงเช่นเดียวกับการค้นหา Instrucables.com โดยไม่ทราบที่อยู่ IP ของพวกเขา แต่มีปัญหาคือ mDNS ไม่ทำงานบน Android แต่หมายความว่าคุณไม่สามารถเข้าถึง ESP โดยใช้ mDNS บนอุปกรณ์ Android ได้ แต่คุณต้องพิมพ์ที่อยู่ IP บนแถบค้นหา mDNS ทำงานได้ดีบน iOS, macOS, ipadOS และสำหรับ Windows คุณต้องติดตั้ง Bonjour ในขณะที่บน Linux คุณต้องติดตั้ง Avahi

หากต้องการเปลี่ยนชื่อ ESP-01 mDNS ให้ค้นหา mdns.begin("esp01"); ในโปรแกรมของฉันและแทนที่สตริง "esp01" ด้วยสตริงที่คุณต้องการ

หากคุณไม่ต้องการใช้ mDNS มีอย่างอื่นที่คุณสามารถทำได้ ไปที่การตั้งค่าเราเตอร์ของคุณหลังจากที่ ESP-01 เชื่อมต่อกับเราเตอร์และตั้งค่าที่อยู่ IP แบบคงที่สำหรับ ESP-01 IP แบบคงที่จะไม่เปลี่ยนแปลงเมื่อเวลาผ่านไป คุณสามารถค้นหาอินเทอร์เน็ตเกี่ยวกับวิธีการกำหนดค่าเราเตอร์เพื่อตั้งค่า IP แบบคงที่ให้กับอุปกรณ์ใดก็ได้ คุณจะได้รับเว็บไซต์ที่เป็นประโยชน์มากมาย ดังนั้น เมื่อคุณกำหนด IP แบบคงที่แล้ว ให้จดบันทึกหรือทำบุ๊กมาร์กในเบราว์เซอร์ เพื่อที่ครั้งต่อไปที่คุณจะสามารถค้นหาได้โดยตรงจากบุ๊กมาร์ก

สำหรับฮอตสปอตเคลื่อนที่แล้ว IP จะไม่เปลี่ยนแปลง (ไม่เปลี่ยนแปลงสำหรับฉันเช่นเคย!) คุณสามารถรับที่อยู่ IP ของอุปกรณ์ที่เชื่อมต่อกับฮอตสปอตจากการไปที่การตั้งค่าฮอตสปอตของ Android เพียงสร้างบุ๊กมาร์กของ ESP-01 IP ในเบราว์เซอร์ เท่านี้ก็เข้าถึงเว็บไซต์ได้ทุกเมื่อแล้วส่งเสียงถึงพวงกุญแจของคุณ

ที่อยู่ IP ที่กำหนดให้ ESP-01 เมื่อเชื่อมต่อกับฮอตสปอตมือถือและ WiFi อาจแตกต่างกัน

หมายเหตุ: ในการเข้าถึง ESP-01 คุณต้องอยู่ในเครือข่ายเดียวกันกับโมดูล ESP ของคุณ ดังนั้นคุณจึงไม่สามารถควบคุมผ่านอินเทอร์เน็ตได้ แต่จะควบคุมผ่านเครือข่ายท้องถิ่นเท่านั้น

ขั้นตอนที่ 8: การเลือกแบตเตอรี่ที่เหมาะสม

การเลือกแบตเตอรี่ที่เหมาะสม
การเลือกแบตเตอรี่ที่เหมาะสม

มาทำความเข้าใจ mAh กันก่อน

สมมติว่าคุณมีแบตเตอรี่ 3.7V ซึ่งมีความจุ 200mAh แบตเตอรี่เชื่อมต่อกับวงจรที่กินไฟ 100mA แล้วแบตเตอรี่จะสามารถจ่ายไฟให้กับวงจรได้นานแค่ไหน?

แค่แบ่ง

200mAh/100mA = 2 ชม

ใช่ 2 ชั่วโมง!

mAh คือระดับที่ระบุว่าแหล่งพลังงานสามารถให้พลังงานได้มากเพียงใดเป็นเวลาหนึ่งชั่วโมง หากแบตเตอรี่มี 200mAh จะให้พลังงาน 200mA ต่อเนื่องเป็นเวลา 1 ชั่วโมงก่อนที่จะดับ

ฉันเลือกแบตเตอรี่ 3.7V 500mAh แล้ว (ไปสำหรับ mAh มากกว่า >1000mAh (แนะนำ) ฉันไม่สามารถหาแบตเตอรี่ mAh ที่ดีกว่าได้ที่ร้านไหนเลย)

ESP-01 กินกระแส 80mA โดยประมาณ

ประมาณว่าวงจรของเราควรจะกินไฟ 100mA โดยไม่มีเสียงกริ่ง ดังนั้นแบตเตอรี่ของเราควรจะสามารถจ่ายไฟให้กับวงจรได้นานกว่า 5 ชั่วโมง (สำหรับแบตเตอรี่ 500mAh) เนื่องจากเสียงกริ่งจะปิดเกือบตลอดเวลา แบตเตอรี่ขนาด 1000mAh ควรสำรองแบตเตอรี่มากกว่า 10 ชั่วโมง ดังนั้นเลือกแบตเตอรี่ตามความต้องการของคุณ

โอเค ทีนี้เราสามารถต่อแบตเตอรี่เข้ากับวงจรของเราโดยตรงได้หรือไม่? ไม่. แรงดันแบตเตอรี่ 3.7V แรงดันไฟฟ้าที่สูงกว่า 3.6V จะทำลายชิป ESP8266 ของเรา แล้วจะทำอย่างไร? คุณสามารถเพิ่มแรงดันไฟฟ้าเป็น 5V แล้วลดระดับเป็น 3.3V โดยใช้ตัวควบคุมการสลับ แต่เดี๋ยวก่อน! วงจรเหล่านั้นจะใช้พื้นที่มาก และเราลืมไปว่าแบตเตอรี่ 3.7V จะให้ 4.2V เมื่อชาร์จเต็ม สิ่งนี้กวนใจฉันมากในตอนแรก!

จากนั้นฉันก็จำได้ว่าเราสามารถใช้ไดโอดเพื่อลดแรงดันไฟฟ้าได้ ถ้าคุณจำได้ ซิลิกอนไดโอดจะลดลงประมาณ 0.7V เมื่อลำเอียงไปข้างหน้าคุณสามารถเชื่อมต่อ ESP-01 กับไดโอดที่เชื่อมต่อกับแบตเตอรี่ 3.7V ไดโอดควรลดลง 0.7V ดังนั้นควรได้ 3V (3.7 - 0.7) และเมื่อชาร์จเต็มเราควรได้ 3.5 (4.2 - 0.7) ซึ่งเป็นช่วงที่ดีสำหรับการจ่ายไฟให้กับ ESP-01 ไปหาไดโอดซีรีย์ 1N400x

ดูการเชื่อมต่อในภาพด้านบน

ตกลง. ตอนนี้เราได้สรุปแบตเตอรี่แล้วมาดูวิธีสร้างแท่นชาร์จสำหรับพวงกุญแจของเรา

ขั้นตอนที่ 9: การวางส่วนประกอบทั้งหมด

การวางส่วนประกอบทั้งหมด
การวางส่วนประกอบทั้งหมด
การวางส่วนประกอบทั้งหมด
การวางส่วนประกอบทั้งหมด

พวงกุญแจของเราใกล้เสร็จแล้ว!

เหลือแต่ทำพวงกุญแจและใส่ส่วนประกอบทั้งหมดไว้ข้างใน

แผนภาพวงจรได้รับข้างต้น ตรวจสอบให้แน่ใจว่าคุณวางแผนว่าส่วนประกอบของคุณจะเข้ากันได้อย่างไร

คุณอาจสังเกตเห็นตัวเก็บประจุในแผนภาพวงจร จำเป็นสำหรับการขจัดความผันผวนของแรงดันไฟฟ้าในวงจร เนื่องจาก ESP8266 มีความไวต่อการเปลี่ยนแปลงของแรงดันไฟฟ้า

คุณสามารถใช้ขั้วต่อ JST เพื่อเชื่อมต่อแบตเตอรี่กับวงจรของคุณ เนื่องจากจะทำให้เปลี่ยนแบตเตอรี่ได้ง่ายในอนาคต

ฉันใช้หมุดส่วนหัวตัวเมียที่บัดกรีบน PCB เพื่อเชื่อมต่อ ESP-01 ง่ายต่อการถอดและใส่ ESP-01 เข้ากับวงจร

ตรวจสอบให้แน่ใจว่าวงจรของคุณเล็กที่สุด!

ขั้นตอนที่ 10: การเตรียมฝาครอบด้านนอกสำหรับวางวงจรพวงกุญแจและแบตเตอรี่

การเตรียมฝาครอบด้านนอกสำหรับวางวงจรพวงกุญแจและแบตเตอรี่
การเตรียมฝาครอบด้านนอกสำหรับวางวงจรพวงกุญแจและแบตเตอรี่
การเตรียมฝาครอบด้านนอกสำหรับวางวงจรพวงกุญแจและแบตเตอรี่
การเตรียมฝาครอบด้านนอกสำหรับวางวงจรพวงกุญแจและแบตเตอรี่

นี่คือที่ที่ฉันต้องการให้พวกคุณคิดไอเดียต่าง ๆ สำหรับพวงกุญแจ

ฉันกำลังใช้กระดาษแข็งสำหรับทำลูกบาศก์ภายในซึ่งวางแบตเตอรี่และวงจรไว้ ค่อนข้างเทอะทะ แต่พกใส่กระเป๋าได้พอดี

ระดมสมองและคิดไอเดียสุดเจ๋งสำหรับพวงกุญแจ!

ขั้นตอนที่ 11: เสร็จสิ้น

จบ!
จบ!

ยินดีด้วย! คุณได้สร้างพวงกุญแจ IoT แล้ว!

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

จนแล้วสร้างต่อ ทำลายต่อ สร้างใหม่ต่อไป!

สมัครสมาชิกฉันเพื่อรับการแจ้งเตือนเกี่ยวกับคำแนะนำต่อไปของฉัน

คำถามใด ๆ โปรดโพสต์ไว้ในส่วนความคิดเห็น พบกันใหม่ในคำแนะนำต่อไป

แนะนำ: