Menyambungkan IoT dan Node.js ke IFTTT
- saluran pembuat IFTTT membolehkan pemaju untuk menentukan pencetus yang dimatikan apabila mereka menerima permintaan HTTP, memperluaskan kebolehgunaannya untuk hampir apa -apa tujuan, hanya terhad oleh kreativiti komuniti pemaju.
- Saluran Maker boleh digunakan untuk menyediakan arduino mudah untuk berkomunikasi dengan IFTTT melalui node.js, yang membolehkan tindakan seperti bertukar -tukar lifx lampu suluh dan dimatikan melalui suis lampu berkuasa Arduino, atau menukar warna LED RGB bila -bila masa sebutan twitter diterima.
- Proses Persediaan untuk Saluran Maker melibatkan membuat resipi baru di IFTTT, memilih "pembuat" sebagai saluran pencetus, menentukan jenis pencetus, nama acara dan jenis tindakan, dan kemudian menggunakan kod Node.js untuk menentukan butang yang disambungkan ke Arduino yang akan mencetuskan permintaan HTTP ke IFTTT.
- untuk membuat Arduino bertindak balas terhadap pencetus IFTTT, proses yang sama diikuti tetapi sebaliknya, dengan saluran pencetus menjadi perkhidmatan yang akan menyebabkan tindakan (mis., Twitter), dan saluran tindakan menjadi "pembuat", yang akan Kemudian buat permintaan web ke pelayan Node.js dan Arduino setiap kali peristiwa pencetus berlaku.
- IFTTT mempunyai potensi besar dalam keupayaannya untuk menyambungkan peranti dengan cepat dan mudah. Terdapat satu perkara yang telah hilang untuk seketika - keupayaan untuk menghantar dan menerima HTTP Gener GET dan permintaan pos. Jika anda ingin menggunakan IFTTT untuk sesuatu, penggunaan khusus untuk ia harus ditakrifkan oleh IFTTT dan diterbitkan di laman web mereka dalam saluran. Iaitu, sehingga sekarang!
Jika anda baru ke IFTTT, saya sebelum ini meliputi asas -asas dalam artikel saya mengenai menghubungkan mentol LIFX ke IoT menggunakan IFTTT. Artikel ini menganggap anda tahu semua tentang pencetus dan tindakan, dan kini sudah bersedia untuk membawanya ke peringkat seterusnya!
kod
Jika anda berminat untuk terus ke dalam kod dan mencubanya, anda boleh menemuinya di sini di GitHub.
bagaimana ini akan berfungsi
Kami akan mempunyai pelayan Node.js tempatan yang berjalan dengan Arduino yang disambungkan melalui USB. Menekan butang pada set Arduino akan mencetuskan permintaan HTTP ke IFTTT untuk menceritakannya untuk bertukar -tukar cahaya LIFX kami. Pelayan Node.js kami juga akan meluahkan larian untuk mengendalikan sebarang permintaan HTTP yang masuk. Setiap kali IFTTT melihat sebutan baru kami di Twitter, ia akan membuat permintaan pos ke pelayan kami untuk mencetuskan LED Arduino kami.
lakaran arduino kami
kami akan menyambungkan butang mudah dan RGB membawa kepada arduino.

menyediakan saluran pembuat
Untuk memulakan, kita perlu pergi ke saluran pembuat di IFTTT dan klik "Sambung". Sebaik sahaja ia disediakan, anda akan mencapai skrin yang kelihatan seperti:

Pada skrin ini, ia menyediakan kunci rahsia anda, anda perlu mencetuskan tindakan IFTTT melalui arahan HTTP. Sudah tentu, anda memerlukan sedikit lebih banyak maklumat daripada kunci, kita memerlukan URL untuk menyiarkannya akan mencetuskan tindakan. Untuk mencari ini, klik pautan yang mengatakan "Bagaimana untuk mencetuskan peristiwa". Ia akan membuka halaman yang mengandungi URL yang anda mahu gunakan, dengan mudah dengan kunci anda yang dilampirkan kepadanya.

URL yang akan kami gunakan untuk mentol Lifx kami kelihatan seperti ini: http://maker.ifttt.com/trigger/light_switch/with/key/ {yourkeyhere}}. Bahagian URL yang mengatakan Light_Switch adalah nama acara kami. Kami menggunakan ini apabila menyusun resipi IFTTT kami. Jika anda tidak mencetuskan mentol LIFX, pilih nama yang sepadan dengan acara anda dengan lebih tepat.
toggling ifttt menggunakan pencetus pembuat
Saluran pembuat kami aktif dan bersedia untuk digunakan. Kami akan mulakan dengan melihat bagaimana untuk bertukar -tukar tindakan IFTTT kami - menukarkan lightbulb lifx dan mematikan menggunakan butang dari arduino.
Membuat resipi itu sendiri agak mudah:
- kami pergi ke halaman resipi baru di ifttt.
- Pilih "Maker" sebagai saluran pencetus kami.
- Klik pada "Menerima Permintaan Web" sebagai jenis pencetus kami.
- Masukkan nama acara kami Light_Switch.
- Pilih "Lifx" sebagai saluran tindakan kami.
- Klik pada "Togol Lights On/Off" sebagai jenis tindakan kami.
- Pilih lampu LIFX yang kami mahukan ini memberi kesan.
- Beri resipi tajuk dan klik "Buat Resipi"!
Dalam kod Node.js kami, kami menggunakan Johnny-Five untuk mengakses Arduino kami. Apabila papan sudah siap, kami menentukan butang kami yang disambungkan ke pin 7 dalam pembolehubah BTN:
board<span>.on('ready', function() { </span> <span>console.log('Board ready'); </span> btn <span>= new five<span>.Button</span>(7);</span>
Di dalam acara siap papan, kami menyediakan jam tangan untuk acara Down Button. Jika kita mengesan butang telah ditekan, kita log yang klik ke konsol untuk tujuan debugging (dalam keadaan di mana dawai di papan roti datang longgar atau sesuatu di sepanjang garis tersebut, dengan log konsol ini dapat menjimatkan banyak masa!). Kemudian, kami menggunakan permintaan modul NPM untuk membuat permintaan pos HTTP ke URL yang kami dapati di atas. Kami mempunyai log konsol atas kejayaannya untuk tujuan debug juga.
btn<span>.on('down', function(value) { </span> <span>console.log('Light toggle pressed.'); </span> request<span>.post({ </span> <span>url: 'http://maker.ifttt.com/trigger/light_switch/with/key/{{yourkeyhere}}' </span> <span>}, function(error<span>, response, body</span>) { </span> <span>console.log('Body response was ', body); </span> <span>console.log('Error was ', error); </span> <span>}); </span> <span>});</span>
Apabila menjalankan kod, apabila kita mengklik butang dan permintaan itu berjaya, ia harus menukar LIFX Lightbulb On and Off! Ifttt akan mengembalikan mesej yang bagus yang akan kelihatan seperti dalam konsol.log kami:
Tanggapan badan adalah tahniah! Anda telah melepaskan acara Light_Switch
Ia sangat mudah untuk disatukan tetapi mempunyai lot potensi.
Satu perkara yang perlu diperhatikan - jika anda ingin membuat panggilan ke perkhidmatan IFTTT melalui HTTPS, anda juga memerlukan pelayan HTTPS yang dijamin dengan betul. Saya mempunyai kesilapan apabila menggunakan pelayan ujian tempatan, jadi mungkin perlu mempunyai sijil yang tidak ditandatangani sendiri.
Menanggapi pencetus IFTTT
kita kini boleh mencetuskan tindakan IFTTT melalui Node.js dan Arduino kami. Mari kita lihat bagaimana untuk melakukan perkara yang bertentangan - menjadikan Arduino kita bertindak balas terhadap pencetus IFTTT. Kami akan menyediakan IFTTT untuk memberitahu pelayan Node.js kami dan Arduino setiap kali kami disebutkan di Twitter.
kami menyusun resipi dengan cara lain:
- kami pergi ke halaman resipi baru di ifttt.
- Pilih "Twitter" sebagai saluran pencetus kami.
- Klik pada "Sebutan Baru Anda" sebagai Jenis Pencetus kami.
- Klik "Buat Trigger".
- Pilih "Maker" sebagai saluran tindakan kami.
- Klik pada "Buat Permintaan Web" sebagai jenis tindakan kami.
- masukkan tetapan permintaan pos anda (kami akan menutupnya di bawah) dan klik "Buat Tindakan"!
skrin dengan tetapan permintaan HTTP kami akan kelihatan seperti:

- Masukkan URL yang boleh diakses secara umum untuk pelayan nod anda. Saya secara peribadi menggunakan NGROK untuk menguji semua ini. Saya meliputi cara menggunakan NGROK dan perkhidmatan yang serupa dalam artikel saya mengenai mengakses localhost dari mana -mana sahaja. Pilih pos untuk kaedah (permintaan GET juga berfungsi jika anda lebih suka).
- Pilih "Aplikasi/JSON" untuk jenis kandungan kerana pelayan nod kami akan mengharapkan untuk menerima JSON.
- Akhirnya, sertakan mesej JSON yang ingin kami hantar. Saya meletakkan {"warna": "#55Acee", "Text": Text}. #55Acee adalah warna yang saya dapati dari maskot burung Twitter, jadi saya fikir ia pilihan yang paling sesuai!
- Teks adalah medan yang diisi secara dinamik oleh IFTTT dengan teks dari tweet yang ditemui menyebut anda. Bidang ini dipanggil bahan -bahan IFTTT. Kami tidak benar -benar menggunakannya untuk menukar warna LED kami tetapi saya mahu memasukkan bahan IFTTT di sana untuk menunjukkan bagaimana ia dilakukan.
- Untuk menambah ramuan ke dalam JSON anda, klik pada medan badan untuk memasuki rentetan JSON anda dan anda akan menemui ikon tiub ujian di sebelah kanan. Jika anda mengkliknya, anda akan membuka menu yang akan membolehkan anda memilih medan untuk disertakan:
Di dalam kod nod kami, kami menyediakan LED kami supaya modul Johnny-Five kami tahu mengenainya dan menubuhkan pelayan untuk mendengar permintaan pos itu. Ia akan bertindak balas dengan menukar LED kami.
Di dalam acara siap papan, kami menentukan LED kami melekat pada pin 9, 10 dan 11 dalam pembolehubah LED seperti SO:
board<span>.on('ready', function() { </span> <span>console.log('Board ready'); </span> btn <span>= new five<span>.Button</span>(7);</span>
Kod mungkin kelihatan ganjil kerana pin dikira dari 11 daripada ke atas. Alasannya ialah saya lebih suka pendawaian saya mempunyai merah, hijau dan kemudian biru dari atas ke bawah di papan Arduino (mis. 11, kemudian 10 dan 9).
kami menetapkan warna awalnya kepada hijau:
btn<span>.on('down', function(value) { </span> <span>console.log('Light toggle pressed.'); </span> request<span>.post({ </span> <span>url: 'http://maker.ifttt.com/trigger/light_switch/with/key/{{yourkeyhere}}' </span> <span>}, function(error<span>, response, body</span>) { </span> <span>console.log('Body response was ', body); </span> <span>console.log('Error was ', error); </span> <span>}); </span> <span>});</span>
Di luar acara siap papan, kami membuat penghalaan kami untuk permintaan pos /LED menggunakan Express. Dalam fungsi panggil balik untuk laluan ini, kami mendapat data JSON yang dihantar dari IFTTT di dalam Req.body dan cari kunci warna di dalamnya. Kami memberikan warna kepada Johnny-Five's LED.Color () fungsi untuk menukar warna kami membawa kepada apa yang telah kami berikan. Kami log data JSON di konsol kami juga.
led <span>= new five<span>.Led.RGB</span>([11,10,9]);</span>
sesuatu yang perlu diingat - jika anda meletakkan ini pada pelayan yang boleh diakses secara umum yang akan tersedia untuk lebih daripada sekadar tujuan ujian, saya akan mengesyorkan bahawa data JSON yang disediakan sebenarnya adalah warna dan sah permintaan.
Response adalah {warna: '#55acee', teks: '@thatpatrickguy woo hoo'}
Kemudian, jika anda menyediakan pelbagai perkhidmatan lain di sepanjang garis yang sama tetapi dengan warna yang berbeza, anda boleh mempunyai pelbagai perubahan warna LED!
Kesimpulan
Mempunyai ekosistem IFTTT dan semua salurannya yang tersedia untuk pembuat mana -mana teknologi yang diaktifkan Internet yang boleh menghantar dan menerima permintaan HTTP adalah besar. Walaupun kami dapat melakukan perkara -perkara seperti termasuk API Twitter ke dalam aplikasi Node.js untuk masa yang lama sekarang, ini menyediakan pelbagai kemungkinan dalam API yang lebih mudah digunakan dan sangat modular. Tukar Twitter untuk sesuatu yang lain dan segala -galanya masih harus berfungsi dengan hanya beberapa pelarasan!
Jika anda membuat beberapa penciptaan saluran pembuat IFTTT yang benar -benar kemas dari panduan ini, tinggalkan nota dalam komen atau berhubung dengan saya di Twitter (@thatpatrickguy), saya ingin melihat!
Soalan Lazim (Soalan Lazim) Mengenai Menghubungkan IoT dan Node.js ke Ifttt
Apakah peranan node.js dalam menghubungkan IoT ke IFTTT?
node.js memainkan peranan penting dalam menghubungkan peranti IoT ke IFTTT. Ia adalah runtime JavaScript yang dibina di atas enjin V8 JavaScript Chrome, yang digunakan untuk membangunkan aplikasi pelayan dan rangkaian. Aplikasi Node.js ditulis dalam JavaScript dan boleh dijalankan dalam runtime Node.js pada pelbagai platform. Dalam konteks IoT, Node.js boleh digunakan untuk menulis kod sisi pelayan yang berinteraksi dengan peranti IoT dan menghantar arahan ke IFTTT melalui perkhidmatan pembuat web. ? Perkhidmatan IFTTT. Perkhidmatan ini amat berguna apabila anda ingin menyambungkan perkakasan atau perisian anda sendiri dengan IFTTT. Anda boleh menghantar permintaan web ke URL tertentu yang dihasilkan oleh perkhidmatan Webhooks Maker, dan permintaan ini akan mencetuskan tindakan pada perkhidmatan IFTTT. Ifttt?
Ya, anda boleh menggunakan bahasa pengaturcaraan lain untuk menyambungkan peranti IoT ke IFTTT. Walau bagaimanapun, Node.js adalah pilihan yang popular kerana kecekapan dan skalabiliti, yang amat berguna apabila berurusan dengan peranti IoT yang menghasilkan sejumlah besar data. Bahasa lain seperti Python, Java, atau C juga boleh digunakan, tetapi pelaksanaannya mungkin berbeza. Sambungan antara IoT, Node.js, dan IFTTT sebahagian besarnya bergantung pada bagaimana anda melaksanakannya. Adalah penting untuk menggunakan kaedah yang selamat apabila menghantar data dari peranti IoT anda ke node.js dan dari node.js ke IFTTT. Ini termasuk menggunakan HTTPS untuk semua sambungan, mengesahkan semua data masuk, dan menjaga rahsia kunci IFTTT anda.
Apakah jenis peranti IoT yang boleh saya sambungkan ke IFTTT menggunakan node.js?
Anda boleh menyambungkan pelbagai peranti IoT ke IFTTT menggunakan Node.js. Ini termasuk tetapi tidak terhad kepada peranti rumah pintar seperti lampu, termostat, dan kamera keselamatan, peranti yang boleh dipakai seperti smartwatches dan pelacak kecergasan, dan juga peranti IoT yang dibina khas. Keperluan utama ialah peranti mesti dapat menghantar data melalui Internet.
Bagaimana saya boleh menyahpepijat masalah ketika menyambungkan IoT ke IFTTT menggunakan Node.js? IFTTT menggunakan node.js boleh dilakukan menggunakan pelbagai kaedah. Anda boleh menggunakan penyataan Console.log dalam kod Node.js anda untuk mencetak maklumat mengenai keadaan permohonan anda. Anda juga boleh menggunakan alat seperti debugger node.js atau inspektor nod. Menggunakan Node.js. Setiap peranti akan menghantar data ke aplikasi Node.js anda, yang kemudiannya akan mencetuskan tindakan pada IFTTT menggunakan perkhidmatan pembuat webhooks. Anda juga boleh menetapkan tindakan yang berbeza untuk peranti yang berbeza.
Apakah batasan menggunakan IFTTT dengan IoT dan Node.js? , ia mempunyai beberapa batasan. Sebagai contoh, versi percuma IFTTT mengehadkan bilangan applet yang boleh anda buat. Juga, tidak semua perkhidmatan boleh didapati di IFTTT, jadi anda mungkin tidak dapat menyambungkan peranti IoT anda dengan setiap perkhidmatan yang anda mahu gunakan. ke ifttt?
Mengoptimumkan prestasi aplikasi Node.js anda boleh dilakukan dalam beberapa cara. Ini termasuk menggunakan algoritma yang cekap dan struktur data, meminimumkan penggunaan operasi menyekat, dan menguruskan memori dengan betul. Anda juga boleh menggunakan alat seperti profiler node.js untuk mengenal pasti kesesakan prestasi. Gunakan Node.js dan IFTTT untuk menyambungkan peranti IoT ke pelbagai perkhidmatan. IFTTT menyokong beratus -ratus perkhidmatan, termasuk yang popular seperti Gmail, Twitter, dan Dropbox. Anda boleh mencetuskan tindakan pada perkhidmatan ini berdasarkan data dari peranti IoT anda.
Atas ialah kandungan terperinci Menyambungkan IoT dan Node.js ke IFTTT. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

Video Face Swap
Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Soalan dan penyelesaian yang sering ditanya untuk percetakan tiket kertas terma depan dalam pembangunan front-end, percetakan tiket adalah keperluan umum. Walau bagaimanapun, banyak pemaju sedang melaksanakan ...

JavaScript adalah asas kepada pembangunan web moden, dan fungsi utamanya termasuk pengaturcaraan yang didorong oleh peristiwa, penjanaan kandungan dinamik dan pengaturcaraan tak segerak. 1) Pengaturcaraan yang didorong oleh peristiwa membolehkan laman web berubah secara dinamik mengikut operasi pengguna. 2) Penjanaan kandungan dinamik membolehkan kandungan halaman diselaraskan mengikut syarat. 3) Pengaturcaraan Asynchronous memastikan bahawa antara muka pengguna tidak disekat. JavaScript digunakan secara meluas dalam interaksi web, aplikasi satu halaman dan pembangunan sisi pelayan, sangat meningkatkan fleksibiliti pengalaman pengguna dan pembangunan silang platform.

Tidak ada gaji mutlak untuk pemaju Python dan JavaScript, bergantung kepada kemahiran dan keperluan industri. 1. Python boleh dibayar lebih banyak dalam sains data dan pembelajaran mesin. 2. JavaScript mempunyai permintaan yang besar dalam perkembangan depan dan stack penuh, dan gajinya juga cukup besar. 3. Faktor mempengaruhi termasuk pengalaman, lokasi geografi, saiz syarikat dan kemahiran khusus.

Pembelajaran JavaScript tidak sukar, tetapi ia mencabar. 1) Memahami konsep asas seperti pembolehubah, jenis data, fungsi, dan sebagainya. 2) Pengaturcaraan asynchronous tuan dan melaksanakannya melalui gelung acara. 3) Gunakan operasi DOM dan berjanji untuk mengendalikan permintaan tak segerak. 4) Elakkan kesilapan biasa dan gunakan teknik debugging. 5) Mengoptimumkan prestasi dan mengikuti amalan terbaik.

Perbincangan mengenai realisasi kesan animasi tatal dan elemen Parallax dalam artikel ini akan meneroka bagaimana untuk mencapai yang serupa dengan laman web rasmi Shiseido (https://www.shiseido.co.jp/sb/wonderland/) ... ...

Trend terkini dalam JavaScript termasuk kebangkitan TypeScript, populariti kerangka dan perpustakaan moden, dan penerapan webassembly. Prospek masa depan meliputi sistem jenis yang lebih berkuasa, pembangunan JavaScript, pengembangan kecerdasan buatan dan pembelajaran mesin, dan potensi pengkomputeran IoT dan kelebihan.

Bagaimana cara menggabungkan elemen array dengan ID yang sama ke dalam satu objek dalam JavaScript? Semasa memproses data, kita sering menghadapi keperluan untuk mempunyai id yang sama ...

Masalah kemas kini data dalam operasi Zustand Asynchronous. Apabila menggunakan Perpustakaan Pengurusan Negeri Zustand, anda sering menghadapi masalah kemas kini data yang menyebabkan operasi tak segerak menjadi tidak lama lagi. � ...
