สารบัญ:

วิธีควบคุมสวิตช์อัจฉริยะ Sonoff Basic ตาม ESP8266 ด้วยสมาร์ทโฟน: 4 ขั้นตอน (พร้อมรูปภาพ)
วิธีควบคุมสวิตช์อัจฉริยะ Sonoff Basic ตาม ESP8266 ด้วยสมาร์ทโฟน: 4 ขั้นตอน (พร้อมรูปภาพ)

วีดีโอ: วิธีควบคุมสวิตช์อัจฉริยะ Sonoff Basic ตาม ESP8266 ด้วยสมาร์ทโฟน: 4 ขั้นตอน (พร้อมรูปภาพ)

วีดีโอ: วิธีควบคุมสวิตช์อัจฉริยะ Sonoff Basic ตาม ESP8266 ด้วยสมาร์ทโฟน: 4 ขั้นตอน (พร้อมรูปภาพ)
วีดีโอ: EP.119 วิธีเชื่อมต่อ WIFI 4 CH Smart Switch module setting ควบคุมอุปกรณ์ได้ 4 ชนิด สั่งงานผ่านมือถือ 2024, กรกฎาคม
Anonim
วิธีควบคุมสวิตช์อัจฉริยะ Sonoff Basic ตาม ESP8266 ด้วยสมาร์ทโฟน
วิธีควบคุมสวิตช์อัจฉริยะ Sonoff Basic ตาม ESP8266 ด้วยสมาร์ทโฟน

Sonoff เป็นอุปกรณ์สำหรับ Smart Home ที่พัฒนาโดย ITEAD หนึ่งในอุปกรณ์ที่ยืดหยุ่นและราคาไม่แพงที่สุดจากกลุ่มผลิตภัณฑ์ดังกล่าวคือ Sonoff Basic เป็นสวิตช์ที่เปิดใช้งาน Wi-Fi โดยใช้ชิปที่ยอดเยี่ยม ESP8266 บทความนี้อธิบายวิธีการตั้งค่าบริการ Cloud4RPi บนสวิตช์อัจฉริยะ Sonoff Basic

ในคำแนะนำก่อนหน้านี้ เราได้อธิบายวิธีแฟลชเฟิร์มแวร์ MicroPython ใหม่บนสวิตช์อัจฉริยะ Sonoff Basic หรือ Sonoff Dual ในบทความนี้ เราจะกู้คืนส่วนหนึ่งของฟังก์ชันที่เปิดใช้งาน Sonoff ดั้งเดิมโดยใช้ Cloud4RPi

ขั้นตอนที่ 1: เชื่อมต่อผ่าน WebREPL

การเชื่อมต่อผ่าน WebREPL
การเชื่อมต่อผ่าน WebREPL

ก่อนหน้านี้เราเข้าถึงอินเทอร์เฟซ Python REPL ผ่านโปรโตคอล UART เนื่องจาก ESP8266 เป็นโมดูล Wi-Fi เราจึงสามารถสื่อสารแบบไร้สายได้ เปิดบอร์ดที่เปิดใช้งาน MicroPython เข้าถึงบรรทัดคำสั่งและป้อนคำสั่งต่อไปนี้เพื่อเปิดใช้งาน WebREPL:

>> นำเข้า webrepl_setup

คำสั่งนี้เริ่มต้นวิซาร์ดการกำหนดคอนฟิกที่คุณสามารถกำหนดคอนฟิกการเริ่มต้นอัตโนมัติของ WebREPL ตั้งรหัสผ่าน และรีบูตเมื่อเสร็จสิ้น

หลังจากรีบูต ให้เชื่อมต่อกับเครือข่าย Wi-Fi ของคุณโดยดำเนินการคำสั่งต่อไปนี้ (แทนที่การกำหนดค่า Wi-Fi ด้วยข้อมูลของคุณ):

>> จากการนำเข้าเครือข่าย WLAN

>> STA = WLAN(0); STA.active(1) >>> STA.connect('_YOUR_WIFI_NETWORK_NAME_', '_PASSWORD_') >>> STA.ifconfig()

รอสักครู่แล้วตรวจสอบเอาต์พุต STA.isconnected() หากแสดงผลเป็น False ให้ตรวจสอบข้อมูลรับรอง Wi-Fi อีกครั้ง เชื่อมต่อใหม่ และตรวจสอบว่า STA.isconnected() ส่งออกเป็น True ในการรับที่อยู่ IP ของ ESP8266 ในเครือข่ายของคุณ ให้รันคำสั่งต่อไปนี้

>> STA.ifconfig()[0]

'192.168.1.108'

ตอนนี้คุณสามารถเชื่อมต่อกับ ESP8266 ผ่าน WebREPL ได้แล้ว (ดาวน์โหลดเอกสาร HTML นี้และเปิดด้วยเบราว์เซอร์ของคุณ)

ที่ด้านขวามือของอินเทอร์เฟซ WebREPL คุณสามารถดูฟิลด์ตัวจัดการไฟล์ที่อนุญาตให้คุณอัปโหลดและดาวน์โหลดไฟล์ซอร์สโค้ดไปยังระบบไฟล์เสมือนของ ESP8266

ขั้นตอนที่ 2: การเชื่อมต่อกับ Cloud4RPi

กำลังเชื่อมต่อกับ Cloud4RPi
กำลังเชื่อมต่อกับ Cloud4RPi

ดาวน์โหลดไฟล์ที่จำเป็นลงในคอมพิวเตอร์ของคุณ:

  • simple.py: ไลบรารี MQTT สำหรับ MicroPython บันทึกไฟล์นี้เป็น mqtt.py เมื่อดาวน์โหลด
  • cloud4rpi.py: ไลบรารีไคลเอนต์ Cloud4RPi สำหรับ MicroPython
  • main.py: โค้ดตัวอย่าง

เปิดไฟล์ main.py ในโปรแกรมแก้ไขข้อความ (เช่น Visual Studio Code) และแทนที่สตริงต่อไปนี้:

  • _SSID_ พร้อมชื่อเครือข่าย Wi-Fi ของคุณ
  • _PWD_ ด้วยรหัสผ่านเครือข่าย Wi-Fi ของคุณ หากคุณมีเครือข่ายแบบเปิด ให้ลบองค์ประกอบ '_PWD_' โดยไม่ต้องลบเครื่องหมายจุลภาคต่อท้าย เพื่อให้ตัวแปร WIFI_SSID_PASSWORD กลายเป็นทูเพิลที่มีองค์ประกอบเดียว
  • _YOUR_DEVICE_TOKEN_ พร้อมโทเค็นแสดงที่ด้านบนของหน้าอุปกรณ์บน cloud4rpi.io หากคุณไม่มีโทเค็น ให้เปิดหน้าอุปกรณ์ สร้างอุปกรณ์โดยใช้ปุ่มอุปกรณ์ใหม่ที่มุมบนขวา และใช้โทเค็นของอุปกรณ์
  • เปลี่ยน LED_PIN เป็น 13 และ BUTTON_PIN เป็น 0

บันทึกไฟล์ main.py และอัปโหลดไฟล์ mqtt.py, cloud4rpi.py และ main.py ไปยัง ESP8266 ของคุณผ่านแผงด้านขวามือของ WebREPL

คุณสามารถใช้ตัวอัปโหลดไฟล์บรรทัดคำสั่งที่มาพร้อมกับ WebREPL เพื่ออัปโหลดไฟล์

รีเซ็ต ESP8266 คุณสามารถใช้คอนโซลสำหรับสิ่งนี้:

>>นำเข้าเครื่อง

>> เครื่องรีเซ็ต ()

ไฟล์ชื่อ main.py เริ่มทำงานโดยอัตโนมัติเมื่อบู๊ต

หากทุกอย่างเป็นไปด้วยดี คุณจะเห็นอุปกรณ์อยู่ในหน้าอุปกรณ์ Cloud4RPi

ขั้นตอนที่ 3: การตั้งค่าแผงควบคุม

ไปที่หน้าแผงควบคุมและเพิ่มแผงควบคุมใหม่และเพิ่มวิดเจ็ตสวิตช์และผูกเข้ากับตัวแปร LED

ใช้สวิตช์ LED บนแผงควบคุมเพื่อเปิดไฟ LED Sonoff

เพิ่มวิดเจ็ตข้อความและผูกเข้ากับตัวแปรปุ่ม กำหนดค่าสีต่างๆ สำหรับสตริง "จริง" และ "เท็จ" ตอนนี้คุณสามารถกดปุ่มฮาร์ดแวร์และดูว่าวิดเจ็ตเปลี่ยนแปลงอย่างไร

คุณสามารถควบคุมรีเลย์ Sonoff Basic ได้โดยการเพิ่มตัวแปรใหม่ที่ผูกไว้กับพินฮาร์ดแวร์ 12

relay_pin = พิน (12, พินออก)

def on_relay(ค่า): relay_pin.value(value) return relay_pin.value() # … device.declare ({ 'Relay': { 'type': 'bool', 'value': False, 'bind': on_relay }, # … })

ขั้นตอนที่ 4: ผลลัพธ์สุดท้าย

เราเชื่อมต่อรีเลย์กับไฟเดสก์ท็อปแล้ว ดูวิดีโอที่เราทดสอบ

แนะนำ: