Date de création: 21.07.2001
Rubrique du:
Auteur(s): hpbaby
Navigation: precedent principal
Version:     FR

Voir en: 1024*768

L'INITIATION SANS PEINE

Piloter de A à Z son PC avec la hp:

Comme je ne bois pas de café, je ne militerais pas pour le montage pour contrôler sa cafetière avec la hp. Par contre, réveiller un pc avec la hp est d'autant plus intéressant que l'on peut avoir préprogrammé des tâches à exécuter au démarrage du PC. Supposons que  le pc en mode veille dans tout ce qui va suivre.

En effet, si l'on veut piloter les actions à déclencher sur le pc via la hp, il faut obligatoirement que le pc soit allumé pour rendre les échanges sur le port série possibles. Nous verrons qu'une fois allumé, avec un peu d'astuce on peut tout superviser sur la HP (souris ,clavier, ...) ce qui devient assez dingue quand on sait un temps soit peu programmer en RPL.

Ceci est avantageux puisque toutes les cartes mères ATX ne supportent le processus wake-up sur le port série, ou par RTC (à une date et heure donnée) bien que l'option soit présente dans le bios. En général , les réveils matériel (wake-up  hardware) ne fonctionnent pas (moi en tout cas, même avec une carte mère récente, je n'y suis jamais arrivé et pourtant ce n'est pas faute d'avoir essayé toutes les configurations du bios!!). Qu'à cela ne tienne, la hp va nous sauver.

1) Réveil commandé du PC

WakeUpPCbyHP.gif (30435 bytes)

En fait, avec ce circuit, on simule l'appui sur le bouton poussoir (pendant 1/2 seconde avec un retard à l'allumage d'une seconde)  en ouvrant et fermant le port série de la hp. Le maillon faible de ce montage est la partie "silly bridge" car les niveaux ne sont pas adaptés. J'alimente le montage avec un transformateur du commerce 300mA régulé par un circuit 7805 car je ne veux pas puiser sur l'alimentation du pc (on peut et c'est fait pour car le circuit ne consomme que 25ma à la commutation du relais). Le relais que j'utilise est un relais DC5V de chez OMRON (G5CE-1, contact 15A A 125V) disponible chez radiospares pour environ 25F.

Les deux portes "NON ET" (nands) U1B et U1D forment une bascule (mémoire logique de 1 bit = système anti-rebonds par excellence) SET (mise à 1 de la broche 6 de U1B quand la broche 4 de U1B est passé par 0) RESET (mise à 1 de la broche 11 de U1B quand la broche 13 de U1B est passé par 0) active sur niveau bas. Le cas indéterminé où SET et RESET sont activé en même temps est évité grâce au condensateur C3 qui force  RESET à la mise sous tension de la carte (la broche 11 est à l'état 1).

Si le port de la hp est fermé, le niveau analogique du port ne polarise pas les diodes 1N4148 de blocage et les condensateurs  C1 et C2 se chargent. Sur l'entrée 9 de u1C, le niveau 1 apparaît avec un retard proportionnel à R2*C2, ceci enclenche le relais. Au bout du temps R1*C1*ln(2) , le circuit U1A voit le niveau 1 à son entrée qui est complémenté à sa sortie, la broche3. Or un zéro sur la broche 3 a pour action de faire un SET de la bascule RS: la sortie 6 de U1B passe à 1 tandis que la sortie 11 passe à 0.  Le circuit nand U1C voyant un niveau 0 sur l'une de ses deux entrées (la broche 10), sa sortie est positionné à 1 ce qui ouvre le relais.

Conclusion: le pc s'allume tout seul (on a simulé l'appui sur le bouton poussoir) si on alimente le montage après le pc ou que l'on oublié de mettre les cavaliers entre 1 et 4 et 2 et 3 du support SW DIP-2. Si l'on ne met pas de cavalier entre 2 et 3 , le système n'est plus réamorçable. Etant donné qu'il n'existe pas d'adaptation en tension, il faut pour l'instant mettre le cavalier entre 2 et 3 en attendant que je trouve une parade pour palier à ce problème. Pour ceux qui veulent juste allumer/éteindre le pc avec la hp, ce montage est fonctionnel et le programme Rpl que je lance en alarme est assez bête:
«openio 1 wait closeio » .

hpcontrolpc-card.jpg (28715 bytes) hpcontrolpc-typon.jpg (31155 bytes)

Ci-dessus, la carte de test avec la diode de roue libre du coté cuivre. Les picots du bas qui m'on servi a mettre au point le système
ne servent à rien. 

Du point de vue connexion, la sortie du relais (bornier du haut)   remplace les deux fils du bouton poussoir d'allumage du PC (power SW) et vient se greffer sur les picots de la carte mère. (voir votre docs de votre carte mère à ce sujet ou suivre le fils du bouton poussoir , emlever le connecteur et mettre celui de cettte carte dessus). Le bornier du milieu sert à alimenter la carte en 5V et le bornier du bas est à relier au port série de la hp. 

 

2) Déclencher des programmes sur le PC

Il vous faut disposer d'une HP, d'un câble PC/HP et d'un PC avec un port série de libre et télécharger le logiciel miracle : 
Irassistant. Pour la petite histoire, comme j'adore linux (voir mon site web à ce sujet), j'ai découvert le programme Irassistant au travers d'un des projets LIRC :  le projet UIR (Universal Infrarouge Receiver alias le clone de IRMAN à monter soi-même) de Ties Bos et décidé de faire un peu de reverse engineering sur le protocole (ouh le vilain, il a osé). Il m'a pourtant quand même fallu 3 mois avant d'avoir l'idée de remplacer le module UIR (j'en ai construit plusieurs et épaté plus d'un avec - je vais faire un site dédié "style paris match" car c'est grandiose!) par une HP.

Vous êtes prêts c'est parti mon kiki..
  
    1) Télécharger  Irassistant  (gratuit pour les particuliers) à partir du  site officiel (environ 5mo) 

    2) Installer le logiciel (double-cliquez sur setup.exe) puis copier irman.dll dans le répertoire d'installation 
    de irassistant (C:\Program files \ Irassistant ) .

    3) Taper sur HP les deux programmes RPL qui suivent:
   

Fichier INIT (bytes #42549d taille 55.5 ) Fichier XRC5 (bytes #26374d taille 76 )
« 2 SRECV DROP DROP 
1 10 FOR P
          "XOK" XMIT DROP
      NEXT
» 
« -> RC5 
  « "" RC5 SIZE 1 SWAP   FOR  I   RC5 I GET
  CHR + NEXT XMIT DROP
  »
» 


4) Relier la hp au pc avec le câble série et paramétrer la liaison en mode Wire, binary, 9600 bauds, pas de parité

5) Exécuter le programme  INIT sur hp et lancer immédiatement après Irassistant

Il y a fort à parier que vous obtenez un message d'erreur "device not detected" car vous n'êtes pas sur le bon 
port série COM. Il faut en effet déclarer sur quel port série votre HP est branché. Pour cela taper simultanément 
CTRL-S. Une fenêtre apparaît:

La fenêtre settings apparait , dans la rubrique drivers, sélectionnez Irman UIR, PCCommander (s'il ne se trouve pas c'est que vous avez ommis de copier irman.dll). Changer le port pour le faire correspondre à celui où se trouve raccordé votre HP (par exemple COM2 si COM1 est pris par votre souris). Validez par ok / apply vos changements.

6) Fermer Irassistant.

7) Répéter la procédure 5 et 6 tant que vous avez un message d'erreur. Ne fermez pas Irassistant si c'est bon.

8) Une phase d'apprentissage des touches de votre télécommande (c'est votre hp qui la remplace ici) est à faire avec l'association des actions. Pour chaque touche de votre télécommande (qui correspond à un programme par touche sur Hp), procéder comme suit:
 

    a) Rajouter un nouveau bouton (CTRL-A : add Bouton Group)

    Dans la zone (1) donnez un nom significatif au bouton 

    b) Associez ensuite une série d'actions (2) au boutons en cliquant sur new:

    Le bouton baptisé "Son+" :
     -a pour action "augmenter le volume" 
    - est caractérisé la commande volume up (sélectionner le ou les action(s) dans la liste macro puis pour chacune d'entre elles appuyer sur add pour les mettre bout à bout dans la liste Commands) qui a pour effet d'augmenter le son d'un niveau.

    c)Enfin en cliquant sur Learn, apprenez à irassistant le code infrarouge de la touche de votre télécommande (qui normallement augmente le son de votre TV par exemple). Ceci est fait en créant un programme sur hp (portant par exemple le nom de la touche comme SONPLUS ) au contenu suivant:

    SONPLUS
    « { 254 224 0  0  0  0 } XRC5 »

      et en éxecutant plusieurs fois ce dernier.(4 fois au moins).


     
    On constate que Irassistant voit FD E0 00 00 00 00 qui n'est ni plus ni moins la conversion hexadécimale des valeurs de la liste du programme SONPLUS (FD=254d, E0=224d). La liste des valeurs qui correspond à une séquence codée RC5 (protocole des télécommandes infrarouge inventé par phillips) doit être unique par touche. 

9)Vous pouvez donc  maitenant (n'oubliez pas d'activer irrassistant avec bouton activate) enéxécutant le programme SONPLUS sur HP déclencher l'action associée à celle-ci c'est à dire augmenter le son sur PC. Vos possibilités sont infinies car sur hp le nombre de programmes n'est que limité par la mémoire et que rien ne vous empêche de combiner plusieurs actions à la fois sur PC avec irassistant .  Il se peut que suite à une fausse manipulation sur hp ou pc, vous perdez  la connexion (le module irman n'est plus reconnu / message d'erreur), ce n'est pas grave faites croire au PC qu'il est là en executant le programme INIT. Have fun !!!!!!!!

 Pour ceux qui ont envie d'approfondir certains autres sujets, il existe une FAQ HP48 en anglais (questions/réponses classiques) assez bien faite et indiquant de surcroît comment ouvrir sa HP48 .

Etablir une liaison série
1) Lien série HP/PC, brochage
2) Les programmes de transfert
Les incontournables PC
1) Programmes de développement
2) Les outils d'exportation graphique
Piloter de A à Z son PC avec la hp:
1) Réveil commandé du PC 
2) Déclencher des programmes