Gammu - Script para geração de configuração - codinome "gammuninja"
Publicado por Roberto Fettuccia (última atualização em 31/03/2014)
[ Hits: 5.669 ]
Download gammuninja-scan_1.3.sh
Prezados colegas, é com prazer que venho publicar este script, que vem por apresentar uma solução para o arquivo de configuração do Gammu, o trabalho dele é testar porta a porta, procurando por configuração válidas.
Ou seja, ele testa em /dev/* os dispositivos possíveis, gerando automaticamente um arquivo de configuração para [cada] modem GSM...
No meu caso, testei quatro modems GSM USB de marcas diferentes e portas "dev" diferentes, ele gerou os mesmos quatro arquivos de configuração, com um adicional: ele concatena no arquivo o IMEI do modem.
Interessante não?
Aqui no trabalho temos um sistema que está em parceria com o pfSense, ele tem um DB com os vouchers, o usuário solicita o voucher pela página do sistema, aí o sistema pega o voucher/nome, registra no banco e dispara o SMS com o voucher para o usuário...
O problema...
O Gammu tem problemas no quesito agilidade, ou seja, cada SMS demorou cerca de 8 segundos, se for solicitado 1000 vouchers, aí a demora... 8x1000 = 8000 segundos, o que equivale a pouco mais de 1 hora. Em se tratando de agilidade, nesse caso em um modem é muito tempo!
Solução: cada SMS é enviado por um modem, que não esteja ocupado, assim a fila de envio é agilizada...
Testado em Debian 7.
Obs.: esse script utiliza o bash 4.2.37, não foi testado em versões anteriores...
Dúvidas: Skype - rfettuccia
#!/bin/bash ############################# # Gammu Ninja 1.3 # Developer: Roberto Fettuccia # script modem scanning # Date : 28/03/2014 # Tested to Bash 4.2.37 ############################# # Dependences : # * gammu 1.31.90 # ############################# set -x unset varDEVSvtr[@] unset varIMEIvtr[@] sucesso=0 varModemCont=0 X=0 rootDir=/etc/gammuninja rootTempDir=/tmp/gammuninja if [[ ! -f ${rootDir} ]]; then mkdir ${rootDir} printf "${rootDir} criado.\n" fi if [[ ! -f ${rootTempDir} ]]; then mkdir ${rootTempDir} printf "${rootTempDir} criado.\n" fi rm -f ${rootTempDir}/*.conf rm -f ${rootTempDir}/*.tmp rm -f ${rootDir}/*.conf detect0="$( ls /dev/tty* | grep '[<[t][t][y]]*[<[^UAS0]*[0-9SC]*[BM*]]*[0-9$]')" detect1="$( ls /dev/tty* | grep '[<[t][t][y]]*[S][0-9$]')" varDEVSvtr=(${detect0} ${detect1}) gammuD=' model = at connection = at synchronizetime = yes logfile = logformat = use_locking = gammuloc = ' DEVX="${varDEVSvtr[${X}]}" echo "Gerando padrao...." while [[ ! "${DEVX}" = "" ]]; do # gera todos os confs temporarios printf "[gammu]\n" > ${rootTempDir}/gammu$((X)).conf printf "port = ${DEVX}" >> ${rootTempDir}/gammu$((X)).conf printf "${gammuD}" >> ${rootTempDir}/gammu$((X)).conf X=$((X+1)) DEVX="${varDEVSvtr[${X}]}" done X=0 device='true' while [[ ${device} = 'true' ]]; do # testa todos confs, se gerou imei E modem, entao escreve o conf if [ -f ${rootTempDir}/gammu${X}.conf ]; then IMEI_cur="$(gammu -c ${rootTempDir}/gammu${X}.conf identify| grep IMEI | cut -d':' -f2 | sed 's/ //g')" if [[ ! "${IMEI_cur}" = "" ]] && [[ ! ${varIMEIvtr[@]} == *"${IMEI_cur}"* ]]; then mv ${rootTempDir}/gammu${X}.conf ${rootDir}/gammu${varModemCont}.conf varIMEIvtr[${X}]="${IMEI_cur}" printf "\n#IMEI:${IMEI_cur}" >> ${rootDir}/gammu${varModemCont}.conf varModemCont=$((varModemCont+1)) sucesso=1 fi else device='false' fi X=$((X+1)) done rm ${rootTempDir} -Rf
Script para calcular a media área de cobertura de impressão (toner ou tinta)
Nenhum comentário foi encontrado.
Passkeys: A Evolução da Autenticação Digital
Instalação de distro Linux em computadores, netbooks, etc, em rede com o Clonezilla
Título: Descobrindo o IP externo da VPN no Linux
Armazenando a senha de sua carteira Bitcoin de forma segura no Linux
Enviar mensagem ao usuário trabalhando com as opções do php.ini
Instalando Brave Browser no Linux Mint 22
vídeo pra quem quer saber como funciona Proteção de Memória:
Encontre seus arquivos facilmente com o Drill
Mouse Logitech MX Ergo Advanced Wireless Trackball no Linux
Compartilhamento de Rede com samba em modo Público/Anônimo de forma simples, rápido e fácil
O que esta havendo com o mercado de ti? (9)
Não consigo cadastrar nenhuma conta online (5)
Hotspot Mikrotik nao carrega pagina de login. (0)