Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/bin/sh
- #
- # GSM manipulating script
- #
- #
- #initialise gsm
- #
- prepare_gsm(){
- load_fpga /lib/firmware/fpga/apf51_gsm_gps_firmware.bin
- modprobe irq_ocore
- modprobe 8250
- modprobe twin_uarts_irq_mng
- modprobe twin_uarts_16750
- # bring GSM out of reset:
- modprobe wm831x-gpio
- echo 245 > /sys/class/gpio/export
- echo out > /sys/class/gpio/gpio245/direction
- echo 1 > /sys/class/gpio/gpio245/value
- ls -al /dev/ttyS*
- GSM_DEVICE=/dev/ttyS0
- GSM_SPEED=115200
- }
- check_number(){
- DIGITS=`echo -n "$PHONE_NUMBER" | wc -c`
- if [ "$DIGITS" != 10 ]; then
- echo "Bad phone number format ($PHONE_NUMBER)"
- exit 1;
- fi
- }
- #envoit des commandes AT
- send_at_cmd()
- {
- echo -e -n "$1\015" > $GSM_DEVICE
- sleep 1
- }
- main(){
- i=0
- if [ $# -eq 0 ]; then
- exit
- else
- choix=$1
- fi
- while [ -e sms.lock ] ; do
- i=$((i+1))
- sleep 1
- if [ $i -eq 9 ]; then
- exit 2;
- fi
- done
- touch sms.lock
- prepare_gsm 2>>/dev/null >>/dev/null
- stty -F $GSM_DEVICE raw -echo -echoe -echok $GSM_SPEED 2>>/dev/null >>/dev/null
- if [ "$?" != 0 ]; then
- echo "Failed to setup serial port ($GSM_DEVICE)"
- rm sms.lock
- exit 1;
- fi
- send_at_cmd ATE0 # ECHO OFF
- case $choix in
- 0)
- cat $GSM_DEVICE >./result&
- sleep 1
- #echo " --- Checking signal quality (should be better than 12/99):"
- send_at_cmd AT+CSQ
- kill $!
- grep CSQ ./result
- ;;
- 1)
- PHONE_NUMBER=5142663570
- check_number
- /usr/sbin/chat ABORT 'NO CARRIER' ECHO ON '' AT OK ATD"$PHONE_NUMBER"\; OK > $GSM_DEVICE < $GSM_DEVICE
- sleep 6
- send_at_cmd ATH
- ;;
- 2)
- if [ $# -ge 3 ]; then
- PHONE_NUMBER=$2
- shift;
- shift;
- MESSAGE=$*
- else
- echo $#
- exit 1;
- fi
- check_number
- #sms sending mode
- send_at_cmd AT+CMGF=1
- send_at_cmd AT+CSCS="GSM"
- send_at_cmd "AT+CMGS=\"$PHONE_NUMBER\""
- send_at_cmd "$MESSAGE"
- send_at_cmd "\032"
- ;;
- *) echo "not def"
- ;;
- esac;
- send_at_cmd ATE1 # ECHO ON
- rm sms.lock
- }
- main $*
Advertisement
Add Comment
Please, Sign In to add comment