สารบัญ:

การสื่อสาร ESP8266 และ Python สำหรับ Noobs: 6 ขั้นตอน
การสื่อสาร ESP8266 และ Python สำหรับ Noobs: 6 ขั้นตอน

วีดีโอ: การสื่อสาร ESP8266 และ Python สำหรับ Noobs: 6 ขั้นตอน

วีดีโอ: การสื่อสาร ESP8266 และ Python สำหรับ Noobs: 6 ขั้นตอน
วีดีโอ: Micropython กับ ESP8266 - ง่ายสุดๆ #1 2024, กรกฎาคม
Anonim
ESP8266 และการสื่อสาร Python สำหรับ Noobs
ESP8266 และการสื่อสาร Python สำหรับ Noobs

คู่มือนี้ช่วยให้คุณรับข้อมูลใดๆ จาก ESP8266 และควบคุมผ่าน python โดยไม่ต้องใช้คำสั่ง AT

สำหรับผู้เริ่มต้น คำแนะนำส่วนใหญ่เกี่ยวกับการใช้ ESP8266 นั้นยาก เพราะพวกเขาต้องการให้คุณแฟลช "AT COMMANDS" ลงในชิป ซึ่งก็คือ:

  • ไม่จำเป็น
  • การสูญเสียหน่วยความจำของ ESP
  • ให้คุณควบคุมได้อย่างจำกัด
  • ยากและท้าทาย
  • และไม่เหมาะกับโมดูล ESP8266 ทั้งหมด

นั่นเป็นเหตุผลที่ฉันสร้างระบบสื่อสาร mDNS ที่เรียบง่าย ซึ่งควบคุมด้วยฟังก์ชันง่ายๆ 3 อย่างเท่านั้น นอกจากนี้ยังช่วยให้คุณควบคุมได้อย่างเต็มที่

ขั้นตอนที่ 1: ทฤษฎี

ทฤษฎี
ทฤษฎี

esp ของเราเชื่อมต่อกับ wifi ของเราและสร้างเซิร์ฟเวอร์ localhost และเริ่มรอคำขอ ทุกครั้งที่ python ของเราส่งคำขอไปยัง localhost นั้น esp จะรันโค้ดที่ต้องการแล้วส่งคืนผลลัพธ์เป็นคำขอ http ในที่สุด python จะอ่านข้อมูลที่ส่งคืนเป็นคำขอ http และคว้าตัวแปรนั้นจากมัน ด้วยสิ่งนี้ esp สามารถส่งคืนสตริง ข้อมูล และอาร์เรย์ รหัส Python จะเข้าใจประเภทข้อมูลของพวกเขา

ขั้นตอนที่ 2: การเตรียมห้องสมุดที่จำเป็น

การเตรียมห้องสมุดที่จำเป็น
การเตรียมห้องสมุดที่จำเป็น

ก่อนอื่น คุณต้องดาวน์โหลดไลบรารีการ์ด ESP8266 ไปยัง arduino ide หากคุณไม่ทราบวิธี นี่คือคำแนะนำ

หลังจากนั้น คุณต้องดาวน์โหลด micro library ของฉันจากที่นี่

หลังจากที่คุณดาวน์โหลด ในโฟลเดอร์ไลบรารีจะมีไฟล์ชื่อ "ESP_MICRO.h" ให้คัดลอกไปยังโฟลเดอร์การเข้ารหัสของโครงการ Arduino ปัจจุบัน ใช่ อย่าคัดลอกไปยังไลบรารีของ Arduino มันเป็นห้องสมุดขนาดเล็ก ดังนั้นคุณจะคัดลอกไปยังโฟลเดอร์ของโครงการ Arduino ปัจจุบันของคุณ

ตอนนี้ ความต้องการของเราเป็นที่พอใจแล้ว เราสามารถเริ่มเขียนโค้ดได้เลย

ขั้นตอนที่ 3: การเขียนรหัสคำขออย่างง่าย

การเขียนรหัสคำขออย่างง่าย
การเขียนรหัสคำขออย่างง่าย

เมื่อคุณเปิด project.ino คุณจะเห็นสองแท็บบน arduino ide หนึ่งคือโปรเจ็กต์ของคุณ อีกอันคือ "ESP_MICRO.h" ไมโครไลบรารีของเรา

ตอนนี้คุณมี 5 ฟังก์ชันใน ESP_MICRO.h ในโค้ดหลักของคุณแล้ว (ฟังก์ชันจะอธิบายไว้ในบรรทัดแรกของ ESP_MICRO.h)

นี่คือโค้ดเพิ่มตัวแปรอย่างง่าย

รหัส Arduino:

/* การทดสอบ F5 สำหรับ ESP2PY

* เขียนโดย Junicchi * https://github.com/KebabLord/esp_to_python * มันเพียงเพิ่มขึ้นและส่งคืนตัวแปรทุกครั้งที่มีการร้องขอ python */ #include "ESP_MICRO.h" // รวม micro library int testvariable = 0; การตั้งค่าเป็นโมฆะ () { Serial.begin (9600); // การเริ่มต้นพอร์ตอนุกรมเพื่อดูรายละเอียด start("USERNAME", "PASSWORD"); // EnAIt จะเชื่อมต่อกับ wifi ของคุณด้วยรายละเอียดที่กำหนด } void loop(){ waitUntilNewReq(); //รอจนกว่าคำขอใหม่จาก python จะมาถึง /* เพิ่มดัชนีเมื่อมีคำขอใหม่เข้ามา*/ testvariable += 1; returnThisInt(ตัวแปรทดสอบ); // คืนค่าข้อมูลไปที่ python }

ขั้นตอนที่ 4: กำลังอัปโหลด

กำลังอัพโหลด
กำลังอัพโหลด

การเขียนโปรแกรม Nodemcu ESP8266 เพียงแค่เสียบ usb และอัปโหลดภาพร่างจาก Arduino

แต่การเขียนโปรแกรม ESP8266-1 นั้นยากกว่า มีสองวิธีในการเขียนโปรแกรม

การเขียนโปรแกรม ESP ผ่าน Arduino

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

ตั้งโปรแกรมด้วยโปรแกรมเมอร์ ESP

มันง่ายกว่าและเร็วกว่ามาก เพียง 1 ดอลลาร์ ซื้อหนึ่งอันและใช้โปรแกรมเมอร์ usb

การเรียนรู้ที่อยู่ IP ของ ESP

ขณะที่กำลังอัปโหลดรหัส ให้เปิดพอร์ตอนุกรม คุณจะเห็นรายละเอียดที่พิมพ์ออกมาเมื่อการอัปโหลดเสร็จสิ้น เรียนรู้ IP ของ esp และสังเกตว่า จำไว้ว่า IP ของ ESP ในพื้นที่; การเปลี่ยนแปลงโดย wifi เป็น wifi ไม่ใช่เซสชันต่อเซสชัน ดังนั้นเมื่อคุณปิดและเปิดในภายหลังจะไม่มีการเปลี่ยนแปลง

ขั้นตอนที่ 5: การอ่านและ Python

การอ่านและภาษาไพทอน
การอ่านและภาษาไพทอน

ใน esp_to_python/library จะมี "EXAMPLE_PYTHON_READER.py"

แก้ไขเปลี่ยนบรรทัดที่ 5 ด้วยที่อยู่ IP ของโมดูล esp ที่พิมพ์บนพอร์ตอนุกรมและเรียกใช้สคริปต์หลาม ในโครงการนี้ ฉันใช้ python เพื่อส่งและอ่านคำขอ แต่คุณยังสามารถดูข้อมูลดิบด้วยเบราว์เซอร์ในขณะที่วาง IP ของ ESP บนเบราว์เซอร์ได้ หรือคุณสามารถสร้างแอปพลิเคชันเพื่ออ่านหรือใช้ภาษาอื่นได้ การควบคุมโมดูลบน python ยังอธิบายไว้ในโปรเจ็กต์ "ledControl" ในโฟลเดอร์ตัวอย่าง

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

กำลังสรุป
กำลังสรุป

ฟังก์ชันและรหัสทั้งหมดได้อธิบายไว้ใน ESP_MICRO.h และในไฟล์ README.md

หากโปรเจ็กต์นี้ช่วยคุณได้ คุณสามารถติดดาวโปรเจ็กต์ดั้งเดิมบน github ได้

แนะนำ: