import network
import time
import machine
import BlynkLib
# 1. ตั้งค่าสิทธิ์การเข้าถึง Blynk (นำมาจากหน้า Blynk Console)
BLYNK_TEMPLATE_ID = "TMPL6rSXnF-1G"
BLYNK_AUTH_TOKEN = "K3H6SQjsmrPLei-ay9BgRWJlgklR-LFv"
# 2. ตั้งค่าการเชื่อมต่อ Wi-Fi สำหรับ Wokwi
WIFI_SSID = "Wokwi-GUEST"
WIFI_PASS = ""
# ตั้งค่าขา LED บนบอร์ด Pico W ใน Wokwi
led = machine.Pin("LED", machine.Pin.OUT)
# ฟังก์ชันเชื่อมต่อ Wi-Fi จำลองของ Wokwi
def connect_wifi():
wlan = network.WLAN(network.STA_IF)
wlan.active(True)
if not wlan.isconnected():
print("กำลังเชื่อมต่อกับ Wokwi จำลอง...")
wlan.connect(WIFI_SSID, WIFI_PASS)
while not wlan.isconnected():
print(".", end="")
time.sleep(0.5)
print("\nเชื่อมต่อ Wi-Fi สำเร็จ!")
print("IP Address:", wlan.ifconfig()[0])
# เริ่มต้นเชื่อมต่ออินเทอร์เน็ต
connect_wifi()
# 3. เริ่มต้นใช้งาน Blynk (เปลี่ยน server เป็น sgp1.blynk.cloud)
blynk = BlynkLib.Blynk(
BLYNK_AUTH_TOKEN,
server="sgp1.blynk.cloud", # แก้ตรงนี้: ยิงตรงเข้า Server เอเชีย (สิงคโปร์) เพื่อเลี่ยงบั๊ก Redirect
port=80,
insecure=True,
tmpl_id=BLYNK_TEMPLATE_ID,
log=print # เปิดดูสถานะการเชื่อมต่อที่หน้าจอ Wokwi
)
# ฟังก์ชันรับค่าจาก Blynk (เมื่อกดปุ่ม Switch บนแอปที่ผูกกับ V0)
@blynk.on("V0")
def v0_write_handler(value):
pin_value = int(value[0])
if pin_value == 1:
led.on()
print("เปิดไฟ LED")
else:
led.off()
print("ปิดไฟ LED")
# ตัวแปรสำหรับส่งค่าเซนเซอร์
counter = 0
last_send = time.ticks_ms()
send_interval = 5000
# Main Loop
while True:
blynk.run()
if time.ticks_diff(time.ticks_ms(), last_send) >= send_interval:
counter += 1
blynk.virtual_write(1, counter)
print("ส่งข้อมูลไปยัง V1:", counter)
last_send = time.ticks_ms()Loading
pi-pico-w
pi-pico-w