# Arduino uno Q Modbus TCP

**URL:** <https://forum.arduino.cc/t/arduino-uno-q-modbus-tcp/1414776>\
**Category:** Software\
**Created:** [November 17, 2025, 9:53am UTC](https://forum.arduino.cc/t/arduino-uno-q-modbus-tcp/1414776 "2025-11-17T09:53:47Z")\
**Posts on this page:** 12\
**Page:** 1

<div class="post-metadata">

**Author:** ![arino1](https://avatars.discourse-cdn.com/v4/letter/a/c0e974/32.png) [@arino1](https://forum.arduino.cc/u/arino1)\
**Post date:** [November 17, 2025, 9:53am UTC](https://forum.arduino.cc/t/arduino-uno-q-modbus-tcp/1414776/1 "2025-11-17T09:53:47Z")

</div>

Ciao a tutti,

esiste una libreria modbus TCP compatibile con Arduino Q (client)?

---

<div class="post-metadata">

**Author:** ![pert](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/pert/32/217111_2.png) [@pert](https://forum.arduino.cc/u/pert)\
**Post date:** [November 17, 2025, 9:54am UTC](https://forum.arduino.cc/t/arduino-uno-q-modbus-tcp/1414776/2 "2025-11-17T09:54:27Z")

</div>

Ti segnalo che, nella sezione in lingua Inglese, si può scrivere solo in Inglese ... quindi, per favore, la prossima volta presta più attenzione in quale sezione metti i tuoi post; questa volta esso è stato spostato, da un moderatore della sezione di lingua Inglese, nella [sezione di lingua Italiana](https://forum.arduino.cc/c/international/italiano/50).

Grazie.

---

<div class="post-metadata">

**Author:** ![manchuino](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/manchuino/32/239113_2.png) [@manchuino](https://forum.arduino.cc/u/manchuino)\
**Post date:** [November 17, 2025, 9:59am UTC](https://forum.arduino.cc/t/arduino-uno-q-modbus-tcp/1414776/3 "2025-11-17T09:59:01Z")

</div>

Ciao @arino1

Il modo più semplice per avere Modbus TCP su Uno Q è utilizzarlo dallo script Python in una applicazione App Lab. Puoi utilizzare la libreria [Welcome to PyModbus’s documentation! — PyModbus 4.0.0dev6 documentation](https://pymodbus.readthedocs.io/en/latest/) . Prova a dare uno sguardo a questi esempi: [Client — PyModbus 4.0.0dev6 documentation](https://pymodbus.readthedocs.io/en/latest/source/client.html#synchronous-example) .

A presto.

---

<div class="post-metadata">

**Author:** ![cotestatnt](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/cotestatnt/32/238781_2.png) [@cotestatnt](https://forum.arduino.cc/u/cotestatnt)\
**Post date:** [November 17, 2025, 10:09am UTC](https://forum.arduino.cc/t/arduino-uno-q-modbus-tcp/1414776/4 "2025-11-17T10:09:38Z")

</div>

Se la libreria è scritta decentemente, il layer software dove è definito il protocollo è indipendente dal layer hardware usato per il trasporto dati (ovvero il codice strettamente dipendente dalla MCU).

Non l’ho mai provata di persona, ma ad esempio la prima che viene fuori cercando nel repository ([ArduinoModbus](https://github.com/arduino-libraries/ArduinoModbus)) è strutturata proprio in questo modo appena descritto.

Nei metodi interni della libreria viene usato un generico `Client*` e quindi in teoria dovrebbe essere compatibile con qualsiasi framework Arduino dove questa classe è stata definita.

```cpp
IPAddress server(192, 168, 1, 10); // update with the IP Address of your Modbus server

....
 if (!modbusTCPClient.begin(server)) {
   Serial.println("Modbus TCP Client failed to connect!");
 } else {
   Serial.println("Modbus TCP Client connected");
 }
....

```

---

<div class="post-metadata">

**Author:** ![manchuino](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/manchuino/32/239113_2.png) [@manchuino](https://forum.arduino.cc/u/manchuino)\
**Post date:** [November 17, 2025, 11:01am UTC](https://forum.arduino.cc/t/arduino-uno-q-modbus-tcp/1414776/5 "2025-11-17T11:01:59Z")

</div>

@cotestatnt

Questo è vero in generale per le board Arduino con supporto nativo per il networking, ad esempio quelle con Wi‑Fi o Ethernet integrati, o disponibili tramite shield o carrier. Su Uno Q, invece, la connettività viene gestita nella parte Linux e non è direttamente accessibile dallo Sketch. Stiamo lavorando a un trasporto dei socket sul meccanismo di RPC attraverso la libreria Arduino\_RouterBridge, ma in questo momento è ancora in fase sperimentale.

A presto!

---

<div class="post-metadata">

**Author:** ![cotestatnt](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/cotestatnt/32/238781_2.png) [@cotestatnt](https://forum.arduino.cc/u/cotestatnt)\
**Post date:** [November 17, 2025, 11:04am UTC](https://forum.arduino.cc/t/arduino-uno-q-modbus-tcp/1414776/6 "2025-11-17T11:04:54Z")

</div>

E’ una board che conosco molto poco (almeno per ora), ti ringrazio per la precisazione!

---

<div class="post-metadata">

**Author:** ![gpb01](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/gpb01/32/830685_2.png) [@gpb01](https://forum.arduino.cc/u/gpb01)\
**Post date:** [November 17, 2025, 11:32am UTC](https://forum.arduino.cc/t/arduino-uno-q-modbus-tcp/1414776/7 "2025-11-17T11:32:37Z")

</div>

@arino1:

Considera poi che nella sezione Italiana del forum, utenti della Q, credo si contino sulle dita di una sola mano ... 🙄

Se vuoi risposte più circostanziate ed in tempi brevi, ti consiglio di porre le tue domande, **esclusivamente in lingua Inglese** , nella [SEZIONE](https://forum.arduino.cc/c/official-hardware/uno-family/uno-q/222) dedicata ad Arduino Q

Guglielmo

---

<div class="post-metadata">

**Author:** ![arino1](https://avatars.discourse-cdn.com/v4/letter/a/c0e974/32.png) [@arino1](https://forum.arduino.cc/u/arino1)\
**Post date:** [November 17, 2025, 3:46pm UTC](https://forum.arduino.cc/t/arduino-uno-q-modbus-tcp/1414776/8 "2025-11-17T15:46:55Z")

</div>

Ciao, grazie per i suggerimenti.

Ho provato ad installare la libreria pymodbus ( Install with github ([Welcome to PyModbus’s documentation! — PyModbus 3.11.3 documentation](https://pymodbus.readthedocs.io/en/v3.11.3/#install-with-github)), ma una volta compilato il sw mi viene restituito il messaggio :

"Activating python virtual environment  
Traceback (most recent call last):  
File "/app/python/main.py", line 1, in   
from pymodbus.server.sync import StartTcpServer  
ModuleNotFoundError: No module named 'pymodbus'  
exited with code 1"

---

<div class="post-metadata">

**Author:** ![manchuino](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/manchuino/32/239113_2.png) [@manchuino](https://forum.arduino.cc/u/manchuino)\
**Post date:** [November 18, 2025, 1:59pm UTC](https://forum.arduino.cc/t/arduino-uno-q-modbus-tcp/1414776/9 "2025-11-18T13:59:09Z")

</div>

Ciao @arino1,

Per installare la libreria all’interno dell’ambiente utilizzato dallo script Python in App Lab (formalmente un container Docker) devi creare un nuovo file `requirements.txt` affianco al file `main.py` e aggiungere il nome della libreria nel file.

- In App Lab, nel pannello dei file, selezione la cartella `python` e clicca sull’icona per creare i file.
- Crea un nuovo file `requirements.txt`
- Aggiungi `pymodbus` nel contenuto del file
- Lancia nuovamente la App.

Il formato del file `requirements.txt` è standard ed è descritto qui: [Requirements File Format - pip documentation v25.3](https://pip.pypa.io/en/stable/reference/requirements-file-format/) .

Fammi sapere.

---

<div class="post-metadata">

**Author:** ![arino1](https://avatars.discourse-cdn.com/v4/letter/a/c0e974/32.png) [@arino1](https://forum.arduino.cc/u/arino1)\
**Post date:** [November 19, 2025, 9:36am UTC](https://forum.arduino.cc/t/arduino-uno-q-modbus-tcp/1414776/10 "2025-11-19T09:36:01Z")

</div>

> [@manchuino](#):
>
> er installar

Grazie per le indicazioni. Sono riuscito ad implementare le librerie.  
Adesso il client funziona.

Vorrei capire come gestire i pin fisici con il codice python.... Ad esempio se il bit 0 del registro 0 è a 1 il pin 13 va in ON....

---

<div class="post-metadata">

**Author:** ![manchuino](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/manchuino/32/239113_2.png) [@manchuino](https://forum.arduino.cc/u/manchuino)\
**Post date:** [November 19, 2025, 10:27am UTC](https://forum.arduino.cc/t/arduino-uno-q-modbus-tcp/1414776/11 "2025-11-19T10:27:46Z")

</div>

Ciao @arino1

Dovresti avere tutto quello che ti serve nell’esempio “Blink LED”: nello sketch devi modificare il PIN che viene attivato mentre devi integrare il codice Python dell’esempio con il tuo.

Fammi sapere!

---

<div class="post-metadata">

**Author:** ![system](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/system/32/1140315_2.png) [@system](https://forum.arduino.cc/u/system)\
**Post date:** [May 18, 2026, 10:27am UTC](https://forum.arduino.cc/t/arduino-uno-q-modbus-tcp/1414776/12 "2026-05-18T10:27:47Z")

</div>

Closed on May 18, 2026, 10:27am UTC

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.
