Talaan ng mga Nilalaman:
- Mga gamit
- Hakbang 1: Lumilikha ng isang Thingspeak Channel
- Hakbang 2: Paggamit ng IFTTT App
- Hakbang 3: Panghuli Nagsisimula sa Code
Video: Batay sa LED Control na Batay sa Google Assistant Gamit ang Raspberry Pi: 3 Hakbang
2024 May -akda: John Day | [email protected]. Huling binago: 2024-01-30 13:10
Hoy!
Sa proyektong ito, ipapatupad namin ang kontrol ng batay sa Google Assistant sa LED gamit ang Raspberry Pi 4 gamit ang HTTP sa Python. Maaari mong palitan ang LED ng isang bombilya (malinaw na hindi literal, kakailanganin mo ng isang module ng relay sa pagitan) o anumang iba pang kagamitan sa bahay upang ang proyektong ito ay maaaring karagdagang ipatupad para sa mga layunin sa pag-aautomat ng bahay.
Mga gamit
Ano ang kakailanganin mo para sa proyektong ito:
1. Raspberry Pi
2. LED
3. Jumper wires-2 (lalaki hanggang babae)
4. Breadboard
5. IFTTT app (https://play.google.com/store/apps/details?id=com.ifttt.ifttt&hl=tl)
6. Thingspeak account (https://thingspeak.com/)
Ilang mga kinakailangan:
1. Mga pangunahing kaalaman sa pag-network-HTTP
2. Python upang ma-access ang data ng web
Hakbang 1: Lumilikha ng isang Thingspeak Channel
Kung bago ka sa Thingspeak at hindi mo pa nagamit ito dati, sundin ang mga hakbang sa ibaba:
Pumunta sa
Kailangan mong mag-sign up bago ka magsimulang gumamit ng Thingspeak
Pagkatapos ng pag-sign up, pumunta sa seksyon ng Mga Channel
Sa ilalim ng Mga Channel, piliin ang Bagong Channel (tingnan ang imahe para sa sanggunian)
Sa New Channel, makikita mo ang iba't ibang mga kahon ng impormasyon. Kailangan mo lamang punan ang kahon ng Pangalan. Maaari mong pangalanan ang iyong channel kahit anong gusto mo. Nag-attach ako ng isang imahe kung saan pinangalanan ko ang aking channel bilang Raspberry Pi 4. Iwanan ang natitirang mga kahon tulad nito.
Binabati kita! Matagumpay kang nakalikha ng isang channel para sa iyong proyekto sa IoT. (tingnan ang naka-attach na imahe kung saan maaari mong makita ang aking channel na nagngangalang Raspberry Pi 4 na matagumpay na nilikha)
Hakbang 2: Paggamit ng IFTTT App
Kailangan naming gamitin ang app na ito para sa pagpapalitaw ng isang kahilingan sa GET para sa pag-post ng data sa iyong nilikha na Thingspeak channel gamit ang Google Assistant. Isipin ang app na ito bilang isang interface sa pagitan ng Google Assistant at ng iyong Thingspeak channel.
Susunod, lumilikha kami ng GET mga kahilingan sa IFTTT app.
I-download ang IFTTT app mula sa
Lumikha ng iyong account
Pumunta sa Gumawa ng iyong sariling mga Applet mula sa simula
Mag-tap sa Kung ang pagpipiliang ito
Piliin ang trigger service bilang Google Assistant
Sa iyon, piliin ang Sabihin ang isang simpleng parirala
Sa ilalim ng opsyong iyon, lilitaw ang ilang mga kahon ng impormasyon. Para doon, sumangguni sa mga imahe at punan ang mga detalye nang naaayon! (mayroong dalawang mga imahe para sa hangaring ito: 1. Upang i-on ang LED 2. Upang patayin ang LED)
Nakumpleto namin ang If This part na Google Assistant. Pinipili namin Ngayon Kung gayon ang pagpipilian na Webhooks.
Sa ilalim nito, piliin ang Gumawa ng isang kahilingan sa web
Sumangguni sa imahe para sa impormasyon na dapat mapunan sa mga kahon. Sumangguni sa URL na ito https://api.thingspeak.com/update?api_key=INSERT IYONG SUSULIN ANG API KEY & field1 = 1
Sa nasa itaas na URL, mapapansin mo na nabanggit ko ang tungkol sa I-INSERT ANG IYONG API SA PAGSULAT. Ito ang API key na isang pagkakakilanlan ng channel na iyong nilikha sa Thingspeak (tingnan ang imahe). Makakatulong sa iyo ang sumulat ng API key upang sumulat ng isang partikular na data sa iyong channel at ang katulad na Basahin ang API key ay makakatulong sa iyo upang makakuha ng data mula sa channel.
Bukod sa iyong Writing API key, ang natitirang impormasyon mula sa mga kahon ay mananatiling pareho.
Kaya't dito ka lumikha ng isang gatilyo kung saan kapag sinabi mo sa iyong Google Assistant, "I-on ang LED" magpapadala ito ng isang "1" sa iyong Thingspeak channel.
Ngayon, sa isang katulad na paraan, kailangan mong lumikha ng isang bagong Applet sa IFTTT app para sa pag-off ng LED. Nag-attach ako ng mga imahe kung nalilito ka tungkol sa pareho. Kung hindi man, ang pamamaraan para sa pagpatay sa LED ay pareho sa iyong ginawa sa itaas bukod sa ilang mga menor de edad na pagbabago.
Hakbang 3: Panghuli Nagsisimula sa Code
Ipapaliwanag ko ang pangunahing layunin ng Python code. Kailangan nating kunin ang data mula sa Thingspeak channel na magiging isang "1" o isang "0" batay sa sasabihin mo sa iyong Google Assistant. Kailangan nating i-on o i-off ang LED batay dito. Kung ang na-upload na halaga sa channel ng Thingspeak ay "1", pagkatapos ay i-on namin ang LED, at kung ito ay isang "0", patayin namin ito.
Sa code, kakailanganin mo ng dalawang bagay: 1. Iyong Basahin ang API key 2. Iyong Channel ID (i-refer ang mga imahe para sa pareho)
Narito ang code (ipagpapalagay na alam mo ang mga paunang kinakailangan ng HTTP at Python):
import urllib
mag-import ng mga kahilingan
import json
oras ng pag-import
i-import ang RPi. GPIO bilang GPIO
GPIO.setmode (GPIO. BOARD)
GPIO.setup (7, GPIO. OUT)
subukan:
habang (1):
URL = 'https://api.thingspeak.com/channels/INSER IYONG CHANNEL ID / mga patlang / 1.json? Api_key =' KEY = 'INSERT ANG IYONG BASAHIN ANG API KEY'
HEADER = '& mga resulta = 2'
NEW_URL = URL + KEY + HEADER
#print (NEW_URL)
get_data = requests.get (NEW_URL).json ()
#print (get_data)
feild_1 = get_data ['feeds']
#print ("Field:", feild_1)
t =
para sa x sa feild_1:
t.append (x ['field1'])
i-print (t [1])
kung int (t [1]) == 1:
GPIO.output (7, 1)
elif int (t [1]) == 0:
GPIO.output (7, 0)
maliban sa KeyboardInterrupt:
GPIO.cleanup ()
Inirerekumendang:
Subukan ang Bare Arduino, Gamit ang Software ng Laro Gamit ang Capacitive Input at LED: 4 na Hakbang
Subukan ang Bare Arduino, Gamit ang Software ng Laro Gamit ang Capacitive Input at LED: " Push-It " Interactive na laro gamit ang isang hubad na Arduino board, walang mga panlabas na bahagi o mga kable na kinakailangan (gumagamit ng isang capacitive 'touch' input). Ipinapakita sa itaas, ipinapakita ang pagtakbo nito sa dalawang magkakaibang board. Push-Mayroon itong dalawang layunin. Upang mabilis na maipakita / v
Internet Clock: Ipakita ang Petsa at Oras Gamit ang isang OLED Gamit ang ESP8266 NodeMCU Sa NTP Protocol: 6 na Hakbang
Internet Clock: Display Date and Time With an OLED Gamit ang ESP8266 NodeMCU With NTP Protocol: Kumusta mga tao sa mga itinuturo na ito na magtatayo kami ng isang orasan sa internet na magkakaroon ng oras mula sa internet kaya't ang proyektong ito ay hindi mangangailangan ng anumang RTC upang tumakbo, kakailanganin lamang nito ang isang nagtatrabaho koneksyon sa internet At para sa proyektong ito kailangan mo ng isang esp8266 na magkakaroon ng
Batay sa Arduino Hindi Makipag-ugnay sa Infrared Thermometer - Thermometer na Batay sa IR Gamit ang Arduino: 4 na Hakbang
Batay sa Arduino na Hindi Nakikipag-ugnay sa Infrared Thermometer | Thermometer na Batay sa IR Gamit ang Arduino: Kumusta mga tao sa mga itinuturo na ito ay gagawa kami ng isang hindi nakikipag-ugnay na Thermometer gamit ang arduino. Dahil kung minsan ang temperatura ng likido / solid ay masyadong mataas o paraan upang mababa at pagkatapos ay mahirap makipag-ugnay dito at basahin ito temperatura noon sa mga tagpong iyon
Batay sa Autonomous na Batay ng Arduino Gamit ang Ultrasonic Sensor: 5 Mga Hakbang (na may Mga Larawan)
Batay ng Autonomous na Batay ng Arduino Paggamit ng Ultrasonic Sensor: Lumikha ng iyong sariling Arduino based Autonomous Bot gamit ang Ultrasonic Sensor. Ang bot na ito ay maaaring lumipat sa sarili nitong walang pag-crash ng anumang mga hadlang. Karaniwan kung ano ang ginagawa nito ay nakita nito ang anumang uri ng mga hadlang sa paraan nito at nagpapasya ang pinakamahusay na pa
Kontrolin ang Arduino Gamit ang Smartphone Sa pamamagitan ng USB Gamit ang Blynk App: 7 Mga Hakbang (na may Mga Larawan)
Kontrolin ang Arduino Gamit ang Smartphone Sa Pamamagitan ng USB Sa Blynk App: Sa tutorial na ito, matututunan namin kung paano gamitin ang Blynk app at Arduino upang makontrol ang lampara, ang kumbinasyon ay sa pamamagitan ng USB serial port. Ang layunin ng pagtuturo na ito ay upang ipakita ang pinakasimpleng solusyon sa malayo-pagkontrol ng iyong Arduino o c