Rumah > hujung hadapan web > tutorial js > Menyambungkan IoT dan Node.js ke IFTTT

Menyambungkan IoT dan Node.js ke IFTTT

Christopher Nolan
Lepaskan: 2025-02-19 13:23:10
asal
686 orang telah melayarinya

Menyambungkan IoT dan Node.js ke IFTTT

Takeaways Key

    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!
Untuk menunjukkan apa saluran pembuat mampu, kami akan menubuhkan arduino mudah untuk berkomunikasi bolak -balik dengan IFTTT melalui Node.js. Untuk bereksperimen dengan menghantar pencetus ke IFTTT, kami akan bertukar -tukar bola lampu LIFX di atas dan di luar melalui suis lampu berkuasa Arduino. Untuk mencuba tindakan pembuat IFTTT, kami akan menyambungkan RGB membawa kepada Arduino kami yang akan mengubah warna pada bila -bila masa kami disebutkan di Twitter. Tidak suka Twitter atau tidak mempunyai mentol LIFX? Tidak masalah sama sekali, tukar tindakan/pencetus dengan sesuatu yang lain di IFTTT. Bekerja dengan saluran Facebook dan bukannya tindakan Twitter atau mencetuskan telefon anda dan bukannya bola lampu. Ini sangat menyeronokkan untuk dijinakkan dengan.

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.

Menyambungkan IoT dan Node.js ke IFTTT

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:

Menyambungkan IoT dan Node.js ke IFTTT

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.

Menyambungkan IoT dan Node.js ke IFTTT

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:

  1. kami pergi ke halaman resipi baru di ifttt.
  2. Pilih "Maker" sebagai saluran pencetus kami.
  3. Klik pada "Menerima Permintaan Web" sebagai jenis pencetus kami.
  4. Masukkan nama acara kami Light_Switch.
  5. Pilih "Lifx" sebagai saluran tindakan kami.
  6. Klik pada "Togol Lights On/Off" sebagai jenis tindakan kami.
  7. Pilih lampu LIFX yang kami mahukan ini memberi kesan.
  8. 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>
Salin selepas log masuk
Salin selepas log masuk

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>
Salin selepas log masuk
Salin selepas log masuk

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:

  1. kami pergi ke halaman resipi baru di ifttt.
  2. Pilih "Twitter" sebagai saluran pencetus kami.
  3. Klik pada "Sebutan Baru Anda" sebagai Jenis Pencetus kami.
  4. Klik "Buat Trigger".
  5. Pilih "Maker" sebagai saluran tindakan kami.
  6. Klik pada "Buat Permintaan Web" sebagai jenis tindakan kami.
  7. masukkan tetapan permintaan pos anda (kami akan menutupnya di bawah) dan klik "Buat Tindakan"!

skrin dengan tetapan permintaan HTTP kami akan kelihatan seperti:

Menyambungkan IoT dan Node.js ke IFTTT
  1. 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).
  2. Pilih "Aplikasi/JSON" untuk jenis kandungan kerana pelayan nod kami akan mengharapkan untuk menerima JSON.
  3. 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!
  4. 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.
  5. 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: Menyambungkan IoT dan Node.js ke IFTTT

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>
Salin selepas log masuk
Salin selepas log masuk

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>
Salin selepas log masuk
Salin selepas log masuk

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>
Salin selepas log masuk

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.

jika anda menjalankan pelayan nod dan kemudian menerima tweet di akaun anda, selepas seketika (ia tidak akan segera kerana ia seolah -olah mengambil masa untuk IFTTT untuk menyegarkan maklumat itu dari Twitter pada masa -masa), LED anda sepatutnya Pergi Twitter Blue! Di Console.log anda, anda harus melihat sesuatu seperti yang berikut:

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!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan