1. Connect Android SMS service.
Search Android SMS service and click the icon.
Click the connect button.
2. Create applet for SMS service.
Click New Applet menu.
Click this icon and search maker and click Maker icon.
Click the area marked orange rectangle.
Enter event name and click Create trigger button.
Click that icon and search sms and click Android SMS icon.
Click the area marked orange rectangle.
Enter phone number and click Create Action button.
Click Finish button.
3. Send a SMS message.
Click the icon marked orange rectangle.
Click Settings button.
With a web browser, visit the link above.
Enter event name and click Test it button.
Confirm that a SMS message is received in android phone.
4. How to send a SMS message with PHPoC Blue
PHPoC Blue runs trigger when mikroBUS Vibra sense detects vibration.
The video clip is modified to hide private and unnecessary information. In the video clip, near 6 seconds, a SMS message is received in the android phone.
-task0.php
PHP Code:
<?php
include_once "/lib/sd_340.php";
include_once "ifttt.php";
echo "PHPoC example : IFTTT maker channel.\r\n";
define("PIN_EN", 12);
define("PIN_INT", 8);
uio_setup(0, PIN_INT, "in"); // INT
uio_setup(0, PIN_EN, "out"); // EN
uio_out(0, PIN_EN, 1);
$previous_state = 0;
$current_state = 0;
while(1)
{
$current_state = uio_in(0, PIN_INT);
if($previous_state != $current_state)
{
$previous_state = $current_state;
if($current_state == 1)
{
ifttt_maker("smstest", "", "", "");
}
}
}
?>
-ifttt.php
Replace YOUR_KEY with your actual key of Maker service.
PHP Code:
<?php
include_once "/lib/sn_dns.php";
function ifttt_maker($event, $value1, $value2, $value3)
{
$host_name = "maker.ifttt.com";
$host_addr = dns_lookup($host_name, RR_A);
if($host_addr == $host_name)
$host_addr = dns_lookup($host_name, RR_A);
if($host_addr == $host_name)
exit "$host_name : Not Found\r\n";
$tcp0_pid = pid_open("/mmap/tcp0");
pid_bind($tcp0_pid, "", 0);
error_log("connect to $host_addr:80...");
pid_connect($tcp0_pid, $host_addr, 80);
for(;;)
{
$state = pid_ioctl($tcp0_pid, "get state");
if($state == TCP_CLOSED)
pid_connect($tcp0_pid, $host_addr, 80);
if($state == TCP_CONNECTED)
break;
}
error_log("connected\r\n");
$msg = "";
if($value1 != "" || $value2 != "" || $value3 != "")
{
$msg = "{";
if($value1 != "")
$msg .= ""value1" : "".$value1."",";
if($value2 != "")
$msg .= ""value2" : "".$value2."",";
if($value3 != "")
$msg .= ""value3" : "".$value3."",";
$msg = substr($msg, 0, strlen($msg) - 1);
$msg .= " }";
}
$http_req = "POST /trigger/".$event."/with/key/YOUR_KEY HTTP/1.1\r\n";
$http_req .= "Host: $host_name\r\n";
$http_req .= "Content-Type: application/json\r\n";
if(strlen($msg) > 0)
$http_req .= sprintf("Content-Length: %d", strlen($msg));
$http_req .= "\r\n\r\n";
if(strlen($msg) > 0)
$http_req .= $msg;
error_log($http_req);
$sent = pid_send($tcp0_pid, $http_req);
$rbuf = "";
for(;;)
{
$temp = "";
$read = pid_recv($tcp0_pid, $temp);
if($read > 0)
$rbuf .= $temp;
if(strpos($rbuf, "\r\n\r\n") !== FALSE)
break;
if(pid_ioctl($tcp0_pid, "get state") == TCP_CLOSED || pid_ioctl($tcp0_pid, "get state") == SSL_CLOSED)
break;
}
pid_close($tcp0_pid);
error_log($rbuf);
error_log("\r\nconnection closed\r\n");
}
?>