Obsah:
- Krok 1: Začnite
- Krok 2: Aplikácia Hue
- Krok 3: Pripojte most
- Krok 4: IP adresa
- Krok 5:
- Krok 6: Ladte svoj odtieň
- Krok 7: Začnime
- Krok 8:
- Krok 9: Urobme niečo so svetlami
- Krok 10:
- Krok 11: Ovládajme svetlo
- Krok 12:
- Krok 13:
- Krok 14:
- Krok 15:
- Krok 16:
- Krok 17:
- Krok 18:
- Krok 19:
Video: Školský projekt IoT Philips Hue: 19 krokov
2024 Autor: John Day | [email protected]. Naposledy zmenené: 2024-01-30 11:57
Toto je príručka, ktorú som musel napísať do školy. Nie je to úplné a nie som si istý, či to dokonca môžete použiť. Moje znalosti API sú úplné minimum. Chceli sme vytvoriť interaktívne zrkadlo so svetlami na zadnej strane, ktoré reagujú na počasie, svetlo zvonku atď.
Pozrel som sa na to, ako by som mohol naprogramovať lampu Philips Hue pomocou Arduina. V tomto vysvetľujem všetky svoje kroky a ako ďaleko som sa dostal. Programovanie Hue pomocou Arduina sa mi nepodarilo, ale myslím si, že je to dobrý začiatok.
Potreboval som to: lampa Arduino a odtieň a most vývojársky účet Philips Hue
Zdroje: 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-…
Krok 1: Začnite
Pred prístupom k dokumentácii API sa musíte zaregistrovať ako vývojár. Je to zadarmo, ale musíte prijať zmluvné podmienky. Môžete si ho vytvoriť tu>
Krok 2: Aplikácia Hue
Stiahnite si oficiálnu aplikáciu Philips Hue. Pripojte svoj telefón k sieti, v ktorej je most Hue zapnutý.
Krok 3: Pripojte most
Pripojte most k sieti a funguje správne. Otestujte, či aplikácia pre smartfóny môže ovládať svetlá v tej istej sieti. Musí byť v rovnakej sieti Wi-Fi.
Krok 4: IP adresa
Potom musíte zistiť IP adresu mosta vo vašej sieti. Stlačením odkazu sa pripojíte k mostu v aplikácii a vyskúšate ovládať svetlá.
Krok 5:
Ak to funguje, choďte v aplikácii do ponuky nastavení. Potom prejdite na „Môj most“a kliknite na „Nastavenia siete“. Vypnite prepínač DHCP a uvidíte IP adresu mosta. Poznačte si IP adresu a potom znova zapnite DHCP.
Krok 6: Ladte svoj odtieň
Keď ste to zapísali, musíte ladiť svoj Hue. Na tento krok potrebujete IP adresu. Musíte navštíviť nasledujúci web.
/debug/clip.html
Rozhranie bude na obrázku vyzerať takto. Toto je základ všetkej webovej návštevnosti a rozhrania RESTful odtieňa.
Získal som tieto informácie o rozhraní Restful webu Philips Hue.
URL: toto je vlastne miestna adresa konkrétneho zdroja (veci) v systéme odtieňov. Môže to byť svetlo, skupina svetiel alebo mnoho ďalších vecí. Toto je objekt, s ktorým budete interagovať v rámci tohto príkazu.
Telo: toto je časť správy, ktorá popisuje, čo a ako chcete zmeniť. Tu zadajte vo formáte JSON názov zdroja a hodnotu, ktoré chcete zmeniť/pridať.
Metóda: Tu máte na výber zo 4 metód HTTP, ktoré môže volanie odtieňa použiť.
GET: toto je príkaz na načítanie všetkých informácií o adresovanom zdroji
PUT: toto je príkaz na úpravu adresovaného zdroja
POST: toto je príkaz na vytvorenie nového zdroja v rámci adresovaného zdroja
ODSTRÁNIŤ: toto je príkaz na odstránenie adresovaného zdroja Odpoveď: V tejto oblasti uvidíte odpoveď na váš príkaz. Tiež vo formáte JSON.
Krok 7: Začnime
Teraz potrebujeme náhodne vygenerované používateľské meno, ktoré vám most vytvorí. Jednu z nich získate vyplnením tohto.
Zadajte URL:
/api/
Vložte do TELA:
a stlačte ZÍSKAŤ
Tento príkaz v zásade hovorí „vytvorte nový zdroj vo vnútri /api“(kde sú uložené používateľské mená) s nasledujúcimi vlastnosťami. Najprv sa zobrazí chyba, a to preto, že ide o krok zabezpečenia programu Philips Hue. Stlačením tlačidla sa preukáže, že máte fyzický prístup na most.
Krok 8:
Teraz stlačte tlačidlo na mostíku a znova kliknite na POST.
Teraz získate používateľské meno, ktoré vám most vyrobil.
Krok 9: Urobme niečo so svetlami
Skopírujte svoje používateľské meno a zadajte ho do nasledujúceho riadku.
Zadajte to do svojej adresy URL
/api//svetla
Stlačte ZÍSKAŤ
Mali by ste dostať odpoveď JSON so všetkými svetlami vo vašom systéme a ich názvami.
Krok 10:
Požičal som si zo školy niekoľko svetiel Hue, ktoré používam, je to s id 3. Chcem konkrétne informácie o tomto svetle.
Umiestnite to vedľa adresy URL, ktorú ste už mali:
/api//lights/3
Stlačte ZÍSKAŤ
Teraz získate všetky informácie o Led 3 (ak máte iné číslo ako 1, uvidíte informácie o ňom).
Krok 11: Ovládajme svetlo
Na „stave“vidíte, že moja LED dióda „svieti“. Chceme ovládať svetlo v „stave“.
Umiestnite to vedľa adresy URL, ktorú ste už mali: https:/// api// lights/ 3/ state
Vložte ďalší riadok do TELA
Stlačte PUT
Teraz vaše svetlo zhasne! Zmeňte hodnotu v tele na hodnotu true a svetlo sa znova rozsvieti.
Krok 12:
Teraz všetko funguje, chcem to urobiť so svojim Arduino. Pozrel som sa na odkaz, ktorý spoločnosť Philips Hue poskytla na zmenu farby svetla. Na to však potrebujete Python, s Pythonom som nikdy nepracoval, a tak som hľadal niečo iné.
Ak sa chcete pozrieť na tento kód, mám tu odkaz na Github:
github.com/bsalinas/ArduinoHue
Krok 13:
Pozrel som sa, ako môžem získať informácie z tejto stránky pre vývojárov do môjho arduina. Väčšinou som nerozumel jazyku. Ale našiel som nejaký kód na webovej stránke od Jamesa Brucea.
Toto je odkaz na webovú stránku.
www.makeuseof.com/tag/control-philips-hue-lights-arduino-and-motion-sensor/
Krok 14:
Najprv som videl, že používa ethernetový kábel. Mal som iba žiarovku Hue a Bridge a Arduino a málo som rozumel kódu. Chvíľu mi trvalo, kým som porozumel jeho kódu, ale aj tak mu nerozumiem.
Túto knižnicu som najskôr pridal pre internet.
#zahrnúť
Toto je pre vašu sieť (musí byť rovnaké ako žiarovka Hue)
const char* ssid = ""; // sem vložte svoju WiFi sieť SSIDconst char* heslo = ""; // sem zadajte heslo svojej siete WiFi
Toto sú ID vášho mosta a používateľské meno, ktoré vám most dal. (Neviem, kde je 80, ale keď som robil malý prieskum, zistil som, že sa používa na siete).
// Konštanty odtieňa const char hueHubIP = ""; // Hue IP hub const char hueUsername = ""; // Odtieň používateľského mena const int hueHubPort = 80;
// Premenné odtieňa bool hueOn; // zapnutie/vypnutie int hueBri; // hodnota jasu dlhý hueHue; // hodnota odtieňa Reťazec hueCmd; // Príkaz Hue
nepodpísaný dlhý buffer = 0; // buffer pre úložisko prijatých dát unsigned long addr;
Krok 15:
Pre nastavenie prázdnoty som urobil najviac pre internetové pripojenie. V tomto kóde Arduino hľadá, či sa môže pripojiť k sieti.
void setup () {Serial.begin (9600);
Serial.println ();
Serial.printf ("Pripojenie k %s", ssid);
WiFi.begin (ssid, heslo);
while (WiFi.status ()! = WL_CONNECTED) {
oneskorenie (500);
Serial.print ("."); }
Serial.println ("pripojený"); }
Krok 16:
V slučke Jamesa som videl, že mal vyhlásenie If a else. Ale to bolo pre ethernetový kábel, takže som to skúsil vynechať. Tiež som sa to niekedy pokúšal upraviť, ale s mnohými údajmi som ešte nevedel. Niektorým veciam v kóde som porozumel, v reťazci sú údaje, ktoré sú dané svetlu Hue.
prázdna slučka () {
// Séria štyroch ukážkových príkazov, ktorých farba zoslabuje dve svetlá medzi červenou a ružovou. Prečítajte si dokumentáciu k rozhraniu Hue API //, kde nájdete ďalšie podrobnosti o presných príkazoch, ktoré sa majú použiť, ale upozorňujeme, že úvodzovkám je potrebné uniknúť.
Reťazcový príkaz = "{" on / ": true, \" hue / ": 50100, \" sat / ": 255, \" bri / ": 255, \" transitiontime / ":"+String (náhodný (15, 25))+"}"; setHue (1, príkaz);
command = "{" on / ": true, \" hue / ": 65280, \" sat / ": 255, \" bri / ": 255, \" transitiontime / ":"+String (random (15, 25))+"}"; setHue (2, príkaz);
príkaz = "{" odtieň / ": 65280, \" sat / ": 255, \" bri / ": 255, \" transitiontime / ":"+Reťazec (náhodný (15, 25))+"}"; setHue (1, príkaz);
príkaz = "{" odtieň / ": 50100, \" sat / ": 255, \" bri / ": 255, \" transitiontime / ":"+Reťazec (náhodný (15, 25))+"}"; setHue (2, príkaz);
}
Krok 17:
Ďalší kód bol Boolean, ale v Arduine musíte napísať Bool. Spočiatku som kvôli slovu klient dostal veľa chýb. Skúsil som to a zistil som, že nejaký kód používa riadok „klient WifiClient;“. Tak som si to zvykol a fungovalo to.
V príkaze if často vidíte client.print. Ak sa pozriete na kód, uvidíte, že adresa URL, ktorú ste zadali predtým, je rozdelená na časti. Teraz zadajte svoj vlastný kód. Musel som si vybrať svoje 3. LED svetlo.
/ * setHue () je naša hlavná príkazová funkcia, ktorej treba zadať ľahké číslo a * správne formátovaný príkazový reťazec vo formáte JSON (v zásade pole premenných * a hodnôt v štýle Javascript. Potom urobí jednoduchú požiadavku HTTP PUT na most na IP uvedenej na začiatku. */
bool setHue (int lightNum, príkaz String) {
Klient WiFiClient;
if (client.connect (hueHubIP, hueHubPort)) {
while (client.connected ()) {
client.print ("PUT /api /"); client.print (hueUsername); client.print ("/svetla/"); client.print (lightNum); // hueLight založené na nule, pridajte 1 client.println ("3/stav"); // tu som zmenil názov odtieňa a stateclient.print ("Host:"); client.println (hueHubIP); client.print („Dĺžka obsahu:“); client.println (command.length ()); client.println ("Content-Type: text/plain; charset = UTF-8"); client.println (); // prázdny riadok pred telom client.println (príkaz); // Príkaz Hue
} client.stop (); návrat true; // príkaz vykonaný}
else return false; // príkaz zlyhal}
Krok 18:
Pri druhom booleovskom jazyku som urobil to isté so zmenou niektorých slov. Nahral som to, aby som zistil, či to funguje.
/* Pomocná funkcia v prípade, že vaša logika závisí od aktuálneho stavu svetla. * Nastavuje sa tým niekoľko globálnych premenných, ktoré môžete skontrolovať a zistiť, či svetlo momentálne svieti alebo nie * a odtieň atď. Nie je potrebné iba na odosielanie príkazov */
bool getHue (int lightNum) {
Klient WiFiClient;
if (client.connect (hueHubIP, hueHubPort)) {
client.print („GET /api /“); client.print (hueUsername); client.print ("/svetla/"); client.print (lightNum); client.println ("3/štát"); client.print ("Host:"); client.println (hueHubIP); client.println ("Typ obsahu: aplikácia/json"); client.println („udržať nažive“); client.println ();
while (client.connected ()) {if (client.available ()) {client.findUntil ("\" on / ":", "\ 0"); hueOn = (client.readStringUntil (',') == "true"); // ak svetlo svieti, nastavte premennú na true client.findUntil ("\" bri / ":", "\ 0"); hueBri = client.readStringUntil (',').toInt (); // nastavenie premennej na hodnotu jasu client.findUntil ("\" hue / ":", "\ 0"); hueHue = client.readStringUntil (',').toInt (); // nastavenie premennej na hodnotu odtieňa break; // zatiaľ nezachytáva iné svetelné atribúty}} client.stop (); návrat true; // zachytené dňa, bri, odtieň} else return false; // chyba pri čítaní ďalej, bri, odtieň}
Krok 19:
Myslím, že by som mohol vytvoriť spojenie s Philips Hue. Dostávam informácie, ale tie je stále potrebné použiť.
Bohužiaľ to presahuje rámec toho, čo môžem kódovať. Ak poznáte odpoveď alebo ak existujú skutočné chyby, ktoré je potrebné opraviť, rád by som to počul.:-)
Odporúča:
Školský zvonček pre diaľkových študentov: 6 krokov
Školský zvonček pre dištančných študentov: S pandémiou COVID-19 prešlo mnoho detských škôl na diaľkové doručovanie. Tento zvonček pre domácu školu je zábavný spôsob, ako zostať podľa plánu, a to pomocou Raspberry Pi a USB reproduktora. Zvládnete to s dieťaťom a môžu sa naučiť programovať
Rozdelenie a predĺženie svetelného pásu Philips Hue: 8 krokov (s obrázkami)
Rozdelenie a rozšírenie svetelného pásu Philips Hue: Pridávam ďalšie " inteligentné domácnosti " gadgetov do môjho domu a jednou z vecí, s ktorými som sa hral, je svetelný pás Philips Hue. Je to pás LED svetiel, ktoré je možné ovládať z aplikácie alebo od inteligentného asistenta, akým je Alexa alebo
Sad Cat Fixer, Catch -Me Cat Toy - školský projekt: 3 kroky
Sad Cat Fixer, Catch-Me Cat Toy-Školský projekt: Tu je náš produkt, Je to interaktívna myš: Catch-Me Cat Toy. Tu je zoznam problémov, s ktorými sa mnohé mačky v našej spoločnosti stretávajú: Mačky sú v dnešnej dobe neaktívne a v depresii, pretože nemajú čo robiť Väčšina majiteľov je zaneprázdnená prácou alebo školou a vašimi
Gledopto: Lacná alternatíva svetelného pásu Philips Hue: 3 kroky
Gledopto: Lacná alternatíva svetelného pásu Philips Hue: Spoločnosť Philips Hue v súčasnej dobe predáva svetelné pásy Philips Hue za pouhých 71-90 dolárov iba na 2 metre. Zdá sa mi to veľmi absurdná cena, a tak som začal hľadať alternatívy. Prišiel som k značke Gledopto, ktorá robí LED pásové ovládače
Projektor nálady (napadnuté svetlo Philips Hue s GSR) TfCD: 7 krokov (s obrázkami)
Projektor nálady (napadnuté svetlo Philips Hue s GSR) TfCD: Laura Ahsmann & Maaike Weber Účel: Nízka nálada a stres sú veľkou súčasťou moderného uponáhľaného života. Je to tiež niečo, čo je navonok neviditeľné. Čo keby sme boli schopní vizuálne aj akusticky premietnuť svoju hladinu stresu pomocou