c0ldwater - arduino messaging system

Salve a tutti e innanzitutto grazie per esseri qui e per far parte di questa community :slight_smile:

Vengo subito al sodo: sono un appassionato di programmazione e HW design ed ho messo su un banale prototipo di server per scambiare messaggi tramite internet, solo che invece di utilizzare il solito vecchio ed ingombrate pc :slight_smile: ho cercato di ottimizzare il tutto per “piattaforma” arduino.

Dopo varie prove sia in locale che da remoto, qualcosa che potremmo definire come “un’infarinatura di alpha testing” :slight_smile: mi servirebbe una mano per stressare un pò di piu il server e far uscire fuori qualche bug, difetto, o semplicemente accorgersi di qualcosa che non funziona o che funziona male…

Intendiamoci, niente che abbia a che vedere con pen-testing o robustezza dell’infrastruttura (gira su VPS), ma un semplice aiuto per capire quali sono quelle pecche nelle quali potrebbe imbattersi un utente normale.

Spero di trovare qualcuno che possa darci un’occhiata e a tal proposito lascio il numero di ip del server, sul quale girano anche un server web e uno di posta: 5.9.252.156

Il progetto ha il mio stesso nick e per il resto potete trovare tutte le istruzioni e le informazioni a riguardo direttamente sul sito. Ovviamente rimane questa la sede dove spero di ottenere un primo feedback a riguardo.

Ed a questo punto non posso che ringraziare in anticipo tutti coloro che leggeranno :slight_smile:

E' una caccia al tesoro? :drooling_face:

Beh, direi proprio di no :slight_smile:

E allora perché non metti un link al blog, anche se è in inglese?

Ops, non avevo inteso...

Questo è il link: www.c0ldwater.com :-) ma l'indirizzo ip è lo stesso che ho scritto sopra :-)))

c0ldwater: ma l'indirizzo ip è lo stesso che ho scritto sopra :-)))

Appunto, una caccia al tesoro. :grin:

Poi darò un'occhiata al codice. ;)

x iscrizione

X iscrizione?

Mi sa che oggi sono un po lento...:-)))

No, è che non sei addentro alle usanze del forum. :sweat_smile: Se si vuole seguire un argomento che interessa scrivendo un messaggio, ad esempio un semplice "x iscrizione", e poi facile seguire le risposte premendo la scritta arancione in alto "Unread replies". Tutto qui.

Scusa, acquafredda. Cos'è che farebbe esattamente il tuo progetto? Perché dici che sleghi gli utenti dal PC? Per usare Arduino devo averlo attaccato al computer... o sbaglio? Cosa fa il tuo sketch? Crea un server? O si collega al tuo server? mi pare che il programma sia per Ethernet, shield o Arduino Ethernet? E chi non ce l'ha?

Ti faccio queste domande perché io ad esempio sono incuriosito ma non ho la suddetta roba per poter provare ;)

Grazie PaoloP per la delucidazione :-)

@leo72: la scheda arduino può essere utilizzata anche senza collegamenti al PC, basta avere un alimentatore Vdc. Chiaramente il discorso cambia se hai necessita di caricare lo sketch sulla scheda... Per quanto riguarda il programma di per se, questo una volta caricato non fa altro che connettersi al server e comunicare attraverso dei semplici comandi, impartiti dall'utente tramite tastiera ps/2 - collegata sempre alla scheda arduino, niente PC - che ti permettono di scrivere messaggi, leggere la lista di quelli che ti sono stati inviati, leggerli e cosi via. Chiaramente per fare tutto ciò è necessario essere connessi ad internet, da qui la necessita dell'ethernet shield. Per arduino ethernet invece che intendi? Una scheda con ucontrollore e w5100 insieme?

c0ldwater: Grazie PaoloP per la delucidazione :-)

Prego.

c0ldwater: @leo72: la scheda arduino può essere utilizzata anche senza collegamenti al PC, basta avere un alimentatore Vdc. Chiaramente il discorso cambia se hai necessita di caricare lo sketch sulla scheda...

Capito Leo... ti serve un alimentatore... :grin: @c0ldwater, prova a dere uno sguardo al numeretto che indica i post di Leo. ;)

c0ldwater: Per arduino ethernet invece che intendi? Una scheda con ucontrollore e w5100 insieme?

Si. Trovi quello e gli altri modelli di Arduino nella pagina del sito --> http://arduino.cc/en/Main/Products

c0ldwater: comunicare attraverso dei semplici comandi, impartiti dall'utente tramite tastiera ps/2 - collegata sempre alla scheda arduino, niente PC - che ti permettono di scrivere messaggi, leggere la lista di quelli che ti sono stati inviati, leggerli e cosi via.

Ah, ecco. questo non l'avevi specificato nel 1° post, e nemmeno che (ovviamente) serviva un display per vedere cosa stai scrivendo e cosa ricevi :D

Carina come idea, dai. Però non riesco a vedere applicazioni pratiche. Rispetto ad un telefonino, ad esempio, perché dovrei usare un Arduino con shield Ethernet collegato ad un router con una tastiera per PC ed un display 4x20 come monitor? Parlavi di "ingombrante PC" ma questo non è da meno :sweat_smile: :sweat_smile:

No in effetti non era specificato, ma basta dare una sbirciata al sito per vedere subito dal banner di che si tratta. Il sito è rudimentale, un semplice blog, così come il programma stesso non è nulla di fantascientifico, anzi...

Per quanto riguarda "l'ingombrante" pc, stavolta siete stati voi a non capire la mia ironia :-) Scherzi a parte, come giustamente facevi notare anche tu, al di la di alimentatori vari (ho visto ora il numero di post ;-), è difficile scollegarsi completamente dal mondo PC, non fosse altro perche bisogna programmare l'atmega. L'idea, pero, era invece quella di creare qualcosa di più interattivo dal punto di vista tecnico, ovvero non l'ennesimo sistema che si usa così com'è, ma qualcosa che si costruisce e si usa magari anche con qualche modifica, anzi forse proprio con quell'intento.

Per il resto non vedo motivi particolari per preferire una piattaforma ad un'altra, ma sicuramente l'idea di cosctuirmi da solo il mio sistema di messaging è qualcosa che dal punto di vista tecnico mi puo intrigare di piu :-)

Non mi permettevo di criticare il tuo progetto, era solo per analizzare pro e contro :open_mouth:
Certo, usare qualcosa realizzato in proprio… non ha prezzo! Vuoi mettere la soddisfazione? :wink:

leo72:
Carina come idea, dai. Però non riesco a vedere applicazioni pratiche. Rispetto ad un telefonino, ad esempio, perché dovrei usare un Arduino con shield Ethernet collegato ad un router con una tastiera per PC ed un display 4x20 come monitor? Parlavi di “ingombrante PC” ma questo non è da meno :sweat_smile: :sweat_smile:

L’idea è carina, approfondirò. Tra i Pro, confrontato con un cellulare, forse c’e’ il non dover imparare la programmazione lato cellulare che può essere ostica e con 3 piattaforme diverse, iPhone, Android e WinMobile.

Ho visto il codice. Nella parte di lettura della tastiera ci sono una serie di while. Se il collegamento dovesse interrompersi l'Arduino si blocca inesorabilmente. Dovresti prevedere un timeout sulla comunicazione con la tastiera. Forse in giro trovi anche qualche libreria giĂ  pronta.

Perché usi i pin A4 e A5? Sono quelli usati dall'I2C. Meglio preservarli per future espansioni.

PaoloP grazie intanto per i suggerimenti, sempre piu che apprezzati.

Per quanto riguarda il codice in generale, non mi aspetto di fare bella figura nel momento in cui questo venisse analizzato da qualcuno che sa il fatto suo. In effetti l'intento durante la stesura stessa del codice era quello di ottenere il prima possibile una versione del programma che mi permettesse di "rilasciare" una sorta di versione alpha, sulla quale poi effettuare le varie modifiche. Va da se che certe accortezze e' comunque buona regola adottarle, ma non mi meraviglia il fatto che si possano individuare facilmente punti da migliorare o funzioni che potebbero essere riscritte in maniera piu elegante.. Per non parlare poi del fatto che in realta quello che e' disponibile per il download non e' altro che il risutlato di una serie di piccoli "esperimenti", ovvero di prototipi che a loro volta svolgono una singola funzione, tipo ad esempio la lettura da tastiera o la scrittura su display lcd, o ne aggiungono delle altre. Anzi, forse potrei rendere disponibili anche quelli, magari a qualcuno potebbero interessare.

Relativamente alla scelta dei pin A4 ed A5, li ho usati perche' volevo evitare a priori il rischio di usare pin riservati allo shield ethernet. Se mi dici che entrambi hanno utilizzi particolari, potrei pensare di usare A1 ed A2, se non ci sono altre controindicazioni...

La Ethernet Shield usa i pin 4 per la SD , 10 per la parte Ethernet e 11, 12 e 13 per la comunicazione SPI. In alcuni modelli vengono usati anche i pin A0 e A1 per bloccare in sola lettura la SD ma è da verificare da scheda a scheda. Puoi usare sicuramente i pin A2 e A3. Dovresti inoltre cambiare nome allo sketch perché quello non viene caricato per limitazione sui nomi attribuibili. L'IDE è uno po' schizzinoso.

Tnx PaoloP, allora cambiero i pin...magari appena metto insieme i vari commenti di feedback potrei "rilasciare" un'altra versione con tutte le modifiche apportate.

Per il nome dello sketch vedo di fare le modifiche stasera stesso...ma levami una curiosita, visto che non ci ho fatto caso, ma il problema dell'IDE al quale fai riferimento si riscontra anche con linux o solo con windows? Io non ho windows e non ho mai notato difetti, magari pero non ci ho fatto proprio caso...