2009-07-09 8 views
1

Je suis actuellement sous Ubuntu 8.10 et j'essaie d'utiliser Open2300 pour lire les données d'une station météo Lacrosse WS-2310 et les signaler au serveur WUnderground. Le programme se compile bien mais quand j'essaie de l'exécuter, il fait l'une des deux choses suivantes: habituellement il fait une pause pendant environ 4 minutes, puis imprime "impossible de réinitialiser" à l'écran. Mais parfois, il reste suspendu pour toujours. Il semble que mon ordinateur est incapable de communiquer avec la station météo.Utiliser open2300 avec Ubuntu

J'ai défini le port série comme/dev/ttyS0 dans le fichier open2300.conf et j'ai également essayé/dev/ttyS1,/dev/ttyS2, etc. avec le même résultat. Autant que je sache, il n'y a pas d'autres paramètres concernant la façon dont Open2300 communique avec l'appareil. Mon port série est-il verrouillé d'une manière ou d'une autre?

Cela pourrait être quelque chose d'aussi simple qu'une configuration incorrecte pour mon port série ou quelque chose, mais je n'aurais aucune idée de comment vérifier cela ou changer la configuration. Toute aide serait grandement appréciée.

grâce,
Gauvain

EDIT: J'ai essayé quelques tests que j'ai trouvé en ligne et tout semble fonctionner avec mon port série ...

[email protected]:~$ ls -l /dev/ttyS* 
crw-rw---- 1 root dialout 4, 64 2009-07-09 10:01 /dev/ttyS0 
crw-rw---- 1 root dialout 4, 65 2009-07-09 08:56 /dev/ttyS1 
crw-rw---- 1 root dialout 4, 66 2009-07-09 08:56 /dev/ttyS2 
crw-rw---- 1 root dialout 4, 67 2009-07-09 08:56 /dev/ttyS3 

[email protected]:~$ setserial -a /dev/ttyS0 
/dev/ttyS0, Line 0, UART: 16550A, Port: 0x03f8, IRQ: 4 
Baud_base: 115200, close_delay: 50, divisor: 0 
closing_wait: 3000 
Flags: spd_normal skip_test 


[email protected]:~$ setserial -g /dev/ttyS* 
/dev/ttyS0, UART: 16550A, Port: 0x03f8, IRQ: 4 
/dev/ttyS1, UART: 8250, Port: 0xd028, IRQ: 18 
/dev/ttyS2, UART: 8250, Port: 0xd040, IRQ: 18 
/dev/ttyS3, UART: 8250, Port: 0xd050, IRQ: 18 

[email protected]:~$ echo 12345 > /dev/ttyS0 

[email protected]:~$ dmesg | tail -3 
[ 144.424259] ppdev0: unregistered pardevice 
[ 145.692199] ppdev0: registered pardevice 
[ 145.740052] ppdev0: unregistered pardevice 

J'ai aussi essayé de changer la série nom de port à/dev/ttys0 (avec un S en minuscule) et dans ce cas, il m'a donné une erreur différente, "Impossible d'ouvrir le périphérique série." Cela me suggère qu'il est capable d'ouvrir/dev/ttyS0 mais quelque chose d'autre l'empêche de lire la station météo. Des idées? Merci.

Répondre

0

Vérifiez si ce n'est pas un droit préférentiel de souscription:

  • Run avec "sudo mysql230"
  • vous Ajouter au groupe dialout

Essayez d'utiliser sudo Minicom pour jouer avec vos ports pour voir si vous avez des réponses ...

C'est mes notes 2 cents;)

0

De choses que vous avez écrit, il semble que vous avez un port série à 115200 bauds, tandis que WS230x0 fait de la magie à 2400baud. Essaye-le.

Oui, une communication de temps dure vraiment longtemps, si vous RTFM, vous trouverez que la communication série est la tâche de priorité la plus basse pour ws2300, donc utilisez des commandes qui "parlent moins" comme log2300 par exemple. Le WS2300 utilise une étrange connexion 4 fils vers le port série, donc vous risquez d'être bloqué avec un port série pas si standard sur votre PC, mais c'est une conjecture.