สารบัญ:
- ขั้นตอนที่ 1: ทฤษฎี
- ขั้นตอนที่ 2: การเตรียมห้องสมุดที่จำเป็น
- ขั้นตอนที่ 3: การเขียนรหัสคำขออย่างง่าย
- ขั้นตอนที่ 4: กำลังอัปโหลด
- ขั้นตอนที่ 5: การอ่านและ Python
- ขั้นตอนที่ 6: เสร็จสิ้น
วีดีโอ: การสื่อสาร ESP8266 และ Python สำหรับ Noobs: 6 ขั้นตอน
2024 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2024-01-30 13:05
คู่มือนี้ช่วยให้คุณรับข้อมูลใดๆ จาก 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 ได้
แนะนำ:
การติดตั้ง Opencv และ Python สำหรับ Windows / Mac: 4 ขั้นตอน
การติดตั้ง Opencv และ Python สำหรับ Windows / Mac: OpenCV เป็นไลบรารีการมองเห็นคอมพิวเตอร์แบบโอเพ่นซอร์สซึ่งเป็นที่นิยมอย่างมากสำหรับการประมวลผลภาพขั้นพื้นฐาน เช่น การเบลอภาพ การผสมภาพ การเพิ่มคุณภาพของภาพ ตลอดจนคุณภาพของวิดีโอ การกำหนดเกณฑ์ ฯลฯ นอกเหนือจากการประมวลผลภาพ , มันพิสูจน์
Augmented Reality (AR) สำหรับ Dragonboard410c หรือ Dragonboard820c โดยใช้ OpenCV และ Python 3.5: 4 ขั้นตอน
Augmented Reality (AR) สำหรับ Dragonboard410c หรือ Dragonboard820c โดยใช้ OpenCV และ Python 3.5: คำแนะนำนี้จะอธิบายวิธีการติดตั้ง OpenCV, Python 3.5 และการพึ่งพาสำหรับ Python 3.5 เพื่อเรียกใช้แอปพลิเคชัน Augmented Reality
การสื่อสาร Python3 และ Arduino: 5 ขั้นตอน
การสื่อสาร Python3 และ Arduino: คำอธิบายโครงการในโครงการนี้ เราจะส่งคำสั่งจาก Python3 ไปยังบอร์ด Arduino ซึ่งจะทำให้สิ่งต่างๆ เข้าใจได้ง่ายขึ้นเมื่อทำการสื่อสารระหว่าง Python3 และ Arduino เราจะสร้าง "สวัสดีชาวโลก" ของแพลตฟอร์ม Arduino
3.3V Mod สำหรับ Ultrasonic Sensors (เตรียม HC-SR04 สำหรับ 3.3V Logic บน ESP32/ESP8266, Particle Photon ฯลฯ): 4 ขั้นตอน
3.3V Mod สำหรับ Ultrasonic Sensors (เตรียม HC-SR04 สำหรับ 3.3V Logic บน ESP32/ESP8266, Particle Photon, ฯลฯ.): TL;DR: บนเซนเซอร์ ตัดร่องรอยไปที่ Echo pin จากนั้นเชื่อมต่อใหม่โดยใช้ a ตัวแบ่งแรงดันไฟฟ้า (Echo trace -> 2.7kΩ -> Echo pin -> 4.7kΩ -> GND) แก้ไข: มีการถกเถียงกันว่า ESP8266 นั้นทนทานต่อ GPIO 5V จริงหรือไม่ใน
การสื่อสาร LoRa ESP8266 และวิทยุ RFM95: 9 ขั้นตอน
การสื่อสาร LoRa ESP8266 และวิทยุ RFM95: หนึ่งในเทคโนโลยีที่มีชื่อมากที่สุดที่จะนำไปใช้กับอินเทอร์เน็ตของสรรพสิ่ง ซึ่งมีคุณสมบัติที่โดดเด่นมากในการสื่อสารทางไกลและพลังงานต่ำที่สะท้อนให้เห็นในการบริโภคที่ต่ำ LoRa "Lo ng - Ra nge" ประเภทของการปรับฮา