Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/bin/sh
- # sends modem data to mqtt server
- # install mqtt client: opkg install mosquitto-client
- # copy to /etc/config/
- # chmod +x /etc/config/modem_mqtt.sh
- # in /etc/rc.local add
- # /etc/config/modem_mqtt.sh &
- # before exit 0
- ROOTER=/usr/lib/rooter
- CURRMODEM=1
- COMMPORT=/dev/ttyUSB1
- #Place here your mosquitto server IP
- #MQTTSERVER=192.168.1.112
- MQTTSERVER=odroid
- get_sierra() {
- OX=$($ROOTER/gcom/gcom-locked "$COMMPORT" "sierrainfo.gcom" "$CURRMODEM")
- O=$($ROOTER/common/processat.sh "$OX")
- O=$(echo $O)
- }
- while true
- do
- get_sierra
- Oup=$(echo $O | tr 'a-z' 'A-Z')
- IPV4=$(ifconfig wwan0 | grep "inet addr:" | sed 's/addr://g' | awk '{print $2}')
- IPV6=$(ifconfig wwan0 | grep "inet6 addr:" | sed 's/addr://g' | awk '{print $2}' | head -1)
- RXBYTES=$(ifconfig wwan0 | grep "RX bytes:" | sed 's/bytes://g' | awk '{print $2}')
- TXBYTES=$(ifconfig wwan0 | grep "TX bytes:" | sed 's/bytes://g' | awk '{for(i=1;i<=NF;i++)if($i~/TX/)print $(i+1)}')
- SINR=$(echo "$OX" | awk '{for(i=1;i<=NF;i++)if($i~/SINR/)print $(i+2)}')
- if [ "x$IPV4" != "x" ]; then
- IPV4=",\"IPV4\":\"$IPV4\""
- else
- IPV4=""
- fi
- if [ "x$RXBYTES" != "x" ] && [ "$RXBYTES" != "0" ]; then
- RXBYTES=",\"RX\":$RXBYTES"
- else
- RXBYTES=""
- fi
- if [ "x$TXBYTES" != "x" ] && [ "$TXBYTES" != "0" ]; then
- TXBYTES=",\"TX\":$TXBYTES"
- else
- TXBYTES=""
- fi
- if [ "x$IPV6" != "x" ]; then
- IPV6=",\"IPV6\":\"$IPV6\""
- else
- IPV6=""
- fi
- if [ "x$SINR" != "x" ] && [ "$SINR" != "-" ]; then
- SINR=",\"sinr\":$SINR"
- else
- SINR=""
- fi
- TEMP=$(sed '30q;d' /tmp/status1.file | awk '{print substr($0, 1, length($0)-3)}')
- if [ "$TEMP" != "-" ] && [ "x$TEMP" != "x" ]; then
- TEMP=",\"temp\":$TEMP"
- else
- TEMP=""
- fi
- SIGNAL=$(sed '3q;d' /tmp/status1.file | awk '{print substr($0, 1, length($0)-1)}')
- if [ "$SIGNAL" != "-" ] && [ "x$SIGNAL" != "x" ]; then
- SIGNAL=",\"signal\":$SIGNAL"
- else
- SIGNAL=""
- fi
- RSSI=$(sed '4q;d' /tmp/status1.file | awk '{print $1}')
- if [ "$RSSI" != "-" ] && [ "$xRSSI" != "x" ]; then
- RSSI=",\"rssi\":$RSSI"
- else
- RSSI=""
- fi
- RSRQ=$(sed '18q;d' /tmp/status1.file | awk '{print $1}')
- if [ "$RSRQ" != "-" ] && [ "x$RSRQ" != "x" ]; then
- RSRQ=",\"rsrq\":$RSRQ"
- else
- RSRQ=""
- fi
- RSRP=$(sed '19q;d' /tmp/status1.file | awk '{print $1}')
- if [ "$RSRP" != "-" ] && [ "x$RSRP" != "x" ]; then
- RSRP=",\"rsrp\":$RSRP"
- else
- RSRP=""
- fi
- mosquitto_pub -h $MQTTSERVER -i horus -t "modem/status" -m "{\"name\":\"$(sed '5q;d' /tmp/status1.file)\",\
- \"provider\":\"$(sed '6q;d' /tmp/status1.file | awk '{print $1}')\",\
- \"connection\":\"$(sed '7q;d' /tmp/status1.file)\",\
- \"band\":\"$(sed '29q;d' /tmp/status1.file | sed 's/aggregated with:<br \/>/+ /g')\",\
- \"proto\":\"$(sed '31q;d' /tmp/status1.file)\"\
- $IPV4\
- $IPV6\
- $RXBYTES\
- $TXBYTES\
- $TEMP\
- $SIGNAL\
- $SINR\
- $RSSI\
- $RSRQ\
- $RSRP\
- }"
- sleep 30
- done
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement