Përmbajtje:
- Hapi 1: Filloni
- Hapi 2: Aplikacioni Hue
- Hapi 3: Lidhni Urën
- Hapi 4: Adresa IP
- Hapi 5:
- Hapi 6: Rregulloni ngjyrën tuaj
- Hapi 7: Le të Fillojmë
- Hapi 8:
- Hapi 9: Le të bëjmë diçka me dritat
- Hapi 10:
- Hapi 11: Le të Kontrollojmë Dritën
- Hapi 12:
- Hapi 13:
- Hapi 14:
- Hapi 15:
- Hapi 16:
- Hapi 17:
- Hapi 18:
- Hapi 19:
Video: Projekti IoT School Philips Ngjyra: 19 hapa
2024 Autor: John Day | [email protected]. E modifikuara e fundit: 2024-01-30 12:16
Ky është një manual që duhet të shkruaj për shkollën. Nuk është i plotë dhe nuk jam i sigurt nëse mund ta përdorni. Njohuritë e mia për API -të janë minimumi minimal. Ne donim të bënim një pasqyrë interaktive me drita në anën e pasme që reagonin ndaj motit, dritë nga jashtë, etj.
Shikova se si mund të programoja një llambë Philips Hue me një Arduino. Në këtë, unë shpjegoj të gjithë hapat e mi dhe sa larg kam arritur. Unë nuk kam arritur të programoj Hue me Arduino, por mendoj se është një fillim i mirë.
Unë kam nevojë për këtë: një llambë Arduino një nuancë një llogari zhvilluesi i urës Philips Hue
Burimet: https://www.developers.meethue.com/documentation/g…https://github.com/bsalinas/ArduinoHuehttps://arduino-esp8266.readthedocs.io/en/latest/e…https:// www.makeuseof.com/tag/control-philips-hue-…
Hapi 1: Filloni
Para se të keni qasje në dokumentacionin API, do t'ju duhet të regjistroheni si zhvillues. Freeshtë falas, por ju duhet të pranoni kushtet dhe kushtet. Mund ta bëni një këtu>
Hapi 2: Aplikacioni Hue
Shkarkoni aplikacionin zyrtar Philips Hue. Lidhni telefonin tuaj me rrjetin në të cilin dëshironi të jetë ura Hue.
Hapi 3: Lidhni Urën
Lidhni urën tuaj me rrjetin tuaj dhe funksionon siç duhet. Provoni që aplikacioni i smartphone mund të kontrollojë dritat në të njëjtin rrjet. Duhet të jetë në të njëjtin rrjet Wi-Fi.
Hapi 4: Adresa IP
Atëherë ju duhet të zbuloni adresën IP të urës në rrjetin tuaj. Shtyjeni lidhjen për t'u lidhur me urën në aplikacion dhe provoni të kontrolloni dritat.
Hapi 5:
Nëse gjithçka funksionon, shkoni te menyja e cilësimeve në aplikacion. Pastaj shkoni te "Ura ime", shkoni te "Cilësimet e rrjetit". Fikeni ndërruesin DHCP dhe shihni adresën IP të urës. Vini re adresën IP, pastaj ndizni DHCP përsëri.
Hapi 6: Rregulloni ngjyrën tuaj
Kur e keni shkruar atë, duhet të korrigjoni Hue tuaj. Për këtë hap, keni nevojë për adresën IP. Ju duhet të vizitoni sitin tjetër.
/debug/clip.html
Ndërfaqja do të duket kështu në imazh. Kjo është baza e të gjithë trafikut në internet dhe e ndërfaqes hue RESTful.
Kam marrë këtë informacion në lidhje me ndërfaqen Restful të faqes Philips Hue.
URL: kjo është në të vërtetë adresa lokale e një burimi (sendi) specifik brenda sistemit të ngjyrave. Mund të jetë dritë, një grup dritash ose shumë gjëra të tjera. Ky është objekti me të cilin do të ndërveproni brenda kësaj komande.
Trupi: kjo është pjesa e mesazhit e cila përshkruan atë që dëshironi të ndryshoni dhe si. Këtu futni, në formatin JSON, emrin e burimit dhe vlerën që dëshironi të ndryshoni/shtoni.
Një metodë: këtu ju keni një zgjedhje nga 4 metodat HTTP që thirrja e ngjyrave mund të përdorë.
GET: ky është komanda për të marrë të gjitha informacionet në lidhje me burimin e adresuar
PUT: ky është komanda për të modifikuar një burim të adresuar
POST: ky është komanda për të krijuar një burim të ri brenda burimit të adresuar
FSHIJ: ky është komanda për të fshirë burimin e adresuar Përgjigje: Në këtë zonë, do të shihni përgjigjen ndaj komandës suaj. Gjithashtu në formatin JSON.
Hapi 7: Le të Fillojmë
Tani ne kemi nevojë për një emër përdoruesi të krijuar rastësisht që krijon ura për ju. Ju do të merrni një duke e mbushur këtë.
Vendosni URL -në:
/api/
Vendoseni në TRUP:
dhe shtypni GET
Kjo komandë në thelb thotë "ju lutemi krijoni një burim të ri brenda /api" (ku ulen emrat e përdoruesve) me vetitë e mëposhtme. Në fillim, do të merrni një gabim, dhe kjo sepse është hapi i sigurisë i Philips Hue. Duke shtypur butonin ata vërtetojnë se keni qasje fizike në urë.
Hapi 8:
Tani Shtypni butonin në Urë dhe klikoni përsëri POST.
Tani do të merrni një emër përdoruesi që ura bëri për ju.
Hapi 9: Le të bëjmë diçka me dritat
Kopjoni emrin tuaj të përdoruesit dhe vendoseni në rreshtin vijues.
Vendoseni këtë në URL -në tuaj
/api//dritat
Shtypni GET
Ju duhet të merrni një përgjigje JSON me të gjitha dritat në sistemin tuaj dhe emrat e tyre.
Hapi 10:
Kam huazuar disa Hue Lights nga shkolla, ajo që përdor është ajo me id 3. Dua informacion specifik në lidhje me këtë dritë.
Vendoseni këtë pranë URL -së që keni pasur tashmë:
/api//dritat/3
Shtypni GET
Tani ju merrni informacionin për Led 3 (nëse keni një numër tjetër si 1 do të shihni informacione për atë).
Hapi 11: Le të Kontrollojmë Dritën
Ju shikoni në "gjendjen" që led im është "on". Ne duam të kontrollojmë dritën në "gjendje".
Vendoseni këtë pranë URL -së që keni pasur tashmë: https:/// api// lights/ 3/ state
Vendos rreshtin tjetër në trup
Shtypni PUT
Tani drita juaj do të fiket! Ndryshoni vlerën në trup në të vërtetë dhe drita do të ndizet përsëri.
Hapi 12:
Tani gjithçka po funksionon Unë dua ta bëj këtë me Arduino -n tim. Shikova lidhjen që dha Philips Hue për të bërë ndryshimin e ngjyrës së lehtë. Por ju keni nevojë për Python për këtë, unë kurrë nuk kam punuar me Python kështu që kërkova diçka tjetër.
Nëse ju pëlqen të shikoni këtë kod, unë kam lidhjen Github këtu:
github.com/bsalinas/ArduinoHue
Hapi 13:
Shikova se si mund të merrja informacion nga kjo faqe zhvilluesi në arduino -n tim. Shumicën e kohës nuk e kuptoja gjuhën. Por gjeta një kod në një faqe në internet nga James Bruce.
Kjo është lidhja me faqen e internetit.
www.makeuseof.com/tag/control-philips-hue-lights-arduino-and-motion-sensor/
Hapi 14:
Së pari pashë që ai po përdorte një kabllo Ethernet. Unë kisha vetëm një llambë Hue Light dhe Bridge a Arduino, dhe pak kuptim të kodit. U desh pak kohë për të kuptuar kodin e tij, por ende nuk e kuptoj vërtet.
Unë së pari shtova këtë bibliotekë për internetin.
#përfshi
Kjo është për rrjetin tuaj (duhet të jetë e njëjtë me llambën Hue Light)
const char* ssid = ""; // vendosni këtu rrjetin tuaj WiFi SSIDconst char* password = ""; // vendosni këtu fjalëkalimin e rrjetit tuaj WiFi
Këto janë ID -ja e Urës suaj dhe emri i përdoruesit që ju ka dhënë ura juaj. (Unë nuk e di se ku qëndron 80, por kur bëra disa kërkime pashë që ai përdorej për rrjete).
// Konstantet e ngjyrave const char hueHubIP = ""; // Hue hub IP const char hueUsername = ""; // Emri i përdoruesit Hue const int hueHubPort = 80;
// Variablat e ngjyrave bool hueOn; // ndez/fik int hueBri; // vlera e shkëlqimit hije e gjatë; // vlera e ngjyrës String hueCmd; // Komanda Hue
tampon i gjatë i panënshkruar = 0; // tampon për ruajtjen e të dhënave të marra addr pa shenjë të gjatë;
Hapi 15:
Për konfigurimin e zbrazëtisë, bëra më shumë për lidhjen në internet. Në këtë kod, Arduino po shikon nëse mund të lidhet me rrjetin.
void setup () {Serial.begin (9600);
Serial.println ();
Serial.printf ("Lidhja me %s", ssid);
WiFi.filloni (ssid, fjalëkalim);
ndërsa (WiFi.status ()! = WL_CONNECTED) {
vonesë (500);
Serial.print ("."); }
Serial.println ("i lidhur"); }
Hapi 16:
Në lakun e James, pashë që ai kishte një deklaratë If dhe else. Por kjo ishte për kabllon ethernet, kështu që unë u përpoqa ta lija jashtë. Unë gjithashtu nganjëherë u përpoqa ta rregulloja atë, por nuk e dija akoma me shumë të dhëna. Disa gjëra në kodin që kuptova, në varg janë të dhënat që i jepen dritës Hue.
lak void () {
// Një seri prej katër komandash mostër, e cila ngjyrë zbeh dy drita midis të kuqes dhe rozës. Lexoni dokumentacionin API Hue // për më shumë detaje mbi komandat e sakta që do të përdoren, por vini re se shenjat e kuotimit duhet të shmangen.
Komanda e vargut = "{" on / ": true, \" hue / ": 50100, \" sat / ": 255, \" bri / ": 255, \" koha e kalimit / ":"+String (rastësor (15, 25))+"}"; setHue (1, komandë);
command = "{" on / ": true, \" hue / ": 65280, \" sat / ": 255, \" bri / ": 255, \" timetime / ":"+String (rastësor (15, 25))+"}"; setHue (2, komandë);
komandë = "{" nuanca / ": 65280, \" ul / ": 255, \" bri / ": 255, \" koha e kalimit / ":"+Vargu (i rastësishëm (15, 25))+"}"; setHue (1, komandë);
komandë = "{" nuanca / ": 50100, \" ul / ": 255, \" bri / ": 255, \" koha e kalimit / ":"+Vargu (i rastësishëm (15, 25))+"}"; setHue (2, komandë);
}
Hapi 17:
Kodi tjetër ishte një Boolean, por në Arduino ju duhet të shkruani Bool. Në fillim, mora shumë gabime për shkak të fjalës klient. Kështu që e shikova dhe pashë që një kod përdorte linjën "klient WifiClient;". Kështu që unë e përdorja atë dhe funksionoi.
Në deklaratën if shpesh shihni klient.print. Nëse shikoni kodin, do të shihni që URL -ja që keni futur më herët është e ndarë në copa. Tani futni kodin tuaj. Më duhej të zgjidhja dritën time të tretë LED.
/ * setHue () është funksioni ynë kryesor i komandës, i cili duhet të kalojë një numër të lehtë dhe një varg komandash * të formatuar siç duhet në formatin JSON (në thelb një grup i stilit Javascript të variablave * dhe vlerave. Pastaj bën një kërkesë të thjeshtë HTTP PUT për Ura në IP e specifikuar në fillim. */
bool setHue (int lightNum, komanda String) {
Klienti WiFiClient;
nëse (client.connect (hueHubIP, hueHubPort)) {
ndërsa (klienti.lidhur ()) {
client.print ("PUT /api /"); client.print (hueUsername); client.print ("/dritat/"); klient.print (lightNum); // hueLight zero bazuar, shtoni 1 client.println ("3/state"); // këtu kam ndryshuar emrin e ngjyrës dhe stateclient.print ("Host:"); client.println (hueHubIP); client.print ("Përmbajtja-Gjatësia:"); client.println (command.length ()); client.println ("Lloji i Përmbajtjes: tekst/thjeshtë; grupi i karaktereve = UTF-8"); klient.println (); // rresht bosh para body client.println (komandë); // Komanda Hue
} client.stop (); kthehet e vërtetë; // komanda e ekzekutuar}
përndryshe kthehu i rremë; // komanda dështoi}
Hapi 18:
Në Boolean e dytë, bëra të njëjtën gjë me ndryshimin e disa fjalëve. E ngarkova për të parë nëse funksionoi.
/* Një funksion ndihmës në rast se logjika juaj varet nga gjendja aktuale e dritës. * Kjo përcakton një numër të ndryshoreve globale të cilat mund t'i kontrolloni për të gjetur nëse një dritë është aktualisht e ndezur apo jo * dhe nuanca etj. Nuk nevojitet vetëm për të dërguar komandat */
bool getHue (int lightNum) {
Klienti WiFiClient;
nëse (client.connect (hueHubIP, hueHubPort)) {
client.print ("GET /api /"); client.print (hueUsername); client.print ("/dritat/"); klient.print (lightNum); client.println ("3/gjendja"); client.print ("Pritësi:"); client.println (hueHubIP); client.println ("Lloji i përmbajtjes: aplikacion/json"); client.println ("mbaj gjallë"); klient.println ();
ndërsa (client.connected ()) {if (client.available ()) {client.findUntil ("\" on / ":", "\ 0"); hueOn = (client.readStringUntil (',') == "e vërtetë"); // nëse drita është e ndezur, vendosni ndryshoren në client.findUntil të vërtetë ("\" bri / ":", "\ 0"); hueBri = client.readStringUntil (',').toInt (); // vendosni ndryshoren në vlerën e ndriçimit client.findUntil ("\" hue / ":", "\ 0"); hueHue = client.readStringUntil (',').toInt (); // vendosni ndryshoren në thyerjen e vlerës së ngjyrës; // nuk kap akoma atribute të tjera të lehta}} client.stop (); kthehet e vërtetë; // kapur në, bri, hue} tjetër kthehen false; // leximi i gabimit në, bri, hue}
Hapi 19:
Unë mendoj se mund të krijoj një lidhje me Philips Hue. Unë marr informacion, por ai ende duhet të përdoret.
Fatkeqësisht, kjo shkon përtej asaj që mund të kodoj. Nëse e dini përgjigjen, ose nëse ka gabime të vërteta që duhet të korrigjohen, do të më pëlqente ta dëgjoja.:-)
Recommended:
Selia e nxehtë: Ndërtoni një jastëk të ndezur me ngjyra që ndryshon: 7 hapa (me fotografi)
Selia e nxehtë: Ndërtoni një jastëk të ndezur që ndryshon ngjyrën: Dëshironi të mbani veten të thekur në ditët e ftohta të dimrit? Hot Seat është një projekt që përdor dy nga mundësitë më emocionuese të e -tekstilit - ndryshimi i ngjyrës dhe nxehtësia! Ne do të ndërtojmë një jastëk të sediljes që ngroh dhe kur të jetë gati për të shkuar do të zbulojë
Reja me ngjyra e kontrolluar nga aplikacioni: 7 hapa (me fotografi)
Reja me ngjyra e kontrolluar nga aplikacioni: Përshëndetje, në këtë udhëzues ju tregoj se si të ndërtoni një ndriçim të dhomës nga një rrjetë zhavorri. E gjithë gjëja mund të kontrollohet përmes WLAN me një aplikacion. Por në fund mund ta bësh të zgjuar
Treguesi i Ngjarjes RPi-Zero IoT / Llamba me ngjyra: 6 hapa (me fotografi)
Treguesi i Ngjarjes RPi-Zero IoT / Llamba me ngjyra: Nuk ka mikrokontrollues shtesë, & Asnjë modul shtesë HAT nuk kërkohet. RPi-Zero i bën të gjitha. Më mirë akoma përdorni një RPi-Zero W! Përdorimi i mostrës: Treguesi i gjendjes së Shërbimit në Web (p.sh. ndjekja e DowJonesIndex), treguesi i statusit të ngjarjeve politike ose sportive, drita e humorit
Mini dritë paralajmëruese rrotulluese me dy ngjyra me ngjyra: 6 hapa
Mini Dritë Paralajmëruese e Fenerit Rrotullues me Ngjyra të Dyfishta: Në këtë Udhëzues, ne do të krijojmë një dritë mini fener. E dini, një nga ato dritat rrotulluese të modës së vjetër që ata përdorën për të vënë në pajisjet e ndërtimit para se LED-et të bëheshin të mëdha? Po Nje nga ato. Ky do të jetë relativisht i thjeshtë dhe i vogël
Skulpturë LED me ngjyra të ndezura me shumë ngjyra: 4 hapa
Skulpturë me ngjyra të lehta LED që vezullon: Ky udhëzues përdor një shandan Ikea dhe LED me shumë ngjyra që shfaqen në mermerë të mëdhenj. E gjithë kjo është e fiksuar në një bazë pishe të punuar me dorë. Kështu e bëra