MicroPython ESP32 Web Server สร้างเว็บเซิร์ฟเวอร์เพื่อควบคุมเอาต์พุต

เรียนรู้วิธีสร้างเว็บเซิร์ฟเวอร์เพื่อควบคุมเอาต์พุตของบอร์ด ESP32 โดยใช้เฟรมเวิร์ก MicroPython ตัวอย่างเช่นเราจะสร้างเว็บเซิร์ฟเวอร์พร้อมปุ่มเปิดและปิดเพื่อควบคุม LED บนบอร์ดของ ESP32 โดยเราจะใช้ Sockets และ Python socket API

ESP32 เปิดปิดไฟ เครือข่าย WiFi ด้วย เว็บเพจ

ควบคุมทุกสรรพสิ่งภายในบ้านของคุณด้วย ESP32 หรือ Home Automation ระบบนี้เป็นระบบที่ใช้ควบคุมอุปกรณ์ไฟฟ้าต่างๆผ่าน WiFi จากอุปกรณ์อื่น ๆ เช่น Mobile , PC/Laptop , Tablet ใช้เว็บบราวเซอร์ เปิดเว็บเพจแล้วป้อน IP ของ ESP32 โดยที่สามารถควบคุมได้ผ่านระบบอินทราเน็ต (ที่ใช้ WiFi หรือ วง แลน หรือใช้ เราเตอร์ เดียวกัน เท่านั้น)



โดยมีขั้นตอนการทำงานดังนี้

1 : อุปกรณ์ที่ใช้


2 : ทดลองใช้งาน โปรแกรมแรก Blink


โปรแกรมแรกของ การใช้งานไมโครคอนโทรลเลอร์มักจะเป็น Blink ไฟกะพริบ ซึ่งเป็นหนึ่งในโปรแกรมที่ง่ายที่สุดเท่าที่จะเป็นไปได้ในการเขียนภาษาโปรแกรมต่างๆ โดยทำตามขั้นตอนลิงค์ด้านล่าง


3 : Web Server ควบคุมเอาต์พุต ด้วย MicroPython



เชื่อมต่ออุปกรณ์ ตามรูปด้านล่าง


สร้างไฟล์ boot.py โดยจะสร้างไว้ คอมพิวเตอร์ของเรา

(ไฟล์ boot.py ถ้าอยู่ที่บอร์ด ESP32 จะทำงานโดยอัตโนมัติเมื่อมีการรีเซตบอร์ด และหลังจากนั้น ถ้ามีไฟล์ชื่อ main.py ก็จะทำงานเป็นลำดับถัดไป)


ไปที่ File -> New


เขียนโค้ดดังนี้

try:
  import usocket as socket
except:
  import socket
from machine import Pin
import network
import esp
esp.osdebug(None)
import gc
gc.collect()
ssid = 'REPLACE_WITH_YOUR_SSID'
password = 'REPLACE_WITH_YOUR_PASSWORD'
station = network.WLAN(network.STA_IF)
station.active(True)
station.connect(ssid, password)
while station.isconnected() == False:
  pass
print('Connection successful')
print(station.ifconfig())
led = Pin(27, Pin.OUT)



เราจะบันทึกไฟล์นี้ โดย ไปที่ File -> Save as…



ไปยังโฟลเดอร์ที่เราสร้างไว้ก่อนหน้านี้ ตั้งชื่อไฟล์เป็น boot -> Save



ไฟล์ boot.py จะเพิ่มเข้ามาในโฟลเดอร์



ก่อนการอัพโหลดต้องแก้ไขโค้ด ตามเครือข่าย WiFi ที่ใช้งาน โดย

ssid = ‘REPLACE_WITH_YOUR_SSID‘ แก้เป็น เครือข่าย Wi-Fi ที่ต้องการเชื่อมต่อ

password = ‘REPLACE_WITH_YOUR_PASSWORD‘ แก้เป็น รหัสผ่านเครือข่าย



ไปที่ File -> Save


คลิกขวาที่ไฟล์ boot.py -> Upload to / เพื่ออัพโหลดไฟล์โค้ดนี้ไปยังบอร์ด ESP32


OK



แก้ไขไฟล์ main.py ที่อยู่ที่คอมพิวเตอร์เรา ตามไฟล์โค้ด maim.py ด้านล่าง




คลิกขวาที่ไฟล์ main.py -> Upload to / เพื่ออัพโหลดไฟล์โค้ดนี้ไปยังบอร์ด ESP32


กดที่ปุ่ม RTS 1 ครั้ง เพื่อเริ่มการทำงาน ของ ESP32




ถ้าไม่มีอะไรผิดพลาด ที่ Shell จะแสดงข้อความ Connection successful และแสดง IP ของ ESP32 ในตัวอย่างนี้คือ 192.168.1.38


4 : ทดสอบการทำงาน

ใช้ คอมพิวเตอร์ หรือ สมาร์ทโฟน ที่เชื่อมต่อเครือข่าย WiFi เดียวกันกับ ESP32 แล้วเปิดเว็บบราวเซอร์ ที่ URL ป้อนไอพี ที่ได้มาจากข้อ 3 ในตัวอย่างนี้คือ 192.168.1.38


คลิกที่ปุ่ม ON


LED จะติด


คลิกที่ปุ่ม OFF


LED จะดับ

credit : https://randomnerdtutorials.com/esp32-esp8266-micropython-web-server/

Leave a Reply

Your email address will not be published. Required fields are marked *

เราใช้คุกกี้เพื่อพัฒนาประสิทธิภาพ และประสบการณ์ที่ดีในการใช้เว็บไซต์ของคุณ คุณสามารถศึกษารายละเอียดได้ที่ นโยบายความเป็นส่วนตัว และสามารถจัดการความเป็นส่วนตัวเองได้ของคุณได้เองโดยคลิกที่ ตั้งค่า

Privacy Preferences

คุณสามารถเลือกการตั้งค่าคุกกี้โดยเปิด/ปิด คุกกี้ในแต่ละประเภทได้ตามความต้องการ ยกเว้น คุกกี้ที่จำเป็น

Allow All
Manage Consent Preferences
  • Always Active

Save