# Programmation modem AH4021 en JAVA



## bilounet (12 Juillet 2009)

Bonjour,
j'ai trouve sur un autre forum un petit script en Java destiné à activer et désactiver rapidement le WIFI du modem AH4021 (club internet).
Pouvez vous m'aider à le transposer sur OSx ?
J'ai installé Xcode, mais ça parait etre assez complexe.....

voici le lien du forum source : http://forum.ubuntu-fr.org/viewtopic.php?id=216614&p=2

Merci de votre aide


----------



## dmo95 (12 Juillet 2009)

Java est un langage multi plate-forme, donc pas d'adaptation selon les OS... 

Ceci étant le script que tu as trouvé est un script shell qui s'exécute tout simplement dans un terminal UNIX par la commande suivante ./nom_de_ton_script.

Voilà donc rien de bien difficile je pense. 

Bon dimanche


----------



## bilounet (12 Juillet 2009)

Ok pour Java qui est un langage commun aux différentes plateformes.
Comment proceder pour editer le script ?
Sur le lien il apparait trois parties de script différentes, sont elles a mettre ensemble ?


----------



## dmo95 (12 Juillet 2009)

A priori il te faut enregistrer le premier script dans un fichier autotelnet.ex qui utilise expect, petit programme permettant d'utiliser telnet.

Ensuite exécuter la commande pour qu'il puisse avoir les droits d'exécution.

Enfin créer un dernier fichier que tu enregistre sous le nom que tu veux sans extension particulière, fais juste attention de pouvoir l'exécuter, procède de la même manière que précédemment. Enfin tu l'exécute avec la commande ./nomFichier.

Fait attention aux dernières lignes du script bash, qui sont spécifique à ta configuration (path de ton fichier autotelnet.ex et host et identifiants de ta box).

J'espère que tu y arriveras.


----------



## bilounet (19 Juillet 2009)

bonjour,
le terminal me retourne une erreur lorsque j'essai d'utiliser la fonction CHMOD :
imac-g5-de-mac:~ Mac$ chmod -x users/mac/desktop/wifi/wifi.sh
chmod: users/mac/desktop/wifi/wifi.sh: No such file or directory
imac-g5-de-mac:~ Mac$ 

???

---------- Nouveau message ajouté à 06h27 ---------- Le message précédent a été envoyé à 06h26 ----------

Exit il un soft pour realiser la fonction CHMOD via une interface graphique ?


----------



## ntx (19 Juillet 2009)

bilounet a dit:


> Exit il un soft pour realiser la fonction CHMOD via une interface graphique ?


Il faudrait surtout commence par entrer le chemin du fichier correctement, il te manque le / de la racine :

```
[B]/[/B]users/mac/desktop/wifi/wifi.sh
```


----------



## bilounet (19 Juillet 2009)

Remarque tres pertinant !!!
Ca marche mieux avec la bonne adresse, mais sur double clic du fichier c'est Apercu qui s'ouvre.
Je croyais etre plus fort que ca, mais impossible de trouver la commander pour lancer ce petit soft.....

_SOS_


----------



## ntx (19 Juillet 2009)

Pour rendre un script shell, ".sh", "double-cliquable" renomme le en ".command"


----------



## bilounet (20 Juillet 2009)

Il doit y avoir un probleme dans le script, j'ai une erreur a l'ouverture de Terminal.
""" Impossible d'ouvrir le fichier .command /Users/Mac/Desktop/wifi/wifi.command. Il n'est probablement pas exécutable.   """"""
                                    ********************************
#!/bin/bash
# Activer-désactiver le wifi sur Tecom AH4021

zenity --info --title='INFOS' --text="Ce script se charge d'activer ou de désactiver le wifi"
echo "Ce script se charge d'activer ou de désactiver le wifi"

## Choix de la connection wifi
type=$(zenity --list --checklist \
    --title="Activation / Désactivation onde Wifi " \
    --column="" --column="" --column="Options" \
    --hide-column=2 \
    --separator=" " \
    FALSE 01 "Activer Wifi"\
    FALSE 02 "Désactiver Wifi")

if [ "$type" = "01" ]; then  
     /users/mac/desktop/wifi/autotelnet.ex 192.168.1.1 root clubadmin "wlctl radio on"
else
     /users/mac/desktop/wifi/autotelnet.ex 192.168.1.1 root clubadmin "wlctl radio off"
fi
                                           ***************************


----------



## dmo95 (20 Juillet 2009)

dmo95 a dit:


> Enfin créer un dernier fichier que tu enregistre sous le nom que tu veux sans extension particulière, fais juste attention de pouvoir l'exécuter, procède de la même manière que précédemment. Enfin tu l'exécute avec la commande ./nomFichier.



Il me semble l'avoir précisé... oO


----------



## bilounet (21 Juillet 2009)

bonsoir a tous,
ca avance doucement......
la commande CHMOD semble avoir bien fonctionnée, le fichier se lance bien mais voila ce que me retourne le terminal.
******************
imac-g5-de-mac:~ Mac$ ./wifi
./wifi: line 4: zenity: command not found
Ce script se charge d'activer ou de d?sactiver le wifi
./wifi: line 1: zenity: command not found
invalid access mode "192.168.1.1": must be RDONLY, WRONLY, RDWR, APPEND, CREAT EXCL, NOCTTY, NONBLOCK, or TRUNC
    while executing
"open telnet "$host""
    (file "/users/mac/autotelnet.ex" line 9)
imac-g5-de-mac:~ Mac$ 
*******************
J'ai cherché la commande "zenity" , elle gère une boite de dialogue sur linux mais sur OSX ???


----------



## ntx (21 Juillet 2009)

Vire cette ligne, contente toi du echo.


----------



## bilounet (27 Juillet 2009)

Cette ligne a ete supprimée mais il en reste d'autre où Zenity
est present. Ce qui genere alors une erreur.
Cette commande peut elle etre remplacée par une autre ....

merci


----------



## ntx (27 Juillet 2009)

Zenity ne fait qu'afficher un message dans une boite d'alerte en plus de l'affichage dans le terminal. Donc tu peux virer tous les appels à Zenity, ils sont inutiles si tu sais lire.


----------



## bilounet (6 Octobre 2009)

apres quelques semaines de pause la motivation est de retour. J'ai realise un bout de script, le fonctionnement semble etre correcte (mise en marche et arret du wifi) mais dans la Console des erreurs apparaissent lors de l'execution de ce dernier.

Avez vous une idee sur ce probleme ?
*********Console********
2009-10-06 22:22:21.570 Terminal[719] .scriptSuite warning for attribute 'properties' of class 'TerminalApp' in suite 'Terminal': 'NSAppleEventDescriptor' is not a valid type name.
2009-10-06 22:22:21.571 Terminal[719] .scriptSuite warning for attribute 'position' of class 'NSWindow' in suite 'Terminal': 'NSAppleEventDescriptor' is not a valid type name.
2009-10-06 22:22:21.571 Terminal[719] .scriptSuite warning for attribute 'properties' of class 'NSWindow' in suite 'Terminal': 'NSAppleEventDescriptor' is not a valid type name.
2009-10-06 22:22:21.571 Terminal[719] .scriptSuite warning for attribute 'bounds' of class 'NSWindow' in suite 'Terminal': 'NSAppleEventDescriptor' is not a valid type name.
2009-10-06 22:22:21.571 Terminal[719] .scriptSuite warning for result type of command 'doScript' in suite 'Terminal': the type NSString ('utxt') doesn't match the result Apple event code ('****').

**************script******************
(*
Mise en route et arret de la borne WIFI AH4021 Tecom
*)


display dialog "Wifi ON-OFF" buttons {"ON", "OFF"} default button 2
if the button returned of the result is "ON" then

    tell application "Terminal"
        run
        do script "telnet 192.168.1.1" in front window
        delay 1
        do script "root" in front window
        delay 1
        do script "clubadmin" in front window
        delay 3
        do script "wlctl radio on" in front window
        delay 2
        quit
    end tell
else
    tell application "Terminal"
        run
        do script "telnet 192.168.1.1" in front window
        delay 1
        do script "root" in front window
        delay 1
        do script "clubadmin" in front window
        delay 3
        do script "wlctl radio off" in front window
        delay 2
        quit
    end tell
end if



merci


----------

