Example: Notification SMS from LogicMachine using Twilio servicetwilio-logo

Task

How to send event SMS to mobile phone from LogicMachine through Twilio service, without external 3G adapter?

You can use Twilio service which offers free of charge SMS in the test period and messaging at $0.01 for regular usage.
The only disadvantage is it will use your standard Internet connection to send messages to Twilio servers (not via GSM as with 3G adapters).

 

Twilio account

You can get ID and Token needed for the below example by registering on Twilio. Make sure you enter a verified SIM number list / recipients in your account. Or please contact us for ready example with our account data.

Function

Add the following function in Scripting –> Common functions

Source code    
  1. function sms(id, token, from, to, body)
  2. local escape = require('socket.url').escape
  3. local request = require('ssl.https').request
  4. local url = string.format('https://%s:%s@api.twilio.com/2010-04-01/Accounts/%s/Messages.json', id, token, id)
  5. local body = string.format('From=%s&To=%s&Body=%s', escape(from), escape(to), escape(body))
  6.  
  7. return request(url, body)
  8. end

Event-based script

Add event-based program for specific object, like 1/1/2 in this example

twilio_Logicmachine

With the following example code which will inform on object value change and send its new value:

Source code    
  1. value = event.getvalue()
  2.  
  3. from_nr = '+37112345679' -- put sender SIM nr here
  4. to_nr = '+37112345678' -- put recepient SIM nr here
  5. id_nr = 'ACe56f5' -- put your ID here
  6. token_nr = '598c6ff' -- put your token here
  7.  
  8. sms(id_nr, token_nr, from_nr, to_nr, 'The value for 1/1/2 has changed to'..tostring(value))