สารบัญ:

การควบคุม LED ของ Google Assistant โดยใช้ Raspberry Pi: 3 ขั้นตอน
การควบคุม LED ของ Google Assistant โดยใช้ Raspberry Pi: 3 ขั้นตอน

วีดีโอ: การควบคุม LED ของ Google Assistant โดยใช้ Raspberry Pi: 3 ขั้นตอน

วีดีโอ: การควบคุม LED ของ Google Assistant โดยใช้ Raspberry Pi: 3 ขั้นตอน
วีดีโอ: Home Assistant 2023 (EP.1)ทำไมมือใหม่ Home Assistant ต้อง Raspberry Pi! - Cytron Thailand 2024, กรกฎาคม
Anonim
การควบคุม LED ของ Google Assistant โดยใช้ Raspberry Pi
การควบคุม LED ของ Google Assistant โดยใช้ Raspberry Pi
การควบคุม LED ของ Google Assistant โดยใช้ Raspberry Pi
การควบคุม LED ของ Google Assistant โดยใช้ Raspberry Pi
การควบคุม LED ของ Google Assistant โดยใช้ Raspberry Pi
การควบคุม LED ของ Google Assistant โดยใช้ Raspberry Pi
การควบคุม LED ของ Google Assistant โดยใช้ Raspberry Pi
การควบคุม LED ของ Google Assistant โดยใช้ Raspberry Pi

เฮ้!

ในโครงการนี้ เราจะใช้การควบคุม Google Assistant ของ LED โดยใช้ Raspberry Pi 4 โดยใช้ HTTP ใน Python คุณสามารถเปลี่ยนหลอดไฟ LED เป็นหลอดไฟได้ (แน่นอนว่าไม่ใช่ตามตัวอักษร คุณจะต้องมีโมดูลรีเลย์ในระหว่างนั้น) หรือเครื่องใช้ในบ้านอื่นๆ เพื่อให้โครงการนี้สามารถใช้งานได้ต่อไปสำหรับระบบอัตโนมัติภายในบ้าน

เสบียง

สิ่งที่คุณต้องการสำหรับโครงการนี้:

1. ราสเบอร์รี่ปี่

2. LED

3. สายจัมเปอร์-2 (ชายกับหญิง)

4. เขียงหั่นขนม

5. แอป IFTTT (https://play.google.com/store/apps/details?id=com.ifttt.ifttt&hl=en_IN)

6. บัญชี Thingspeak (https://thingspeak.com/)

ข้อกำหนดเบื้องต้นบางประการ:

1. พื้นฐานเครือข่าย-HTTP

2. Python เพื่อเข้าถึงข้อมูลเว็บ

ขั้นตอนที่ 1: การสร้างช่อง Thingspeak

การสร้างช่อง Thingspeak
การสร้างช่อง Thingspeak
การสร้างช่อง Thingspeak
การสร้างช่อง Thingspeak
การสร้างช่อง Thingspeak
การสร้างช่อง Thingspeak
การสร้างช่อง Thingspeak
การสร้างช่อง Thingspeak

หากคุณเพิ่งเริ่มใช้ Thingspeak และไม่เคยใช้งานมาก่อน ให้ทำตามขั้นตอนด้านล่าง:

เข้าไปที่

คุณจะต้องลงทะเบียนก่อนที่จะเริ่มใช้ Thingspeak

หลังจากสมัครแล้ว ให้ไปที่ส่วนช่อง

ภายใต้ Channels เลือก New Channel (ดูภาพสำหรับการอ้างอิง)

ใน New Channel คุณจะเห็นช่องข้อมูลต่างๆ คุณเพียงแค่ต้องกรอกในช่องชื่อ คุณสามารถตั้งชื่อช่องของคุณได้ตามที่คุณต้องการ ฉันได้แนบรูปภาพที่ฉันตั้งชื่อช่องของฉันว่า Raspberry Pi 4 ปล่อยให้กล่องที่เหลือเหมือนเดิม

ยินดีด้วย! คุณได้สร้างช่องทางสำหรับโครงการ IoT ของคุณสำเร็จแล้ว (ดูภาพที่แนบมาซึ่งคุณสามารถดูช่องของฉันที่ชื่อว่า Raspberry Pi 4 ได้สำเร็จ)

ขั้นตอนที่ 2: การใช้ IFTTT App

การใช้แอพ IFTTT
การใช้แอพ IFTTT
การใช้แอพ IFTTT
การใช้แอพ IFTTT
การใช้แอพ IFTTT
การใช้แอพ IFTTT
การใช้แอพ IFTTT
การใช้แอพ IFTTT

เราต้องใช้แอพนี้เพื่อเรียกคำขอ GET สำหรับการโพสต์ข้อมูลในช่อง Thingspeak ที่คุณสร้างขึ้นโดยใช้ Google Assistant คิดว่าแอปนี้เป็นอินเทอร์เฟซระหว่าง Google Assistant และช่อง Thingspeak ของคุณ

ต่อไป เราสร้างคำขอ GET บนแอป IFTTT

ดาวน์โหลดแอป IFTTT จาก

สร้างบัญชีของคุณ

ไปที่สร้างแอปเพล็ตของคุณเองตั้งแต่เริ่มต้น

แตะที่ถ้าตัวเลือกนี้

เลือกบริการทริกเกอร์เป็น Google Assistant

จากนั้นเลือก พูดวลีง่ายๆ

ภายใต้ตัวเลือกนั้น กล่องข้อมูลบางกล่องจะปรากฏขึ้น ให้อ้างอิงกับรูปภาพและกรอกรายละเอียดให้เหมาะสม! (มีสองภาพเพื่อจุดประสงค์นี้: 1. เพื่อเปิด LED 2. เพื่อปิด LED)

เราได้ทำส่วน If This ซึ่งเป็น Google Assistant เสร็จเรียบร้อยแล้ว ตอนนี้เราเลือกแล้วตัวเลือกนั้นซึ่งก็คือ Webhooks

ข้างใต้นั้น เลือก ทำการร้องขอเว็บ

อ้างอิงรูปภาพสำหรับข้อมูลที่ต้องกรอกในกล่อง อ้างอิง URL นี้ https://api.thingspeak.com/update?api_key=INSERT YOUR WRITE API KEY&field1=1

ใน URL ด้านบน คุณจะสังเกตเห็นว่าฉันได้กล่าวถึง INSERT YOUR WRITE API KEY นี่คือคีย์ API ที่เป็นข้อมูลระบุตัวตนของช่องที่คุณสร้างบน Thingspeak (ดูรูป) เขียนคีย์ API จะช่วยให้คุณเขียนข้อมูลเฉพาะลงในช่องของคุณ และในทำนองเดียวกัน อ่านคีย์ API จะช่วยให้คุณได้รับข้อมูลจากช่อง

นอกเหนือจากคีย์ API การเขียนของคุณ ข้อมูลที่เหลือจากกล่องจะยังคงเหมือนเดิม

ดังนั้นที่นี่คุณได้สร้างทริกเกอร์ซึ่งเมื่อคุณพูดกับ Google Assistant ของคุณว่า "เปิดไฟ LED" มันจะส่ง "1" ไปยังช่อง Thingspeak ของคุณ

ในทำนองเดียวกัน คุณต้องสร้างแอปเพล็ตใหม่ในแอป IFTTT เพื่อปิดไฟ LED ฉันได้แนบรูปภาพหากคุณสับสนเกี่ยวกับสิ่งเดียวกัน มิฉะนั้น ขั้นตอนการปิด LED จะเหมือนกับขั้นตอนที่คุณทำด้านบน นอกเหนือจากการเปลี่ยนแปลงเล็กน้อย

ขั้นตอนที่ 3: ในที่สุดก็เริ่มเขียนโค้ด

ในที่สุดก็เริ่มรหัส
ในที่สุดก็เริ่มรหัส

ฉันจะอธิบายวัตถุประสงค์หลักของรหัส Python เราต้องดึงข้อมูลจากช่อง Thingspeak ซึ่งจะเป็น "1" หรือ "0" ตามสิ่งที่คุณพูดกับ Google Assistant เราต้องเปิดหรือปิด LED ตามนี้ หากค่าที่อัปโหลดบนช่อง Thingspeak คือ "1" เราจะเปิด LED และหากเป็น "0" เราจะปิด

ในโค้ด คุณจะต้องมีสองสิ่ง: 1. คีย์ Read API ของคุณ 2. Channel ID ของคุณ (ดูภาพเหมือนกัน)

นี่คือรหัส (สมมติว่าคุณรู้ข้อกำหนดเบื้องต้นของ HTTP และ Python):

นำเข้า urllib

คำขอนำเข้า

นำเข้า json

เวลานำเข้า

นำเข้า RPi. GPIO เป็น GPIO

GPIO.setmode(GPIO.บอร์ด)

GPIO.setup(7, GPIO.ออก)

ลอง:

ในขณะที่(1):

URL='https://api.thingspeak.com/channels/INSER YOUR CHANNEL ID/fields/1.json?api_key=' KEY='INSERT YOUR READ API KEY'

HEADER='&ผลลัพธ์=2'

NEW_URL=URL+KEY+HEADER

#print(NEW_URL)

get_data=requests.get(NEW_URL).json()

#พิมพ์(get_data)

feild_1=get_data['ฟีด']

#print("ฟิลด์:", feild_1)

t=

สำหรับ x ใน feild_1:

t.append(x['field1'])

พิมพ์(t[1])

ถ้า int(t[1])==1:

GPIO.เอาท์พุท(7, 1)

elif int(t[1])==0:

GPIO.เอาท์พุท(7, 0)

ยกเว้น KeyboardInterrupt:

GPIO. การล้างข้อมูล ()

แนะนำ: