สารบัญ:

3 วิธีง่ายๆ ในการเขียนโปรแกรมโมดูล ESP8266 12X: 5 ขั้นตอน (พร้อมรูปภาพ)
3 วิธีง่ายๆ ในการเขียนโปรแกรมโมดูล ESP8266 12X: 5 ขั้นตอน (พร้อมรูปภาพ)

วีดีโอ: 3 วิธีง่ายๆ ในการเขียนโปรแกรมโมดูล ESP8266 12X: 5 ขั้นตอน (พร้อมรูปภาพ)

วีดีโอ: 3 วิธีง่ายๆ ในการเขียนโปรแกรมโมดูล ESP8266 12X: 5 ขั้นตอน (พร้อมรูปภาพ)
วีดีโอ: เครื่องเขย่าเลือด ชั่งน้ำหนักอัตโนมัติควบคุมด้วย Arduino 2024, พฤศจิกายน
Anonim
3 วิธีง่ายๆ ในการเขียนโปรแกรมโมดูล ESP8266 12X
3 วิธีง่ายๆ ในการเขียนโปรแกรมโมดูล ESP8266 12X

หากคุณไม่คุ้นเคยกับไมโครคอนโทรลเลอร์ ESP8266 ฉันรู้สึกว่าคุณพลาดไปแล้วจริงๆ! สิ่งเหล่านี้น่าเหลือเชื่อ: ราคาถูก ทรงพลัง และเหนือสิ่งอื่นใดคือมี WiFi ในตัว! ESP8266 เริ่มต้นการเดินทางด้วยการเพิ่ม WiFi บนบอร์ดสำหรับบอร์ด Arduino แบบดั้งเดิม แต่หลังจากนั้นไม่นาน ชุมชนก็ได้ตระหนักถึงพลังของมันและเพิ่มการสนับสนุน เพื่อให้สามารถเขียนโปรแกรมกับ Arduino IDE ได้โดยตรง

ทุกวันนี้ หากคุณต้องการใช้ ESP8266 สำหรับโปรเจ็กต์ของคุณ ฉันขอแนะนำให้ใช้บอร์ดพัฒนา เช่น Wemos D1 Mini* (ราคาส่ง $2.50 !!) หรือ Adafruit Feather Huzzah บอร์ดเหล่านี้มีหมุดที่ใช้งานได้ทั้งหมด ซึ่งสามารถตั้งโปรแกรมได้อย่างง่ายดายผ่านตัวเชื่อมต่อ micro USB และมีตัวควบคุม 3.3V ในตัว แต่ถ้าคุณต้องการใช้ ESP8266 ในโครงการที่มี PCB แบบกำหนดเองล่ะ วิธีที่ง่ายที่สุดคือการใช้โมดูล ESP12 และในคำแนะนำนี้ ฉันจะแสดงวิธีการเขียนโปรแกรมง่ายๆ สองสามวิธีให้คุณดู* = ลิงก์พันธมิตร

ขั้นตอนที่ 1: ดูวิดีโอ

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

ขั้นตอนที่ 2: ขั้นตอนเบื้องต้น: การตั้งค่าสำหรับการเขียนโปรแกรม ESP8266

Image
Image

หากคุณไม่เคยใช้ ESP8266 หรือ Arduino มาก่อน เราจะต้องตั้งค่าซอฟต์แวร์เล็กน้อย ฉันมีวิดีโอเฉพาะสำหรับสิ่งนี้ มีความยาวเพียง 5 นาทีและผ่านทุกสิ่งที่คุณต้องการในการตั้งค่า

หากวิดีโอไม่ใช่สิ่งที่คุณต้องการจริงๆ ลองดูบทที่ 2 ของ IoT Class ที่ยอดเยี่ยมของ Becky ซึ่งจะครอบคลุมทุกสิ่งที่คุณต้องการเช่นกัน

ก่อนที่คุณจะย้ายไปยังส่วนถัดไป คุณควรจะสามารถอัปโหลดภาพร่างง่ายๆ ไปยัง ESP8266 ได้ (เช่น ตัวอย่างการกะพริบตาที่กล่าวถึงทั้งในวิดีโอและบทเรียนของ Becky)

ขั้นตอนที่ 3: วิธีที่ 1: "กบ" ปักหมุดโปรแกรมเมอร์

วิธีที่ 1
วิธีที่ 1

นี่อาจเป็นวิธีที่ง่ายที่สุดในการเขียนโปรแกรมโมดูล ESP12 โดยพื้นฐานแล้วคุณเพียงแค่เปิดโมดูลลงในบอร์ดแล้วมันก็ทำงานเหมือนกับหนึ่งในบอร์ดพัฒนาที่กล่าวถึงก่อนหน้านี้ ฉันเลือกบอร์ด Wemos D1 Mini จากเมนูดร็อปดาวน์เมื่อตั้งโปรแกรม ข้อเสียของวิธีนี้คือ:

  • โปรแกรมเมอร์มีราคาแพงเล็กน้อยหากคุณสร้างบอร์ดเพียงไม่กี่บอร์ด
  • บอร์ดสามารถตั้งโปรแกรมได้ด้วยวิธีนี้เท่านั้นก่อนที่จะบัดกรีบน PCB. ของคุณ

อันที่ฉันซื้อมาจาก Aliexpress แต่ฉันเชื่อว่าผู้ออกแบบดั้งเดิมคือผู้ใช้ของ Tindie ชื่อ Fred ตอนนั้นขายหมดแล้ว เลยลงเอยที่ Aliexpress แต่เดี๋ยวจะลิงค์ให้ทั้งคู่

  • Aliexpress Pop-in ESP โมดูลโปรแกรมเมอร์*
  • Fred's Frog Pin โปรแกรมเมอร์โมดูล ESP

* = ลิงค์พันธมิตร

ขั้นตอนที่ 4: วิธีที่ 2: การใช้ USB เป็น Serial Converter โดยทั่วไป

วิธีที่ 2: การใช้ USB เป็น Serial Converter โดยทั่วไป
วิธีที่ 2: การใช้ USB เป็น Serial Converter โดยทั่วไป
วิธีที่ 2: การใช้ USB เป็น Serial Converter โดยทั่วไป
วิธีที่ 2: การใช้ USB เป็น Serial Converter โดยทั่วไป
วิธีที่ 2: การใช้ USB เป็น Serial Converter โดยทั่วไป
วิธีที่ 2: การใช้ USB เป็น Serial Converter โดยทั่วไป

สำหรับวิธีถัดไป เราจะนำโมดูล ESP เข้าสู่โหมดการเขียนโปรแกรมด้วยตนเอง จากนั้นใช้ตัวแปลง USB เป็นซีเรียลใดๆ ก็ตามเพื่อตั้งโปรแกรม ESP8266 แม้แต่ PL2303 อันหนึ่ง* ที่มีราคา 50c ส่งงาน!

ดำเนินการตามปกติ:

ก่อนที่เราจะเริ่มต้นเขียนโปรแกรม เราต้องดูก่อนว่าส่วนประกอบภายนอกใดบ้างที่ ESP8266 จำเป็นต้องใช้ สำหรับการใช้งานปกติ โมดูล ESP-12 ต้องการสิ่งต่อไปนี้

  • EN, RST และ GPIO 0 ต้องดึงให้สูงโดยใช้ตัวต้านทาน 10K
  • ต้องดึง GPIO 15 ไปที่กราวด์โดยใช้ตัวต้านทาน 10K
  • แหล่งจ่ายไฟ 3.3V ที่มีกระแสไฟฟ้าประมาณ 250mA (แนะนำให้ใช้ฝาปิดระหว่าง VCC และ GND)

ด้วยการกำหนดค่าข้างต้น ESP8266 เมื่อเปิดเครื่องจะอยู่ในโหมดการทำงานปกติ ดังนั้นจะเรียกใช้ภาพร่างที่คุณตั้งโปรแกรมไว้ คุณสามารถซื้อบอร์ดฝ่าวงล้อมสำหรับโมดูล ESP-12* ซึ่งมีประโยชน์มากสำหรับการทดสอบการตั้งค่าต่างๆ โมดูลมีการตั้งค่าตัวต้านทานสำหรับ EN และ GPIO 15 พิน ดังนั้นคุณจะต้องเพิ่มตัวต้านทานแบบดึงขึ้นสำหรับ RST และ GPIO 0

เปิดใช้งานโหมดการเขียนโปรแกรม:

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

  • กดปุ่ม GPIO 0 ค้างไว้
  • กดปุ่ม RST
  • จากนั้นปล่อยมือทั้งสองปุ่ม

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

การเขียนโปรแกรมด้วยอะแดปเตอร์ USB เป็นซีเรียล:

การเปิดใช้งานโหมดโปรแกรมเป็นเพียงครึ่งเดียว ตอนนี้เราจำเป็นต้องตั้งโปรแกรมโมดูลจริงๆ อะแดปเตอร์ USB เป็นซีเรียลส่วนใหญ่ไม่สามารถจ่ายกระแสไฟให้กับ ESP8266 ได้เพียงพอ ดังนั้นจึงแนะนำให้คุณจ่ายไฟให้กับ ESP8266 โดยใช้แหล่งจ่ายกระแสไฟ 3.3V ภายนอก

ในการต่อโปรแกรมเมอร์คุณต้องเชื่อมต่อพินต่อไปนี้ (แสดงในภาพด้านบนด้วย):

  • เชื่อมต่อ TX ของโปรแกรมเมอร์กับ RX ของ ESP8266 (ไม่ใช่การพิมพ์ผิด การเชื่อมต่อจะกลับกัน)
  • เชื่อมต่อ RX ของโปรแกรมเมอร์กับ TX ของ ESP8266
  • เชื่อมต่อกราวด์ของโปรแกรมเมอร์กับกราวด์ของ ESP8266

ในการอัปโหลดภาพสเก็ตช์ของคุณ ให้ทำตามขั้นตอนต่อไปนี้:

  • เลือกหมายเลขพอร์ตของ Serial adapter ของคุณ (Tools->Port)
  • เปิดใช้งานโหมดการเขียนโปรแกรมบน ESP8266 ตามที่อธิบายไว้ข้างต้น
  • คลิกปุ่มอัปโหลด (หากล้มเหลวให้ตรวจสอบการเดินสายของคุณอีกครั้งและลองวางบอร์ดของคุณเข้าสู่โหมดการเขียนโปรแกรมอีกครั้ง)
  • คลิกปุ่มรีเซ็ตเมื่อการอัปโหลดเสร็จสิ้น

นี่คือการตั้งค่าบอร์ดที่ฉันใช้เมื่ออัปโหลดโดยใช้วิธีนี้:

  • บอร์ด: โมดูล ESP8266 ทั่วไป
  • โหมดแฟลช: DIO
  • ขนาดแฟลช: 4M (3M Spiffs)
  • รีเซ็ตวิธีการ: ck
  • ความถี่แฟลช: 40MHz
  • ความเร็วในการอัพโหลด: 115200

สิ่งสุดท้ายที่ควรทราบคือคำจำกัดความ LED_BUILIN สำหรับโมดูล ESP8266 ทั่วไปชี้ไปที่พิน 1 แต่ LED ในตัวของโมดูล ESP12 เชื่อมต่อกับพิน 2 (มันทำงานต่ำเช่นเดียวกับ FYI) ดังนั้น หากคุณกำลังทดสอบร่างการกะพริบตา คุณจะต้องใช้หมายเลข 2 แทน LED_BUILTIN

* = ลิงค์พันธมิตร

ขั้นตอนที่ 5: วิธีที่ 3: การรีเซ็ตโปรแกรมเมอร์อัตโนมัติโดยใช้ NodeMCU

วิธีที่ 3: การรีเซ็ตโปรแกรมเมอร์อัตโนมัติโดยใช้ NodeMCU
วิธีที่ 3: การรีเซ็ตโปรแกรมเมอร์อัตโนมัติโดยใช้ NodeMCU
วิธีที่ 3: การรีเซ็ตโปรแกรมเมอร์อัตโนมัติโดยใช้ NodeMCU
วิธีที่ 3: การรีเซ็ตโปรแกรมเมอร์อัตโนมัติโดยใช้ NodeMCU

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

ชิป USB กับซีเรียลส่วนใหญ่มีพินเพิ่มเติมที่ส่งสัญญาณออกในขั้นตอนต่างๆ ของกระบวนการอัปโหลด และด้วยการใช้วงจรภายนอกบางส่วน เป็นไปได้ที่จะทริกเกอร์ GPIO 0 ที่ต่ำและจำเป็นต้องรีเซ็ต RuiMoteiro มีคำแนะนำในหัวข้อนี้โดยใช้บอร์ด FTDI และ ESP8266

แต่ฉันคิดว่ามีแนวทางที่ง่ายกว่านี้ และสิ่งที่ดียิ่งกว่าคือมีโอกาสดีที่คุณมีทุกสิ่งที่ต้องทำอยู่แล้ว! คุณสามารถใช้บอร์ดพัฒนา ESP8266 เช่น NodeMCU เป็นโปรแกรมเมอร์*

ข้อดีของการใช้ NodeMCU คืออะไร?

ข้อดีหลักของการใช้ NodeMCU เป็นโปรแกรมเมอร์มีดังต่อไปนี้:

  • คุณสามารถจ่ายไฟให้กับ ESP8266 ได้โดยตรงจากพิน 3V ของ NodeMCU
  • จะจัดการการรีเซ็ตอัตโนมัติ/เปิดใช้งานโหมดการเขียนโปรแกรม
  • ราคาส่งประมาณ 2.50 เหรียญสหรัฐ (และสามารถใช้เป็นบอร์ด dev ปกติได้เมื่อไม่ได้เขียนโปรแกรมอื่น ๆ !)

คุณสามารถใช้แนวทางเดียวกันนี้กับบอร์ด dev ใด ๆ ก็ได้ที่ชิปเปิดใช้งานพินของ ESP8266

มันทำงานอย่างไร?

ฉันได้รับแนวคิดนี้จากผู้ใช้ YouTube ชื่อ Mika Kurkela ในวิดีโอของเขา เขาใช้ NodeMCU เพื่อตั้งโปรแกรมโมดูล ESP-01 แต่เราสามารถใช้แนวคิดเดียวกันนี้กับโมดูล ESP12 ได้

โดยทั่วไป เราจะปิดการใช้งาน ESP8266 บน NodeMCU โดยบังคับให้พิน EN ต่ำ ซึ่งจะป้องกันไม่ให้โมดูล ESP8266 บน NodeMCU ทำการบูท จากนั้นเราจะเชื่อมต่อพินที่เกี่ยวข้องทั้งหมดของบอร์ด NodeMCU กับ ESP8266 ภายนอกของเรา

การเดินสายไฟ

ในการต่อสาย คุณจะต้องใช้การเดินสาย ESP8266 มาตรฐานดังที่แสดงในขั้นตอนก่อนหน้า จากนั้นจึงเพิ่มการเชื่อมต่อต่อไปนี้ (แสดงในภาพด้านบนด้วย):

  • เชื่อมต่อ 3V ของ NodeMCU กับ VCC ของ ESP8266
  • เชื่อมต่อ GND กับ GND
  • เชื่อมต่อ TX ของ NodeMCU กับ TX ของ ESP8266 (ซึ่งต่างจากขั้นตอนก่อนหน้า)
  • เชื่อมต่อ RX ของ NodeMCU กับ RX ของ ESP8266
  • เชื่อมต่อ D3 ของ NodeMCU กับ GPIO 0 ของ ESP8266 (D3 คือ GPIO 0 ของ ESP8266)
  • เชื่อมต่อ RST ของ NodeMCU กับ RST ของ ESP8266
  • เชื่อมต่อ EN ของ NodeMCU กับ GND

กำลังอัพโหลดภาพร่าง

เมื่อคุณต่อสาย ESP8266 แล้ว คุณต้องทำสิ่งต่อไปนี้:

  • เลือกหมายเลขพอร์ตของ NodeMCU (เครื่องมือ -> พอร์ต)
  • เลือกประเภทบอร์ด "NodeMCU 1.0 (โมดูล ESP12-E)"
  • คลิกอัพโหลด

และนั่นแหล่ะ! มันจะเปิดใช้งานโหมดการเขียนโปรแกรมโดยอัตโนมัติและจะรีเซ็ตโดยอัตโนมัติเมื่ออัปโหลดเสร็จแล้ว ดังนั้นมันจึงจะเริ่มดำเนินการร่าง

ใช้สิ่งนี้ในการออกแบบบอร์ดของคุณ

เพื่อที่จะใช้วิธีนี้ในการออกแบบบอร์ดของคุณ คุณเพียงแค่แยกหมุดต่อไปนี้ออก:

  • พื้น
  • GPIO 0
  • VCC
  • TX
  • RX
  • RST

และเมื่อคุณต้องการตั้งโปรแกรมบอร์ดของคุณ ให้วางสายตามด้านบน

หวังว่าคุณจะพบว่าคำแนะนำนี้มีประโยชน์ หากคุณมีคำถามใด ๆ โปรดถาม!

* = ลิงค์พันธมิตร

แนะนำ: