Aprimi…sesamo!!

Ho provato a fare a meno dell’applicazione che avevo tempo fa creato per l’Iphone, ArduActivate. In effetti con le Internet of Things di oggi, è teoricamente possibile, perciò ci ho provato.

L’intento è quello di far scattare un relè comandato da Arduino, utilizzando la geolocalizzazione dell’iphone, in modo che mi apra una porta/cancello al mio arrivo.

Per farlo abbiamo bisogno di:

– arduino, collegato in qualche modo alla rete internet, nel mio caso ho usato lo shield wifi Wiznet 5000

– un account IFTTT (If this than that) (www.ifttt.com) e relativa applicazione scaricata su iphone

– un account gratuito Zapier (www.zapier.com)

– un account gratuito Slack (www.slack.com)

– un account gratuito Xively (www.xively.com)

Perchè serve tutto questo? Perchè ifttt non ha ancora una “action” adeguata per parlare con Arduino, quindi userò un servizio di appoggio.

Useremo il canale di geolocalizzazione di IFTTT attivato sull’Iphone, per andare a scrivere in un server di slack.com un valore, il quale valore verrà letto da un servizio su Zapier, il quale andrà a scrivere su un db online di Xively, il quale sarà costantemente monitorato da Arduino…. tutto chiaro? Immagino di no… Il problema di interfacciare Arduino a IFTTT passa attraverso altri servizi online gratuiti. Quello che possiamo fare facilmente con Arduino è andare a leggere e scrivere dei valori su un database online, e questa è la parte di Xively (è facile perchè ci sono già gli esempi fatti sul sito ufficiale). Ora che sappiamo come scrivere e leggere qualcosa online, dobbiamo avere un servizio che vada a far scattare delle azioni al variare di questo dato. IFTTT tra i canali non ha ad oggi nulla di ciò, ma la cosa che ci può aiutare è servizio Zapier che monitora la pubblicazione di un post qualsiasi in un canale Slack (che invece esiste come canale IFTTT) che diciamo noi. Bene, manca solo un dettaglio, chi va nel db di Xively a modificare il valore ? Risposta: Zapier

Quindi  il sistema fa questo:

– Arduino controlla costantemente se nel db Xively un certo sensore  ha il valore = 1. Se il valore fosse diverso da 1, apre il relè, e riporta il valore a 1 (è la fase finale, quando aprirà di fatto il cancello)

– IFTTT controlla la nostra posizione su Iphone in background, e creeremo una regola che dice che quando entriamo all’interno di una certa area geografica, come azione deve scrivere un messaggio nel canale #apricancello all’interno del nostro spazio slack.com

– Zapier controlla continuamente se qualcuno ha scritto nel canale di slack con il tag #apricancello, ed in caso positivo andrà a scrivere nel db di Xively il valore “2” (che è quello che Arduino monitora costantemente per decidere di aprire il cancello).

 

 

 

 

 

 

 

 

3 thoughts on “Aprimi…sesamo!!

    1. 1) Crei un trigger di questo tipo: Slack (New message posted) e l’azione crea Web Hook (Custom Request)
      2) Selezioni il tuo Slack Account
      3) Selezioni il tuo Web Hook account
      4) Crei un filtro sullo Slack in questo modo: channel_name (text)contains xyvely
      5) Match up Slack Message Posted to Web Hook Custom Request in questo modo:
      Method: PUT
      Url: https://api.xively.com/v2/feeds/quivailvostroid
      Datapass through: vuoto
      Data:
      {
      “version”: “1.0.0”,
      “datastreams”: [
      {
      “id”: “sensor_reading”,
      “current_value”: “2”
      }
      ]
      }
      Unflatten: no
      Basic-auth: vuoto
      Headers: X-ApiKey e la vostra chiave API

Leave a Reply to andrea Cancel reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s