diff --git a/ros_scripts/sendSMS.txt b/ros_scripts/sendSMS.txt
index 4f993bf..474620a 100644
--- a/ros_scripts/sendSMS.txt
+++ b/ros_scripts/sendSMS.txt
@@ -1,12 +1,13 @@
-:global sendSMS do={
+:global sendSMSHlink do={
# Send SMS messages via Huawei LTE modem API (tested with E3372)
# global vars:
# lteIP - lte modem ip address (api)
# phone - sms destination phone number
# sms - sms text message
+ # modemModel - HUAWEI-E3372 or MTC-827F or HUAWEI-E3372H
# usage example
- # :global sendSMS
- # :put [$sendSMS lteIP="192.168.8.1" phone="+35912345678" sms="test sms via lte api"]
+ # :global sendSMSHlink
+ # :put [$sendSMSHlink lteIP="192.168.8.1" phone="+35912345678" sms="test sms via lte api" modemModel="MTC-827F"]
#
:local getBetween do={
@@ -36,22 +37,42 @@
:return $result;
}
- # get SessionID and Token via LTE modem API
- :local urlSesTokInfo "http://$lteIP/api/webserver/SesTokInfo";
- :local api [/tool fetch $urlSesTokInfo output=user as-value];
- :local apiData ($api->"data");
+ :local apiHead "";
- # pars SessionID and Token from API session data
- :local apiSessionID [$getBetween inputString=$apiData betweenStart="" betweenEnd=""];
- :local apiToken [$getBetween inputString=$apiData betweenStart="" betweenEnd=""];
+ :if ($modemModel = "MTC-827F" or $modemModel = "HUAWEI-E3372H") do={
+ # get SessionID and Token via LTE modem API
+ :local urlTokInfo "http://$lteIP/api/webserver/token";
+ :local api [/tool fetch $urlTokInfo output=user as-value];
+ :local apiData ($api->"data");
- # header and data config
- :local apiHead "Content-Type:application/x-www-form-urlencoded,Cookie: $apiSessionID,__RequestVerificationToken:$apiToken";
- :local sendData "-1$phone$sms-11-1";
+ # pars Token from API session data
+ :local apiToken [$getBetween inputString=$apiData betweenStart="" betweenEnd=""];
- # send SMS via LTE modem API with fetch
- /tool fetch http-method=post output=user \
- http-header-field=$apiHead \
- url="http://$lteIP/api/sms/send-sms" \
- http-data=$sendData;
+ # header and data config
+ :set apiHead "Content-Type:application/x-www-form-urlencoded,__RequestVerificationToken:$apiToken";
+
+ } else={
+ :if ($modemModel = "HUAWEI-E3372") do={
+ # get SessionID and Token via LTE modem API
+ :local urlSesTokInfo "http://$lteIP/api/webserver/SesTokInfo";
+ :local api [/tool fetch $urlSesTokInfo output=user as-value];
+ :local apiData ($api->"data");
+
+ # pars SessionID and Token from API session data
+ :local apiSessionID [$getBetween inputString=$apiData betweenStart="" betweenEnd=""];
+ :local apiToken [$getBetween inputString=$apiData betweenStart="" betweenEnd=""];
+
+ # header and data config
+ :set apiHead "Content-Type:application/x-www-form-urlencoded,Cookie: $apiSessionID,__RequestVerificationToken:$apiToken";
+ }
+ }
+
+ :if ([:len $apiHead] >0) do={
+ :local sendData "-1$phone$sms-11-1";
+
+ # send SMS via LTE modem API with fetch
+ /tool fetch http-method=post output=user http-header-field=$apiHead url="http://$lteIP/api/sms/send-sms" http-data=$sendData;
+ } else={
+ :put "wrong model modem, only: HUAWEI-E3372, MTC-827F, HUAWEI-E3372H";
+ }
}