AH – CANSEI. Toda vez deixava um Bilhete em cima do modem, “Não desliguem estou baixando filmes etc”.
Não adianta, meu pai ou meu irmão Desligava o modem e eu perdia o Download, Agora fiz um programa que toca uma buzina Atormentadora.
#!/bin/bash
# checar_conexao
# Da um ping no IP do meu ADSL modem, se não responder toca uma Buzina.
# este script foi criado para emitir um sinal sonoro, para meu irmão saber quando
# meu computador esta ligado, ele não pode desligar o modem ouvindo a buzina ele religa o modem,
# e para automaticamente de tocar.
# Buzina através da porta serial: Foi implementada uma buzina alimentada por 5v de um carregador de ceuluar antigo
# o chaveamento desta buzinha(liga/desliga) é feito através da porta serial, ativando bit RTS do pino 7 da porta serial, chaveando 5 e 7.
# O programa usado foi um código em C que caiu como uma luvas(http://www.embeddedlinuxinterfacing.com/chapters/06/setSerialSignal.c)
# desliga a buzina da serial setSerialSignal /dev/ttyS0 0 1
# liga a buzina da serial setSerialSignal /dev/ttyS0 0 0
# A buzina esta instalada no quarto do meu pai onde o modem se encontra, eu utilizei 1 par do cabo de rede que não é utilizado o branco marrom e marrom.
# então do cabo de rede sai o cabo de rede e 1 par de fios para um DB9 que conecta na serial do meu computador.
# na outra ponta o cabo antes de chegar no roteador é puxadi o par de fios e ligado na placa da buzina.
# versao 0.4
# 2009-03-04
# Requer instalado: mplayer, e o programa “setSerialSignal” compilado atraves do fonte http://www.embeddedlinuxinterfacing.com/chapters/06/setSerialSignal.c
# Licensa: Pode ser estudado, distribuido, alterado, resumindo faça o que quiser.
# Autor: Rafael Gimenes Leite | falecom@rafaelgimenes.net | www.rafaelgimenes.netip_roteador=10.0.0.1
caminho_alarms=”/home/rgimenes/wavalerts/error/Alarm.wav /home/rgimenes/wavalerts/error/SysAlert.wav”
arquivo_log=”/home/rgimenes/LogConexaoCortada.txt”
desliga_buzina=”true”
#fica no while infinito.
while [ 1 = 1 ]; do
echo “”
#pingar roteador, 2 vezes
if ping -q -c 2 $ip_roteador
then
# se ok não faz nada
echo “-|–|–|–|–|–|–|–|–|–|–|–|–|–|-”
echo ” CONECTADO ”
echo “-|–|–|–|–|–|–|–|–|–|–|–|–|–|-”
if $desliga_buzina = “true”
then
#Desliga uma buzina alimentada por um carregador de celular, e chaveada atraves da interface serial do Computador.
/home/rgimenes/conf_linux/scripts/setSerialSignal /dev/ttyS0 0 1
desliga_buzina=”false”
fi
else
#não esta conectado, motherfucker desligou meu modem, vamos atormenta-lo
#tocar buzina
#liga uma buzina alimentada por um carregador de celular, e chaveada atraves da interface serial do Computador.
/home/rgimenes/conf_linux/scripts/setSerialSignal /dev/ttyS0 0 0
mplayer $caminho_alarms
#gravar log, com a data que ele desligou pra eu tem como provar pra ele.
date >> $arquivo_log
desliga_buzina=”true”
fi
echo ” falecom@rafaelgimenes.net ”
echo “-|–|–|–|–|–|–|–|–|–|–|–|–|–|-”
echo “”
done
#fim
Screenshot do script Rodando(http://rafaelgimenes.net/ss/checar_conexao.jpg)
Sou um feliz programador.
@rafaelgimenes