WiFi Shield¶
WiFi Shield เพิ่ม Wi-Fi 2.4 GHz ให้กับ OpenMV Cam ที่ไม่มีระบบเครือข่ายในตัว โดยใช้โมดูล Atmel WINC1500 เสียบเข้ากับด้านล่างของ header OpenMV Cam ใดก็ได้
ดูข้อมูล datasheet ฉบับเต็ม รูปภาพ และการสั่งซื้อได้ที่ หน้าผลิตภัณฑ์ WiFi Shield
Note
รองรับเฉพาะ OpenMV Cam, M4, M7, H7 และ H7 Plus เท่านั้น
จุดเด่น¶
Wi-Fi 2.4 GHz b/g/n ผ่านโมดูล Atmel WINC1500
TLS 1.2 hardware crypto สำหรับ HTTPS / MQTTS
ผังพิน¶
อ้างอิงพิน¶
พิน |
ฟังก์ชัน |
|---|---|
P0 |
SPI MOSI — ข้อมูลไปยังโมดูล WINC1500 |
P1 |
SPI MISO — ข้อมูลจากโมดูล WINC1500 |
P2 |
สัญญาณนาฬิกา SPI |
P3 |
SPI chip select |
P6 |
Chip enable |
P7 |
Module reset |
P8 |
Module interrupt |
3.3V rail |
จ่ายไฟให้โมดูล WINC1500 |
GND rail |
กราวด์ร่วม |
การใช้งาน¶
ขับ shield ผ่านคลาส network.WINC ในโหมด station เริ่มต้น เชื่อมต่อเครือข่าย Wi-Fi และพิมพ์ IP ที่ได้รับ:
import network
import time
SSID = "your-network"
KEY = "your-password"
wlan = network.WINC() # station mode by default
wlan.connect(SSID, KEY)
while not wlan.isconnected():
print("connecting...")
time.sleep_ms(1000)
print("Wi-Fi IP:", wlan.ifconfig()[0])
shield ยังสามารถทำงานเป็น Wi-Fi access point ได้ — ส่ง MODE_AP ไปยัง constructor และเรียก start_ap() เพื่อเปิด AP:
import network
wlan = network.WINC(network.WINC.MODE_AP)
wlan.start_ap("openmv-cam", security=network.WINC.OPEN)
print("AP IP:", wlan.ifconfig()[0])
Note
การใช้งาน AP ของ WINC1500 รองรับเพียงหนึ่งไคลเอ็นต์ต่อครั้งและรองรับเฉพาะโหมดความปลอดภัย OPEN และ WEP เท่านั้น
เฟิร์มแวร์ของ WINC1500 เองสามารถตรวจสอบและอัปเดตได้จากกล้อง พิมพ์เวอร์ชันเฟิร์มแวร์ที่กำลังทำงานด้วย:
import network
wlan = network.WINC()
print("Firmware version:", wlan.fw_version())
อิมเมจเสถียรล่าสุด (winc_19_7_6.bin) ถูกบรรจุมาใน OpenMV IDE ที่ <openmv-ide-install-dir>/share/qtcreator/firmware/WINC1500/ และใช้งานได้เฉพาะกับฮาร์ดแวร์ ATWINC1500-MR210PB รุ่นใหม่กว่าเท่านั้น ในการแฟลช คัดลอกไฟล์ .bin ไปยัง SD card ของกล้อง ดีดการ์ดออกเพื่อล้าง FAT cache รีเซ็ตบอร์ด แล้วรัน:
import network
wlan = network.WINC(mode=network.WINC.MODE_FIRMWARE)
wlan.fw_update("winc_19_7_6.bin")
fw_dump() อ่านอิมเมจปัจจุบันกลับออกมาเป็นไฟล์ในวิธีเดียวกัน ดูคลาส network.WINC สำหรับรายการเมธอดครบถ้วน