สารบัญ:

ESP8266 ESP-12E UART Wireless WIFI Shield TTL Converter ไม่ซับซ้อน: 5 ขั้นตอน
ESP8266 ESP-12E UART Wireless WIFI Shield TTL Converter ไม่ซับซ้อน: 5 ขั้นตอน

วีดีโอ: ESP8266 ESP-12E UART Wireless WIFI Shield TTL Converter ไม่ซับซ้อน: 5 ขั้นตอน

วีดีโอ: ESP8266 ESP-12E UART Wireless WIFI Shield TTL Converter ไม่ซับซ้อน: 5 ขั้นตอน
วีดีโอ: Review PZEM-004T with Arduino ESP32 ESP8266 Python & Raspberry Pi : PDAControl 2024, มิถุนายน
Anonim
ESP8266 ESP-12E UART Wireless WIFI Shield TTL Converter ไม่ซับซ้อน
ESP8266 ESP-12E UART Wireless WIFI Shield TTL Converter ไม่ซับซ้อน

คู่มือนี้จัดทำขึ้นเพื่อช่วยเหลือผู้ที่ซื้อ ESP8266 ESP-12E UART Wireless WIFI Shield TTL Converter และไม่ทราบวิธีใช้งานกับ Arduino

ในขั้นต้น บทช่วยสอนนี้เขียนเป็นภาษาโปรตุเกสที่นี่ในบราซิล ฉันพยายามเขียนเป็นภาษาอังกฤษให้ดีที่สุด ดังนั้นขออภัยในความผิดพลาดที่อาจเขียนเป็นลายลักษณ์อักษร

คำสั่งสอนนี้แบ่งออกเป็นดังนี้:

ขั้นตอนที่ 1: ทำความรู้จักกับ ESP8266 ESP-12E UART Wireless WIFI Shield TTL Converter สำหรับ Arduino

ขั้นตอนที่ 2: อัปเกรดเฟิร์มแวร์บน ESP8266 ESP-12E UART Wireless WIFI Shield TTL Converter สำหรับ Arduino

ขั้นตอนที่ 3: Shiald, Shield, More and Moer? มันสำคัญ?

ขั้นตอนที่ 4: Shield Moer - การแก้ปัญหา RX / TX Serial Communication

ขั้นตอนที่ 5: เว็บเซิร์ฟเวอร์ที่มี ESP8266 ESP-12E UART Wireless WIFI Shield TTL Converter สำหรับ Arduino

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

ขั้นตอนที่ 1: ทำความรู้จักกับ ESP8266 ESP-12E UART Wireless WIFI Shield TTL Converter สำหรับ Arduino

ESP8266 ESP-12E UART Wireless WIFI Shield TTL Converter (Shield WiFi ESP8266) ทำให้ง่ายต่อการเชื่อมต่อ Arduino กับเครือข่าย WiFi ผ่าน ESP8266 เมื่อใช้งาน ไม่จำเป็นต้องติดตั้งวงจรที่มีส่วนประกอบและสายไฟหลายอย่างเพื่อเชื่อมต่อ ESP8266 กับ Arduino อีกต่อไป เพียงต่อบอร์ดเข้ากับ Arduino วางตำแหน่งเส้นทางสวิตช์ DIP ตามโหมดการทำงานของโล่ และตั้งโปรแกรม Arduino ให้ เชื่อมต่อกับเครือข่าย WiFi นอกจากนี้ บอร์ดสามารถใช้งานได้โดยไม่ต้องใช้ Arduino เนื่องจากมีพินเอาท์ทั้งหมดของ ESP-12E

ในโล่มีข้อมูลที่ถูกสร้างขึ้นโดยบุคคลที่ชื่อ WangTongze และผู้ที่เป็นเจ้าของสิทธิ์คือ elecshop.ml ในขั้นต้น ผู้สร้างโล่พยายามระดมทุนสำหรับโครงการของเขาผ่าน Indiegogo (ไซต์ระดมทุนรวม) แต่เขาไม่ประสบความสำเร็จในการระดมเงิน

คุณสมบัติของ ESP8266 รุ่น ESP-12E:

- สถาปัตยกรรม RISC 32 บิต- โปรเซสเซอร์สามารถทำงานได้ที่ 80MHz / 160MHz- หน่วยความจำแฟลช 32MB- 64kB สำหรับคำแนะนำ- 96kB สำหรับข้อมูล- WiFi ดั้งเดิมมาตรฐาน 802.11b / g / n- ทำงานในโหมด AP, Station หรือ AP + Station- มี 11 พินดิจิตอล- มี 1 พินอะนาล็อกที่มีความละเอียด 10 บิต- พินดิจิตอลยกเว้น D0 มีการขัดจังหวะ, PWM, I2C และสายหนึ่งเส้น- สามารถตั้งโปรแกรมผ่าน USB หรือ WiFi (OTA)- เข้ากันได้กับ Arduino IDE- เข้ากันได้กับโมดูลและเซ็นเซอร์ที่ใช้ ใน Arduino

ด้านล่างนี้คุณสามารถอ่านคุณสมบัติหลักของเกราะนี้:

- ขนาดของ Arduino Uno R3 และการปักหมุดเข้ากันได้กับ Arduino Uno, Mega 2560, Leonardo และอนุพันธ์- รุ่นรองของ Arduino (เช่น Nano และ Pro Mini) เข้ากันได้ แต่การเชื่อมต่อจะต้องทำผ่านจัมเปอร์- แรงดันไฟฟ้า Arduino (5V) ใช้สำหรับจ่ายไฟให้กับชิลด์- มีตัวควบคุมแรงดันไฟฟ้า AMS1117 3.3V ดังนั้นแรงดันไฟฟ้า 5V ที่จ่ายโดย Arduino จะลดลงเพื่อให้พลังงานแก่ชิลด์โดยไม่ต้องใช้พลังงานจากภายนอก- มีตัวแปลงระดับลอจิกในตัว ดังนั้นระดับ Arduino TTL (5V) จึงไม่ทำลาย ESP8266 ที่ทำงานด้วยระดับ TTL 3.3V- มีสวิตช์ DIP 4 ทางที่ทำหน้าที่เปลี่ยนโหมดการทำงานของบอร์ด- โหมดการทำงานที่มีให้เลือก: WiFi Shield for Arduino / ส่งคำสั่ง AT ผ่าน Arduino / อัพเกรดเฟิร์มแวร์ผ่าน USB Serial external / ตัวแปลงแบบสแตนด์อโลน - มีไฟ LED แสดงสถานะ (PWR / DFU / AP / STA) - เนื่องจากอยู่ในรูปแบบชิลด์จึงอนุญาตให้ใส่ชิลด์และโมดูลอื่น ๆ.- มีปุ่ม ESP-RST เพื่อรีเซ็ต ESP8266.- Th e ESP8266 พิน ADC มีจำหน่ายในสองรูปแบบบนบอร์ด แบบแรกบนพินที่มีช่วงการอ่าน 0 ถึง 1V และรูปแบบที่สองในช่วง 0 ถึง 3.3V

ในภาพส่วนหลักของเกราะถูกเน้น:

ภาพ
ภาพ

A (DIGITAL PINS): ลำดับของพินที่ Arduino ใช้

B (ESP8266 PINS): ESP8266-12E และหมุดตามลำดับ ที่ด้านหลังของจานมีการตั้งชื่อของหมุด

C (EXTERNAL SERIAL USB ADAPTER CONNECTION): ลำดับพินที่ใช้เชื่อมต่ออะแดปเตอร์ Serial USB ภายนอกสำหรับการอัพเดตเฟิร์มแวร์หรือการดีบักของ ESP8266

D (SHIELD MAINTENANCE PINS): ลำดับสามพินที่ระบุว่าเป็นการบำรุงรักษาเท่านั้น และใช้ในการตรวจสอบว่าตัวควบคุมแรงดันไฟฟ้าได้รับและจ่ายแรงดันไฟฟ้าอย่างถูกต้อง ไม่ควรใช้เป็นแหล่งจัดหา

E (DIP SWITCH เพื่อปรับเปลี่ยนโหมดการทำงาน): สวิตช์ DIP สี่ทางเพื่อเปลี่ยนโหมดการทำงาน

CONTACT 1 (P1) และ CONTACT 2 (P2): ใช้เพื่อเชื่อมต่อ RX (แสดงโดย P1) และ TX (แสดงโดย P2) ของ ESP8266 กับพิน Arduino D0 (RX) และ D1 (TX) P1 และ P2 ในตำแหน่ง OFF ปิดใช้งานการเชื่อมต่อ RX จาก ESP8266 ถึง Arduino TX และ TX จาก ESP8266 ถึง Arduino RX

CONTACT 3 (P3) และ CONTACT 4 (P4): ใช้เพื่อเปิดใช้งานและปิดใช้งานโหมดอัปเกรดเฟิร์มแวร์สำหรับ ESP8266 ในการเปิดใช้งานการเขียน / โหลดเฟิร์มแวร์บน ESP8266 P3 และ P4 จะต้องอยู่ในตำแหน่งเปิด เมื่อ P4 อยู่ในตำแหน่งเปิด ไฟ LED DFU จะสว่างขึ้นเพื่อระบุว่า ESP8266 เปิดใช้งานเพื่อรับเฟิร์มแวร์ หากต้องการปิดใช้งานโหมดอัปเดตเฟิร์มแวร์และตั้งค่า ESP8266 ให้ทำงานตามปกติ เพียงตั้งค่า P3 และ P4 เป็น OFF

หมายเหตุ: หน้าสัมผัสทั้ง 4 ตำแหน่งในตำแหน่ง OFF ระบุว่า ESP8266 ทำงานในโหมดปกติถัดจาก Arduino

F (AD8 จาก ESP8266): การกำหนดพินสำหรับ ESP8266 ADC พินทำงานในช่วง 0 ถึง 1V และพินอื่นทำงานในช่วง 0 ถึง 3.3V พินเหล่านี้จะใช้เฉพาะเมื่อใช้ ESP8266 เพียงอย่างเดียว (โหมดสแตนด์อโลน)

G (ESP8266 RESET): ปุ่มที่ใช้รีเซ็ต ESP8266 เมื่อใดก็ตามที่คุณเปลี่ยนตำแหน่งของสวิตช์ DIP คุณต้องกดปุ่ม ESP-RST

H (ANALOG PIN AND POWER SUPPLY): ลำดับของพินที่ Arduino ใช้

โล่นี้มีลักษณะเฉพาะในหน้าสัมผัส P1 และ P2 ของสวิตช์ DIP และลักษณะเฉพาะนี้ อันที่จริงแล้วทำให้เกิดข้อสงสัยอย่างมากในผู้ที่พยายามใช้โล่

ตามผู้สร้างโล่เมื่อเชื่อมต่อกับ Arduino จะต้องใช้เพียง 2 พินเท่านั้น หมุดเหล่านี้จะเป็น D0 และ D1 (RX และ TX ของ Arduino ตามลำดับ) และนอกจากนี้ หน้าสัมผัส P1 และ P2 ของสวิตช์ DIP บนแผงป้องกันจะต้องอยู่ในตำแหน่งเปิดสำหรับการเชื่อมต่อ

ในเอกสารภาษาจีนฉบับเดียวที่ฉันได้รับเกี่ยวกับโล่นี้ ผู้สร้างบอร์ดกล่าวว่า:

P1 และ P2 เป็นตัวเข้ารหัสบิตและใช้เพื่อตรวจสอบว่าอนุกรม ESP8266 เชื่อมต่อกับ Arduino D0 และ D1 หรือไม่

ในส่วนอื่นของเอกสารมีการกล่าวถึง:

บอร์ดขยายนี้ช่วยให้ Arduino Serial ไม่ว่าง โดยเชื่อมต่อ RX จาก ESP8266 ถึง TX จาก Arduino และ TX จาก ESP8266 ไปยัง Arduino RX

หมุด D0 (RX) และ D1 (TX) ของ Arduino สอดคล้องกับการสื่อสารแบบซีเรียล/USB ดั้งเดิม ดังนั้นหมุดเหล่านี้จึงไม่ว่างทุกครั้งที่เราส่งรหัสไปยังบอร์ดหรือใช้จอภาพแบบอนุกรม ดังนั้นหากหน้าสัมผัส P1 และ P2 ของชิลด์อยู่ในตำแหน่งเปิด ESP8266 จะใช้ Arduino D0 และ D1 และจะไม่สามารถส่งรหัสหรือใช้ซีเรียลได้เนื่องจากจะทำให้งานยุ่ง นอกจากนี้ ในการส่งคำสั่ง AT ไปยังชิลด์ จำเป็นต้องเชื่อมต่อ ESP8266 RX กับ Arduino RX และ ESP8266 TX เชื่อมต่อกับ Arduino TX สิ่งนี้จะเกิดขึ้นก็ต่อเมื่อเรากลับการเชื่อมต่อตามที่แสดงในภาพด้านล่าง:

ภาพ
ภาพ

ดูว่าฉันงอหน้าสัมผัส D0 และ D1 ของชิลด์ และเชื่อมต่อ Arduino D0 กับ D1 ของชิลด์ และ D1 ของ Arduino กับ D0 ของชิลด์ เมื่อใช้การเชื่อมต่อในลักษณะนี้ (Arduino ถูกใช้เป็นบริดจ์การเชื่อมต่อ) ฉันสามารถส่งคำสั่ง AT ไปยัง ESP8266 และยืนยันสิ่งที่ฉันจินตนาการได้

รูปแบบการทำงานมาตรฐานของ Shield กำหนดให้มีการโหลดโค้ด (เช่น เว็บเซิร์ฟเวอร์หรือเฟิร์มแวร์) ลงใน Shield และโค้ดอื่นถูกโหลดลงใน Arduino เพื่อส่ง รับ และตีความข้อมูลที่มาจากซีเรียลเนทีฟ รายละเอียดเพิ่มเติมเกี่ยวกับรูปแบบการสื่อสารนี้จะอยู่ในขั้นตอนต่อไป

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

ในที่สุด ชิลด์ก็เสถียรมากและทำให้การประกอบวงจรทำได้ง่ายมาก ฉันทดสอบกับ Arduino Uno R3 และ Mega 2560 R3

ในขั้นตอนต่อไป คุณจะได้เรียนรู้วิธีอัปเกรด / เปลี่ยนเฟิร์มแวร์ตัวป้องกัน

ขั้นตอนที่ 2: อัปเกรดเฟิร์มแวร์บน ESP8266 ESP-12E UART Wireless WIFI Shield TTL Converter สำหรับ Arduino

ในการเชื่อมต่อตัวป้องกันเข้ากับคอมพิวเตอร์ จำเป็นต้องใช้ตัวแปลง USB แบบอนุกรม หากคุณไม่มีตัวแปลง USB แบบอนุกรมทั่วไป คุณสามารถใช้ตัวแปลง Arduino Uno R3 เป็นตัวกลางได้ มีตัวแปลง USB อนุกรมหลายรุ่นในท้องตลาด แต่สำหรับบทช่วยสอนนี้ ฉันใช้ PL2303HX TTL Serial USB Converter Adapter

ในการอัพเกรดเกราะ ใช้:

เครื่องมือดาวน์โหลดแฟลช ESP8266

เฟิร์มแวร์ที่จะใช้คือ:

Ai-Thinker_ESP8266_DOUT_32Mbit_v1.5.4.1-a เฟิร์มแวร์ AT

เมื่อคุณดาวน์โหลดโปรแกรมและเฟิร์มแวร์แล้ว ให้คัดลอกทั้งสองไปที่รูท (ไดรฟ์ C) ของ Windows

Unzip flash_download_tools_v2.4_150924.rar และโฟลเดอร์ FLASH_DOWNLOAD_TOOLS_v2.4_150924 จะถูกสร้างขึ้น

การใช้ตัวแปลง USB อนุกรม Arduino Uno R3 เป็นตัวกลาง:

ขั้นตอนต่อไปคือการเชื่อมต่อตัวป้องกันกับคอมพิวเตอร์ หากคุณไม่มีตัวแปลง usb แบบอนุกรมมาตรฐาน คุณสามารถใช้ Arduino Uno R3 เพื่อเชื่อมชิลด์และคอมพิวเตอร์ได้ นอกจาก Arduino Uno R3 พร้อมสาย USB คุณจะต้อง:

01 - ESP8266 ESP-12E UART Wireless WIFI Shield TTL Converter04 - สายจัมเปอร์ชาย - หญิง

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

void setup() { // ใส่รหัสการตั้งค่าของคุณที่นี่ เพื่อเรียกใช้ครั้งเดียว: } void loop() { // ใส่รหัสหลักของคุณที่นี่ เพื่อเรียกใช้ซ้ำ: }

ภาพ
ภาพ

หมายเหตุ: โปรดระวังเมื่อติดพินชิลด์ 3.3V เข้ากับ Arduino

การใช้ Serial TTL USB Converter Adapter PL2303HX:

คุณจะต้องมีสิ่งต่อไปนี้เพิ่มเติมจาก PL2303HX TTL Serial USB Converter Adapter:

01 - ESP8266 ESP-12E UART Wireless WIFI Shield TTL Converter04 - สายจัมเปอร์ชาย-หญิง

ภาพ
ภาพ

หมายเหตุ: PL2303 มีกำลังไฟ 5V และ 3V3 ใช้พลังงาน 3V3 และไม่สนใจพิน 5V

หลังจากที่คุณสร้างรูปแบบการเชื่อมต่ออย่างใดอย่างหนึ่งข้างต้นแล้ว เพียงเชื่อมต่อสาย USB (กับ Arduino และคอมพิวเตอร์) หรือตัวแปลง USB แบบอนุกรมเข้ากับคอมพิวเตอร์

จากนั้นไปที่ 'แผงควบคุม' ใน Windows 'ตัวจัดการอุปกรณ์' และในหน้าต่างที่เปิดขึ้น ให้ไปที่ 'พอร์ต (COM และ LPT)' คุณสามารถดูอุปกรณ์ที่เชื่อมต่อและหมายเลขพอร์ต COM ที่ได้รับการจัดสรร ในการสาธิต ฉันเชื่อมต่อทั้ง Arduino และตัวแปลง USB แบบอนุกรมบนคอมพิวเตอร์ และในภาพด้านล่าง คุณจะเห็นว่าอุปกรณ์ปรากฏในเครื่องมือจัดการอย่างไร:

ภาพ
ภาพ

หากคุณใช้ PL2303HX และ Windows ไม่รู้จัก ให้เข้าไปที่โพสต์ Serial TTL USB Converter PL2303HX - การติดตั้งใน Windows 10 ดูวิธีแก้ปัญหาแล้วกลับไปดำเนินการต่อ

ตอนนี้ไปที่โฟลเดอร์ FLASH_DOWNLOAD_TOOLS_v2.4_150924 และเรียกใช้ ESP_DOWNLOAD_TOOL_V2.4.exe:

ภาพ
ภาพ

บนแผงป้องกัน ให้วางหน้าสัมผัส P3 และ P4 ของสวิตช์ DIP ในตำแหน่งเปิด จากนั้นกดปุ่ม ESP-RST บนการ์ดเพื่อให้ตัวป้องกันเข้าสู่โหมดอัปเกรดเฟิร์มแวร์:

ภาพ
ภาพ

เมื่อโปรแกรมเปิดอยู่ ให้ยกเลิกการเลือกตัวเลือก 'SpiAutoSet' เลือกพอร์ต COM เลือก 'BAUDRATE' 115200 ยกเลิกการเลือกช่องทำเครื่องหมายใด ๆ ที่ทำเครื่องหมายใน 'Download Path Config' กำหนดค่าตัวเลือกอื่น ๆ ดังที่แสดงด้านล่าง และคลิก 'START':

ภาพ
ภาพ

หากสามารถสื่อสารกับ ESP8266 WiFi Shield ได้ คุณจะเห็นข้อมูลใน 'DETECTED INFO', 'MAC Address' และ 'SYNC':

ภาพ
ภาพ

หมายเหตุ: หากโปรแกรมส่งคืน 'FAIL' ให้ตรวจสอบว่าคุณได้เลือกพอร์ต COM ที่ถูกต้องหรือไม่ ตรวจสอบว่าคีย์ P3 และ P4 ของสวิตช์ DIP เปิดอยู่หรือไม่ คลิกปุ่ม ESP-RST คลิก STOP แล้วคลิก START อีกครั้ง

ใน 'Download Path Config' คุณควรเลือกไฟล์ 'Ai-Thinker_ESP8266_DOUT_32Mbit_v1.5.4.1-a AT Firmware.bin' ที่ดาวน์โหลด คลิกที่ '…' ของฟิลด์แรกและในหน้าต่างที่เปิดขึ้นไปยังโฟลเดอร์ที่คุณวางเฟิร์มแวร์และเลือกไฟล์ 'Ai-Thinker_ESP8266_DOUT_32Mbit_v1.5.4.1-a AT Firmware.bin' ในช่อง 'ADDR' ให้กรอก offset 0x00000, และทำเครื่องหมายที่ช่องเพื่อเสร็จสิ้น เมื่อเสร็จแล้ว คุณจะมีการตั้งค่าดังแสดงด้านล่าง:

ภาพ
ภาพ

ตอนนี้คลิก START เพื่อเริ่มกระบวนการ:

หมายเหตุ: หากคุณใช้ตัวแปลง USB อนุกรม Arduino เป็นตัวกลางระหว่างชิลด์และคอมพิวเตอร์ ให้คลิกที่ปุ่ม ESP-RST ของชิลด์ก่อนคลิก START หากคุณใช้ตัวแปลง USB แบบอนุกรมทั่วไป ขั้นตอนนี้ไม่จำเป็น

ภาพ
ภาพ

รอให้กระบวนการอัพเกรดเฟิร์มแวร์เสร็จสิ้น (จะใช้เวลาประมาณเจ็ดนาทีเพื่อให้กระบวนการเสร็จสมบูรณ์):

ภาพ
ภาพ

หลังจากเสร็จสิ้นกระบวนการอัปเกรดเฟิร์มแวร์แล้ว ให้ปิดหน้าต่าง ESP_DOWNLOAD_TOOL_V2.4 ส่งคืนหน้าสัมผัส P3 และ P4 ของสวิตช์ DIP ไปที่ตำแหน่ง OFF แล้วกดปุ่ม ESP-RST บนแผงป้องกันเพื่อให้สามารถออกจากโหมดอัปเกรดเฟิร์มแวร์ได้

ตอนนี้เปิด Arduino IDE เพื่อให้คุณสามารถส่งคำสั่ง AT ไปยังบอร์ดเพื่อตรวจสอบว่าเฟิร์มแวร์ได้รับการอัพเดตอย่างถูกต้องและบอร์ดตอบสนองต่อคำสั่งต่างๆ

เมื่อเปิด IDE ให้ไปที่เมนู 'เครื่องมือ' จากนั้นในตัวเลือก 'พอร์ต' ให้เลือกพอร์ต COM หมายเหตุในภาพด้านล่างที่ฉันเลือกพอร์ต COM7 (พอร์ตของคุณอาจจะแตกต่างออกไป):

ภาพ
ภาพ

คุณไม่จำเป็นต้องเลือกบอร์ดใน IDE เนื่องจากไม่เกี่ยวข้องกับการส่งคำสั่ง AT

เปิด 'Serial Monitor' และในส่วนท้ายให้ตรวจสอบว่าความเร็วถูกตั้งไว้ที่ 115200 และหากเลือก 'ทั้ง NL และ CR':

ภาพ
ภาพ

ตอนนี้พิมพ์คำสั่ง 'AT' (โดยไม่ใส่เครื่องหมายคำพูด) และป้อน 'ENTER' หรือคลิก 'Send' หากการเชื่อมต่อใช้งานได้ คุณจะต้องส่งคืนข้อความ 'ตกลง':

ภาพ
ภาพ

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

ใน 'Serial Monitor' ให้พิมพ์คำสั่ง 'AT + GMR' (โดยไม่ใส่เครื่องหมายอัญประกาศ) และป้อน 'ENTER' หรือคลิก 'Send' หากคุณได้รับคำติชมดังที่แสดงด้านล่าง แสดงว่า ESP8266 WiFi Shield ของคุณได้รับการอัปเดตสำเร็จแล้ว:

ภาพ
ภาพ

หากคุณต้องการเปลี่ยน Baudrate การสื่อสารด้วย 9600 Shield ให้ป้อนคำสั่ง 'AT + UART_DEF = 9600, 8, 1, 0, 0' (โดยไม่ใส่เครื่องหมายอัญประกาศ) และป้อน 'ENTER' หรือคลิก 'Send' หากคุณได้รับข้อมูลตามที่แสดงด้านล่าง แสดงว่าความเร็วในการสื่อสารเปลี่ยนไป:

ภาพ
ภาพ

หมายเหตุ: เมื่อเปลี่ยนโล่ Baudrate คุณควรเปลี่ยนความเร็วจาก 115200 เป็น 9600 ในส่วนท้ายของ Monitor Serial จากนั้นส่งคำสั่ง 'AT' อีกครั้ง (โดยไม่ใส่เครื่องหมายคำพูด) แล้วกด 'ENTER' หรือคลิก 'Send' หากคุณได้รับ 'ตกลง' เป็นการส่งคืน แสดงว่าการสื่อสารนั้นใช้ได้

หากคุณต้องการใช้โล่เพื่อกำหนด WiFi ให้กับ Arduino ความเร็วในการสื่อสารในอุดมคติคือ 9600 บอด

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

ขั้นตอนที่ 3: Shiald, Shield, More and Moer? มันสำคัญ?

หากเป็น ESP8266 ESP-12E UART Wireless WIFI Shield TTL Converter เป็นไปได้ที่จะพบบอร์ดอย่างน้อยสามแผงที่ดูเหมือนเหมือนกัน แต่อันที่จริงแล้วบอร์ดเหล่านี้มีบางจุดที่แตกต่างกัน แม้จะเป็นปัญหาในการทำงานกับ Arduino ผ่านการสื่อสารแบบอนุกรมดั้งเดิม

ต่อไปนี้ คุณจะเห็นความแตกต่างของกระดานและค้นหาว่าบอร์ดใดเป็นของคุณ

ชิลด์ WiFi ESP8266:

ภาพ
ภาพ

โปรดทราบว่าในกระดานนี้ คำว่า Shield เขียนว่า "Shiald" และคำว่า "more" มีตัว "m" เป็นตัวพิมพ์เล็ก ในการทดสอบที่ฉันทำมาเป็นเวลานาน บอร์ดไม่แสดงข้อบกพร่องใดๆ ในการทำงาน

โล่ WiFi ESP8266:

ภาพ
ภาพ

โปรดทราบว่าในกระดานนี้ คำว่า Shield เขียนอย่างถูกต้อง และคำว่า "More" มี "M" เป็นตัวพิมพ์ใหญ่ ในส่วนของการทำงาน บอร์ดนี้ทำงานในลักษณะเดียวกับรุ่น Shiald นั่นคือ บอร์ดไม่มีข้อผิดพลาด

คุณหมายถึงว่าบอร์ด Shiald และ Shield มีความแตกต่างเฉพาะในเรื่องของ PCB Silk หรือไม่?

ใช่ ไพ่สองใบนี้มีความแตกต่างกันในเรื่องของการเขียนคำสองคำเท่านั้น วงจรบนบอร์ดทั้งสองเหมือนกันและทั้งสองทำงานได้ดีกับ Arduino หรืออยู่คนเดียว (โหมดสแตนด์อโลน) เมื่อพิจารณาว่า Arduino มีการโหลดโค้ดที่ถูกต้อง และหนึ่งในชิลด์นั้นมีเฟิร์มแวร์ที่ถูกต้อง หลังจากติดชิลด์เข้ากับ Arduino และเชื่อมต่อสาย USB แล้ว เพียงแค่ใส่หน้าสัมผัส P1 และ P2 ของสวิตช์ DIP ในตำแหน่งเปิด และจะทำการสื่อสารผ่านเนทีฟซีเรียล (พิน D0 และ D1) ระหว่างบอร์ด

บางคนบอกว่ารุ่น Shiald นี้มีการเชื่อมต่อไร้สายที่ไม่เสถียร แต่ฉันยืนยันว่าไม่มีความไม่เสถียรเลย

Shield WiFi ESP8266 (เพิ่มเติม):

ภาพ
ภาพ

โปรดทราบว่าในกระดานนี้ คำว่า Shield เขียนอย่างถูกต้อง และคำว่า "More" เขียนว่า "Moer" นั่นคือ ผิด น่าเสียดายที่บอร์ดนี้ใช้งานไม่ได้อย่างที่ควรจะเป็น และหากต่อกับ Arduino (โดยที่หน้าสัมผัสสวิตช์ DIP ปิดหรือเปิด) และผู้ใช้พยายามโหลดโค้ดบน Arduino ข้อความแสดงข้อผิดพลาดจะปรากฏใน IDE เป็น การโหลดจะล้มเหลว

หากโล่ของคุณเป็นเกราะที่เขียนด้วยภาษา Moer และคุณมีปัญหาในการใช้งานกับ Arduino ผ่านการสื่อสารซีเรียลแบบเนทีฟ ให้ไปที่ขั้นตอนถัดไปและเรียนรู้วิธีแก้ปัญหา หากเกราะของคุณไม่ใช่ Moer ให้ข้ามไปยังขั้นตอนที่ 5

ขั้นตอนที่ 4: Shield Moer - การแก้ปัญหา RX / TX Serial Communication

หากบอร์ดนี้ (Moer) เชื่อมต่อกับ Arduino (โดยที่หน้าสัมผัสสวิตช์ DIP ปิดหรือเปิด) และผู้ใช้พยายามโหลดโค้ดบน Arduino ข้อความแสดงข้อผิดพลาดจะปรากฏขึ้นใน IDE เนื่องจากโหลดจะล้มเหลว นี่เป็นเพราะข้อผิดพลาดของส่วนประกอบที่ใช้ในการสร้างเกราะป้องกัน

ชิลด์ที่มีโครงสร้างและการทำงานที่ถูกต้อง ได้เชื่อม Channel N MOSFET สองช่อง และระบุเป็น J1Y ทรานซิสเตอร์ J1Y ตัวใดตัวหนึ่งเชื่อมต่อกับ ESP8266 RX และอีกตัวหนึ่งเชื่อมต่อกับ ESP8266 TX ในภาพด้านล่าง คุณจะเห็นทรานซิสเตอร์สองตัวที่ไฮไลต์:

ภาพ
ภาพ

ทรานซิสเตอร์ J1Y นี้เป็น BSS138 ซึ่งมีวัตถุประสงค์เพื่อให้วงจรระดับลอจิก 5V สามารถสื่อสารกับวงจรระดับลอจิก 3.3V และในทางกลับกัน เนื่องจาก ESP8266 มีระดับลอจิกที่ 3.3V และ Arduino มีระดับตรรกะที่ 5V จึงจำเป็นต้องใช้ตัวแปลงระดับลอจิกเพื่อให้แน่ใจว่า ESP8266 ทำงานอย่างสมบูรณ์แบบ

ในโล่ Moer มีการบัดกรีบนบอร์ดทรานซิสเตอร์สองตัวที่ระบุว่าเป็น J3Y ในภาพด้านล่าง คุณจะเห็นทรานซิสเตอร์สองตัวที่ไฮไลต์:

ภาพ
ภาพ

ทรานซิสเตอร์ J3Y คือ S8050 NPN และทรานซิสเตอร์ประเภทนี้มักใช้ในวงจรเครื่องขยายเสียงด้วยเหตุผลบางอย่างในขณะที่สร้างเกราะป้องกัน Moer พวกเขาใช้ทรานซิสเตอร์ J3Y แทนตัวแปลงระดับลอจิก J1Y

ด้วยวิธีนี้ หมุด RX และ TX ของ ESP8266 จะไม่ทำงานอย่างที่ควรจะเป็น ดังนั้นตัวป้องกันจะไม่มีการสื่อสารแบบอนุกรมกับ Arduino เนื่องจากชิลด์สื่อสารกับ Arduino ผ่านซีเรียลเนทีฟ (พิน D0 และ D1) เมื่อใช้ร่วมกับการโหลดโค้ด Arduino (ใน Arduino) จะไม่สำเร็จ เนื่องจากในบางกรณีจะมีค่าประมาณ 2.8V เสมอใน RX และ Arduino TX หรือค่าคงที่ 0V ทั้งหมดเป็นเพราะทรานซิสเตอร์ที่ไม่ถูกต้อง

หลังจากข้อมูลทั้งหมดนี้ เป็นที่ชัดเจนว่าทางออกเดียวสำหรับเกราะ Moer คือการแทนที่ทรานซิสเตอร์ J3Y ด้วยทรานซิสเตอร์ J1Y สำหรับขั้นตอนนี้ คุณจะต้องใช้เกราะป้องกันเพิ่มเติมของ Moer และ:

01 - หัวแร้ง 01 - Tin01 - คีมปากแหลมหรือคีมเข็ม01 - เครื่องดูดเชื่อม02 - BSS138 (J1Y)

ทรานซิสเตอร์ BSS138 (J1Y) ใช้ในตัวแปลงระดับลอจิก 3.3V / 5V

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

ด้วยหัวแร้งร้อน ให้ความร้อนที่ขั้วทรานซิสเตอร์ตัวใดตัวหนึ่งแล้วใส่ดีบุก ทำตามขั้นตอนนี้สำหรับแต่ละขั้วของทรานซิสเตอร์สองตัว การเชื่อมส่วนเกินที่ขั้วจะทำให้ถอดทรานซิสเตอร์ได้ง่ายขึ้น:

ภาพ
ภาพ

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

ภาพ
ภาพ

นำ J3Y IC ทั้งสองออกจากชิลด์ เพียงแค่วาง J1Y IC ให้เข้าที่ จับด้วยแหนบ / คีม และอุ่นปลายแต่ละด้านของชิลด์เพื่อให้ดีบุกเชื่อมติดกัน หากหน้าสัมผัสบัดกรีต่ำ ให้ความร้อนแต่ละอันแล้วใส่ดีบุกเพิ่ม ทำสิ่งนี้กับทรานซิสเตอร์ทั้งสองตัวและระวังให้มาก:

ภาพ
ภาพ

หลังการซ่อมแซม ชิลด์ซึ่งก่อนหน้านี้ไม่มีการสื่อสารโดยตรงกับ Arduino เริ่มมีการเชื่อมต่อกับบอร์ดผ่านซีเรียลดั้งเดิม (พิน D0 และ D1)

การทดสอบครั้งแรกเพื่อยืนยันว่าการซ่อมแซมสำเร็จคือการติดชิลด์ (โดยที่หน้าสัมผัสสวิตช์ DIP ทั้งหมดปิดอยู่) กับ Arduino ต่อสาย USB เข้ากับบอร์ดและคอมพิวเตอร์ และพยายามโหลดโค้ดลงใน Arduino หากทุกอย่างเรียบร้อย รหัสจะโหลดสำเร็จ

ขั้นตอนที่ 5: เว็บเซิร์ฟเวอร์พร้อม ESP8266 ESP-12E UART Wireless WIFI Shield TTL Converter สำหรับ Arduino

ตามข้อกำหนดหลักเพื่อดำเนินการต่อในขั้นตอนนี้ คุณควรดำเนินการขั้นตอนที่ 2

ดังที่ได้กล่าวไว้ก่อนหน้านี้ ในการใช้ชิลด์กับ Arduino ผ่านซีเรียลดั้งเดิม (พิน D0 และ D1) จำเป็นต้องโหลดโค้ดลงในชิลด์และ Arduino จะต้องโหลดโค้ดอื่นเพื่อส่ง รับ และตีความ ข้อมูลถูกค้าผ่านซีเรียลเนทีฟ ในโล่ เราสามารถใส่เฟิร์มแวร์ของคำสั่ง AT และตั้งโปรแกรม Arduino เพื่อส่งคำสั่งไปยัง Shield เพื่อเชื่อมต่อกับเครือข่าย WiFi และเพื่อควบคุมอินพุตและเอาต์พุตของ Arduino

ในขั้นตอนนี้ เราจะใช้ไลบรารี WiFiESP เนื่องจากมีฟังก์ชันที่จำเป็นทั้งหมดในการรวม ESP8266 (ในกรณีของเรา Shield WiFi ESP8266) เข้ากับ Arduino และกำหนด WiFi ให้กับบอร์ด ไลบรารี WiFiESP ทำงานโดยส่งคำสั่ง AT จากนั้นการเชื่อมต่อเครือข่ายไร้สายของเราเตอร์และคำขอใด ๆ ที่ส่งไปยังเว็บเซิร์ฟเวอร์จะส่งผลให้ส่งคำสั่ง AT ไปยังเกราะ

เพื่อให้ไลบรารี WiFiESP ทำงานได้ เวอร์ชันเฟิร์มแวร์คำสั่ง AT ต้องมีอย่างน้อย 0.25 หรือสูงกว่า ดังนั้น หากคุณไม่ทราบเวอร์ชันคำสั่ง AT ของเกราะของคุณ ให้ไปที่ขั้นตอนที่ 2 เพื่ออัปเดตบอร์ดด้วยเฟิร์มแวร์ที่มีเวอร์ชันคำสั่ง AT เป็น 1.2.0.0 แล้วกลับมาดำเนินการต่อ

สิ่งหนึ่งที่ฉันระบุระหว่างการทดสอบกับตัวป้องกันและ Arduino คือเนื่องจากการสื่อสารระหว่างพวกเขาเกิดขึ้นผ่านซีเรียลดั้งเดิม (พิน D0 และ D1) จึงมีความจำเป็นที่อนุกรมจะใช้เฉพาะสำหรับการสื่อสารระหว่างพวกเขา ดังนั้น ฉันไม่แนะนำให้ใช้ "Serial.print() / Serial.println()" เพื่อพิมพ์ข้อมูลบนมอนิเตอร์แบบอนุกรม Arduino IDE หรือโปรแกรมอื่นใดที่แสดงข้อมูลซีเรียล

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

ดาวน์โหลดไลบรารี WiFIESP ที่แก้ไขแล้วติดตั้งใน Arduino IDE:

WiFIESP Mod

ในโฟลเดอร์การติดตั้งไลบรารี เพียงแค่เข้าถึงเส้นทาง "WiFiEsp-master\src\utility" และภายในนั้นจะมีไฟล์ "debug.h" ที่ได้รับการแก้ไขเพื่อปิดใช้งานการแสดงข้อมูลบนซีเรียล การเปิดไฟล์ใน Notepad ++ เช่น เรามีบรรทัดที่ 25, 26, 27, 28 และ 29 ที่แสดงหมายเลขที่สอดคล้องกันสำหรับประเภทของข้อมูลที่จะแสดงบนจอภาพแบบอนุกรม โปรดทราบว่าตัวเลข 0 ปิดใช้งานการแสดงข้อมูลทั้งหมดบนจอภาพแบบอนุกรม ในที่สุด ในบรรทัดที่ 32 ฉันกำหนดค่า "_ESPLOGLEVEL_" ด้วยค่า 0:

ภาพ
ภาพ

หากคุณต้องการใช้ไลบรารี WiFiESP ในโครงการอื่นที่มี ESP8266 และต้องการข้อมูลที่แสดงบนจอภาพแบบอนุกรม เพียงตั้งค่า "_ESPLOGLEVEL_" เป็นค่า 3 (ค่าเริ่มต้นของไลบรารี) และบันทึกไฟล์

เนื่องจากเกราะของคุณมีเฟิร์มแวร์คำสั่ง AT เวอร์ชัน 0.25 ขึ้นไปแล้ว ไปต่อกันเลย

แนบชิลด์เข้ากับ Arduino ของคุณ (Uno, Mega, Leonardo หรือเวอร์ชันอื่น ๆ ที่อนุญาตให้แนบชิลด์) วางหน้าสัมผัสสวิตช์ DIP ทั้งหมดในตำแหน่ง OFF ต่อ LED ระหว่างพิน 13 และ GND แล้วต่อสาย USB เข้ากับ Arduino และคอมพิวเตอร์:

ภาพ
ภาพ

ฉันใช้ Arduino Mega 2560 แต่ผลลัพธ์ที่ได้จะเหมือนเดิมหากคุณใช้บอร์ด Arduino ตัวอื่นที่อนุญาตให้ใช้ชิลด์ร่วมกันได้

ดาวน์โหลดรหัสจากลิงค์และเปิดใน Arduino IDE:

รหัสเว็บเซิร์ฟเวอร์

หากคุณกำลังใช้ Arduino Leonardo ให้ไปที่บรรทัดที่ 19 และ 20 ของรหัส แล้วเปลี่ยนคำว่า Serial เป็น Serial1 ดังที่แสดงในภาพด้านล่าง:

ภาพ
ภาพ

ในรหัส คุณต้องป้อนชื่อเครือข่าย WiFi ของคุณในบรรทัด char * ssid = "NAME OF YOUR WIFI NETWORK"; รหัสผ่านควรป้อนใน line char * password = "PASSWORD OF YOUR WIFI NETWORK"; และในบรรทัด WiFi.config (IPAddress … คุณควรป้อนที่อยู่ IP ที่พร้อมใช้งานบนเครือข่ายไร้สายของคุณ เนื่องจากรหัสนี้ใช้ IP แบบคงที่:

ภาพ
ภาพ

ในเมนู "เครื่องมือ" เลือก "บอร์ด" และเลือกรุ่น Arduino ของคุณ ยังอยู่ในเมนู "เครื่องมือ" ให้เลือกตัวเลือก "พอร์ต" และตรวจสอบพอร์ต COM ที่ Arduino ของคุณได้รับการจัดสรร

คลิกปุ่มเพื่อส่งรหัสไปยัง Arduino และรอการโหลด

หลังจากโหลดโค้ดบน Arduino แล้ว ให้ถอดสาย USB ออกจากการ์ด ใส่หน้าสัมผัส P1 และ P2 ของสวิตช์ DIP ของชิลด์ในตำแหน่ง ON แล้วต่อสาย USB เข้ากับ Arduino อีกครั้ง

หมายเหตุ: ตราบใดที่หน้าสัมผัส P1 และ P2 ของชิลด์อยู่ในตำแหน่งเปิด คุณจะไม่สามารถส่งรหัสไปยัง Arduino ได้เนื่องจากอนุกรมเนทีฟจะไม่ว่าง จำทุกครั้งที่คุณเปลี่ยนตำแหน่งของสวิตช์สวิตช์ DIP ให้กดปุ่ม ESP-RST

เปิดจอภาพอนุกรม Arduino IDE ทันที:

ภาพ
ภาพ

เมื่อเปิดมอนิเตอร์แบบอนุกรม คุณสามารถทำตามคำสั่ง AT ที่ถูกส่งไปยังชีลด์เพื่อเรียกใช้เว็บเซิร์ฟเวอร์ หากไม่มีข้อมูลแสดงขึ้นเมื่อเปิดจอภาพอนุกรม ให้กดปุ่ม RESET บน Arduino แล้วรอ

โปรดทราบว่าบนจอภาพอนุกรมคำสั่ง "AT + CIPSTA_CUR" จะแสดงที่อยู่ IP เพื่อเชื่อมต่อกับเว็บเซิร์ฟเวอร์และคำสั่ง "AT + CWJAP_CUR" จะแสดงชื่อและรหัสผ่านของเครือข่ายไร้สายที่ตัวป้องกันเชื่อมต่ออยู่:

ภาพ
ภาพ

คัดลอกที่อยู่ IP ที่แสดงบนจอภาพอนุกรม เปิดอินเทอร์เน็ตเบราว์เซอร์ของคุณ วางที่อยู่ IP แล้วกด ENTER เพื่อเข้าถึง หน้าเว็บที่คล้ายกับด้านล่างจะถูกโหลด:

ภาพ
ภาพ

หน้าเว็บมีปุ่มสำหรับเปิด/ปิด LED ที่เชื่อมต่อกับขา 13 ของ Arduino กดปุ่มเพื่อเปิด/ปิด LED และดูว่าสถานะปัจจุบันมีการอัพเดทบนหน้า

คุณยังสามารถเข้าถึงหน้าเว็บผ่านสมาร์ทโฟนหรือแท็บเล็ตได้ เป็นต้น

ดูวิดีโอด้านล่างสำหรับผลลัพธ์สุดท้าย:

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

ตอนนี้คุณรู้วิธีรวม Shield WiFi ESP8266 กับ Arduino จากเว็บเซิร์ฟเวอร์แล้ว เพียงแก้ไขโค้ดและใช้งานโปรเจ็กต์ที่ซับซ้อนมากขึ้น หรือเริ่มพัฒนาโค้ดของคุณเอง

อีกครั้งขอโทษสำหรับความล้มเหลวในภาษาอังกฤษ

หากคุณมีคำถามเกี่ยวกับโล่ เพียงแค่ถามและฉันยินดีที่จะตอบ

แนะนำ: