Daftar Isi:
- Langkah 1: Memulai
- Langkah 2: Aplikasi Hue
- Langkah 3: Hubungkan Jembatan
- Langkah 4: Alamat IP
- Langkah 5:
- Langkah 6: Debug Hue Anda
- Langkah 7: Mari Mulai
- Langkah 8:
- Langkah 9: Ayo Lakukan Sesuatu Dengan Lampu
- Langkah 10:
- Langkah 11: Mari Kendalikan Cahaya
- Langkah 12:
- Langkah 13:
- Langkah 14:
- Langkah 15:
- Langkah 16:
- Langkah 17:
- Langkah 18:
- Langkah 19:
Video: Proyek Sekolah IoT Philips Hue: 19 Langkah
2024 Pengarang: John Day | [email protected]. Terakhir diubah: 2024-01-30 09:55
Ini adalah manual yang harus saya tulis untuk sekolah. Itu tidak lengkap dan saya tidak yakin apakah Anda bahkan dapat menggunakannya. Pengetahuan saya tentang API adalah minimum. Kami ingin membuat cermin interaktif dengan lampu di bagian belakang yang bereaksi terhadap cuaca, cahaya dari luar, dll.
Saya melihat bagaimana saya bisa memprogram lampu Philips Hue dengan Arduino. Dalam hal ini, saya menjelaskan semua langkah saya dan seberapa jauh saya telah melangkah. Saya belum berhasil memprogram Hue dengan Arduino tetapi saya pikir ini adalah awal yang baik.
Saya membutuhkan ini: Arduino, lampu rona, jembatan, akun pengembang Philips Hue
Sumber: 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-…
Langkah 1: Memulai
Sebelum Anda dapat mengakses dokumentasi API, Anda harus mendaftar sebagai pengembang. Ini gratis, tetapi Anda harus menerima syarat dan ketentuan. Anda dapat membuatnya di sini >
Langkah 2: Aplikasi Hue
Unduh Aplikasi Philips Hue resmi. Hubungkan ponsel Anda ke jaringan yang Anda inginkan untuk mengaktifkan jembatan Hue.
Langkah 3: Hubungkan Jembatan
Hubungkan jembatan Anda dengan jaringan Anda dan berfungsi dengan baik. Uji apakah aplikasi ponsel cerdas dapat mengontrol lampu di jaringan yang sama. Itu harus berada di jaringan Wi-Fi yang sama.
Langkah 4: Alamat IP
Maka Anda perlu menemukan alamat IP jembatan di jaringan Anda. Dorong tautan untuk terhubung ke jembatan di aplikasi dan coba kendalikan lampu.
Langkah 5:
Jika semuanya berfungsi, buka menu pengaturan di aplikasi. Daripada pergi ke "Jembatan Saya", pergi ke "Pengaturan jaringan". Matikan sakelar DHCP dan Anda melihat alamat IP jembatan. Catat alamat IP, lalu nyalakan kembali DHCP.
Langkah 6: Debug Hue Anda
Saat Anda menuliskannya, Anda perlu men-debug Hue Anda. Anda memerlukan Alamat IP untuk langkah ini. Anda harus mengunjungi situs berikutnya.
/debug/clip.html
Antarmuka akan terlihat seperti ini pada gambar. Ini adalah dasar dari semua lalu lintas web dan antarmuka RESTful rona.
Saya mendapatkan informasi ini tentang antarmuka Restful dari situs Philips Hue.
URL: ini sebenarnya adalah alamat lokal dari sumber daya (benda) tertentu di dalam sistem rona. Itu bisa berupa cahaya, sekelompok lampu atau banyak hal lainnya. Ini adalah objek yang akan Anda interaksikan dalam perintah ini.
Tubuh: ini adalah bagian dari pesan yang menjelaskan apa yang ingin Anda ubah dan bagaimana caranya. Di sini Anda memasukkan, dalam format JSON, nama dan nilai sumber daya yang ingin Anda ubah/tambahkan.
Metode: di sini Anda memiliki pilihan dari 4 metode HTTP yang dapat digunakan oleh panggilan rona.
GET: ini adalah perintah untuk mengambil semua informasi tentang sumber daya yang dialamatkan
PUT: ini adalah perintah untuk mengubah sumber daya yang dialamatkan
POST: ini adalah perintah untuk membuat sumber daya baru di dalam sumber daya yang dialamatkan
DELETE: ini adalah perintah untuk menghapus resource yang dialamatkan Response: Di area ini, Anda akan melihat respons terhadap perintah Anda. Juga dalam format JSON.
Langkah 7: Mari Mulai
Sekarang kami membutuhkan nama pengguna yang dibuat secara acak yang dibuat oleh jembatan untuk Anda. Anda akan mendapatkan satu dengan mengisi ini.
Masukkan ke dalam URL:
/api/
Masukkan ke dalam TUBUH:
dan tekan DAPATKAN
Perintah ini pada dasarnya mengatakan "tolong buat sumber daya baru di dalam /api" (tempat nama pengguna duduk) dengan properti berikut. Pada awalnya, Anda akan mendapatkan kesalahan, dan itu karena itu adalah langkah keamanan Philips Hue. Dengan menekan tombol mereka membuktikan bahwa Anda memiliki akses fisik ke jembatan.
Langkah 8:
Sekarang Tekan tombol di Bridge dan klik POST lagi.
Sekarang Anda akan mendapatkan nama pengguna yang dibuat jembatan untuk Anda.
Langkah 9: Ayo Lakukan Sesuatu Dengan Lampu
Salin nama pengguna Anda dan letakkan di baris berikut.
Letakkan ini di URL Anda
/api/ /lampu
Tekan DAPATKAN
Anda harus mendapatkan respons JSON dengan semua lampu di sistem Anda dan namanya.
Langkah 10:
Saya meminjam beberapa Lampu Hue dari sekolah, yang saya gunakan adalah yang memiliki id 3. Saya ingin informasi spesifik tentang lampu ini.
Letakkan ini di sebelah URL yang sudah Anda miliki:
/api/ /lampu/3
Tekan DAPATKAN
Sekarang Anda mendapatkan semua informasi tentang Led 3 (jika Anda memiliki nomor lain seperti 1, Anda akan melihat informasi tentang itu).
Langkah 11: Mari Kendalikan Cahaya
Anda melihat dalam "status" bahwa led saya "menyala". Kami ingin mengontrol cahaya dalam "keadaan".
Letakkan ini di sebelah URL yang sudah Anda miliki: https:// /api/ /lights/ 3/ state
Letakkan baris berikutnya di BODY
Tekan PUT
Sekarang lampu Anda akan mati! Ubah nilai di body menjadi true dan lampu akan menyala kembali.
Langkah 12:
Sekarang semuanya berfungsi, saya ingin melakukan ini dengan Arduino saya. Saya melihat tautan yang diberikan Philips Hue untuk mengubah warna terang. Tetapi Anda membutuhkan Python untuk ini, saya tidak pernah bekerja dengan Python jadi saya mencari yang lain.
Jika Anda ingin melihat kode ini, saya memiliki tautan Github di sini:
github.com/bsalinas/ArduinoHue
Langkah 13:
Saya melihat bagaimana saya bisa mendapatkan informasi dari situs pengembang ini ke arduino saya. Sebagian besar waktu saya tidak mengerti bahasanya. Tetapi saya menemukan beberapa kode di situs web dari James Bruce.
Ini adalah tautan ke situs web.
www.makeuseof.com/tag/control-philips-hue-lights-arduino-and-motion-sensor/
Langkah 14:
Pertama saya melihat bahwa dia menggunakan kabel Ethernet. Saya hanya memiliki bola lampu Hue dan Bridge Arduino, dan sedikit pemahaman tentang kode. Butuh beberapa saat bagi saya untuk memahami kodenya, tetapi saya masih belum benar-benar memahaminya.
Saya pertama kali menambahkan perpustakaan ini untuk internet.
#termasuk
Ini untuk jaringan Anda (harus sama dengan bola lampu Hue)
const char*ssid = " "; // taruh di sini kata sandi SSIDconst char* jaringan WiFi Anda = " "; // taruh di sini kata sandi jaringan WiFi Anda
Ini adalah ID Jembatan Anda dan nama pengguna yang diberikan jembatan Anda kepada Anda. (Saya tidak tahu di mana 80 singkatan tetapi ketika saya melakukan penelitian saya melihat bahwa itu digunakan untuk jaringan).
// Konstanta warna const char hueHubIP = ""; // Hue hub IP const char hueUsername = ""; // Nama pengguna warna const int hueHubPort = 80;
// Variabel warna bool hueOn; // hidup/mati int hueBri; // nilai kecerahan hueHue panjang; // nilai warna String hueCmd; // perintah warna
buffer panjang yang tidak ditandatangani = 0; //buffer untuk penyimpanan data yang diterima unsigned long addr;
Langkah 15:
Untuk pengaturan void, saya melakukan yang terbaik untuk koneksi internet. Dalam kode ini, Arduino mencari apakah dia dapat terhubung dengan jaringan.
void setup(){ Serial.begin(9600);
Serial.println();
Serial.printf("Menghubungkan ke %s ", ssid);
WiFi.begin(ssid, kata sandi);
sementara (WiFi.status() != WL_CONNECTED) {
penundaan (500);
Serial.print("."); }
Serial.println("tersambung"); }
Langkah 16:
Dalam loop James, saya melihat bahwa dia memiliki pernyataan If dan else. Tapi itu untuk kabel ethernet, jadi saya mencoba untuk mengabaikannya. Saya juga terkadang mencoba menyesuaikannya, tetapi saya belum tahu dengan banyak data. Beberapa hal dalam kode yang saya mengerti, dalam string adalah data yang diberikan kepada cahaya Hue.
lingkaran kosong(){
// Serangkaian empat contoh perintah, yang warnanya memudarkan dua lampu antara merah dan merah muda. Baca di Hue API // dokumentasi untuk detail lebih lanjut tentang perintah yang tepat untuk digunakan, tetapi perhatikan bahwa tanda kutip harus diloloskan.
Perintah string = "{"on\": true, \"hue\": 50100, \"sat\":255, \"bri\":255, \"transitiontime\":"+String(random(15, 25))+"}";setHue(1, perintah);
command = "{"on\": true, \"hue\": 65280, \"sat\":255, \"bri\":255, \"transitiontime\":"+String(random(15, 25))+"}"; setHue(2, perintah);
command = "{"hue\": 65280, \"sat\":255, \"bri\":255, \"transitiontime\":"+String(random(15, 25))+"}"; setHue(1, perintah);
command = "{"hue\": 50100, \"sat\":255, \"bri\":255, \"transitiontime\":"+String(random(15, 25))+"}"; setHue(2, perintah);
}
Langkah 17:
Kode berikutnya adalah Boolean, tetapi di Arduino Anda harus menulis Bool. Pada awalnya, saya mendapat banyak kesalahan karena kata klien. Jadi saya mencarinya dan melihat bahwa beberapa kode menggunakan baris "WifiClient client;". Jadi saya menggunakannya dan berhasil.
Dalam pernyataan if Anda sering melihat client.print. Jika Anda melihat ke dalam kode, Anda akan melihat bahwa URL yang Anda masukkan sebelumnya dibagi menjadi beberapa bagian. Sekarang masukkan kode Anda sendiri. Saya harus memilih lampu LED ke-3 saya.
/* setHue() adalah fungsi perintah utama kami, yang perlu diteruskan dengan nomor ringan dan * string perintah yang diformat dengan benar dalam format JSON (pada dasarnya array gaya Javascript dari variabel * dan nilai. Kemudian membuat permintaan HTTP PUT sederhana ke Bridge pada IP yang ditentukan di awal.*/
bool setHue(int lightNum, perintah String) {
Klien WiFiClient;
if (client.connect(hueHubIP, hueHubPort)){
sementara (klien. terhubung()){
client.print("PUT /api/"); client.print(hueUsername); client.print("/lampu/"); client.print(lightNum); // hueLight berbasis nol, tambahkan 1 client.println("3/state"); // disini saya mengubah nama hue dan stateclient.print("Host: "); client.println(hueHubIP); client.print("Panjang Konten: "); klien.println(perintah.panjang()); client.println("Jenis Konten: teks/polos;charset=UTF-8"); klien.println(); // baris kosong sebelum body client.println(command); // perintah warna
} klien.stop(); kembali benar; // perintah dieksekusi }
lain kembali salah; // perintah gagal }
Langkah 18:
Pada Boolean kedua, saya melakukan hal yang sama dengan mengubah beberapa kata. Saya mengunggahnya untuk melihat apakah itu berhasil.
/* Fungsi pembantu jika logika Anda bergantung pada status lampu saat ini. * Ini menetapkan sejumlah variabel global yang dapat Anda periksa untuk mengetahui apakah lampu sedang menyala atau tidak * dan rona dll. Tidak diperlukan hanya untuk mengirimkan perintah */
bool getHue(int lightNum) {
Klien WiFiClient;
if (client.connect(hueHubIP, hueHubPort)) {
client.print("DAPATKAN /api/"); client.print(hueUsername); client.print("/lampu/"); client.print(lightNum); client.println("3/status"); client.print("Tuan rumah: "); client.println(hueHubIP); client.println("Tipe-konten: aplikasi/json"); client.println("tetap hidup"); klien.println();
while (client.connected()) { if (client.available()) { client.findUntil("\"on\":", "\0"); hueOn = (client.readStringUntil(', ') == "benar"); // jika lampu menyala, atur variabel ke true client.findUntil("\"bri\":", "\0"); hueBri = client.readStringUntil(', ').toInt(); // set variabel ke nilai kecerahan client.findUntil("\"hue\":", "\0"); hueHue = client.readStringUntil(', ').toInt(); // set variabel ke nilai hue break; // belum menangkap atribut cahaya lainnya } } client.stop(); kembali benar; // ditangkap pada, bri, rona } else return false; // kesalahan membaca on, bri, hue }
Langkah 19:
Saya pikir saya bisa membuat koneksi dengan Philips Hue. Saya menerima informasi tetapi masih perlu digunakan.
Sayangnya, ini melampaui apa yang bisa saya kode. Jika Anda tahu jawabannya, atau jika ada kesalahan nyata yang perlu diperbaiki, saya akan senang mendengarnya.:-)
Direkomendasikan:
Cara Membuat RADAR Menggunakan Arduino untuk Proyek Sains - Proyek Arduino Terbaik: 5 Langkah
Cara Membuat RADAR Menggunakan Arduino untuk Proyek Sains | Proyek Arduino Terbaik: Hai teman-teman, dalam instruksi ini saya akan menunjukkan kepada Anda bagaimana membuat sistem radar luar biasa yang dibangun menggunakan arduino nano, proyek ini sangat ideal untuk proyek sains dan Anda dapat dengan mudah membuatnya dengan investasi dan peluang yang sangat sedikit jika memenangkan hadiah besar untuk
Pisahkan dan Perpanjang Lightstrip Philips Hue: 8 Langkah (dengan Gambar)
Pisahkan dan Perpanjang Philips Hue Lightstrip: Saya telah menambahkan lebih banyak "rumah pintar" mengetik gadget ke rumah saya, dan salah satu yang saya mainkan adalah Philips Hue Lightstrip. Ini adalah strip lampu LED yang dapat dikontrol dari aplikasi atau dari asisten pintar seperti Alexa atau
Sad Cat Fixer, Catch-Me Cat Toy - Proyek Sekolah: 3 Langkah
Sad Cat Fixer, Catch-Me Cat Toy - Proyek Sekolah: Ini adalah produk kami, Ini adalah mouse mainan interaktif: Catch-Me Cat Toy. Berikut adalah daftar masalah yang dihadapi banyak kucing di masyarakat kita: Kucing akhir-akhir ini menjadi tidak aktif dan tertekan tanpa melakukan apa-apaSebagian besar pemilik sibuk dengan pekerjaan atau sekolah dan
10 Proyek Dasar Arduino untuk Pemula! Buat Setidaknya 15 Proyek Dengan Satu Papan!: 6 Langkah
10 Proyek Arduino Dasar untuk Pemula! Buat Setidaknya 15 Proyek Dengan Satu Papan!: Proyek Arduino & Papan Tutorial; Termasuk 10 proyek Arduino dasar. Semua kode sumber, file Gerber, dan lainnya. Tidak ada SMD! Solder mudah untuk semua orang. Komponen yang mudah dilepas dan diganti. Anda dapat membuat setidaknya 15 proyek dengan satu
Pembakar Bertenaga USB! Proyek Ini Dapat Membakar Melalui Plastik / Kayu / Kertas (Proyek yang menyenangkan Juga Harus Kayu yang Sangat Halus): 3 Langkah
Pembakar Bertenaga USB! Proyek Ini Dapat Membakar Plastik/ Kayu / Kertas (Proyek Menyenangkan Juga Harus Kayu Sangat Halus): JANGAN MEMBUAT INI MENGGUNAKAN USB!!!! saya menemukan bahwa itu dapat merusak komputer Anda dari semua komentar. komputer saya baik-baik saja tho. Gunakan pengisi daya telepon 600ma 5v. saya menggunakan ini dan berfungsi dengan baik dan tidak ada yang rusak jika Anda menggunakan steker pengaman untuk menghentikan daya