Isi kandungan:

Lampu Reka Bentuk IoT Dengan IFTTT: 7 Langkah (dengan Gambar)
Lampu Reka Bentuk IoT Dengan IFTTT: 7 Langkah (dengan Gambar)

Video: Lampu Reka Bentuk IoT Dengan IFTTT: 7 Langkah (dengan Gambar)

Video: Lampu Reka Bentuk IoT Dengan IFTTT: 7 Langkah (dengan Gambar)
Video: makeover dapur minibar dengan woodpanel 2024, November
Anonim
Lampu Reka Bentuk IoT Dengan IFTTT
Lampu Reka Bentuk IoT Dengan IFTTT
Lampu Reka Bentuk IoT Dengan IFTTT
Lampu Reka Bentuk IoT Dengan IFTTT

Dalam Instructable ini, saya akan membimbing anda dalam membuat lampu LED yang disambungkan ke internet yang berfungsi dan bergaya.

Objek reka bentuk yang funky ini dapat dikawal dengan aplikasi web atau IFTTT perkhidmatan dalam talian. Yang terakhir ini memungkinkan untuk menyambungkan lampu ke semua jenis perkhidmatan luaran seperti Pembantu Google, Alexa, Pemberitahuan Android, Masa & Tarikh, Ramalan cuaca, dll. Projek ini mengandaikan pengetahuan asas mengenai ESP8266 dan editor Arduino.

Langkah 1: Kumpulkan Elektronik

Kumpulkan Elektronik!
Kumpulkan Elektronik!
Kumpulkan Elektronik!
Kumpulkan Elektronik!

Untuk projek ini, anda memerlukan perkara berikut:

  • NodeMCU atau mikrokontroler ESP8266 lain
  • Jalur LED Neopixel / WS2812B (1m 60LED / m)
  • Pengubah Tahap *
  • Kabel lompat (Lelaki-ke-Perempuan)
  • Kabel USB mikro
  • Palam Dinding USB (5V)

Jalur LED mempunyai tiga kabel: 5V in (merah), GND (putih) dan DATA di (hijau). ESP8266 beroperasi pada 3.3V tetapi mempunyai pin VU. Pin ini disambungkan secara langsung ke kuasa USB, jadi jika anda menghidupkan papan anda dengan 5V melalui USB, voltan ini juga akan tersedia pada pin VU. Kami akan menggunakan pin ini untuk menghidupkan jalur LED. Jadi, secara ringkas:

  • Sambungkan Tanah ke Tanah (GND KE G)
  • Sambungkan 5V + ke Vu
  • Sambungkan Din ke D2

* = Bergantung pada perkakasan anda, pendawaian ini mungkin tidak berfungsi. Oleh kerana ESP8266 beroperasi pada 3.3V, isyarat data yang diberikannya juga berada pada 3.3V. Kerana WS2812B dikuasakan dengan 5V, isyarat data mungkin terlalu lemah untuk diterima dengan betul oleh jalur. Sekiranya pendawaian di atas tidak berfungsi, anda memerlukan Level Shifter yang mengalihkan isyarat data dari 3.3V ke 5V. Lihat skema pendawaian yang dilampirkan.

Catatan! Sebilangan LED-Strip lebih mudah pecah daripada yang lain. Sekiranya anda tidak pernah menggunakan jalur ini, saya sangat mengesyorkan membaca Neopixel Überguide untuk petua menyambungkan jalur LED Neopixel dengan selamat.

Langkah 2: Pantas

Pantas
Pantas

Untuk mengawal LED kita boleh menggunakan perpustakaan FastLED. Sekiranya anda belum melakukannya, tambahkan perpustakaan ini ke persekitaran Arduino anda (Sketsa> Sertakan Perpustakaan> Urus perpustakaan> 'FastLED').

Untuk memastikan pendawaian anda berfungsi, anda mungkin ingin mencuba salah satu daripada banyak contoh yang terdapat di perpustakaan FastLED (Fail> Contoh> FastLED). Pastikan untuk menukar tetapan dalam setiap contoh (bilangan LED = 60, Pin data = 2), sebelum memuat naik ke papan anda.

Berhati-hati dengan menyetel LED terlalu terang semasa papan disambungkan ke komputer anda. Semasa menarik lebih daripada 500mA, komputer anda mungkin mematikan port. Sekiranya anda ingin menggunakan jalur pada kecerahan penuh, pasangkannya dengan palam dinding USB yang dapat menyediakan ampere yang cukup tinggi.

Langkah 3: Perisian

Perisian
Perisian

Kini tiba masanya untuk perisian tersuai. Perisian ini terdapat di GitHub:

github.com/dpkn/lamp/tree/master/software

Muat turun fail perisian, buka zip, dan buka fail software.ino di editor Arduino anda. Pastikan anda memasang semua perpustakaan yang disebutkan dalam fail ini.

Pergi ke tab Config dan tambahkan nama dan kata laluan rangkaian WiFi anda ke baris berikut:

const char * ssid = "";

const char * kata laluan = "";

Anda mungkin juga perlu mengubah yang berikut, bergantung pada penghala anda:

const IPAddress staticIp (192, 168, 178, 101); // IP tempatan statik peranti yang diingini

const IPAddress gateway (192, 168, 178, 1); // Gateway IP router subnet constIPAddress (255, 255, 255, 0); // Subnet penghala

Di MacOS, anda boleh mendapatkan tetapan ini di bawah Pilihan Sistem> Rangkaian> Lanjutan> TCP / IP

Muat naik fail ke papan anda. Sekiranya semuanya berjalan lancar, jalur akan menjadi putih apabila disambungkan ke rangkaian WiFi anda. Buka Serial Monitor pada 115200 baud untuk memeriksa maklumat tambahan.

Langkah 4: Mengawalnya secara tempatan

Untuk menunjukkan cara kerja lampu, saya membuat sedikit aplikasi web yang terdapat di https://lamp-app.surge.sh (sumber di Codepen). Aplikasi ini menghantar permintaan JSON terus ke ESP8266, yang seterusnya mengemas kini LED.

Perkara di atas hanya akan berfungsi jika lampu dan telefon anda disambungkan ke rangkaian WiFi yang sama kerana anda menangani lampu dengan alamat IP tempatannya. Untuk dapat mengawal lampu dari mana saja, anda perlu menggali tetapan penghala anda.

Langkah 5: Mengawalnya Dari Mana sahaja

Untuk membuka lampu anda ke arah keajaiban yang adalah World Wide Web, kita perlu melakukan sesuatu yang disebut port forwarding. Pada asasnya, ini akan mengalihkan permintaan yang dialamatkan di alamat IP awam anda (yang dibekalkan oleh ISP anda) dan nombor port (dalam contoh ini sewenang-wenangnya ditetapkan ke 300) ke alamat IP tempatan, dalaman yang boleh dialamatkan oleh ESP8266.

Proses ini berbeza untuk setiap perangkat, jadi jika anda tidak tahu bagaimana melakukan ini pada penghala tertentu, pastikan untuk google 'port forwarding' + nama router anda. Ini adalah tetapan yang anda perlukan:

Pelabuhan Permulaan / Akhir Luaran: 300

Pelabuhan Mula / Tamat Dalaman: 300

Alamat IP Dalaman: 192.168.178.101 (alamat yang ditunjukkan dalam Serial Monitor)

Protokol: TCP / UDP

Amaran! Setelah melakukan ini, lampu anda dapat dikendalikan oleh sesiapa sahaja yang mengetahui IP awam anda dan port yang digunakan oleh lampu tersebut. Sekiranya anda tidak fikir itu idea yang bagus, disyorkan untuk menerapkan beberapa lapisan keselamatan

Untuk menguji apakah semuanya disiapkan dengan betul, masukkan yang berikut ke dalam penyemak imbas anda: (jika anda tidak mengetahui alamat IP Awam anda, pergi ke laman web ini.)

[IP AWAM ANDA]: 300

Anda akan melihat mesej pengesahan JSON. Anda kini boleh mencuba menggunakan aplikasi dengan alamat IP awam anda.

Langkah 6: IFTTT

IFTTT
IFTTT
IFTTT
IFTTT
IFTTT
IFTTT
IFTTT
IFTTT

Di sinilah bermulanya keseronokan yang sebenarnya. Sekarang lampu kita disambungkan ke ~~ internet ~~, kita boleh menggunakan laman web IFTTT untuk menghubungkannya dengan semua jenis perkhidmatan.

Dalam contoh ini, kami akan menyediakan perintah Pembantu Google yang menjadikan lampu menjadi merah, tetapi anda boleh memilih perkhidmatan lain yang mencetuskan imaginasi anda.

  1. Pergi ke IFTTT.com dan buat akaun jika anda belum melakukannya
  2. Navigasi ke 'Applet Saya'> 'Applet Baru'
  3. Untuk perkhidmatan pencetus, cari 'Pembantu Google'
  4. Pilih 'Ucapkan Frasa Mudah'
  5. Ikuti beberapa ungkapan unik
  6. Untuk perkhidmatan tindakan, cari 'Webhooks'
  7. Gunakan tetapan berikut:

URL: https:// [IP-AWAM-ANDA]: 300 / api

Kaedah: Jenis Kandungan POST: aplikasi / json

Dan untuk Badan:

Sekarang apabila kita menyebut kalimat yang kita pilih, Pembantu Google akan membuat permintaan kepada IFTTT, yang seterusnya akan menghantar permintaan JSON kepada pelita kami. Pastikan anda mencubanya! Selami kod untuk melihat apa lagi yang boleh anda buat.

Langkah 7: Menjadikannya Cantik

Menjadikannya Cantik
Menjadikannya Cantik
Menjadikannya Cantik
Menjadikannya Cantik
Menjadikannya Cantik
Menjadikannya Cantik

Bahagian yang paling mahal dari projek ini adalah selongsong yang menempatkan jalur LED. Sekiranya anda hanya ingin mencuba projek ini tanpa mengeluarkan banyak wang, anda juga boleh mempertimbangkan bentuk lain atau hanya membuat tiub dari kertas pencetak putih. Dilampirkan anda akan menemui bingkai kawat yang boleh anda cetak di atas kertas untuk melipat beberapa dudukan tiub, seperti yang ditunjukkan dalam gambar di atas.

Untuk selongsong yang lebih kukuh saya menggunakan item berikut:

  • Tiub akrilik fros (panjang = 1160mm, diameter = 40mm, ketebalan dinding = 2mm)
  • Tutup plastik 2x
  • Blok kayu lembut 20x2x30mm
  • Jalur logam 10x1160x2mm

Jalur LED itu sendiri adalah 1000mm, meninggalkan 80mm di kedua hujung tiub untuk menyembunyikan elektronik. Saya menggunakan kertas pencetak yang digulung ke dalam tiub di kedua hujungnya agar tidak lutsinar. Untuk memudahkan penyisipan, saya menempelkan jalur LED ke jalur logam panjang

Saya menggiling berdiri dari sebatang kayu lembut. Sekiranya anda mahu melakukan perkara yang sama, fail.stl disediakan di bawah. Anda juga boleh mempertimbangkan mencetak 3D pendirian.

Disyorkan: