Forum
>>
Principianti
>>
Modifiche a programma perfettamente funzionante
Pagina: 1
Esegui il login per scrivere una risposta.
Pagina: 1
|
Scritto da Pietro Bruno Lancerotto |
2026-01-04 12:02:04 - Modifiche a programma perfettamente funzionante
|
|
Ovviamente mi rivolgo a nuzzopippo
La discussione originale è questa http://www.python.it/forum/thread/6944/utilizzo-socket/?page=6#post-7078 Dovrei " estirpare" tutta la parte socket per passare ad una comunicazione seriale che alla fine è questa ============ import meshtastic.serial_interface from pubsub import pub interface = meshtastic.serial_interface.SerialInterface() def onReceive(packet, interface): if 'channel' in packet: # print(f" Channel: {packet['channel']}") k = packet['channel'] if k == 1: # Si estrae il messaggio solo se il Canale usato è il n.1 try: if 'decoded' in packet and packet['decoded']['portnum'] == 'TEXT_MESSAGE_APP': message_bytes = packet['decoded']['payload'] message_string = message_bytes.decode('utf-8') print(f"{message_string} \n> ", end="", flush=True) except KeyError as e: print(f"Error processing packet: {e}") pub.subscribe(onReceive, 'meshtastic.receive') def send_message(message): interface.sendText(message,channelIndex=1) #Il messaggio viene inviato sul Canale n.1 while True: text = input("> ") send_message(text) ================= Mentre con il sistema che colloquiava col suondmodem serviva formattare le stringhe ed inizializzare la comunicazione per poter ricevere delle risposte, qui la cosa è più "banale" Sto provando ad isolare la parte socket ma non ci capisco una mazza Casomai posto uno ZIP di quanto esistente Ringrazio anticipatamente se nuzzo pippo vorra darmi una mano PS: Stamattina non riuscivo più ad entrare nel forum --- Ultima modifica di Pietro Bruno Lancerotto in data 2026-01-04 12:04:45 --- --
Bruno L. |
|
|
Scritto da nuzzopippo ![]() |
2026-01-04 12:40:16 - Re: Modifiche a programma perfettamente funzionante
|
|
Qui nuzzopippo, ciao Piero Guarda che ne forum passano parecchi che ne sanno più di me ... p.e. sulle interfacce seriali (argomento che non ho mai trattato) ... comunque, per quel che posso, dispostissimo a dare una mano, certo, dovrò farmi idea della libreria che utilizzi e delle finalità che Vuoi raggiungere )quali sono?) e non è detto che riesca ad esserTi di aiuto. Mi dai un po' di contesto, intanto? Cose tipo S.O., tipo di interfaccia, finalità etc., fammi fare un'idea prima di passare al codice. Ciao Fatti non foste a viver come bruti... |
|
|
Scritto da Pietro Bruno Lancerotto |
2026-01-04 17:14:26 - Re: Modifiche a programma perfettamente funzionante
|
Voglio recuperare completamente l'interfaccia realizzata nel 2024 per colloquiare con il programma SuondModem
La differenza fondamentale è che qui si usa un "semplice" collegamento seriale che comunque avviene via USB Si deve aggiungere la libreria Meshtastic a Python Ovviamente la libreria consente di fare un sacco di cose che a me non interessano, in primis la configurazione del nodo ( si chiamano così ) Se è connesso alla porta USB un solo nodo, alla connessione verrà automaticamente riconosciuto senza specificare il numero di COM che all'inserimento del cavo viene creata Giusto per informazione ci si può collegare via B.T. e via TCP/IP ( molto bene da APP su telefono, male da PC usando MeshTastic Web ) A me interessa esclusivamente la seriale per motivi di prticità e certezza del collegamento fra PC e nodo Ecco quindi che dei tantissimi comandi presenti in libreria a me interessano solo sendText pub.subscribe(onReceive, 'meshtastic.receive') Il programmino nel mio primo messaggio funziona perfettamente Ecco che ho cercato di "isolare" ( # import socket ) il socket nella speranza di capirci qualcosa dagli errori che si sarebbero generati Chiaramente se sono qua vuol dire che ci ho capito poco o niente Se richiesto posto lo ZIP con tutta la cartella dei sorgenti ed il link a libreria e docs Intanto grazie di avere risposto --- Ultima modifica di Pietro Bruno Lancerotto in data 2026-01-04 17:17:23 --- --
Bruno L. |
|
|
Scritto da nuzzopippo ![]() |
2026-01-05 06:13:33 - Re: Modifiche a programma perfettamente funzionante
|
|
Sto dando una guardata alla docs di Meshtastic, argomento interessante, in sostanza la libreria Ti occorre per collegarTi ad una rete di nodi di comunicazione a bassa velocità, giusto?
Vedo che il codice da Te indicato nel primo posto è il contenuto del file "autoresponder.py" nella pagina github degli esempi. Dal codice originale vedo l'utilizzo della libreria pypubsub, tale libreria è qualcosa di analogo alla classe "Delivery" da me implementata a suo tempo per il codice che vuoi adattare, la qual cosa indica che: 1 - va espunta la logica applicata alla classe "Delivery" e sostituita con quella di pypubsub; 2 - la struttura della trasformazione non è banale, giusto per indicazione Ti invito a leggere questo mio appunto sull'uso di pypubsub, giusto per fartene una idea su una modalità d'uso della logica sottesa. Trovo il discorso intrigante ma c'è "da studiare", partendo dalla situazione che hai attualmente, non è il caso di intasare il forum con files vari, credo, forse è opportuno che Tu mi trasmetta il file zip indicato nel precedente messaggio per posta elettronica (ovviamente fatto salvo eventuale interesse da parte di altri utenti del forum), non garantisco nulla ma mi studierò un poco la situazione. Ciao Fatti non foste a viver come bruti... |
|
|
Scritto da Pietro Bruno Lancerotto |
2026-01-05 14:48:29 - Re: Modifiche a programma perfettamente funzionante
|
Il fatto che trovi intrigante la cosa Ti trasmetto quanto ho attualmente via mail Se qualcuno è interessato basta dirlo Alla fine ho modificato "l'opera iniziale" per produrre 3 log in base al tipo di messaggio E' chiaro che tutta la sfilza di caratteri per inizializzare la risposta non serve più ma intendo sostituirla con l'invio di un banale messaggio tipo " Nodo XYZ attivato" dove XYZ sarà il nome della postazione Anche in fase di ricezione ho fatto un accrocchio abbastanza complesso per ridurre e compattare il messaggio in arrivo Anche il controllo dei caratteri eccedenti il 127 non sarà necessario; qui passano anche i caratteri accentati Alla prossima --
Bruno L. |
Pagina: 1
Esegui il login per scrivere una risposta.

