Questo test e' per verificare lo scambio dati tra Arduino Ethernet e PC mediante pacchetti UDP (Arduino invia e PC riceve)
Da notare che l'Arduino funziona bene anche con una normale pila a 9V ricaricabile ed un cavo cross
Il Pc e' impostato come 192.168.1.120 ed ascolta su porta 5005
L'Arduino e' impostata come 192.168.1.2
Script Python per ricevere i dati
--------------------------------------------------------------------
import socket
UDP_IP="192.168.1.120"
UDP_PORT=5005
sock = socket.socket( socket.AF_INET, # Internet
socket.SOCK_DGRAM ) # UDP
sock.bind( (UDP_IP,UDP_PORT) )
while True:
data, addr = sock.recvfrom( 1024 ) # buffer size is 1024 bytes
print "Ricevuto: ", data
--------------------------------------------------------------------
Sketch Arduino per inviare i dati
--------------------------------------------------------------------
#include <SPI.h>
#include <Ethernet.h>
#include <Udp.h>
byte mac[] = {0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };
byte ip[] = {192,168,1,2};
byte remote_ip[] = {192,168,1,120};
unsigned int remote_port = 5005;
char sendBuffer [] = "Luca\0";
unsigned int sent=0;
int contatore = 0;
void setup() {
Ethernet.begin(mac,ip);
Udp.begin(8008);
}
void loop() {
contatore = contatore + 1;
dtostrf(contatore,4,0,sendBuffer);
sent=Udp.sendPacket(sendBuffer, remote_ip, remote_port);
delay(500);
}
--------------------------------------------------------------------
ATTENZIONE:
con le ultime due versioni del software Arduino (0.23 e 1.0) esiste un bug nella gestione di UDP che genera dei pacchetti pieni di spazzatura.
Per risolvere il problema si deve individuare il file w5100.h che si trova in /libraries/Ethernet/Utility e modificarlo secondo quanto riportato da questo post (vedi al termine del post)
Il problema dovrebbe risultare risolto nella versione 1.0.1 di prossima uscita
Iscriviti a:
Commenti sul post (Atom)
CH57x
Volevo costruirmi un controller fisico per VLC con almeno un comando rotativo (volevo utilizzare M5Dial) da usare mentre cerco di suonare pe...
-
In questo post viene indicato come creare uno scatterplot dinamico basato da dati ripresi da un file csv (nel dettaglio il file csv e' c...
-
Questo post e' a seguito di quanto gia' visto nella precedente prova Lo scopo e' sempre il solito: creare un sistema che permet...
-
La scheda ESP32-2432S028R monta un Esp Dev Module con uno schermo TFT a driver ILI9341 di 320x240 pixels 16 bit colore.Il sito di riferiment...
Nessun commento:
Posta un commento