This shows you the differences between two versions of the page.
— |
sdk:scripts:sms-to-serial [2015/05/05 15:04] (current) |
||
---|---|---|---|
Line 1: | Line 1: | ||
+ | ====== SDK Script sms-to-serial.are ====== | ||
+ | <code c sms-to-serial.are> | ||
+ | /* DESC: This script can be used to write a received SMS to the serial port. | ||
+ | * Copyright (C) 2012 NetModule AG, Switzerland | ||
+ | */ | ||
+ | |||
+ | DEV = "SERIAL1"; | ||
+ | MAXLINES = 100; | ||
+ | |||
+ | nb_syslog("sms-to-serial started"); | ||
+ | |||
+ | /* check serial port config */ | ||
+ | st = nb_config_get("serial.0.status"); | ||
+ | if (st != "2") { | ||
+ | nb_syslog("Serial port is not enabled for us"); | ||
+ | exit(1); | ||
+ | } | ||
+ | |||
+ | /* check whether SMS daemon is enabled */ | ||
+ | st = nb_config_get("smsd.status"); | ||
+ | if (st != "1") { | ||
+ | nb_syslog("SMS daemon is not enabled"); | ||
+ | exit(1); | ||
+ | } | ||
+ | |||
+ | /* set port attributes first */ | ||
+ | ret = nb_serial_setattr(DEV, 115200, 8, 1, 0, 0); | ||
+ | if (ret != 0) { | ||
+ | printf("Could not set serial attributes for %s\n", DEV); | ||
+ | exit(1); | ||
+ | } | ||
+ | |||
+ | nb_serial_write(DEV, "\r\n"); | ||
+ | nb_serial_write(DEV, "sms-to-serial started\r\n"); | ||
+ | |||
+ | msgs = nb_sms_list(); | ||
+ | nb_syslog("there are %d messages in your SMS inbox\n", length(msgs)); | ||
+ | |||
+ | for (i=0; i<length(msgs); i++) { | ||
+ | nb_syslog("processing message %d (ID %s, length %d)", i, msgs[i], strlen(msg)); | ||
+ | |||
+ | sender = nb_sms_header(msgs[i], "From"); | ||
+ | body = nb_sms_body(msgs[i]); | ||
+ | if (strlen(sender) > 0 && strlen(body) > 0) { | ||
+ | text = sprintf("--- received message from %s ---\r\n%s\r\n---\r\n", sender, body); | ||
+ | nb_serial_write(DEV, text); | ||
+ | } | ||
+ | |||
+ | ret = nb_sms_delete(msgs[i]); | ||
+ | if (ret == 0) nb_syslog("deleted message %d\n", i); | ||
+ | } | ||
+ | |||
+ | exit(0); | ||
+ | |||
+ | </code> | ||