Jeffrey Cross
Jeffrey Cross

IFTTT Menambah Saluran Pembuat Baharu

Perkhidmatan popular yang paling dalam talian untuk menyambungkan perkhidmatan dalam talian bersama-sama dan mengautomasikan tugas menggunakannya, IFTTT, atau "Jika Ini Kemudian Itu," hanya mendapat cangkuk ke dalam perkakasan yang digodam pembuat.

IFTTT bermula sebagai satu cara untuk menyambung alat dan perkhidmatan dalam talian, mencetuskan satu dari yang lain. Sebagai contoh, anda boleh mempunyai "resipi," sebagai tugas IFTTT dipanggil, yang secara automatik mengambil setiap foto baru yang anda hantar ke Instagram dan menyimpannya ke Dropbox anda. Jika ini: anda menyiarkan foto. Kemudian itu: simpannya ke Dropbox. Ia sebenarnya cukup kuat, dan anda boleh mendapatkan jauh dengan menggunakan apa, di muka, adalah enjin peraturan yang agak mudah.

Walau bagaimanapun, pada tahun lalu, perkhidmatan telah menjadi lebih kuat, kerana laman web ini telah bergerak untuk menyokong bukan hanya perkhidmatan dalam talian tulen, tetapi juga perkara-perkara. Dari Nest Thermostat anda, ke SmartThings anda, suis WeMo, dan peranti Wink, senarai produk-produk 'rumah yang disambung' IFTTT yang boleh menerima data dari dan kawalannya telah berkembang dengan cepat.

Yang tidak begitu menarik untuk DIYers, kerana kebanyakan perkakasan itu sangat luar biasa. Baru-baru ini, IFTTT menambahkan sesuatu untuk kami: Channel Maker.

Ini membolehkan anda menyambungkan IFTTT kepada projek peribadi anda. Anda kini boleh menulis resipi yang boleh dicetuskan oleh salah satu projek anda sendiri, seperti Arduino yang dihubungkan dengan rangkaian, atau Raspberry Pi. Anda juga boleh menghantar mesej ke Arduino yang tersambung ke rangkaian secara langsung dari IFTTT, dan dicetuskan oleh sebarang perkhidmatan yang ada. Ini caranya.

Cara Mencetuskan Acara

Sebaik sahaja anda menyambung IFTTT anda ke Channel Maker, mencetuskan acara - mencipta "if" of IFTTT - mudah. Apa yang perlu anda lakukan ialah menghantar permintaan web GET atau POST dengan nama acara dan kunci rahsia - kunci ditugaskan apabila anda menyambung saluran - bentuk,

https://maker.ifttt.com/trigger/{event_name}/with/key/{secret_key}

dengan badan JSON pilihan yang terdiri daripada sehingga tiga nilai, atau rentetan, untuk diteruskan ke tindakan dalam resipi anda. Oleh kerana anda boleh mencetuskan acara ini dengan sesuatu yang semudah curl dari baris arahan ini adalah tuas yang sangat kuat, kerana ia menjadikannya sangat remeh untuk mencetuskan resipi IFTTT dari Raspberry Pi, atau bahkan dari Arduino berangkaian.

Cara Memanggil Perkhidmatan

Perkhidmatan panggilan dari resipi - "itu" dari IFTTT - juga sangat mudah. Anda hanya perlu menyediakan dan menamatkan, alamat web atau URL dengan kata lain, untuk memanggilnya. Resipi boleh mengambil bentuk permintaan GET, POST atau DELETE, dan secara pilihan boleh mengandungi pemboleh ubah dan kandungan. Anda boleh lulus data - mungkin data yang disediakan oleh perkhidmatan mencetuskan, atau peranti - ke perkhidmatan web jauh anda.

Sekarang perkhidmatan ini boleh dihoskan di awan, tetapi jika anda mempunyai alamat IP statik di rumah - atau menggunakan perkhidmatan dinamik DNS seperti DynDNS - maka ia juga boleh hidup di Raspberry Pi, atau Arduino duduk di rumah anda .

... dan Kemudian Itu, Tetapi Juga Itu?

Salah satu perkara yang dikeluhkan orang apabila ia datang kepada IFTTT adalah bahawa ia hidup sehingga namanya, ia akan mencetuskan peristiwa jika sesuatu berlaku, tetapi anda tidak boleh mengikat acara bersama-sama, dan perkhidmatan itu tidak mempunyai kait untuk membuat keputusan, atau untuk membuat dua perkara berlaku bukannya satu.

Dengan Saluran Pembuat yang baru itu sebenarnya sudah cukup mudah untuk melakukannya, kita boleh membuat resipi yang membakar Permintaan Web Maker ke perkhidmatan jauh. Perkhidmatan ini pula boleh berbalik dan menggunakan Channel Maker untuk memicu tindakan IFTTT yang berbeza, atau lebih daripada satu tindakan.

Bukti konsep

Untuk menguji ini saya menyediakan resipi mudah. Resipi ini api setiap kali saya Netatmo Rain Gauge di stesen cuaca rumah saya mengesan bahawa ia adalah hujan, dan panggilan skrip CGI mudah di salah satu pelayan saya - nampaknya saya jenis orang yang mempunyai beberapa pelayan stashed dalam rak , anda tahu, hanya untuk kecemasan.

Skrip yang dipanggilnya sangat mudah, ia bercakap kembali ke IFTTT, mencetuskan dua resipi Kanal Maker yang berlainan. Sekarang kerana ini adalah bukti konsep, saya melakukan ini dengan cara yang tidak selamat dan bisu - saya menggunakan skrip Bash yang mudah, dan perintah curl.

#! / bin / bash echo "Jenis kandungan: teks / html" echo "" echo "Channel Maker "echo""secret_key =" SECRET_KEY "string = $ IFS IFS = '= &' param = ($ QUERY_STRING) IFS = $ string echo"

$ {param [0]} = $ {param [1]}

"curl https://maker.ifttt.com/trigger/remote_trigger/with/key/${secret_key} echo"

"curl https://maker.ifttt.com/trigger/other_trigger/with/key/${secret_key} echo"'

Seperti yang anda dapat lihat skrip ini hanya memanggil dua lagi resipi IFTTT yang telah saya sediakan di perkhidmatan tersebut. Yang pertama bertukar saya Blink (1) untuk memberitahu saya tahu hujan.

Tetapi, memandangkan hujan di luar membuat pejabat rumah saya suram, panggilan seterusnya menjadi salah satu suis Belkin WeMo saya, yang disambungkan ke lampu meja saya.

Sekarang jelas sekali dalam kes ini, saya dapat dengan mudah menubuhkan dua resipi yang berasingan yang mencetuskan peristiwa pertama - bahawa ia telah mula hujan - satu untuk menghidupkan Blink saya (1), yang lain untuk menghidupkan lampu meja saya. Tetapi ingat, ini hanyalah bukti konsep.

Saya juga dapat menghantar pemberitahuan ini - bahawa ia telah mula hujan - kepada perkhidmatan yang lebih rumit yang membuat penghakiman, melihat atau mengukur perkara lain, dan kemudian membuat keputusan di luar skop enjin peraturan IFTTT yang mudah. Atau mencetuskan sekeping perkakasan, mungkin Arduino, yang mengendalikan tingkap saya, atau menyeret penutup hujan ke tempatnya. Sesuatu yang IFTTT tidak boleh bercakap atau mengawal sebelum ini.

Bagaimana dengan Keselamatan?

Sekarang apa yang saya lakukan di atas adalah sangat tidak selamat, saya pada dasarnya terdedah kepada skrip dunia - aplikasi web dalam erti kata lain - yang boleh menukar suis mengawal lampu di rumah saya dan mematikan. Ini jelas bukan sesuatu yang anda mahu lakukan, tetapi itulah sebabnya perkhidmatan IFTTT menyediakan keupayaan untuk menyampaikan lebih banyak maklumat kepada perkhidmatan jauh.

Tidak sukar untuk menubuhkan satu pautan yang disahkan TOTP antara keduanya misalnya, atau token atau pertukaran utama - dan untuk melindungi akaun IFTTT anda sendiri? Mereka baru sahaja menambah pengesahan dua faktor.

Kongsi

Meninggalkan Komen