Mundarija:
- 1 -qadam: Ishni boshlang
- 2 -qadam: Hue ilovasi
- 3 -qadam: Ko'prikni ulang
- 4 -qadam: IP -manzil
- 5 -qadam:
- 6 -qadam: Rangingizni tuzating
- 7 -qadam: Boshlaylik
- 8 -qadam:
- 9 -qadam: Keling, chiroqlar bilan biror narsa qilaylik
- 10 -qadam:
- 11 -qadam: Keling, yorug'likni boshqaramiz
- 12 -qadam:
- 13 -qadam:
- 14 -qadam:
- 15 -qadam:
- 16 -qadam:
- 17 -qadam:
- 18 -qadam:
- 19 -qadam:
Video: IoT maktabi loyihasi Philips Hue: 19 qadam
2024 Muallif: John Day | [email protected]. Oxirgi o'zgartirilgan: 2024-01-30 13:24
Bu maktab uchun yozishim kerak bo'lgan qo'llanma. Bu to'liq emas va siz hatto undan foydalanishingiz mumkinligiga amin emasman. API haqidagi bilimim minimal darajaga etadi. Biz orqa tomonida ob -havo, tashqi yorug'lik va boshqalar ta'sir qiladigan chiroqlar bilan interfaol ko'zgu yasashni xohladik.
Men Philips Hue lampasini Arduino bilan qanday dasturlash mumkinligini ko'rib chiqdim. Bunda men o'zimning barcha qadamlarimni va qancha yo'l olganimni tushuntiraman. Men Arduino bilan Hue dasturlashda muvaffaqiyat qozonmadim, lekin bu yaxshi boshlanish deb o'ylayman.
Menga bu kerak edi: Philips Hue ishlab chiqaruvchisi hisobidagi Arduino tusli chiroq
Manbalar: 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 -qadam: Ishni boshlang
API hujjatlariga kirishdan oldin siz dasturchi sifatida ro'yxatdan o'tishingiz kerak. Bu bepul, lekin siz shartlarni qabul qilishingiz kerak. Siz bu yerdan qilishingiz mumkin>
2 -qadam: Hue ilovasi
Rasmiy Philips Hue ilovasini yuklab oling. Telefoningizni Hue ko'prigi yoqilgan tarmoqqa ulang.
3 -qadam: Ko'prikni ulang
Ko'prikni tarmoqqa ulang va u to'g'ri ishlamoqda. Smartfon ilovasi bir xil tarmoqdagi chiroqlarni boshqarishi mumkinligini tekshiring. U bir xil Wi-Fi tarmog'ida bo'lishi kerak.
4 -qadam: IP -manzil
Keyin tarmoqdagi ko'prikning IP -manzilini topishingiz kerak. Ilovadagi ko'prikka ulanish uchun havolani bosing va chiroqlarni boshqarishga harakat qiling.
5 -qadam:
Agar hammasi ishlayotgan bo'lsa, ilovadagi sozlamalar menyusiga o'ting. "Mening ko'prigim" ga o'ting, "Tarmoq sozlamalari" ga o'ting. DHCP kalitini o'chiring va siz ko'prikning IP -manzilini ko'rasiz. IP -manzilga e'tibor bering, keyin DHCP -ni qayta yoqing.
6 -qadam: Rangingizni tuzating
Buni yozganingizda, siz Hue -ni disk raskadrovka qilishingiz kerak. Ushbu qadam uchun sizga IP-manzil kerak. Siz keyingi saytga kirishingiz kerak.
/debug/clip.html
Rasmda interfeys shunday ko'rinadi. Bu barcha veb -trafik va tusli RESTful interfeysining asosi.
Men Philips Hue saytining tinch interfeysi haqida ma'lumot oldim.
URL: bu aslida rang tizimi ichidagi ma'lum bir manbaning (narsaning) mahalliy manzili. Bu yorug'lik, chiroqlar guruhi yoki boshqa narsalar bo'lishi mumkin. Bu siz ushbu buyruq ichida o'zaro ta'sir qiladigan ob'ekt.
Tana: bu xabarning bir qismi, siz nimani va qanday o'zgartirishni xohlayotganingizni tasvirlaydi. Bu erda siz JSON formatida siz o'zgartirmoqchi/qo'shmoqchi bo'lgan manba nomi va qiymatini kiritasiz.
Usul: bu erda siz rang qo'ng'irog'i ishlatishi mumkin bo'lgan 4 HTTP usulini tanlashingiz mumkin.
Oling: bu manzil manbasi haqidagi barcha ma'lumotlarni olish buyrug'i
PUT: bu manzil manbasini o'zgartirish buyrug'i
POST: bu murojaat qilingan manba ichida yangi manba yaratish buyrug'i
O'CHIRISH: bu manba manbasini o'chirish buyrug'i Javob: Bu sohada siz o'z buyrug'ingizga javobni ko'rasiz. Shuningdek, JSON formatida.
7 -qadam: Boshlaylik
Endi bizga ko'prik siz uchun yaratadigan tasodifiy yaratilgan foydalanuvchi nomi kerak. Buni to'ldirish orqali siz bitta olasiz.
URL manzilini kiriting:
/api/
Tana ichiga qo'ying:
va GET tugmasini bosing
Bu buyruq asosan quyidagi xususiyatlarga ega "iltimos /api ichida yangi manba yarating" (foydalanuvchi nomlari o'tirgan joy) ni bildiradi. Avvaliga sizda xato bo'ladi, chunki bu Philips Hue xavfsizlik qadamidir. Tugmani bosish orqali ular sizning ko'prikka jismoniy kirishingiz mumkinligini isbotlaydilar.
8 -qadam:
Endi ko'prikdagi tugmani bosing va yana POST tugmasini bosing.
Endi siz ko'prik siz uchun yaratgan foydalanuvchi nomini olasiz.
9 -qadam: Keling, chiroqlar bilan biror narsa qilaylik
Foydalanuvchi nomini nusxa ko'chiring va uni keyingi qatorga qo'ying.
Buni URL manzilingizga kiriting
/api//chiroqlar
GET tugmasini bosing
Siz tizimingizdagi barcha chiroqlar va ularning nomlari bilan JSON javobini olishingiz kerak.
10 -qadam:
Men Hue Lights -ni maktabdan qarzga olganman, men foydalanadigan identifikator 3. Men bu yorug'lik haqida aniq ma'lumotga ega bo'lishni xohlayman.
Buni allaqachon mavjud bo'lgan URL yoniga qo'ying:
/api//chiroqlar/3
GET tugmasini bosing
Endi siz Led 3 haqida ma'lumot olasiz (agar sizda 1 kabi boshqa raqam bo'lsa, bu raqam haqida ma'lumotni ko'rasiz).
11 -qadam: Keling, yorug'likni boshqaramiz
Siz "shtat" da ko'rasiz, men rahbarligim "yoqilgan". Biz yorug'likni "holatda" boshqarishni xohlaymiz.
Buni URL manzilining yoniga qo'ying: https:/// api// lights/ 3/ state
BODYga keyingi qatorni qo'ying
PUT tugmasini bosing
Endi sizning chirog'ingiz o'chadi! Tanadagi qiymatni rostga o'zgartiring va yorug'lik yana yonadi.
12 -qadam:
Endi hamma narsa ishlaydi, men buni Arduino bilan qilishni xohlayman. Men yorug'lik rangini o'zgartirish uchun Philips Hue bergan havolani ko'rib chiqdim. Lekin buning uchun sizga Python kerak, men hech qachon Python bilan ishlamaganman, shuning uchun men boshqa narsani qidirdim.
Agar siz ushbu kodni ko'rishni xohlasangiz, menda Github havolasi bor:
github.com/bsalinas/ArduinoHue
13 -qadam:
Men ushbu ishlab chiquvchi saytidan arduino -ga qanday ma'lumot olishim mumkinligini ko'rib chiqdim. Ko'pincha men tilni tushunmaganman. Ammo men veb -saytdan Jeyms Bryusdan kod topdim.
Bu veb -saytga havola.
www.makeuseof.com/tag/control-philips-hue-lights-arduino-and-motion-sensor/
14 -qadam:
Avvaliga men uning Ethernet kabelidan foydalanayotganini ko'rdim. Menda faqat Hue lampochkasi va Arduino ko'prigi bor edi va men kodni kam tushunardim. Uning kodini tushunishim uchun biroz vaqt kerak bo'ldi, lekin men hali ham uni tushunmayapman.
Men bu kutubxonani birinchi marta Internetga qo'shdim.
#qo'shing
Bu sizning tarmog'ingiz uchun (u Hue lampochkasi bilan bir xil bo'lishi kerak)
const char* ssid = ""; // bu erga Wi -Fi tarmog'ingizni qo'ying SSIDconst char* password = ""; // Wi -Fi tarmog'ining parolini bu erga qo'ying
Bu sizning ko'prigingizning identifikatori va ko'prik sizga bergan foydalanuvchi nomi. (80 qaerda ekanligini bilmayman, lekin men tadqiqot o'tkazganimda, u tarmoqlar uchun ishlatilganini ko'rdim).
// Rang sobitlari const char hueHubIP = ""; // Hue hub IP const char hueUsername = ""; // Hue foydalanuvchi nomi const int hueHubPort = 80;
// Hue o'zgaruvchilari bool hueOn; // hueBri -ni yoqish/o'chirish; // yorqinlik qiymati long hueHue; // rang qiymati String hueCmd; // Hue buyrug'i
imzosiz uzun bufer = 0; // qabul qilingan ma'lumotlarni saqlash uchun bufer imzosiz uzoq addr;
15 -qadam:
Bo'sh o'rnatish uchun men Internetga ulanish uchun hamma narsani qildim. Ushbu kodda Arduino tarmoqqa ulana oladimi -yo'qligini tekshiradi.
void setup () {Serial.begin (9600);
Serial.println ();
Serial.printf (" %s ga ulanmoqda", ssid);
WiFi.begin (ssid, parol);
esa (WiFi.status ()! = WL_CONNECTED) {
kechikish (500);
Serial.print ("."); }
Serial.println ("ulangan"); }
16 -qadam:
Jeyms davrasida men uning If va else iborasi borligini ko'rdim. Lekin bu chekilgan kabel uchun edi, shuning uchun men uni chetga surishga harakat qildim. Men ham ba'zida uni to'g'rilashga harakat qilardim, lekin hali ko'p ma'lumotlar bilan bilmasdim. Men tushungan koddagi ba'zi narsalar, satrda Hue nuriga berilgan ma'lumotlar.
void loop () {
// To'rt namunali buyruqlar to'plami, ularning rangi qizil va pushti o'rtasida ikkita chiroqni o'chiradi. Amaldagi aniq buyruqlar haqida ko'proq ma'lumot olish uchun Hue API // hujjatlarini o'qing, lekin esda tutingki, tirnoq belgilaridan qochish kerak.
String buyrug'i = "{" on / ": true, \" hue / ": 50100, \" sat / ": 255, \" bri / ": 255, \" o'tish vaqti / ":"+String (tasodifiy (15, 25))+"}"; setHue (1, buyruq);
command = "{" on / ": true, \" hue / ": 65280, \" sat / ": 255, \" bri / ": 255, \" o'tish vaqti / ":"+String (tasodifiy (15, 25))+"}"; setHue (2, buyruq);
command = "{" tus / ": 65280, \" sat / ": 255, \" bri / ": 255, \" o'tish vaqti / ":"+String (tasodifiy (15, 25))+"}"; setHue (1, buyruq);
command = "{" tus / ": 50100, \" sat / ": 255, \" bri / ": 255, \" o'tish vaqti / ":"+String (tasodifiy (15, 25))+"}"; setHue (2, buyruq);
}
17 -qadam:
Keyingi kod mantiqiy edi, lekin Arduino -da Bool yozish kerak. Avvaliga mijoz so'zi tufayli juda ko'p xatolarga yo'l qo'ydim. Men qaradim va ba'zi kodlar "WifiClient mijozi" qatorini ishlatganini ko'rdim. Shunday qilib, men uni ishlatardim va u ishladi.
If -da siz tez -tez client.print -ni ko'rasiz. Agar siz kodni ko'rib chiqsangiz, siz ilgari kiritgan URL bo'laklarga bo'linganligini ko'rasiz. Endi o'z kodingizni kiriting. Men uchinchi LED chiroqni tanlashim kerak edi.
/ * setHue () - bu bizning asosiy buyruq vazifamiz bo'lib, unga yorug'lik raqami va JSON formatida * to'g'ri formatlangan buyruq qatori (asosan Javascript uslubidagi o'zgaruvchilar * va qiymatlar majmuasi) yuborilishi kerak. Keyin u oddiy HTTP PUT so'rovini yuboradi. boshida ko'rsatilgan IP -dagi ko'prik. */
bool setHue (int lightNum, String buyrug'i) {
WiFiClient mijozi;
agar (client.connect (hueHubIP, hueHubPort)) {
while (client.connected ()) {
client.print ("PUT /api /"); client.print (hueUsername); client.print ("/chiroqlar/"); client.print (lightNum); // hueLight nolga asoslangan, 1 client.println qo'shing ("3/holat"); // bu erda men rang nomini va stateclient.print ("Xost:") ni o'zgartirdim; mijoz.println (hueHubIP); client.print ("Content-Length:"); client.println (command.length ()); client.println ("Kontent turi: matn/oddiy; charset = UTF-8"); mijoz.println (); // body client oldida bo'sh satr.println (buyruq); // Hue buyrug'i
} client.stop (); haqiqatga qaytish; // buyruq bajarildi}
aks holda noto'g'ri qaytaring; // buyruq bajarilmadi}
18 -qadam:
Ikkinchi mantiqda men ham xuddi shunday qildim, ba'zi so'zlarni o'zgartirdim. Ishlaganmi yoki yo'qmi deb yukladim.
/* Agar sizning mantiqingiz yorug'likning hozirgi holatiga bog'liq bo'lsa, yordamchi funktsiyasi. * Bu bir nechta global o'zgaruvchilarni belgilaydi, ularni siz hozirda chiroq yonayotgan yoki yoqilmaganligini * va rangini va hokazolarni aniqlash uchun tekshirishingiz mumkin. Faqat buyruqlarni yuborish uchun kerak emas */
bool getHue (int lightNum) {
WiFiClient mijozi;
agar (client.connect (hueHubIP, hueHubPort)) {
client.print ("GET /api /"); client.print (hueUsername); client.print ("/chiroqlar/"); client.print (lightNum); client.println ("3/shtat"); client.print ("Xost:"); mijoz.println (hueHubIP); client.println ("Kontent turi: application/json"); client.println ("tirik qolish"); mijoz.println ();
while (client.connected ()) {if (client.available ()) {client.findUntil ("\" on / ":", "\ 0"); hueOn = (client.readStringUntil (',') == "rost"); // agar yorug'lik yoniq bo'lsa, o'zgaruvchini haqiqiy client.findUntil ga o'rnating ("\" bri / ":", "\ 0"); hueBri = client.readStringUntil (',').toInt (); // o'zgaruvchini yorqinlik qiymatiga o'rnating client.findUntil ("\" hue / ":", "\ 0"); hueHue = client.readStringUntil (',').toInt (); // o'zgaruvchini tus qiymatining tanaffusiga o'rnating; // boshqa yorug'lik atributlari hali yozilmagan}} client.stop (); haqiqatga qaytish; // captured on, bri, hue} else return false; // o'qishda xato, bri, tus}
19 -qadam:
Menimcha, Philips Hue bilan aloqa o'rnatishim mumkin. Men ma'lumot olaman, lekin undan foydalanish kerak.
Afsuski, bu men kodlay oladigan narsadan tashqarida. Agar siz javobni bilsangiz yoki to'g'rilanishi kerak bo'lgan haqiqiy xatolar bo'lsa, men eshitishni istardim.:-)
Tavsiya:
Philips Hue yorug'lik chizig'ini ajratish va kengaytirish: 8 qadam (rasmlar bilan)
Philips Hue yorug'lik chizig'ini ajratish va kengaytirish: Men ko'proq " aqlli uy " uyimga gadjetlar yozing va men o'ynagan narsalardan biri bu Philips Hue Lightstrip. Bu LED chiroqlari, uni ilovadan yoki Alexa kabi aqlli yordamchidan boshqarish mumkin
Gledopto: arzon Philips Hue Light Strip muqobil: 3 qadam
Gledopto: Arzon Philips Hue Light Strip alternativasi: Philips Hue hozirda Philips Hue Light chiziqlarini atigi 2 metrga 71-90 dollarga sotmoqda. Men buni juda bema'ni narx deb topdim, shuning uchun men alternativalarni qidira boshladim. Men Gledopto nomli brendga keldim, u LED chiziqli kontrollerlarni yaratadi
Ovoz bilan boshqariladigan qo'l chizish - Arduino maktabi loyihasi: 4 qadam (rasmlar bilan)
Ovoz bilan boshqariladigan qo'l chizish - Arduino maktabi loyihasi: Men Arduino bilan birinchi marta ishladim va shu kabi narsalar bilan ishladim, agar xato qilgan bo'lsam uzr! Men bu fikrni chizish va musiqa bilan shug'ullanadigan sevimli mashg'ulotlarim haqida o'ylaganimda oldim. Shunday qilib, men ikkalasini birlashtirishga harakat qildim! Alohida
DIY Philips Hue Panel Light: 4 qadam (rasmlar bilan)
DIY Philips Hue panelli yorug'lik: Men yaqinda yotoqxonam uchun Philips Hue chiroqlarini sotib oldim. Ular ajoyib! Men ularni ovozim bilan Alexa yordamida boshqaraman va telefonim orqali ham boshqaraman. Men rangni o'zgartiradigan panel nuri topishga harakat qildim, lekin siz bilganingizdek, Philips Hue tushunmaydi
Kayfiyat proektori (GSR bilan Philips Hue Light Hacked) TfCD: 7 qadam (rasmlar bilan)
Kayfiyat proektori (GSR bilan Philips Hue Light Hacked) TfCD: Laura Ahsmann tomonidan & Maaike Weberning maqsadi: past kayfiyat va stress-bu zamonaviy hayotning katta qismi. Bu ham tashqi ko'rinmaydigan narsadir. Agar biz stress darajamizni vizual va akustik tarzda loyihalashtira olsak nima bo'lardi