### ex7-1 ### import network ssid = "你的 WiFi 名稱" pw = "你的 WiFi 密碼" # 建立 WiFi 物件,設為工作站 (station) 模式 wifi = network.WLAN(network.STA_IF) wifi.active(True) wifi.connect(ssid, pw) # 檢查連線狀態,還沒連上就繼續跑迴圈 while not wifi.isconnected(): pass # 若連上,則印出 IP 位址 print(wifi.ifconfig()[0]) ### ex7-2 ### import network, urequests ssid = "你的 WiFi 名稱" pw = "你的 WiFi 密碼" # 建立 WiFi 物件,設為工作站 (station) 模式 wifi = network.WLAN(network.STA_IF) wifi.active(True) wifi.connect(ssid, pw) # 檢查連線狀態,還沒連上就繼續跑迴圈 while not wifi.isconnected(): pass # 若連上,則印出 IP 位址 print(wifi.ifconfig()[0]) url = "http://micropython.org/ks/test.html" response = urequests.get(url) if response.status_code == 200: print("網頁請求成功:") print(response.text) else: print("網頁請求失敗:") ### ex7-3 ### # IFTTT 官網 https://ifttt.com/ ### ex7-4 ### import network, urequests, utime, bh1750fvi from machine import Pin, I2C ssid = "你的WiFi名稱" pw = "你的WiFi密碼" key = "你的金鑰" url = "https://maker.ifttt.com/trigger/light_level/with/key/" + key print("連接 WiFi...") wifi = network.WLAN(network.STA_IF) wifi.active(True) wifi.connect(ssid, pw) while not wifi.isconnected(): pass print("已連上") print("亮度記錄器已啟動") while True: light_level = bh1750fvi.sample(I2C(scl=Pin(5), sda=Pin(4)), mode=0x23) response = urequests.get(url + "?value1=" + str(light_level)) if response.status_code == 200: print("IFTTT 呼叫成功: 傳送亮度 " + str(light_level) + " lux") else: print("IFTTT 呼叫失敗") utime.sleep(5) ### ex7-5 ### import network, urequests, utime from machine import Pin, I2C from hcsr04 import HCSR04 sonar = HCSR04(trigger_pin=14, echo_pin=12) ssid = "你的WiFi名稱" pw = "你的WiFi密碼" key = "你的金鑰" url = "https://maker.ifttt.com/trigger/sonar_detected/with/key/" + key print("連接 WiFi: " + ssid + "...") wifi = network.WLAN(network.STA_IF) wifi.active(True) wifi.connect(ssid, pw) while not wifi.isconnected(): pass print("已連上") print("防盜器已啟動") while True: distance = sonar.distance_cm() if 2 <= distance <= 10: print("偵測到不明物 !!!") response = urequests.get(url) if response.status_code == 200: print("IFTTT 呼叫成功: 傳送 Line 通知") else: print("IFTTT 呼叫失敗") utime.sleep(5) else: utime.sleep(0.1)