Go Down

Topic: Socket arduino yun (Read 387 times) previous topic - next topic

roxdragon

Salve a tutti, provengo da arduino duemilanove.
Avevo creato un socket con questo codice...
Collegamento arduino yun con usb e collegato anche l'ethernet.
Code: [Select]
#include <SPI.h>
#include <Ethernet.h>

// Enter a MAC address, IP address and Portnumber for your Server below.
// The IP address will be dependent on your local network:
byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };
IPAddress serverIP(192,168,1,13);
int serverPort=8888;

// Initialize the Ethernet server library
// with the IP address and port you want to use
EthernetServer server(serverPort);

void setup()
{
 // start the serial for debugging
 Serial.begin(9600);
 // start the Ethernet connection and the server:
 Ethernet.begin(mac, serverIP);
 server.begin();
 Serial.println("Server started");//log
}

void loop()
{
 // listen for incoming clients
 EthernetClient client = server.available();
 if (client) {
   String clientMsg ="";
   while (client.connected()) {
     if (client.available()) {
       char c = client.read();
       //Serial.print(c);
       clientMsg+=c;//store the recieved chracters in a string
       //if the character is an "end of line" the whole message is recieved
       if (c == '\n') {
         Serial.println("Message from Client:"+clientMsg);//print it to the serial
         client.println("You said:"+clientMsg);//modify the string and send it back
         clientMsg="";
       }
     }
   }
   // give the Client time to receive the data
   delay(1);
   // close the connection:
   client.stop();
 }
}


ma caricandolo su arduino yun non va...di compilare compila, però mi dice impossibile connettersi... forse stai usando un bridge??!??!
che significa..?!?!
Io voglio inviare una stringa da un programmino fatto in java. Su arduino duemilanove va una bomba!
grazie

gpb01

Appunto, sei su una Yún, non su una duemilanove e l'ethernet della Yún ...



... è collegato a Linux, quindi ci accedi da Linux, non da Arduino!

Per lo scambio di informazioni devi usare la libreria Bridge ...  :smiley-roll:

Guglielmo
Search is Your friend ... or I am Your enemy !

roxdragon

nella foto, atmega è arduino
linino è linux?

Quindi fammi capire dovrei fare: linino > bridge > arduino > socket server >-<client?

gpb01

#3
Jul 11, 2014, 05:48 pm Last Edit: Jul 11, 2014, 05:50 pm by gpb01 Reason: 1
Si, la Yún è composta da due parti ...
... un Arduino Leonardo (ATmega32u4) ed un sistema Linux che gira su un AR9331. Le due parti scambiano informazioni tramite le classi ed i metodi della libreria Bridge.

Bisogna che dedichi un bel po' di tempo a studiarti detta libreria ed a vederne tutte le possibilità ...  :smiley-roll:

Normalmente, tutta la parte di rete, si fa sotto Linux ed alla parte Arduino vengono inviati solo i risultati (... o dalla parte Arduino vengono inviati dei dati che vengono poi integrati nella parte rete vera e propria su Linux).

Guglielmo
Search is Your friend ... or I am Your enemy !

Ardulink

Oppure lasci perdere Yun e consideri questa alternativa.

http://www.ardulink.org/arduino-yun-alternative/


gpb01


Oppure lasci perdere Yun e consideri questa alternativa ...


... mah ... non è che ti semplifichi di molto la vita, anzi, per qualcuno potrebbe essere anche peggio ...  :smiley-roll: :smiley-roll: :smiley-roll:

Guglielmo
Search is Your friend ... or I am Your enemy !

Testato

Bisogna vedere cosa cerca, ad esempio con la Pi ha più potenza, ma anche più consumi, piu spazio occupato,
Le funzioni di bridge arduinico sono tutte presenti in ardulink ?

Una domanda, ma usando la Pi si può anche eliminare completamente l'uso del micro esterno e fare tutto con il gpio del Pi giusto ?
Il limite dovrebbe essere il realtime peggiore di linux rispetto ad una mcu
- [Guida] IDE - http://goo.gl/ln6glr
- [Lib] ST7032i LCD I2C - http://goo.gl/GNojT6
- [Lib] PCF8574+HD44780 LCD I2C - http://goo.gl/r7CstH

Ardulink

Non so se le funzioni del bridge sono tutte presenti in Ardulink. Io conosco bene Ardulink (l'ho scritto io!) ma non Arduino Yun e ovviamente sono di parte.

So che con Raspberry si può usare la gpio ma nonostante abbia un Raspberry non mi sono mai impegnato a vedere come funziona.

Forse i consumi e lo spazio sono maggiori ma probabilmente sono maggiori anche le potenzialità. Rasp monta diversi sistemi operativi mentre Arduino Yun ha un Lilino, ripeto non conosco Yun ma non credo che Lilino sia così aperto come Raspbian.

Teoricamente poi un solo Raspberry con Ardulink potrebbe governare n schede Arduino (anche diverse fra loro).

Testato

So che lo hai scritto tu, lo conosco da tempo, complimenti  :)

Personalmente quando prenderò la Pi, prima o poi mi tocca, puntero direttamente ai suoi gpio, ho visto anche qualche libreria che ne facilità l'uso. Tranne appunto quando si entra obbligatoriamente nel realtime

Grazie del tuo parere

- [Guida] IDE - http://goo.gl/ln6glr
- [Lib] ST7032i LCD I2C - http://goo.gl/GNojT6
- [Lib] PCF8574+HD44780 LCD I2C - http://goo.gl/r7CstH

roxdragon

Mannaggia non sono riuscito a creare una socket in ascolto.
Sapete farmi qualche esempio?
Senza bridge riesco tranquillamente, come nel duemilanove ma non riesco a fare andare il socket con la bridge.
Avete uno sketch che fa da TCP server usando la bridge? Ho un client java e da li mi connetto al server YUN.
Grazie

Go Up