
Twilio allows you to send SMS to both send and receive messages from users with nothing more than a flip phone. SMS doesn’t require configurations the way wifi does, and generally works almost anywhere. Twilio allows you to create simple, but powerful, scripts for everything from notifications to full fledged administration.
Slide Notes:
“Easy” Twilio for SMS
Intro to Twilio
- SMS IaaS
- IoT is NOT just TCP/IP
- SMS is most accessible communication system globally
- PAIN in the BUTT
- Documentation Stinks
- Allows you to extend communication to SMS devices
- 19705980147
IoT Beyond TCP/IP
- TCP/IP is power intensive
- TCP/IP is prone to attacks
- TCP/IP requires configuration and maintenance
- TCP/IP is short distance
Twilio Communication Diagram
Twilio Account
SMS Webhook
Languages for Twilio
Basic Twilio Setup on Digital Ocean
- Basic Ubuntu Droplet on DigitalOcean
- Apt update
- Apt upgrade
- Sudo apt-install python3-pip
- Pip3 install twilio
TwilML
Sending Text’s from Python
Parse and Respond to Inbound Text
Python Trigger Script
Opt Out
Prices
Code:
twilio.py
This code allows you to send a text message from your python script.
In Ubuntu make sure to setup the enviornment:
- Apt update
- Apt upgrade
- Sudo apt-install python3-pip
- Pip3 install twilio
from twilio.rest import Client
account_sid = "ACa5db7d403595580275db6ba5d85e3666"
auth_token = "935f20e2bc477fc7da277d9cd7adb666"
client = Client(account_sid, auth_token)
message = client.messages.create(
to="+12223334444",
from_="+19705980147",
body = " this is a test")
print(message.sid)
Code language: JavaScript (javascript)
sms_parse.php
Used to parse incoming SMS messages. This message replies to the sender, and saves a comand to a file so the Raspberry Pi can read the command and take an action.
<?php
$number = $_POST['From'];
$body = $_POST['Body'];
$pic = "https://media.vanityfair.com/photos/59653e9a3a5a726a87a6302d/master/pass/Idris-Elba.jpg";
header('Content-Type: text/xml');
?>
<Response>
<Message>
Hello <?php echo $number ?>.
You said <?php echo $body ?>
<?php file_put_contents("message.php", $body); ?>
<Media><?php echo $pic ?></Media>
</Message>
</Response>
Code language: HTML, XML (xml)
Raspberry Pi Python Script
This script reads the command in the message.php file on your public web server and then turns a relay on or off.
