user10183: I tried different times to use socat and ser2net in order to upload a sketch to an Arduino Uno (connected to a PC) from my laptop, unsuccessfully. Can anyone teach me how to achieve this goal? I use Linux.

user29930: You can use an ethernet to ttl adapter and then install a virtual com software. 
What i did was the following. 
I used an ethernet to 232 converter,  and tweaked the board as you can see in the attached photo, I removed the 232 chip and jumpered the ttl directly to the output. 
Then I installed USR-VCOM and set a virtual com port that shows in the arduino ide, it works without any software /boot changes 
I am not sure how to remote reset the arduino....  Probably someone else knows.  


user10183: I've been searching through the net for some days, in order to discover how I could easily upload a sketch to an Arduino that is not phisically connected to my PC, but instead that is connected to an another one, that belongs to the same LAN. I mean:
PC1-SERVER
Arduino Uno is connected to this PC with classic USB cable.
This PC is running Ubuntu linux, and sees Arduino as a serial port /dev/ttyACM0.
PC2-CLIENT
This is the PC where I create and compile the sketch. 
I want to upload the sketch to the Arduino Uno described above (so, connected to SERVER, port /dev/ttyACM0)
SOLUTION:
server-side commands:
Code:
sudo apt-get install ssh-server ser2net

sudo passwd root    (to set the root password)

sudo reboot

client-side commands (assuming 192.168.0.7 as IP address of SERVER):
Code:
ssh -L 8086:localhost:8086 root@192.168.0.7 \
'/usr/sbin/ser2net -d -C "8086:raw:600:/dev/ttyACM0:115200 NONE 1STOPBIT \
8DATABITS -XONXOFF LOCAL -RTSCTS HANGUP_WHEN_DONE "'

you can then upload sketches to arduino doing this:
Code:
avrdude -C /path/to/avrdude.conf -p atmega328p -c arduino -P net:localhost:8086 -U flash:w:/path/to/file.hex:i

NOTE:
In Eclipse, if you are using the arduino plugin, just place "net:localhost:8086" in the configuration panel, where "port:" field is required.
This solution was also posted on arduino forum.

10183: <p>I tried different times to use socat and ser2net in order to upload a sketch to an Arduino Uno (connected to a PC) from my laptop, unsuccessfully. Can anyone teach me how to achieve this goal? I use Linux.</p>
 29930: <p>You can use an ethernet to ttl adapter and then install a virtual com software. </p>

<p>What i did was the following. </p>

<p>I used an ethernet to 232 converter,  and tweaked the board as you can see in the attached photo, I removed the 232 chip and jumpered the ttl directly to the output. </p>

<p>Then I installed USR-VCOM and set a virtual com port that shows in the arduino ide, it works without any software /boot changes </p>

<p>I am not sure how to remote reset the arduino....  Probably someone else knows.  </p>

<p><img src="https://i.stack.imgur.com/1Jr5U.jpg" alt="enter image description here"></p>
 10183: <p>I've been searching through the net for some days, in order to discover how I could easily upload a sketch to an Arduino that is not phisically connected to my PC, but instead that is connected to an another one, that belongs to the same LAN. I mean:</p>

<p>PC1-SERVER
Arduino Uno is connected to this PC with classic USB cable.
This PC is running Ubuntu linux, and sees Arduino as a serial port /dev/ttyACM0.</p>

<p>PC2-CLIENT
This is the PC where I create and compile the sketch. 
I want to upload the sketch to the Arduino Uno described above (so, connected to SERVER, port /dev/ttyACM0)</p>

<p>SOLUTION:
server-side commands:</p>

<p>Code:</p>

<pre><code>sudo apt-get install ssh-server ser2net

sudo passwd root    (to set the root password)

sudo reboot
</code></pre>

<p>client-side commands (assuming 192.168.0.7 as IP address of SERVER):</p>

<p>Code:</p>

<pre><code>ssh -L 8086:localhost:8086 root@192.168.0.7 \
'/usr/sbin/ser2net -d -C "8086:raw:600:/dev/ttyACM0:115200 NONE 1STOPBIT \
8DATABITS -XONXOFF LOCAL -RTSCTS HANGUP_WHEN_DONE "'
</code></pre>

<p>you can then upload sketches to arduino doing this:</p>

<p>Code:</p>

<pre><code>avrdude -C /path/to/avrdude.conf -p atmega328p -c arduino -P net:localhost:8086 -U flash:w:/path/to/file.hex:i
</code></pre>

<p>NOTE:
In Eclipse, if you are using the arduino plugin, just place "net:localhost:8086" in the configuration panel, where "port:" field is required.</p>

<p>This solution was also posted on <a href="http://forum.arduino.cc/index.php?topic=326850.0" rel="nofollow">arduino forum</a>.</p>
