Go Down

Topic: Codice, codice e ancora codice (Read 3235 times) previous topic - next topic

zurigo

Salve community Arduino!

Oggi sono riuscito finalmente a collegare la mia Arduino al router DIR- 300 (dlink) fisicamente saldando tre cavi sulla porta seriale del router e collegandoli ad Arduino (gnd del router su gnd di Arduino, tx del router su rx di Arduino e rx del router su tx di Arduino)

Ora manca solo il codice.

Vi chiedo aiuto perchè non so da che parte iniziare e che protocolli usare per la comunicazione.

Grazie!

tazzo

Ciao,
Cosa vuoi fare col router?

zurigo

Il router dovrebbe portare dei dati che invio io al al seriale su Arduino.

E' un po' come con Fonera e Arduino, ma non so come fare con il dir 300

FEDERICO

Hai gia' installato sul tuo router un sistema operativo che tu possa utilizzare, come ad esempio il dd-wrt?
Federico - Sideralis
Arduino &C: http://www.sideralis.org
Foto: http://blackman.amicofigo.com

zurigo

#4
Jul 21, 2011, 10:14 am Last Edit: Jul 21, 2011, 10:15 am by zurigo Reason: 1
Si, è già provvisto di dd-wrt. E' stato facile, con la versione b1 è bastato installare dd-wrt direttamente dalla pagina di amministrazione.

zurigo

Ho anche già saldato i cavi sulla porta seriale del router.

lestofante

arduino come al solito usa Serial e va liscio.
Lato router devi farti il programma come se fosse un normale PC. Problema: NON usare processing che il router non supporta interfaccie grafiche, e quindi NON va.
Se scrivi il programma in java, puoi usare direttamente la libreria TXRX, però devi installare la JRE (sun o openJDK) sul router. Vantaggio: compili sul PC senza problemi, e uppi i file.class sul router e funziona tutto (salvo interfaccie grafiche)
Se scrivi in C o C++, non conosco alcuna libreria (ma ce ne sono tantissime) e non devi installare nulla sul router. Se non hai GCC sul router, o lo installi, e compili direttamente dal router, oppure fai una cross-compile da PC e uppi l'eseguibile creato.

Puoi imparare a compilare e uppare gli sketch da riga di comando, e quindi usare il router anche per programmare arduino...
Guida per principianti http://playground.arduino.cc/Italiano/newbie
Unoffical Telegram group https://t.me/genuino

zurigo

Gentilissimo, mi sai consigliare che gcc installare su dd-wrt? Di spazio sul dir 300 ce ne è abbastanza (32mb)

lestofante

la 4.6.1, è la più aggiornata e non da problemi. Se la usi anche per programmare arduino (e quindi installi i vari pacchetti avr), controlla di non essere affetto dal bug del delay
Guida per principianti http://playground.arduino.cc/Italiano/newbie
Unoffical Telegram group https://t.me/genuino

zurigo

#9
Jul 21, 2011, 01:25 pm Last Edit: Jul 21, 2011, 01:36 pm by zurigo Reason: 1
Ho cercato, ma non trovo nessuna guida su come installare gcc su dd-wrt! Mi sai aiutare?

Poi, mi potresti dare delle info su come uppare gli sketch da riga di comando (sempre con il router) ? Per fare questo dovrei stabilire una connessione tra arduino e router e tra router e Mac, ma come posso fare?

Altra cosa: che protocolli dovrebbe usare il mio programmino in C per far comunicare il tutto?

Grazie

lestofante

allora, prima di tutto per comunicare si usa il protocollo seriale, se cerchi sicuramente c'è una guida in C con libreria annessa che spiega tutto.
Per la compilazione e l'upload, cerca qualche guida sil file preferencies.txt di arduino IDE: è possibile settare 2 parametri per cui arduino, quando compila, ti mostra cosa sta facendo (ti scrive i comandi)
per GCC ho dato un'occhiata veloce, devi fare una cross-compilazione. nulla di facile, soprattutto per grossi progetti, mi sa che ti conviene usare il PC per programmare arduino, e magari java (se ci sta) per il programma sul router.
infine la comunicazione pc->router credo che si faccia in ssh, quello che probabilmente hai usato per settare il SO sul router!
Guida per principianti http://playground.arduino.cc/Italiano/newbie
Unoffical Telegram group https://t.me/genuino

Seppe

#11
Jul 21, 2011, 07:21 pm Last Edit: Jul 23, 2011, 10:26 am by seppe Reason: 1
Se il router è già provvisto di dd-wrt, potresti connetterti al router via telnet o ssh e poi utilizzare la porta seriale mappata sul sistema operativo linux che usa dd-wrt. Infatti nella directory /dev del tuo router dovresti trovare una porta tipo tts
Ne segue che potresti fare una cosa del tipo:

Code: [Select]
echo 123 > /dev/tts/0

con questo comando invii il valore 123 sulla porta seriale alla quale è in ascolto arduino...

Ti aggiungo un link al mio blog, dove faccio la stessa cosa con una fonera+ (il procedimento è lo stesso... XD)

http://giuseppefatiguso.wordpress.com/2011/06/02/arduino-wifi-con-fonera/

Spero di esserti stato utile...

seppe

bit80

Ciao a tutti,

vorrei creare un app Android per comunicare via telnet con "Fonera + Arduino", potete aiutarmi?

Grazie


Seppe

Non credo ci sia bisogno di una app...

Connettiti alla Fonera, poi sul tuo Android, cerca la console (o terminale non so come la chiama).

Avrai di fronte una shell a linea di comando linux, a questo punto devi dare i comandi:

Code: [Select]
telnet num.indirizzo.ip.fonera

ora sei connesso alla fonera, quindi puoi darle i comandi sulla porta seriale...

Se poi vuoi farti una cosa un po' semplificata con interfaccia grafica, allora devi scriverti una app... ma te lo consiglio solo se i comandi da dare sono pochi e sempre gli stessi, così da agganciarli a dei pulsanti, altrimenti se li devi scrivere ogni volta pure dalla app è tempo perso...


seppe

bit80

Ciao seppe,

vorrei proprio creare una app Android grafica (pulsanti) cosi da poter dare sempre gli stessi comandi.
Ho già installato l' Ambiente di Sviluppo Android (Eclipse + Android)... ma non so da dove iniziare!  :(

bit80

Go Up