Orodha ya maudhui:
- Hatua ya 1: Anza
- Hatua ya 2: Hue App
- Hatua ya 3: Unganisha Daraja
- Hatua ya 4: Anwani ya IP
- Hatua ya 5:
- Hatua ya 6: Ondoa Hue yako
- Hatua ya 7: Wacha tuanze
- Hatua ya 8:
- Hatua ya 9: Wacha Tufanye Kitu na Taa
- Hatua ya 10:
- Hatua ya 11: Wacha Tudhibiti Nuru
- Hatua ya 12:
- Hatua ya 13:
- Hatua ya 14:
- Hatua ya 15:
- Hatua ya 16:
- Hatua ya 17:
- Hatua ya 18:
- Hatua ya 19:
Video: Mradi wa Shule ya IoT Philips Hue: Hatua 19
2024 Mwandishi: John Day | [email protected]. Mwisho uliobadilishwa: 2024-01-30 12:50
Huu ni mwongozo niliyopaswa kuandika kwa shule. Haijakamilika na sina hakika ikiwa unaweza hata kuitumia. Ujuzi wangu wa API ni kiwango cha chini wazi. Tulitaka kutengeneza kioo kinachoingiliana na taa nyuma ambayo iliathiri hali ya hewa, mwanga kutoka nje, nk.
Niliangalia jinsi ninavyoweza kupanga taa ya Philips Hue na Arduino. Katika hili, ninaelezea hatua zangu zote na jinsi nimefika mbali. Sijafanikiwa kupanga Hue na Arduino lakini nadhani ni mwanzo mzuri.
Nimehitaji hii: Arduino taa ya hue akaunti ya msanidi programu wa Philips Hue
Vyanzo: https://www.developers.meethue.com/documentation/g… www.makeuseof.com/tag/control-philips-hue-…
Hatua ya 1: Anza
Kabla ya kufikia nyaraka za API, utahitaji kujiandikisha kama msanidi programu. Ni bure, lakini unahitaji kukubali sheria na masharti. Unaweza kutengeneza moja hapa>
Hatua ya 2: Hue App
Pakua programu rasmi ya Philips Hue. Unganisha simu yako na mtandao unaotaka daraja la Hue liko.
Hatua ya 3: Unganisha Daraja
Unganisha daraja lako na mtandao wako na inafanya kazi vizuri. Jaribu kuwa programu ya smartphone inaweza kudhibiti taa kwenye mtandao huo. Lazima iwe kwenye mtandao huo wa Wi-Fi.
Hatua ya 4: Anwani ya IP
Kisha unahitaji kugundua anwani ya IP ya daraja kwenye mtandao wako. Bonyeza kitufe cha kuungana na daraja kwenye programu na ujaribu kudhibiti taa.
Hatua ya 5:
Ikiwa yote inafanya kazi basi nenda kwenye menyu ya mipangilio kwenye programu. Kuliko kwenda "Daraja langu", nenda kwenye "Mipangilio ya Mtandao". Zima ubadilishaji wa DHCP na uone anwani ya IP ya daraja. Kumbuka anwani ya IP, kisha uwashe DHCP tena.
Hatua ya 6: Ondoa Hue yako
Wakati uliandika hiyo chini unahitaji kurekebisha Hue yako. Unahitaji Anwani ya IP kwa hatua hii. Lazima utembelee tovuti inayofuata.
/debug/clip.html
Interface itaonekana kama hii kwenye picha. Huu ndio msingi wa trafiki yote ya wavuti na ya hue interface RESTful.
Nilipata habari hii juu ya kiolesura cha Kutuliza cha tovuti ya Philips Hue.
URL: kwa kweli hii ni anwani ya mahali hapo ya rasilimali maalum (kitu) ndani ya mfumo wa hue. Inaweza kuwa nyepesi, kikundi cha taa au vitu vingi zaidi. Hiki ndicho kitu ambacho utakuwa ukishirikiana ndani ya amri hii.
Mwili: hii ni sehemu ya ujumbe ambayo inaelezea kile unataka kubadilisha na jinsi. Hapa unaingia, katika muundo wa JSON, jina la rasilimali na thamani ambayo ungependa kubadilisha / kuongeza.
Njia: hapa una chaguo la njia 4 za HTTP ambazo hue hue anaweza kutumia.
PATA: hii ni amri ya kuleta habari zote juu ya rasilimali iliyoshughulikiwa
PUT: hii ndio amri ya kurekebisha rasilimali iliyoshughulikiwa
POST: hii ni amri ya kuunda rasilimali mpya ndani ya rasilimali iliyoshughulikiwa
FUTA: hii ndio amri ya kufuta rasilimali iliyojibiwa Jibu: Katika eneo hili, utaona jibu kwa amri yako. Pia katika muundo wa JSON.
Hatua ya 7: Wacha tuanze
Sasa tunahitaji jina la mtumiaji lililoundwa kwa nasibu ambalo daraja linakuundia. Utapata moja kwa kujaza hii.
Weka kwenye URL:
/ api /
Weka kwenye MWILI:
na bonyeza GET
Amri hii kimsingi inasema "tafadhali tengeneza rasilimali mpya ndani / api" (ambapo majina ya watumiaji huketi) na mali zifuatazo. Mwanzoni, utapata hitilafu, na hiyo ni kwa sababu ni hatua ya usalama ya Philips Hue. Kwa kubonyeza kitufe wanathibitisha kuwa unaweza kufikia daraja.
Hatua ya 8:
Sasa Bonyeza kitufe kwenye Daraja na bonyeza tena POST.
Sasa utapata jina la mtumiaji ambalo daraja lilikutengenezea.
Hatua ya 9: Wacha Tufanye Kitu na Taa
Nakili jina lako la mtumiaji na uweke kwenye mstari ufuatao.
Weka hii kwenye URL yako
/ api / / taa
Bonyeza GET
Unapaswa kupata jibu la JSON na taa zote kwenye mfumo wako na majina yao.
Hatua ya 10:
Nimekopa taa za Hue kutoka shuleni, ile ninayotumia ni ile iliyo na id. Ninataka habari maalum juu ya taa hii.
Weka hii karibu na URL uliyokuwa nayo tayari:
/ api / / taa / 3
Bonyeza GET
Sasa unapata habari juu ya Led 3 (ikiwa unayo nambari nyingine kama 1 utaona habari kuhusu hiyo).
Hatua ya 11: Wacha Tudhibiti Nuru
Unaona katika "hali" kwamba mwongozo wangu ume "on". Tunataka kudhibiti taa katika "hali".
Weka hii karibu na URL uliyokuwa nayo tayari: https:// / api / / taa / 3 / state
Weka laini inayofuata katika MWILI
Bonyeza PUT
Sasa taa yako itazimwa! Badilisha thamani ya mwili kuwa kweli na taa itawasha tena.
Hatua ya 12:
Sasa kila kitu kinafanya kazi nataka kufanya hii na Arduino yangu. Niliangalia kiunga ambacho Philips Hue alitoa kufanya mabadiliko ya rangi nyepesi. Lakini unahitaji Python kwa hili, sikuwahi kufanya kazi na Python kwa hivyo nilitafuta kitu kingine.
Ikiwa ungependa kuangalia nambari hii nina kiunga cha Github hapa:
github.com/bsalinas/ArduinoHue
Hatua ya 13:
Niliangalia jinsi ninaweza kupata habari kutoka kwa wavuti hii ya msanidi programu kwenda kwa arduino yangu. Wakati mwingi sikuelewa lugha hiyo. Lakini nilipata nambari kadhaa kwenye wavuti kutoka kwa James Bruce.
Hiki ni kiunga cha tovuti.
www.makeuseof.com/tag/control-philips-hue-lights-arduino-and-motion-sensor/
Hatua ya 14:
Kwanza nikaona kwamba alikuwa akitumia kebo ya Ethernet. Nilikuwa tu na balbu ya Hue Light na Bridge Arduino, na ufahamu mdogo wa nambari. Ilinichukua muda kuelewa code yake, lakini bado siielewi.
Kwanza niliongeza maktaba hii kwa wavuti.
# pamoja
Hii ni kwa mtandao wako (lazima iwe sawa na balbu ya Hue Light)
const char * ssid = ""; // weka hapa mtandao wako wa SSIDconst char * password = ""; // weka hapa nywila yako ya mtandao wa WiFi
Hizi ndizo kitambulisho cha Daraja lako na jina la mtumiaji ulilopewa daraja lako. (Sijui 80 inasimama wapi lakini nilipofanya utafiti nikaona kuwa ilitumika kwa mitandao).
// Vipindi vya Hue const char hueHubIP = ""; // Hue hub IP const char hueUsername = ""; // Jina la mtumiaji Hue const int hueHubPort = 80;
// Vigeu vya Hue boe huOn; // on / off int hueBri; // mwangaza thamani hueHue; // thamani ya hue String hueCmd; // Amri ya Hue
unser bafa ya muda mrefu = 0; // bafa ya kuhifadhi data iliyopokea bila nyongeza ndefu;
Hatua ya 15:
Kwa usanidi batili, nilifanya zaidi kwa unganisho la mtandao. Katika nambari hii, Arduino anaangalia ikiwa anaweza kuungana na mtandao.
kuanzisha batili () {Serial.begin (9600);
Serial.println ();
Serial.printf ("Kuunganisha kwa% s", ssid);
Kuanza kwa WiFi (ssid, password);
wakati (WiFi.status ()! = WL_CONNECTED) {
kuchelewesha (500);
Printa ya serial ("."); }
Serial.println ("imeunganishwa"); }
Hatua ya 16:
Katika kitanzi cha James, niliona kuwa alikuwa na taarifa ya Ikiwa na mwingine. Lakini hiyo ilikuwa kwa kebo ya ethernet, kwa hivyo nilijaribu kuiacha hii nje. Wakati mwingine pia nilijaribu kuirekebisha, lakini sikujua bado na data nyingi. Vitu vingine kwenye nambari niliyoelewa, kwenye kamba ni data ambayo inapewa taa ya Hue.
kitanzi batili () {
// Mfululizo wa amri nne za sampuli, ambayo rangi hupotea taa mbili kati ya nyekundu na nyekundu. Soma juu ya hati ya Hue API // kwa maelezo zaidi juu ya maagizo haswa ya kutumiwa, lakini kumbuka kuwa alama za nukuu lazima ziepuka.
String command = "{" on / ": true, \" hue / ": 50100, \" sat / ": 255, \" bri / ": 255, / "timetime \": "+ Kamba (bila mpangilio (15, 25)) + "}"; setHue (1, amri);
command = "{" on / ": true, \" hue / ": 65280, \" sat / ": 255, \" bri / ": 255, \" transitiontime / ":" + String (bila mpangilio (15, 25)) + "}"; setiHue (2, amri);
amri = "{" hue / ": 65280, \" sat / ": 255, \" bri / ": 255, \" muda wa mpito / ":" + Kamba (bila mpangilio (15, 25)) + "}"; setiHue (1, amri);
amri = "{" hue / ": 50100, \" ameketi / ": 255, \" bri / ": 255, \" muda wa mpito / ":" + Kamba (bila mpangilio (15, 25)) + "}"; setiHue (2, amri);
}
Hatua ya 17:
Nambari inayofuata ilikuwa Boolean, lakini katika Arduino lazima uandike Bool. Mwanzoni, nilipata makosa mengi kwa sababu ya neno mteja. Kwa hivyo niliiangalia na kuona kuwa nambari fulani ilitumia laini "WifiClient mteja;". Kwa hivyo niliitumia na ilifanya kazi.
Katika taarifa ya if mara nyingi unaona alama ya mteja. Ukiangalia kwenye nambari hiyo, utaona kuwa URL uliyoingiza hapo awali imegawanywa vipande vipande. Sasa ingiza nambari yako mwenyewe. Ilinibidi kuchagua taa yangu ya 3 ya LED.
/ * setHue () ni kazi yetu kuu ya amri, ambayo inahitaji kupitishwa nambari nyepesi na * kamba ya amri iliyopangwa vizuri katika muundo wa JSON (kimsingi safu ya anuwai ya mtindo wa Javascript * na maadili. Halafu inafanya ombi rahisi la HTTP PUT Daraja kwenye IP iliyoainishwa mwanzoni. * /
bool setHue (int lightNum, String amri) {
Mteja wa Wateja wa WiFi;
ikiwa (mteja.connect (hueHubIP, hueHubPort)) {
wakati (mteja. imeunganishwa ()) {
alama ya mteja ("PUT / api /"); alama ya mteja (hueUsername); alama ya mteja ("/ taa /"); alama ya mteja (lightNum); // hueLight zero msingi, ongeza mteja 1.println ("3 / serikali"); // hapa nilibadilisha jina la hue na stateclient.print ("Jeshi:"); mteja.println (hueHubIP); alama ya mteja ("Urefu wa Yaliyomo:"); mteja.println (command.length ()); mteja.println ("Aina ya Maudhui: maandishi / wazi; charset = UTF-8"); mteja.println (); // laini tupu kabla ya mteja wa mwili.println (amri); // Amri ya Hue
} mteja.acha (); kurudi kweli; // amri imetekelezwa}
mwingine kurudi uongo; // amri imeshindwa}
Hatua ya 18:
Katika Boolean ya pili, nilifanya jambo lile lile na kubadilisha maneno kadhaa. Niliipakia kuona ikiwa inafanya kazi.
/ * Kazi ya msaidizi ikiwa mantiki yako inategemea hali ya sasa ya taa. * Hii inaweka idadi ya anuwai za ulimwengu ambazo unaweza kuangalia ili kujua ikiwa taa sasa imewashwa au la * na hue nk Haihitajiki kutuma amri tu / /
bool GetHue (int lightNum) {
Mteja wa Wateja wa WiFi;
ikiwa (mteja.connect (hueHubIP, hueHubPort)) {
alama ya mteja ("GET / api /"); alama ya mteja (hueUsername); alama ya mteja ("/ taa /"); alama ya mteja (lightNum); mteja.println ("3 / serikali"); alama ya mteja ("Jeshi:"); mteja.println (hueHubIP); mteja.println ("Aina ya Maudhui: programu / json"); mteja.println ("endelea kuishi"); mteja.println ();
wakati (mteja.meunganishwa ()) {ikiwa (mteja anapatikana ()) {mteja.findUntil ("\" kwenye / ":", "\ 0"); hueOn = (mteja.readStringUntil (',') == "kweli"); // ikiwa taa imewashwa, weka kutofautisha kwa mteja wa kweli.findUntil ("\" bri / ":", "\ 0"); hueBri = mteja.readStringUntil (',').toInt (); // weka kutofautisha kwa mteja wa thamani ya mwangaza.findUntil ("\" hue / ":", "\ 0"); hueHue = mteja.readStringUntil (',').toInt (); // kuweka kutofautisha kwa kuvunja thamani ya hue; // kutokamata sifa zingine nyepesi}}} mteja.simama (); kurudi kweli; // imekamatwa, bri, hue} mwingine arudie uwongo; // kusoma kosa juu, bri, hue}
Hatua ya 19:
Nadhani ningeweza kuunganishwa na Philips Hue. Ninapokea habari lakini bado inahitaji kutumiwa.
Kwa bahati mbaya, hii inapita zaidi ya kile ninaweza kuweka nambari. Ikiwa unajua jibu, au ikiwa kuna makosa halisi ambayo yanahitaji kusahihishwa, ningependa kuisikia.:-)
Ilipendekeza:
Marekebisho ya Paka wa kusikitisha, Toy ya Paka ya Kunikamata - Mradi wa Shule: Hatua 3
Fixer Paka wa kusikitisha, Toy ya Paka ya Kunasa-Me - Mradi wa Shule: Hapa kuna bidhaa yetu, Ni panya wa toy anayeshirikiana: Catch-Me Cat Toy. Hapa kuna orodha ya shida paka nyingi katika jamii yetu wanakabiliwa: Paka siku hizi wanakuwa hawajishughulishi na wamefadhaika bila chochote cha kufanyaWamiliki wengi wako busy na kazi au shule na ca yako
WIND - Mradi wa kuongeza kasi kwa Mradi wa Adafruit: Hatua 9 (na Picha)
Upepo - Mradi wa kuongeza kasi kwa Manyoya ya Adafruit: Nimekuwa nikikusanya polepole wadhibiti wa manyoya wa Adafruit na bodi za sensorer ambazo zinapatikana kutoka Adafruit. Wanafanya prototyping na upimaji kuwa rahisi sana, na mimi ni shabiki mkubwa wa mpangilio wa bodi. Kwa kuwa nilijikuta tumetumia
Mchoro wa Kuchora Unaodhibitiwa na Sauti - Mradi wa Shule ya Arduino: Hatua 4 (na Picha)
Kuchora Mkono Iliyodhibitiwa na Sauti - Mradi wa Shule ya Arduino: Hii ni mara yangu ya kwanza kufanya kazi na Arduino, na kufanya kazi na kitu kama hiki milele, pole sana ikiwa nilifanya makosa yoyote! Nilipata wazo hili wakati nilifikiria juu ya burudani zangu, ambazo ni kuchora na muziki. Kwa hivyo nilijaribu kuchanganya hizo mbili kuwa hii! Moja
Mradi wa Mood (Taa ya Philips Hue iliyoangaziwa na GSR) TfCD: Hatua 7 (na Picha)
Mradi wa Mood (Taa ya Philips Hue iliyoangaziwa na GSR) TfCD: Na Laura Ahsmann & Kusudi la Maaike Weber: Mhemko wa chini na mafadhaiko ni sehemu kubwa ya maisha ya kisasa ya haraka. Pia ni kitu kisichoonekana kwa nje. Je! Ikiwa tungekuwa na uwezo wa kuibua na kwa sauti acoustically mradi wetu wa shida na
Mchomaji umeme wa USB! Mradi huu unaweza kuchoma kupitia Plastiki / Mbao / Karatasi (Mradi wa kufurahisha Pia Inapaswa Kuwa Kuni Nzuri Sana): Hatua 3
Mchomaji umeme wa USB! Mradi huu unaweza kuchoma kupitia Plastiki / Mbao / Karatasi (Mradi wa kufurahisha Pia Inapaswa Kuwa Mti Mzuri Sana): USIFANYE KUTUMIA USB HII !!!! niligundua kuwa inaweza kuharibu kompyuta yako kutoka kwa maoni yote. kompyuta yangu ni sawa tho. Tumia chaja ya simu ya 600ma 5v. nilitumia hii na inafanya kazi vizuri na hakuna kitu kinachoweza kuharibika ikiwa unatumia kuziba usalama kukomesha nguvu