Go Down

Topic: nuovo progetto (Read 199 times) previous topic - next topic

mikibenx

ciao a tutti
volevo fare un nuovo progetto
ossia che i wifi di arduino tipo questi
https://www.amazon.it/azdelivery-esp8266-01-WLAN-Raspberry-Microcontroller-ESP8266-01/dp/B01LK83TX0/ref=sr_1_15?ie=UTF8&qid=1511290243&sr=8-15&keywords=wifi%2Barduino&th=1
trasmiettino i dati da arduino ad una applicazione fatta in C e viceversa
in allegato in esempio forse capite meglio
volevo sapere se era fattibile
e che cosa serviva e se i wifi sopra erano giusti per fare questa cosa
grazie

gpb01

#1
Nov 21, 2017, 08:01 pm Last Edit: Nov 21, 2017, 08:01 pm by gpb01
... prima di buttarmi nell'avventura, mi studierei BENE come funzionano quei moduli.

In Megatopic c'è un thread di oltre 170 pagine interamente dedicato al ESP8266.

Nella prima pagina troverai una serie di link a guide e tutorials che quasi sicuramente ti permetteranno di fare un po' di chiarezza ;)

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

mikibenx

volevo sapere se poteva fare sia da client che da server
grazie

uwefed

in 2 momenti diversi o contemporaneamente?

mikibenx

#4
Nov 22, 2017, 07:44 pm Last Edit: Nov 22, 2017, 07:44 pm by mikibenx
uno come server tutti gli altri contemporaneamente client
come nel disegno

docdoc

Scusa ma nel disegno non si capisce affatto chi fa da server (attende le connessioni) e chi invece da client (iniziatore delle connessioni). Che ci siano access point o meno è ininfluente.

In linea di massima immagino che il PC su cui girerebbe il software in C# faccia lui da server, ed ogni Arduino dovrebbe connettersi a questo per inviare informazioni e ricevere risposte.

Ma devi decidere (o dirci per bene) per prima cosa, appunto, confermare se la comunicazione debba avvenire sempre dagli Arduino, se la connessione TCP sia a singole sessioni (connessione, invio comando/dati, attesa risposta, chiusura connessione) o se tu voglia/debba  mantenere aperto il canale (con riconnessione automatica in caso di caduta) perché in modo asincrono anche il programma C# deve poter mandare dati/comandi agli Arduino, e quindi, infine, progettare un qualche protocollo di comunicazione in base alle tue necessità.

Senza questo, è difficilmente concretizzabile perché hai informazioni insufficienti, e serve un minimo di progettazione ed esperienza (hai mai progettato e realizzato cose di questo tipo?).
Alex "docdoc" - ** se ti sono stato d'aiuto, un punto karma sarà gradito ;-) **

mikibenx

scusate mi sono spiegato male
forse con questo disegno capite di più
in comunque chiedevo per la parte elettronica se fare tutto con esp8266 e arduino era possibile
grazie

docdoc

Ok, ma quindi il server non è ancora definito se sia in C# quindi Windows, o potrebbe essere anche un Arduino? In ogni caso Arduino può ovviamente fare sia da server sia da client, per cui la topologia che hai indicato è fattibile, tutto dipende dalla complessità dell'algoritmo da implementare nel server. Se devi "coordinare" i vari client o se devi comunque accentrare i dati e la logica è un discorso, e qui potrebbe andare bene anche un Arduino, se deve fare cose più complesse come registrare o estrarre su database delle informazioni, allora è meglio farla in C# su un PC ben più potente.

Per il server ti direi anche un Raspberry PI3 ma lì passiamo alla programmazione in Java e forse ti complicherebbe la vita (anche se esiste anche Windows 10 IoT, in pratica un Windows 10 minimale, l'ho provato anche io stesso).

A parte tutto questo, resta la questione principale, ossia come già ti avevo detto, devi TU definire cosa vuoi far fare ai client e al server, e in base a questo definire una architettura ed il flusso dati (quindi creare un tuo protocollo). Sul server ad esempio continui a scrivere "manda i segnali ai client": cosa significa? Un server è un server, non "manda" nulla ma riceve le connessioni dei client e una volta instaurata la connessione TCP possono scambiarsi informazioni fino a che uno dei due non chiude la connessione.

Quindi resta valido almeno l'80% delle cose che ti ho scritto e consigliato di definire. Il progetto è tuo, quindi TU devi dire come lo immagini ed in pratica come va realizzato, non ti pare?

Alex "docdoc" - ** se ti sono stato d'aiuto, un punto karma sarà gradito ;-) **

Go Up