Autore Topic: Problemi con la seriale.  (Letto 1798 volte)

Offline Silvy

  • Gamberetto
  • *
  • Post: 3
    • Mostra profilo
Problemi con la seriale.
« il: 06 Ottobre 2009, 02:03:35 »
Sono un nuovo utente di Gambas e
Vorrei usare la porta seriale ma non riesco , con il l'esempio di Gambas 2.16
mi da un errore "Cannot Open serial port (#5) '
e con SHELL ("echo J > /dev/ttyS0") mi da
sh: /dev/ttyS0: Permission denied
ho provato a dare questi permessi
 
# chmod a+rw /dev/ttyS1[ Invio ]

$ ls -l /dev/ttyS[0-3]
crw-rw---- 1 root dialout 4, 64  6 ott 01:00 /dev/ttyS0
crw-rw---- 1 root dialout 4, 65  6 ott 01:00 /dev/ttyS1
crw-rw---- 1 root dialout 4, 66  6 ott 01:00 /dev/ttyS2
crw-rw---- 1 root dialout 4, 67  6 ott 01:00 /dev/ttyS3

ma niente , qualcuno ,i puo' aiutare ?

Offline Ceskho

  • Amministratore
  • Senatore Gambero
  • *****
  • Post: 3.778
  • Vi Veri Veniversum Vivus Vici
    • Mostra profilo
    • Pagina Personale
Re: Problemi con la seriale.
« Risposta #1 il: 06 Ottobre 2009, 02:54:50 »
Ciao.

Io per la gestione della porta seriale non uso il componente di gambas ma il terminale; pertanto posso assicurarti che funziona. Prova a sostituire il comando della shell in questo modo

SHELL "echo \"J\" > /dev/ttyS0"

Attenzione però, potrebbe succedere che se hai un dispositivo collegato alla porta non vedi nulla. Questo è normale poichè scrivere un ascii sulla porta richiede un lasso di tempo veramente breve e questo potrebbe "sfuggire alla tua vista". Pertanto ti consiglio di scrivere una serie lunga di caratteri o crearti un ciclo che scrivo in continuo. Io faccio così è va bene.

Poi se vuoi ancora approfondire nella sezione download c'è un progetto "upsmon" che monitorava un dispositivo via porta seriale (ora non ricordo il dispositivo sinceramente). Ti consiglio di dare un'occhiata.

Offline Silvy

  • Gamberetto
  • *
  • Post: 3
    • Mostra profilo
Re: Problemi con la seriale.
« Risposta #2 il: 06 Ottobre 2009, 13:42:37 »
Grazie del tuo aiuto, sto' studiando il tuo UPSmon a prima vista è concettualmente simile a quello che vorrei  fare io con gambas, cioe il controllo di un dispositivo con microcontrollore a bordo il quale gestisce i parametri di un piccolo generatore eolico, velocita', temperatura, freni,tensione, ecc .
Desidererei chiederti se potresti farmi un piccolo esempio di invio di
caratteri singoli e di una stringa, sempre se non chiedo troppo.
Grazie anticipatamente.

Offline Ceskho

  • Amministratore
  • Senatore Gambero
  • *****
  • Post: 3.778
  • Vi Veri Veniversum Vivus Vici
    • Mostra profilo
    • Pagina Personale
Re: Problemi con la seriale.
« Risposta #3 il: 06 Ottobre 2009, 13:58:39 »
Preciso che il programma in area download non è mio....ma di un altro utente.

Comunque io personalmente ho sempre inviato dati alla porta ma non ho mai provato a riceverli. Quindi per il tuo progetto non posso aiutarti.

Comunque potresti creare un ciclo infinito per inviare dati con qualcosa del tipo

Codice: [Seleziona]
While TRUE
  SHELL "echo J > /dev/ttyS0"
Wend


Oppure inserisci l'invio del dato in una suv di un timer e imposti ogni quanto vuoi inviare i dati...

Offline Silvy

  • Gamberetto
  • *
  • Post: 3
    • Mostra profilo
Re: Problemi con la seriale.
« Risposta #4 il: 08 Ottobre 2009, 01:02:20 »
Ceskho, ti ringrazio per il tuo aiuto funziona molto bene.
Se a qualcuno interessa io ho risolto il problema di non poter agire sulle seriali direttamente da gambas.
Con fedora core 11 , entrare in consolle come root poi dare questi permessi

chmod 600 /dev/ttyS0

a questo punto nel mio caso, ha funzionato tutto a dovere direttamente da Gambas2.

Ciao silvy

Offline Ceskho

  • Amministratore
  • Senatore Gambero
  • *****
  • Post: 3.778
  • Vi Veri Veniversum Vivus Vici
    • Mostra profilo
    • Pagina Personale
Re: Problemi con la seriale.
« Risposta #5 il: 08 Ottobre 2009, 01:35:46 »
Lieto di esserti stato d'aiuto.

Offline md9327

  • Moderatore
  • Senatore Gambero
  • *****
  • Post: 2.840
    • Mostra profilo
Re: Problemi con la seriale.
« Risposta #6 il: 08 Ottobre 2009, 10:32:11 »
Nella descrizione allegata a upsmon, evidenzia la possibilità di un non funzionamento, causato appunto dai diritti del modulo kernel.
Per sicurezza e default, su Fedora, questi moduli sono esclusi a tutti tranne ovviamente "root", per cui è impossibile utilizzarli, se non vengono alterati come tu hai fatto.
La cosa è abbastanza normale, perchè di solito queste porte vengono utilizzate di rado.
Un'altra cosa, che si presenta un pò in tutti i sistemi *nix, ovvero le porte, a seconda della speciialità, sono assegnati a particolari gruppi proprietari, ad esempio "disk", per cui è possibile utilizzare i relativi moduli, assegnando l'utente a questi gruppi.