Esecuzione comandi su server linux

Buongiorno,
Ho cercato in lungo e in largo qualsiasi soluzione possibile ma non ho trovato nulla adatto alle mie esigenze.

vorrei capire qual’è la via più breve e rapida per poter semplicemente eseguire un comando linux tramite arduino.

Per intenderci quando ad esempio il pin 10 passa dal valore in lettura 1 a 0 o viceversa manda un input ad un server linux per eseguire un comando shell

Buonasera,
essendo il tuo primo post, nel rispetto del regolamento (… punto 13, primo capoverso), ti chiedo cortesemente di presentarti IN QUESTO THREAD (spiegando bene quali conoscenze hai di elettronica e di programmazione … possibilmente evitando di scrivere solo una riga di saluto) e di leggere con MOLTA attenzione il su citato REGOLAMENTO … Grazie.

Guglielmo

P.S.: Qui una serie di link utili, NON necessariamente inerenti alla tua domanda:
- serie di schede by xxxPighi per i collegamenti elettronici vari: ABC - Arduino Basic Connections
- pinout delle varie schede by xxxPighi: Pinout
- link generali utili: Link Utili

Sono abbastanza sicuro che arduino da solo non possa "comandare" un pc... quello che puoi fare è inviare dei comandi sulla seriale e leggerli su linux con un programma che poi li interpreta ed esegue.

Confermo.

Mi sono domandato come farei io, e mi sono risposto: metto un arduino con in ingresso una tastiera PS/2, ne ho ancora qualcuna, intercetto i comandi e li ripeto sulla PS/2 del PC colegata ed una uscita di arduino, usando le corrette escape sequence (leggasi ctrlA, AltZ e simili) posso far fare al pc quello che voglio, anche in finestra grafica, se serve

E aggiungo: una rapida ricerca sul forum trova, anche in italiano, altri che hanno fatto lo stesso, con uso di due librerie dedicate.

In alternativa si usa il TCP/IP se Arduino è connesso in rete (shield Ethernet o WiFi con ESP8266). O in modo "a manella" (si instaura una connessione telnet, si fa login, e si invia il comando) oppure, con un po' di pratica di programmazione Linux, si crea un piccolo processo che attende una connessione su una porta specifica (non standard) oppure un pacchetto UDP specifico. Oppure se su Linux c'è Apache puoi fare una GET con una sintassi opportuna.

Standardoil:
Mi sono domandato come farei io, e mi sono risposto: metto un arduino con in ingresso una tastiera PS/2, ne ho ancora qualcuna, intercetto i comandi e li ripeto sulla PS/2 del PC colegata ed una uscita di arduino, usando le corrette escape sequence (leggasi ctrlA, AltZ e simili) posso far fare al pc quello che voglio, anche in finestra grafica, se serve

Idea sicuramente interessante, ma mi sembra un po' pericolosa. Inoltre, se la macchina è in modalità grafica, come fai ad essere sicuro di stare scrivendo in una finestra dei comandi? E se qualcuno la sta usando?

Spedisco Ctrl-alt-t che mi apre una S h e l l
Mai mettere in chiaro il nome della concorrenza
E poi con una exit esco.
E se invece qualcuno usa lui la macchina, che se lo faccia lui il lavoro.....

grazie a tutti della risposta
Alla fine dopo svariati tentativi sono riuscito a fare ciò che volevo

ho usato uno script in perl che legge dalla seriale ed esegue i comandi :slight_smile: