Avviare script su server linux

Ciao ragazzi sono nuovo nel forum e vi scrivo per chiedervi un aiuto. Premetto di avere già cercato sia qui che su web ma non ho trovato nulla... magari non è possibile quello che sto per chiedervi. Il mio obiettivo è migrare l'impianto di allarme fatto da me su Raspberry alla piattaforma Arduino, per poterlo fare ho bisogno di sapere:

Esiste un comando che permetta ad arduino di avviare uno script SH presente su una macchina linux?

Esiste un comando equivalente a questo "echo testo | smbclient -N -M nomepc" il quale mi apre dei popup nel pc della rete su cui c'è installato WinSent Innocenti?

la seconda è meno importante.. la prima invece essenziale!

grazie a tutti anticipatamente

Esiste un comando che permetta ad arduino di avviare uno script SH presente su una macchina linux?

No. Per lo meno non in maniera diretta. Devi creare un programma lato PC che legga la seriale e che, quando arriva il comando dall'Arduino, lanci il tuo script shell.

Forse con la Leonardo potresti facilitarti la cosa, nel senso che la Leonardo ha l'USH nativamente e può essere programmata per funzionare come una tastiera. Potresti quindi "scrivere" dalla Leonardo su un terminale, dando tu dalla scheda il comando. Però se lavori con un desktop manager e qualcuno sul computer clicca col mouse al di fuori della finestra del terminale, poi i tasti "premuti" dalla Leonardo vengono letti dal gestore grafico. Dovresti avviare in modalità testuale oppure esser certo che nessuno cambi il focus alla finestra del terminale.

La risposta alla seconda domanda è collegata alla prima. No, non in maniera diretta almeno.

Non credo di capire la domanda ...

... comunque, su Arduino NON esiste nessun comando ... NON è un sistema Linux, è una MCU su cui gira solo il programma che scrivi TU e [u]NON c'è alcun sistema operativo[/u].

Diverso è il caso di Arduino Yún ... che è composto da due parti, un Arduino Leonardo + un sistema Linux secondo il seguente schema :

Guglielmo

P.S. : Vedo che Leo ha interpretato la domanda in altro modo ... ovvero che ti devi scrivere TU un programma che invia, a chi ti pare, le sequenze di caratteri che vuoi ... ma tieni presente quanto suddetto

Grazie Leo72 per la celerissima risposta. Le mie competenze non sono in grado di permettermi di lavorare sulla seriale al momento, sono nuovissimo... ma senza complicarmi troppo la vita, sulla macchina linux c'è un webserver con pagina php che mi esegue lo script SH quando la si apre. basterebbe che arduino apra quella pagina, che non visualizza nulla, ma esegue lo script... può farlo? grazie ancora...

Arduino non può aprire nessuna pagina di suo, per lo meno non la UNO. Arduino UNO può solo spedire dei dati ad una porta USB tramite la sua linea seriale. Deve esserci qualcosa sul computer che "ascolti" quel che arriva dalla seriale.

L'alternativa che ti ha suggerito Guglielmo potrebbe fare al caso tuo. La Yun è una versione moooolto ridotta della Raspberry, nel senso che ha una piccola distribuzione Linux che gira su un SoC dedicato. La parte "arduinica" della Yun può spedire dei comandi a quella Linux. Su Linux però stesso discorso: devi scrivere un programma (generalmente in Python perché per questo linguaggio hanno rilasciato i binding per gestire la connesione con la parte arduinica della scheda) che interpreti i dati e faccia quel che vuoi.

Ringrazio anche gpb01 per l'interessamento.... Non voglio sembrare insistente ma or ora ho visto qui che questo signore riesce con arduino a far girare la videocamera sfruttando link web della videocamera stessa. il comando dovrebbe essere:

char kPathPOSIZIONE2[] ="/decoder_control.cgi?command=33&user=NOMEUTENTE&pwd=PASSWORD"; err = http.get(kHostname, 81, kPathPOSIZIONE2);

non si riesce a fare lo stesso con pagina php?

Tu hai chiesto di avviare uno script sul computer comandando l'avvio da Arduino. Gli script sh sono script shell.

Esiste un comando che permetta ad arduino di avviare uno script SH presente su una macchina linux?

Quello che linki è una cosa diversa, lì c'è un Arduino con una scheda di rete ed i comandi vengono spediti alla telecamera via rete appunto.

Cosa devi/vuoi fare?

mea culpa... sull'arduino ho la W5100... hai ragione non sono stato chiaro, sorry :( .

Vorrei che arduino, attraverso la lan, mi avviasse uno script shell. Sono entrambi dietro lo stesso router. Se non possibile basterebbe aprisse la pagina php che mi esegue lo script. Scusate ancora la poca chiarezza...

Comunicare via rete l’Arduino lo può fare. Ovviamente devi scriverti la parte di sketch che manda la richiesta al tuo server dove gira colui che poi materialmente avvierà lo script. Non sono pratico di PHP ma credo che possa lanciare anche uno script shell.

si si si può fare: la pagina php che mi avvia lo script è già funzionante ed in uso da diverso tempo, adesso sto riuscendo ad attivarla con arduino. sarebbe ancor meglio se arduino mi lanciasse direttamente lo script collegandosi in una sorta di ssh...

Questo una Uno non può farlo perché per supportare l'SSH non avresti materialmente lo spazio in memoria per alloggiare il programma. Ammesso che riuscissi a scrivere qualcosa di utilizzabile sull'Arduino.

Grazie ancora per i chiarimenti, a questo punto l'unica strada che mi rimane è attraverso pagine php create ad hoc. un pochetto più laborioso ma il risultato finale è ugualmente perfetto. grazie ancora per l'aiuto un saluti a tutti