Sisällysluettelo:
- Vaihe 1: Aloita
- Vaihe 2: Hue -sovellus
- Vaihe 3: Yhdistä silta
- Vaihe 4: IP -osoite
- Vaihe 5:
- Vaihe 6: Virheiden korjaus
- Vaihe 7: Aloitetaan
- Vaihe 8:
- Vaihe 9: Tehdään jotain valojen kanssa
- Vaihe 10:
- Vaihe 11: Hallitaan valoa
- Vaihe 12:
- Vaihe 13:
- Vaihe 14:
- Vaihe 15:
- Vaihe 16:
- Vaihe 17:
- Vaihe 18:
- Vaihe 19:
Video: IoT -kouluprojekti Philips Hue: 19 vaihetta
2024 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2024-01-30 09:00
Tämä on opas, joka minun piti kirjoittaa kouluun. Se ei ole täydellinen, enkä ole varma, voitko edes käyttää sitä. Tietoni sovellusliittymistä ovat vähimmäisvaatimukset. Halusimme tehdä interaktiivisen peilin, jonka takana oli valoja, jotka reagoivat säähän, ulkopuolelta tulevaan valoon jne.
Katsoin, kuinka voisin ohjelmoida Philips Hue -lampun Arduinolla. Tässä selitän kaikki askeleeni ja kuinka pitkälle olen tullut. En ole onnistunut ohjelmoimaan sävyä Arduinolla, mutta mielestäni se on hyvä alku.
Olen tarvinnut tätä: Arduino hue -lamppu sillan Philips Hue -kehittäjätili
Lähteet: 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-…
Vaihe 1: Aloita
Ennen kuin pääset API -dokumentaatioon, sinun on rekisteröidyttävä kehittäjäksi. Se on ilmainen, mutta sinun on hyväksyttävä käyttöehdot. Voit tehdä sellaisen täällä>
Vaihe 2: Hue -sovellus
Lataa virallinen Philips Hue -sovellus. Liitä puhelin verkkoon, johon haluat Hue -sillan olevan päällä.
Vaihe 3: Yhdistä silta
Yhdistä silta verkkoon ja se toimii oikein. Testaa, että älypuhelinsovellus voi ohjata saman verkon valoja. Sen on oltava samassa Wi-Fi-verkossa.
Vaihe 4: IP -osoite
Sitten sinun on löydettävä verkon sillan IP -osoite. Paina linkkiä muodostaaksesi yhteyden sovelluksen siltaan ja yritä ohjata valoja.
Vaihe 5:
Jos kaikki toimii, siirry sovelluksen asetusvalikkoon. Siirry sitten "Oma silta" -kohtaan "Verkkoasetukset". Kytke DHCP -kytkin pois päältä ja näet sillan IP -osoitteen. Huomaa IP -osoite ja kytke sitten DHCP takaisin päälle.
Vaihe 6: Virheiden korjaus
Kun kirjoitit sen muistiin, sinun on korjattava värisävyäsi. Tarvitset IP-osoitteen tähän vaiheeseen. Sinun täytyy käydä seuraavalla sivustolla.
/debug/clip.html
Käyttöliittymä näyttää tältä kuvassa. Tämä on kaiken verkkoliikenteen ja hue RESTful -käyttöliittymän perusta.
Sain nämä tiedot Philips Hue -sivuston Restful -käyttöliittymästä.
URL: tämä on itse asiassa tietyn resurssin (asian) paikallinen osoite sävyjärjestelmässä. Se voi olla valo, ryhmä valoja tai paljon muuta. Tämä on objekti, jonka kanssa käytät tätä komentoa.
Runko: tämä on viestin osa, joka kuvaa, mitä haluat muuttaa ja miten. Syötä tähän JSON -muodossa sen resurssin nimi ja arvo, jonka haluat muuttaa/lisätä.
Menetelmä: tässä voit valita 4 HTTP -menetelmää, joita hue -puhelu voi käyttää.
GET: Tämä on komento hakea kaikki tiedot osoitetusta resurssista
PUT: tämä on komento muokata osoitettua resurssia
POST: Tämä on komento luoda uusi resurssi osoitetun resurssin sisälle
POISTA: tämä on komento poistaa osoitettu resurssi Vastaus: Tällä alueella näet vastauksen komentoosi. Myös JSON -muodossa.
Vaihe 7: Aloitetaan
Nyt tarvitsemme satunnaisesti generoidun käyttäjänimen, jonka silta luo sinulle. Saat yhden täyttämällä tämän.
Kirjoita URL -osoite:
/api/
Laita BODY sisään:
ja paina GET
Tämä komento sanoo pohjimmiltaan "Luo uusi resurssi /api -tiedostoon" (jossa käyttäjätunnukset sijaitsevat), jolla on seuraavat ominaisuudet. Saat aluksi virheen, ja tämä johtuu siitä, että se on Philips Hue -suojausaskel. Painiketta painamalla he osoittavat, että sinulla on fyysinen pääsy sillalle.
Vaihe 8:
Paina nyt Bridge -painiketta ja napsauta POST uudelleen.
Nyt saat käyttäjänimen, jonka silta loi sinulle.
Vaihe 9: Tehdään jotain valojen kanssa
Kopioi käyttäjätunnuksesi ja kirjoita se seuraavalle riville.
Laita tämä URL -osoitteeseesi
/api//valot
Paina GET
Sinun pitäisi saada JSON -vastaus, jossa on kaikki järjestelmän valot ja niiden nimet.
Vaihe 10:
Lainasin koulusta joitain Hue -valoja, jota käytän tunnuksella 3. Haluan tarkkoja tietoja tästä valosta.
Laita tämä jo käytössäsi olevan URL -osoitteen viereen:
/api//lights/3
Paina GET
Nyt saat kaikki tiedot Led 3: sta (jos sinulla on toinen numero, kuten 1, näet tietoja siitä).
Vaihe 11: Hallitaan valoa
Näet "tilassa", että ledini on "päällä". Haluamme ohjata valoa "tilassa".
Lisää tämä URL -osoitteen viereen, joka sinulla jo oli: https:/// api// lights/ 3/ state
Laita seuraava rivi BODY -kohtaan
Paina PUT
Nyt valosi sammuu! Muuta rungon arvoksi tosi ja valo syttyy uudelleen.
Vaihe 12:
Nyt kaikki toimii, haluan tehdä tämän Arduinollani. Katsoin linkkiä, jonka Philips Hue antoi valon värin muuttamiseksi. Mutta tarvitset Pythonia tähän, en ole koskaan työskennellyt Pythonin kanssa, joten etsin jotain muuta.
Jos haluat katsoa tätä koodia, minulla on Github -linkki täällä:
github.com/bsalinas/ArduinoHue
Vaihe 13:
Katsoin, miten voisin saada tietoja tältä kehittäjäsivustolta arduinooni. Useimmiten en ymmärtänyt kieltä. Mutta löysin koodin James Brucen verkkosivustolta.
Tämä on linkki verkkosivulle.
www.makeuseof.com/tag/control-philips-hue-lights-arduino-and-motion-sensor/
Vaihe 14:
Ensin näin, että hän käytti Ethernet -kaapelia. Minulla oli vain Hue -lamppu ja Bridge Arduino, ja vähän ymmärrystä koodista. Kesti hetken ennen kuin ymmärsin hänen koodinsa, mutta en silti oikein ymmärrä sitä.
Lisäsin tämän kirjaston ensin Internetiin.
#sisältää
Tämä koskee verkkoa (sen on oltava sama kuin Hue -lamppu)
const char* ssid = ""; // laita tähän WiFi -verkon SSIDconst char* password = ""; // laita tähän WiFi -verkon salasanasi
Nämä ovat Bridgesi tunnus ja sillan sinulle antama käyttäjätunnus. (En tiedä, missä 80 tarkoittaa, mutta kun tein tutkimusta, huomasin, että sitä käytettiin verkkoihin).
// Värisävyt Const char hueHubIP = ""; // Värisävyn keskitin IP Const char hueUsername = ""; // Värisävyn käyttäjätunnus const int hueHubPort = 80;
// Värisävyt bool hueOn; // päälle/pois int hueBri; // kirkkausarvo pitkä hueHue; // sävyn arvo Merkkijono hueCmd; // Hue -komento
allekirjoittamaton pitkä puskuri = 0; // puskuri vastaanotetulle tallennukselle unsigned long addr;
Vaihe 15:
Tyhjiön asennuksessa tein eniten Internet -yhteyden puolesta. Tässä koodissa Arduino etsii, voiko hän muodostaa yhteyden verkkoon.
void setup () {Serial.begin (9600);
Sarja.println ();
Serial.printf ("Yhdistäminen kohteeseen %s", ssid);
WiFi.begin (ssid, salasana);
while (WiFi.status ()! = WL_CONNECTED) {
viive (500);
Serial.print ("."); }
Serial.println ("kytketty"); }
Vaihe 16:
Jamesin silmukassa näin, että hänellä oli If ja else -lausunto. Mutta se koski ethernet -kaapelia, joten yritin jättää tämän pois. Olen myös joskus yrittänyt säätää sitä, mutta en tiennyt vielä paljon tietoja. Jotkut asiat koodissa, jonka ymmärsin, merkkijonossa on Hue -valolle annetut tiedot.
void loop () {
// Neljä näytekomentoa, joiden väri häivyttää kaksi valoa punaisen ja vaaleanpunaisen välillä. Lue tarkemmin käytettävistä komennoista Hue API // -dokumentaatiosta, mutta huomaa, että lainausmerkit on poistettava.
String command = "{" on / ": true, \" hue / ": 50100, \" sat / ": 255, \" bri / ": 255, \" siirtymisaika / ":"+Jono (satunnainen (15, 25))+"}"; setHue (1, komento);
command = "{" on / ": true, \" hue / ": 65280, \" sat / ": 255, \" bri / ": 255, \" siirtymisaika / ":"+Jono (satunnainen (15, 25))+"}"; setHue (2, komento);
command = "{" hue / ": 65280, \" sat / ": 255, \" bri / ": 255, \" siirtymisaika / ":"+Jono (satunnainen (15, 25))+"}"; setHue (1, komento);
command = "{" hue / ": 50100, \" sat / ": 255, \" bri / ": 255, \" siirtymisaika / ":"+Jono (satunnainen (15, 25))+"}"; setHue (2, komento);
}
Vaihe 17:
Seuraava koodi oli Boolean, mutta Arduinossa sinun on kirjoitettava Bool. Aluksi sain paljon virheitä sanan client takia. Joten katsoin sitä ja huomasin, että jokin koodi käytti riviä "WifiClient client;". Joten käytin sitä ja se toimi.
If -lauseessa näkyy usein client.print. Jos tarkastelet koodia, huomaat, että aiemmin antamasi URL -osoite on jaettu osiin. Kirjoita nyt oma koodi. Minun piti valita kolmas LED -valoni.
/ * setHue () on tärkein komentotoimintomme, joka on välitettävä valonumerolla ja * oikein muotoillulla komentojonolla JSON -muodossa (pohjimmiltaan Javascript -tyylinen muuttujien * ja arvojen ryhmä. Se tekee sitten yksinkertaisen HTTP PUT -pyynnön silta alussa määritetyllä IP -osoitteella. */
bool setHue (int lightNum, String -komento) {
WiFiClient -asiakas;
if (client.connect (hueHubIP, hueHubPort)) {
while (client.connected ()) {
client.print ("PUT /api /"); client.print (hueUsername); client.print ("/valot/"); client.print (lightNum); // hueLight nollapohjainen, lisää 1 client.println ("3/state"); // tässä muutin värisävyn nimen ja stateclient.print ("Host:"); client.println (hueHubIP); client.print ("Content-Length:"); client.println (command.length ()); client.println ("Sisältötyyppi: teksti/tavallinen; merkistö = UTF-8"); client.println (); // tyhjä rivi ennen asiakasta. println (komento); // Hue -komento
} client.stop (); palaa tosi; // komento suoritettu}
muuten palauta epätosi; // komento epäonnistui}
Vaihe 18:
Toisessa Booleanissa tein saman asian muuttamalla joitain sanoja. Latasin sen nähdäkseni toimiiko.
/* Aputoiminto, jos logiikka riippuu valon nykyisestä tilasta. * Tämä asettaa useita globaaleja muuttujia, joiden avulla voit tarkistaa, palaako valo vai ei * ja sävy jne. Ei tarvita vain komentojen lähettämiseen */
bool getHue (int lightNum) {
WiFiClient -asiakas;
if (client.connect (hueHubIP, hueHubPort)) {
client.print ("GET /api /"); client.print (hueUsername); client.print ("/valot/"); client.print (lightNum); client.println ("3/tila"); client.print ("Isäntä:"); client.println (hueHubIP); client.println ("Sisältötyyppi: application/json"); client.println ("pidä hengissä"); client.println ();
while (client.connected ()) {if (client.available ()) {client.findUntil ("\" päällä / ":", "\ 0"); hueOn = (client.readStringUntil (',') == "tosi"); // jos valo palaa, aseta muuttuja arvoon true client.findUntil ("\" bri / ":", "\ 0"); hueBri = client.readStringUntil (',').toInt (); // aseta muuttuja kirkkausarvoon client.findUntil ("\" hue / ":", "\ 0"); hueHue = client.readStringUntil (',').toInt (); // aseta muuttuja hue -arvon taukoon; // muita vanhoja attribuutteja ei vielä kaapata}} client.stop (); palaa tosi; // kaapattu, bri, hue} else return false; // virhe lukemassa, bri, hue}
Vaihe 19:
Luulen, että voin muodostaa yhteyden Philips Hueen. Saan tietoja, mutta niitä on edelleen käytettävä.
Valitettavasti tämä ylittää sen, mitä voin koodata. Jos tiedät vastauksen tai jos on todellisia virheitä, jotka on korjattava, haluaisin kuulla sen.:-)
Suositeltava:
Käytä uudelleen Philips Wake Up Light HF3550 + Ipod Touch 4.: 5 vaihetta
Käytä uudelleen Philips Wake Up Light HF3550 + Ipod Touch 4th: EDIT 2019/10/28 Olen ladannut uuden murtuneen IPA -tiedoston (kiitos irastignac) ja päivittänyt nimettömän tiedoston linkin. Sen pitäisi estää hetki, jolloin sinua pyydetään antamaan omenatunnukseni.EDIT 2019/10/22 näyttää siltä, että philipsin IPA -tiedosto on allekirjoitettu omenani kanssa
Jaa ja pidennä Philips Hue Lightstrip: 8 vaihetta (kuvilla)
Jaa ja pidennä Philips Hue Lightstrip: Olen lisännyt lisää "älykästä kotia" tyyppisiä gadgeteja taloon, ja yksi niistä asioista, joilla olen leikkinyt, on Philips Hue Lightstrip. Se on LED -valojen nauha, jota voidaan ohjata sovelluksesta tai älykkäästä avustajasta, kuten Alexasta tai
Gledopto: Halpa Philips Hue Light Strip -vaihtoehto: 3 vaihetta
Gledopto: Halvat Philips Hue Light Strip -vaihtoehdot: Philips Hue myy parhaillaan Philips Hue Light -nauhoja vain 71-90 dollarilla vain 2 metristä. Tämä hinta oli mielestäni erittäin järjetön, joten aloin etsiä vaihtoehtoja. Tulin Gledopto -nimiseen brändiin, joka tekee LED -nauhaohjaimista
DIY Philips Hue -paneelin valo: 4 vaihetta (kuvilla)
DIY Philips Hue -paneelivalo: Ostin hiljattain joitain Philips Hue -valoja makuuhuoneeseeni. He ovat hienoja! Voin hallita niitä äänelläni Alexan avulla ja myös puhelimeni kautta. Yritin löytää värinvaihtopaneelin valon, mutta kuten ehkä tiedät, Philips Hue ei näe
Mood -projektori (hakkeroitu Philips Hue Light GSR: llä) TfCD: 7 vaihetta (kuvien kanssa)
Mood -projektori (hakkeroitu Philips Hue Light, jossa GSR) TfCD: Laura Ahsmann & Maaike Weber Tarkoitus: Matala tunnelma ja stressi ovat suuri osa nykyaikaista nopeatempoista elämää. Se on myös jotain, joka on näkymätöntä ulkopuolelle. Mitä jos pystyisimme heijastamaan stressitasomme sekä visuaalisesti että akustisesti