Jeffrey Cross
Jeffrey Cross

IFTTT додає новий канал виробника

Найпопулярніша онлайн-послуга для спільного підключення онлайн-сервісів і автоматизації завдань, що використовують їх, IFTTT, або "If This Then That", тільки що отримала гачки в апаратне забезпечення, яке було зламано виробником.

IFTTT почався як спосіб підключення онлайнових інструментів і послуг, ініціювавши один з іншого. Наприклад, ви можете мати «рецепт», як називаються завдання IFTTT, які автоматично приймають кожну нову фотографію, яку ви публікуєте в Instagram, і зберігає її у вашому Dropbox. Якщо це: ви публікуєте фотографію. Потім, що: зберегти його в Dropbox. Насправді це досить потужний, і ви можете пройти довгий шлях, використовуючи те, що, на перший погляд, є відносно простим механізмом правил.

Протягом останнього року або близько того, служба стала ще більш потужною, тому що сайт перейшов на підтримку не тільки чистих онлайн-сервісів, але й речей. Від термостата Nest до SmartThings, перемикачів WeMo та пристроїв Wink список швидкозвісних продуктів IFTTT, які він може отримувати і контролювати, швидко зростав.

Що не було так цікаво для DIYers, оскільки більшість апаратних засобів сильно випускалися. Нещодавно IFTTT додав для нас щось: канал Maker.

Це дозволяє підключити IFTTT до особистих проектів. Тепер ви можете писати рецепти, які можуть бути спровоковані одним із ваших власних проектів, наприклад, мережевим Arduino або Raspberry Pi. Ви також можете відправляти повідомлення на мережеве підключення Arduino безпосередньо з IFTTT і викликати будь-яку існуючу службу. Ось як.

Як запускати події

Після підключення IFTTT до каналу Maker, ініціювання події - створення “if” IFTTT - просто. Вам потрібно лише надіслати GET або POST веб-запит з назвою події та секретним ключем - ключ призначається при підключенні каналу - форми,

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

з додатковим корпусом JSON, що складається з трьох значень або рядків, які передаються дії у вашому рецепті. Оскільки ви можете викликати цю подію з чимось таким простим, як curl з командного рядка, це дійсно потужний важіль, тому що це дійсно тривіально ініціювати рецепт IFTTT з Raspberry Pi, або навіть з мережевого Arduino.

Як викликати послуги

Виклик послуг з рецептів - «що» IFTTT - також дуже простий. Вам просто потрібно надати і кінцеву точку, веб-адресу або URL, іншими словами, щоб вона могла дзвонити. Рецепт може мати форму запиту GET, POST або DELETE і може додатково містити змінні і вміст. Ви можете передавати дані - можливо, дані, надані службою запуску, або пристроєм - на віддалену веб-службу.

Тепер цю послугу можна розмістити в хмарі, але якщо у вас є статична IP-адреса вдома - або скористайтеся динамічною службою DNS, подібно до DynDNS - тоді вона може також жити на Raspberry Pi, або Arduino, що сидить у вашому будинку .

… І тоді що, але і що?

Одна з речей, на яку скаржаться люди, коли йдеться про IFTTT, полягає в тому, що вона відповідає своїй назві, вона ініціює подію, якщо щось трапиться, але ви не зможете об'єднати події, і служба не має жодних гачків для прийняття рішень, або зробити дві речі замість однієї.

З новим каналом Maker це насправді досить легко зробити, ми можемо створити рецепт, який випускає веб-запит Maker для віддаленої служби. Послуга, в свою чергу, може обертатися і використовувати канал Maker, щоб ініціювати різні дії IFTTT або навіть більше ніж одну дію.

Доказ концепції

Щоб перевірити це, я створив простий рецепт. Цей рецепт спрацьовує щоразу, коли мій Netatmo Rain Gauge на моїй домашній метеостанції виявляє, що йде дощ, і називає простий CGI-скрипт на одному з моїх серверів - мабуть, я такий хлопець, який має пару серверів, які сховалися в стійках Ви знаєте, тільки для надзвичайних ситуацій.

Скрипт, який він викликає, дуже простий, він переходить до IFTTT, викликаючи два різних рецепта каналу Maker. Тепер, оскільки це є доказом концепції, я роблю це в непристойно небезпечному і безглуздим способі - я використовую простий Bash-скрипт і команду curl.

#! / bin / bash echo "Тип вмісту: text / html" echo "" echo "Канал виробника "ехо""secret_key =" SECRET_KEY "рядок = $ IFS IFS = '= &' param = ($ QUERY_STRING) IFS = $ echo рядка"

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

"curl https://maker.ifttt.com/trigger/remote_trigger/with/key/${secret_key} відлуння"

"curl https://maker.ifttt.com/trigger/other_trigger/with/key/${secret_key} відлуння"'

Як ви можете бачити, цей сценарій просто викликає два інших рецепти IFTTT, які я налаштував у службі. Перший перемикає мій блиск (1), щоб повідомити мені, що йде дощ.

Але, оскільки дощ на вулиці робить моїм домашнього офісу похмурим, наступний виклик перетворює один з моїх Belkin WeMo включається, той, підключений до моєї настільної лампи.

Тепер, очевидно, у цьому випадку я міг би так само легко встановити два окремі рецепти, які запускалися на першій події - що він почав дощ - один для включення мого Blink (1), інший, щоб включити мою настільну лампу. Але пам'ятайте, це було лише доказом концепції.

Я також міг би надіслати це повідомлення - що він почав дощ - до більш складного сервісу, який виносив рішення, дивився або вимірював інші речі, а потім приймав рішення, що виходить за межі простого механізму правил IFTTT. Або запустіть шматок обладнання, можливо, Arduino, який контролював мої вікна, або перетягнув дощ на місце. Те, про що IFTTT раніше не міг говорити або контролювати.

Що стосується безпеки?

Тепер те, що я робив вище, було жахливо небезпечно, я в основному піддав світу сценарій - веб-додаток іншими словами - який міг перемикати перемикач, який керував світлом в моєму будинку і вимикав його. Це, очевидно, не те, що ви хочете зробити, але саме тому послуги IFTTT надають можливість передавати більше інформації віддаленій службі.

Наприклад, не буде складно встановити зв'язок між двома авторизованими повідомленнями TOTP, або маркер або обмін ключами, а також захистити свій обліковий запис IFTTT? Вони щойно додали двоефакторну автентифікацію.

Поділитися

Залишити Коментар