Tartalomjegyzék:
- 1. lépés: Kezdje el
- 2. lépés: Hue App
- 3. lépés: Csatlakoztassa a hidat
- 4. lépés: IP -cím
- 5. lépés:
- 6. lépés: Hibakeresés az árnyalatával
- 7. lépés: Kezdjük el
- 8. lépés:
- 9. lépés: Tegyünk valamit a fényekkel
- 10. lépés:
- 11. lépés: Irányítsuk a fényt
- 12. lépés:
- 13. lépés:
- 14. lépés:
- 15. lépés:
- 16. lépés:
- 17. lépés:
- 18. lépés:
- 19. lépés:
Videó: IoT School Project Philips Hue: 19 lépés
2024 Szerző: John Day | [email protected]. Utoljára módosítva: 2024-01-30 09:40
Ez egy kézikönyv, amit az iskolába kellett írnom. Ez nem teljes, és nem vagyok benne biztos, hogy tudja -e használni. Az API ismereteim a minimum. Szerettünk volna egy interaktív tükröt készíteni, a hátlapján lévő fényekkel, amelyek reagáltak az időjárásra, kívülről érkező fényre stb.
Megnéztem, hogyan programozhatom be a Philips Hue lámpát egy Arduino -val. Ebben elmagyarázom minden lépésemet és azt, hogy milyen messzire jutottam. Nem sikerült programoznom a színárnyalatot az Arduino -val, de szerintem jó kezdet.
Szükségem volt erre: egy Arduino a hue lámpa és egy híd Philips Hue fejlesztői fiók
Források: 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-…
1. lépés: Kezdje el
Mielőtt hozzáférhet az API dokumentációjához, regisztrálnia kell fejlesztőként. Ingyenes, de el kell fogadnia a feltételeket. Itt készíthet egyet>
2. lépés: Hue App
Töltse le a hivatalos Philips Hue alkalmazást. Csatlakoztassa telefonját ahhoz a hálózathoz, amelyen a Hue bridge be van kapcsolva.
3. lépés: Csatlakoztassa a hidat
Csatlakoztassa a hidat a hálózatához, és megfelelően működik. Tesztelje, hogy az okostelefon -alkalmazás képes -e szabályozni a világítást ugyanazon a hálózaton. Ugyanazon a Wi-Fi hálózaton kell lennie.
4. lépés: IP -cím
Ezután meg kell találnia a hálózaton lévő híd IP -címét. Nyomja meg a linket az alkalmazás hídjához való csatlakozáshoz, és próbálja meg szabályozni a fényeket.
5. lépés:
Ha minden működik, menjen az alkalmazás beállítások menüjébe. Menjen a „My Bridge” menüpontra, és lépjen a „Hálózati beállítások” pontra. Kapcsolja ki a DHCP kapcsolót, és megjelenik a híd IP -címe. Jegyezze fel az IP -címet, majd kapcsolja be újra a DHCP -t.
6. lépés: Hibakeresés az árnyalatával
Amikor ezt leírta, hibakeresést kell végeznie a színárnyalattal. Ehhez a lépéshez szüksége van az IP-címre. Meg kell látogatnia a következő oldalt.
/debug/clip.html
A kezelőfelület így fog kinézni a képen. Ez az alapja minden webes forgalomnak és a Hue RESTful felületnek.
Ezt az információt a Philips Hue webhely Restful felületéről kaptam.
URL: ez valójában egy adott erőforrás (dolog) helyi címe a színárnyalat -rendszeren belül. Ez lehet fény, fénycsoport vagy még sok más. Ez az az objektum, amellyel interakcióba lép ezen a parancson belül.
Törzs: ez az üzenet azon része, amely leírja, mit és hogyan szeretne megváltoztatni. Itt adja meg JSON formátumban a módosítani/hozzáadni kívánt erőforrás nevét és értékét.
Egy módszer: itt választhat a 4 HTTP módszer közül, amelyeket a színárnyalat hívhat.
GET: ez a parancs a címzett erőforrással kapcsolatos összes információ lekérésére
PUT: ez a parancs egy címzett erőforrás módosítására
POST: ez a parancs új erőforrás létrehozására a címzett erőforráson belül
DELETE: ez a parancs a címzett erőforrás törlésére Válasz: Ezen a területen láthatja a parancsra adott választ. Szintén JSON formátumban.
7. lépés: Kezdjük el
Most szükségünk van egy véletlenszerűen generált felhasználónévre, amelyet a híd hoz létre az Ön számára. Ezt kitöltve kapsz egyet.
Írja be az URL -t:
/api/
Tedd bele a TESTET:
és nyomja meg a GET gombot
Ez a parancs alapvetően azt mondja, hogy "kérjük, hozzon létre egy új erőforrást az /api -n belül" (ahol a felhasználónevek találhatók) a következő tulajdonságokkal. Először hibaüzenetet kap, és ez azért van, mert ez a Philips Hue biztonsági lépése. A gomb megnyomásával bebizonyítják, hogy fizikai hozzáféréssel rendelkezik a hídhoz.
8. lépés:
Most nyomja meg a híd gombot, majd kattintson ismét a POST gombra.
Most kap egy felhasználónevet, amelyet a híd készített Önnek.
9. lépés: Tegyünk valamit a fényekkel
Másolja ki felhasználónevét, és írja be a következő sorba.
Írja be ezt az URL -be
/api//lights
Nyomja meg a GET gombot
JSON választ kell kapnia a rendszer összes lámpájával és nevével.
10. lépés:
Kölcsönkértem néhány színárnyalatú fényt az iskolából, ezt használom a 3. azonosítóval. Konkrét információkat szeretnék erről a lámpáról.
Tegye ezt a már meglévő URL mellé:
/api//lights/3
Nyomja meg a GET gombot
Most megkapja az összes információt a Led 3 -ról (ha van egy másik száma, mint az 1, akkor látni fogja az információt erről).
11. lépés: Irányítsuk a fényt
Látja "állapotban", hogy a led "be" van kapcsolva. A fényt "állapotban" akarjuk irányítani.
Tegye ezt a már meglévő URL mellé: https:/// api// lights/ 3/ state
Írja be a következő sort a BODY -ba
Nyomja meg a PUT gombot
Most a fényed kialszik! Módosítsa a testben lévő értéket igazra, és a lámpa újra felkapcsol.
12. lépés:
Most minden működik, ezt szeretném csinálni az Arduino -mmal. Megnéztem a linket, amelyet a Philips Hue adott a fény színének megváltoztatásához. De ehhez Python kell, én sosem dolgoztam Python -al, ezért mást kerestem.
Ha szeretné megnézni ezt a kódot, itt van a Github link:
github.com/bsalinas/ArduinoHue
13. lépés:
Megnéztem, hogyan juthatok információhoz erről a fejlesztői webhelyről az arduino -mhoz. Legtöbbször nem értettem a nyelvet. De találtam egy kódot James Bruce weboldalán.
Ez a link a weboldalra.
www.makeuseof.com/tag/control-philips-hue-lights-arduino-and-motion-sensor/
14. lépés:
Először azt láttam, hogy Ethernet -kábelt használ. Nekem csak egy Hue villanykörte volt, a Bridge pedig egy Arduino, és alig értettem a kódot. Eltartott egy ideig, amíg megértettem a kódját, de még mindig nem igazán értem.
Először hozzáadtam ezt a könyvtárat az internethez.
#befoglalni
Ez a hálózatra vonatkozik (meg kell egyeznie a Hue Light izzóval)
const char* ssid = ""; // tegye ide a WiFi hálózatát SSIDconst char* password = ""; // tegye ide a WiFi hálózati jelszavát
Ezek a Bridge azonosítója és a híd által adott felhasználónév. (Nem tudom, hol áll a 80, de amikor kutakodtam, láttam, hogy hálózatokhoz használták).
// Színezési állandók const char hueHubIP = ""; // Hue hub IP const char hueUsername = ""; // Hue felhasználónév const int hueHubPort = 80;
// Hue változók bool hueOn; // be/ki int hueBri; // fényerő érték hosszú színárnyalatHue; // színárnyalat érték String hueCmd; // Hue parancs
előjel nélküli hosszú puffer = 0; // puffer a fogadott adattároláshoz unsigned long addr;
15. lépés:
Az üresség beállításához a legtöbbet tettem az internetkapcsolatért. Ebben a kódban az Arduino azt vizsgálja, hogy tud -e csatlakozni a hálózathoz.
void setup () {Serial.begin (9600);
Sorozat.println ();
Serial.printf ("Csatlakozás a %s -hoz", ssid);
WiFi.begin (ssid, jelszó);
while (WiFi.status ()! = WL_CONNECTED) {
késleltetés (500);
Soros.nyomtatás ("."); }
Serial.println ("csatlakoztatva"); }
16. lépés:
James hurkában láttam, hogy van Ha és más állítása. De ez az ethernet kábelre vonatkozott, ezért megpróbáltam ezt kihagyni. Én is próbáltam néha beállítani, de sok adat mellett még nem tudtam. A kódban néhány dolgot megértettem, a karakterláncban vannak a Hue fénynek adott adatok.
void loop () {
// Négy mintaparancs, amelyek színe két fényt halványít a piros és a rózsaszín között. Olvassa el a Hue API // dokumentációját, ahol további részleteket talál a használandó parancsokról, de vegye figyelembe, hogy az idézőjeleket el kell hagyni.
String parancs = "{" on / ": true, \" hue / ": 50100, \" sat / ": 255, \" bri / ": 255, \" transittime / ":"+String (véletlen (15, 25))+"}"; setHue (1, parancs);
command = "{" on / ": true, \" hue / ": 65280, \" sat / ": 255, \" bri / ": 255, \" átmeneti idő / ":"+String (véletlen (15, 25))+"}"; setHue (2, parancs);
command = "{" színárnyalat ": 65280, \" sat / ": 255, \" bri / ": 255, \" átmeneti idő / ":"+Karakterlánc (véletlenszerű (15, 25))+"}"; setHue (1, parancs);
command = "{" színárnyalat ": 50100, \" sat / ": 255, \" bri / ": 255, \" átmeneti idő / ":"+Karakterlánc (véletlenszerű (15, 25))+"}"; setHue (2, parancs);
}
17. lépés:
A következő kód egy Boolean volt, de az Arduino -ban Bool -t kell írni. Eleinte sok hibát kaptam a kliens szó miatt. Így utánanéztem, és láttam, hogy néhány kód a "WifiClient kliens;" sort használja. Szóval szoktam és működött.
Az if utasításban gyakran megjelenik a client.print. Ha belenéz a kódba, látni fogja, hogy a korábban megadott URL darabokra van osztva. Most írja be saját kódját. A 3. LED -es lámpát kellett választanom.
A / * setHue () a fő parancsfunkciónk, amelyet át kell adni egy világos számnak és egy * megfelelően formázott parancssornak JSON formátumban (alapvetően Javascript stílusú változókból és értékekből álló tömb). Ezután egyszerű HTTP PUT kérést küld a a híd az elején megadott IP -címen. */
bool setHue (int lightNum, String parancs) {
WiFiClient kliens;
if (client.connect (hueHubIP, hueHubPort)) {
while (client.connected ()) {
client.print ("PUT /api /"); client.print (hueUsername); client.print ("/lights/"); client.print (lightNum); // hueLight nulla alapú, adjon hozzá 1 klienst.println ("3/state"); // itt megváltoztattam a színárnyalat nevét és az állapotkliens.print ("Host:"); client.println (hueHubIP); client.print ("Content-Length:"); kliens.println (parancs.hossz ()); client.println ("Content-Type: text/plain; charset = UTF-8"); client.println (); // üres sor a body client előtt. println (parancs); // Hue parancs
} client.stop (); return true; // parancs végrehajtva}
else hamis; // parancs sikertelen}
18. lépés:
A második Boolean -ban ugyanezt tettem néhány szó megváltoztatásával. Feltöltöttem, hátha működik.
/* Segédfunkció abban az esetben, ha logikája a fény aktuális állapotától függ. * Ez számos globális változót állít be, amelyekkel ellenőrizheti, hogy világít -e a lámpa, vagy nem *, valamint a színárnyalatot stb. Nem szükséges csak a parancsok küldéséhez */
bool getHue (int lightNum) {
WiFiClient kliens;
if (client.connect (hueHubIP, hueHubPort)) {
client.print ("GET /api /"); client.print (hueUsername); client.print ("/lights/"); client.print (lightNum); client.println ("3/állapot"); client.print ("Host:"); client.println (hueHubIP); client.println ("Tartalom-típus: application/json"); client.println ("életben tartani"); client.println ();
while (client.connected ()) {if (client.available ()) {client.findUntil ("\" on / ":", "\ 0"); hueOn = (client.readStringUntil (',') == "igaz"); // ha a fény világít, állítsa be a változót true client.findUntil ("\" bri / ":", "\ 0"); hueBri = kliens.readStringUntil (',').toInt (); // állítsa be a változót fényerő értékre client.findUntil ("\" hue / ":", "\ 0"); hueHue = kliens.readStringUntil (',').toInt (); // a változó beállítása színárnyalat -törésre; // más fényjellemzőket még nem rögzít}}} client.stop (); return true; // elfogva, bri, hue} else return false; // hiba a beolvasásnál, bri, hue}
19. lépés:
Azt hiszem, kapcsolatot létesíthetek a Philips Hue -val. Kapok információt, de még mindig fel kell használni.
Sajnos ez túlmutat azon, amit kódolni tudok. Ha tudja a választ, vagy ha valódi hibákat kell javítani, szívesen meghallgatom.:-)
Ajánlott:
A Philips Hue Lightstrip felosztása és meghosszabbítása: 8 lépés (képekkel)
A Philips Hue Lightstrip felosztása és meghosszabbítása: Több " intelligens otthon " típusú kütyüket a házamba, és az egyik dolog, amivel játszottam, a Philips Hue Lightstrip. Ez egy LED -fénycsík, amelyet egy alkalmazásból vagy egy intelligens asszisztensből, például Alexából vagy
Gledopto: Olcsó Philips Hue fénycsík alternatíva: 3 lépés
Gledopto: Olcsó Philips Hue fénycsík Alternatíva: A Philips Hue jelenleg eladja Philips Hue Light csíkjait mindössze 71-90 dollárért, mindössze 2 méterért. Ezt nagyon abszurd árnak találtam, ezért elkezdtem alternatívákat keresni. Találkoztam a Gledopto nevű márkával, amely LED szalagvezérlőket készít
Rajzkar, amelyet a hang irányít - Arduino School Project: 4 lépés (képekkel)
Rajzkar, amelyet a hang irányít - Arduino School Project: Ez az első alkalom, hogy Arduino -val dolgozom, és valaha is ilyesmivel dolgozom, ezért sajnálom, ha hibákat követtem el! Ezt az ötletet akkor kaptam, amikor a hobbijaimra gondoltam, amelyek a rajzolás és a zene. Szóval megpróbáltam a kettőt ötvözni! Egy sel
DIY Philips Hue panel fény: 4 lépés (képekkel)
DIY Philips Hue Panel Light: Nemrég vettem néhány Philips Hue lámpát a hálószobámhoz. Nagyszerűek! Hangommal irányíthatom őket az Alexa segítségével, és a telefonomon keresztül is. Próbáltam színváltó panellámpát találni, de amint azt Ön is tudja, a Philips Hue nem látja
Hangulatprojektor (feltört Philips Hue Light GSR -rel) TfCD: 7 lépés (képekkel)
Hangulatprojektor (feltört Philips Hue Light, GSR) TfCD: Laura Ahsmann & Maaike Weber Cél: Az alacsony hangulat és a stressz a modern felgyorsult élet nagy részét képezik. Ez is valami, ami kívülről láthatatlan. Mi lenne, ha képesek lennénk vizuálisan és akusztikailag is kivetíteni a stressz szintünket