สารบัญ:

Wireless Serial (UART) สำหรับ Arduino/STM32/ฯลฯ : 3 ขั้นตอน (พร้อมรูปภาพ)
Wireless Serial (UART) สำหรับ Arduino/STM32/ฯลฯ : 3 ขั้นตอน (พร้อมรูปภาพ)

วีดีโอ: Wireless Serial (UART) สำหรับ Arduino/STM32/ฯลฯ : 3 ขั้นตอน (พร้อมรูปภาพ)

วีดีโอ: Wireless Serial (UART) สำหรับ Arduino/STM32/ฯลฯ : 3 ขั้นตอน (พร้อมรูปภาพ)
วีดีโอ: Serial Communication In PIC Microcontroller | UART in PIC 2024, กรกฎาคม
Anonim
Wireless Serial (UART) สำหรับ Arduino/STM32/ฯลฯ
Wireless Serial (UART) สำหรับ Arduino/STM32/ฯลฯ
Wireless Serial (UART) สำหรับ Arduino/STM32/ฯลฯ
Wireless Serial (UART) สำหรับ Arduino/STM32/ฯลฯ

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

ดังนั้นฉันจึงสร้างบอร์ด UART-WiFi นี้โดยใช้ ESP8266-01 ซึ่งมีราคาถูกมากในทุกวันนี้ บอร์ดมีขนาดเล็ก คุณสามารถเสียบเข้ากับเขียงหั่นขนม ต่อไฟ RX, TX และกราวด์ และมันจะส่งทุกอย่างที่ได้รับจาก UART ไปยังคอมพิวเตอร์ของคุณผ่าน WiFi และในทางกลับกัน

คุณสมบัติ:

  • baudrates สูงถึง 115200 (ในทางทฤษฎีถึง 921600 แต่สิ่งนี้ไม่ได้ทดสอบ)
  • รับ/ส่งข้อมูลจาก UART และส่ง/รับข้อมูลผ่าน WiFi ไปยังคอมพิวเตอร์ของคุณโดยตรงโดยใช้พอร์ต 23 (Telnet)
  • ส่วนประกอบ 18 ชิ้น ค่าชิ้นส่วนประมาณ 3.50 เหรียญสหรัฐ
  • PCB สองด้าน 20 x 45 มม. รองรับเขียงหั่นขนม
  • พิน RX ที่ทนทาน 5 V
  • อินพุตแรงดันไฟฟ้าจาก 12 V ถึง 3.3 V กระแสดึงโดยเฉลี่ยประมาณ 80 mA

ฉันใช้บอร์ดเหล่านี้มาประมาณครึ่งปีแล้ว และพบว่าบอร์ดเหล่านี้มีประโยชน์มาก ฉันยังชอบมันมากกว่าบริดจ์ USB-UART เพราะสำหรับบอร์ดของฉัน ฉันเพียงแค่เสียบหนึ่งในนั้นเข้ากับเขียงหั่นขนม และฉันไม่จำเป็นต้องกังวลเกี่ยวกับการเดินสายเคเบิลทั่วทั้งโต๊ะทำงานของฉัน คุณไม่ได้ใช้ฮาร์ดแวร์อื่นใด ไม่มีพอร์ต USB ฟรี และบอร์ดเหล่านี้ให้การแยกกระแสไฟฟ้าจากคอมพิวเตอร์ของคุณอย่างสมบูรณ์ ซึ่งเป็นการป้องกันความปลอดภัยที่ดีและคุณไม่จำเป็นต้องกังวลเกี่ยวกับศักยภาพของกราวด์ที่แตกต่างกัน

ขั้นตอนที่ 1: มันทำงานอย่างไร

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

เมื่อจ่ายไฟให้กับโมดูลแล้ว โมดูลจะเริ่มพยายามเชื่อมต่อกับ WiFi ที่กำหนดไว้ล่วงหน้า ในระหว่างเฟสนั้น ไฟ LED สีเหลืองจะกะพริบ เมื่อเชื่อมต่อแล้ว ไฟ LED สีเหลืองจะติดสว่าง หลังจากนั้น โมดูลกำลังรอการเชื่อมต่อจากไคลเอ็นต์ Telnet (ดูขั้นตอนถัดไป) และไฟ LED สีเขียวจะกะพริบ หลังจากสร้างการเชื่อมต่อสำเร็จแล้ว เทอร์มินัล Telnet จะแสดงข้อความแจ้งให้คุณทราบ โดยถามเกี่ยวกับ Baudrate ที่ต้องการ คุณป้อน baudrate ลงในเทอร์มินัลแล้วเสร็จ! ตอนนี้สิ่งที่คุณพิมพ์ลงในเทอร์มินัลจะส่งผ่าน WiFi จากนั้นจะส่งออกจากพิน TX ของ ESP8266 ในทำนองเดียวกัน สิ่งที่ปรากฏบนพิน RX จะถูกส่งไปยังเทอร์มินัล โดยทั่วไป คุณไม่สามารถบอกความแตกต่างระหว่างคอนโซลซีเรียลและเทลเน็ตได้

ไฟ LED:

  • สีเหลือง (ซ้ายสุด) - สถานะ Wifi กะพริบ - พยายามเชื่อมต่อ ติดสว่าง - เชื่อมต่อแล้ว
  • สีเขียว (ที่สองจากซ้าย) - สถานะ Telnet กะพริบ - กำลังรอการเชื่อมต่อ สีเขียว - เชื่อมต่อแล้ว
  • สีน้ำเงิน (สองอันขวาสุด) - RX และ TX

ขั้นตอนที่ 2: วิธีการตั้งค่า

วิธีการตั้งค่า
วิธีการตั้งค่า
วิธีการตั้งค่า
วิธีการตั้งค่า
วิธีการตั้งค่า
วิธีการตั้งค่า
วิธีการตั้งค่า
วิธีการตั้งค่า

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

ความซับซ้อนเพียงเล็กน้อยคือคุณต้องมีตัวระบุสำหรับอุปกรณ์ Telnet ทุกเครื่อง (คล้ายกับพอร์ตอนุกรมทุกพอร์ตที่มีตัวเลข) ในโครงการของฉัน ฉันใช้ IP แบบคงที่ โดยปกติ เมื่ออุปกรณ์เชื่อมต่อกับ WiFi อุปกรณ์จะได้รับที่อยู่ IP จากเซิร์ฟเวอร์ DHCP โดยอัตโนมัติ สิ่งนี้เรียกว่าการกำหนดที่อยู่ IP แบบไดนามิก แต่ปัญหาที่นี่คือที่อยู่ IP อาจเปลี่ยนแปลงได้ ดังนั้นฉันจึงตั้งโปรแกรมบอร์ดในลักษณะที่จะได้รับที่อยู่ IP ที่กำหนดไว้ล่วงหน้าเสมอ ในกรณีของฉัน 192.168.2.20x โดยที่ x คือหมายเลขบอร์ด สิ่งนี้เรียกว่าการกำหนดที่อยู่ IP แบบคงที่ จากนั้นคุณเพียงแค่เชื่อมต่อคอนโซล Telnet กับ 192.168.2.20x:23 และคุณพร้อมที่จะไป

ในฐานะคอนโซล คุณสามารถใช้แอปต่างๆ ได้หลากหลาย ทั้งสองแอปที่รู้จักกันดีที่สุดน่าจะเป็น PuTTY หรือ YAT (แต่เป็นเทอร์มินัลอื่น) ฉันใช้อันหลังและในส่วนรูปภาพคุณสามารถดูวิธีการตั้งค่าได้ - คุณเพียงแค่ต้องรู้ที่อยู่ IP แบบคงที่ที่กล่าวถึงก่อนหน้านี้

เฟิร์มแวร์

เฟิร์มแวร์เขียนใน Arduino IDE และคุณสามารถค้นหาได้ใน GitHub ของฉัน หากคุณต้องการตั้งโปรแกรม ESP8266 ของคุณ คุณต้องดูที่ส่วนหัวและแก้ไขตัวแปรบางตัวที่นั่น กล่าวคือ:

  • ssid - ชื่อของ WiFi ที่คุณต้องการให้บอร์ดเชื่อมต่อ
  • pass - รหัสผ่านสำหรับ WiFi นั้น
  • ip - IP แบบคงที่ที่คุณต้องการให้บอร์ดมี เลือกบางอย่างนอกกลุ่ม DHCP (หรือเพียงแค่เลือกบางอย่างระหว่าง 200 - 250 ซึ่งมักจะฟรี)
  • เกตเวย์ - IP ของเราเตอร์ของคุณ
  • ซับเน็ต

คุณสามารถรับข้อมูลสองรายการสุดท้ายจากบรรทัดคำสั่ง โดยกด Win + R พิมพ์ "cmd" แล้วพิมพ์ "ipconfig" ดูภาพ

แน่นอนคุณต้องการ Arduino IDE, esp8266 toolchain เป็นต้น แต่มีบทช่วยสอนอื่น ๆ อีกมากมายเกี่ยวกับเรื่องนี้

กระดาน

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

พลัง

คุณต้องให้อำนาจกับคณะกรรมการ คุณสามารถจ่ายไฟได้โดยตรงด้วย 3.3 V (จัมเปอร์ JP1 ในตำแหน่ง 3.3 V) หรือป้อนแรงดันไฟฟ้าผ่านตัวควบคุม 3.3 V (จัมเปอร์ในตำแหน่งอื่น) ตัวควบคุมสามารถรับแรงดันไฟฟ้าได้สูงถึง 12 V ตัวเก็บประจุทั้งหมดถูกรวมเข้ากับบอร์ดแล้ว

ขั้นตอนที่ 3: บทสรุป

บทสรุป
บทสรุป

อย่างที่ฉันพูดไปก่อนหน้านี้ ฉันพบว่าบอร์ดเหล่านี้มีประโยชน์มากสำหรับการสร้างต้นแบบ ไม่เพียงแต่กับ Arduino เท่านั้น แต่กับ MCU โดยทั่วไปด้วย และฉันใช้มันมาประมาณครึ่งปีแล้วและฉันก็ไม่มีปัญหากับพวกเขา

ซอร์สโค้ด ไฟล์ Eagle และรูปภาพบางส่วนสามารถพบได้ใน GitHub ของฉันหรือในไฟล์ zip ด้านล่าง แต่ฉันแนะนำ GitHub เนื่องจากอาจมีรุ่นใหม่กว่า

หากคุณมีคำถาม ข้อคิดเห็น หรือข้อเสนอแนะ โปรดทิ้งคำถามไว้ด้านล่าง

แนะนำ: