Arduino Yún

Ricorda di prendere anche il cavetto per l'antenna esterna. :grin:

@Lock
Guarda guarda cosa c'è dentro Bridge.cpp

 // Wait for U-boot to finish startup
  do {
    dropAll();
    delay(1000);
  } while (stream.available()>0);

L'Arduino aspetta che il "sottomarino" sia terminato prima di effettuare qualsiasi operazione.
Questo vuol dire che parte dei messaggi passano per la seriale connessa con Arduino.

No, perché il bootloader del 32U4 aspetta un eventuale sketch per 8 secondi, perdendo tempo.
Devi sempre accendere lo YUN e poi riavviare solo l'AR.

Visto che non tutti leggono la sezione internazionale metto il link qui
--> GitHub - arduino/linino :grin:

Ho notato che le librerie per la YUN fanno massiccio uso dell'oggetto String.
Un piccolo sketch occupa un quantitativo di memoria elevato se paragonato ad un classico sketch per la UNO.
Considerando che inoltre si ha a disposizione solo 28K di Flash su 32 bisognerà lavorare di fino per ottimizzare il codice.
Comunque poter salvare su SD script da far eseguire su comando all'AR dovrebbe risolvere molti problemi. (toccherà imparare a programmare in pyton :D)

Ma visto che Linino è una Linux, non ci si possono scrivere programmi in linguaggi tipo C? Che genere di binding esistono per gestire le periferiche del processore? Solo per il Python?

Ma dovresti avere la toolchain per compilarli.
L'interprete Pyton invece è già incluso.

leo72:
Ma visto che Linino è una Linux, non ci si possono scrivere programmi in linguaggi tipo C? Che genere di binding esistono per gestire le periferiche del processore? Solo per il Python?

Al di là del compilatore con Python è molto più immediato fare programmi complessi senza avere conoscenze approfondite, che ti servirebbero obbligatoriamente in C.

@Paolo:
Per il C sì. Ma altri binding per altri linguaggi interpretati diversi dal Python non sono forniti, quindi?
Perciò, o python o morte? :smiley:

@ratto:
non so perché ma ho un'avversione per il Python... :roll_eyes:
E dire che tempo fa mi misi di buzzo a studiarlo, ma proprio non ce la faccio. E' una questione di simpatia, ed il Python è un linguaggio che non mi sta simpatico. ]:slight_smile:

leo72:
@ratto:
non so perché ma ho un'avversione per il Python... :roll_eyes:
E dire che tempo fa mi misi di buzzo a studiarlo, ma proprio non ce la faccio. E' una questione di simpatia, ed il Python è un linguaggio che non mi sta simpatico. ]:slight_smile:

Pure io sul pc non l'ha mai usato perchè non mi piaceva l'ambiente su windows, poi quando è arrivata la raspy mi sono messo li un poco per volta e a dirla tutta mi ha dato qualche soddisfazione, con il minimo di sforzo riesci a fare programmi anche con GUI che per farti un esempio, in Java devi romperti la testa per qualche ora con python in 10 minuti l'hai fatto.

lock:
Il SoC non e' un oggetto con cui giocare tanto impudemente, se vuoi quel tipo di sviluppo in cui smanazzare con uboot ti serve necessariamente un jtag PROFESSIONALE, e/o attrezzatura per dissaldare, pastrugnare ecc, con componenti molto piu' delicati del blando smd hobbisti, quindi con Yun hai sbagliato target, e sicuramente e' chiarissimo, a rigore dovresti comprarti una scheda di sviluppo comprensiva di jtag serio che costa un fattore 100, ma c'e' un altro errore di concetto: Yun da quanto ho capito non nasce per smanazzare con linux e con un firmware complicatissimo, Yun nasce come accessorio wifi accanto ad un oggetto semplice come Avr8.

Nel mondo dei router casalinghi con openWRT si usano Jtag su parallela o più moderne USB Jtag come il Bus-pirate e il TUMPA. Costano sui 30 euro con spedizione inclusa.
Piuttosto una memoria flash SPI forse è leggibile con un comune adattatore per SD su USB. La memoria flash del Nintendo 3DS è stata letta con un comune adattatore USB per SD perché l'interfaccia è identica. Su Linux si è usato dd mentre con Windows un programma qualunque che scrive immagini come win32diskimager. Hanno usato la stessa tecnica che si usa per interfacciare una SD con Arduino.

PaoloP:
Altrimenti questa monodirezionale (http://www.ebay.it/itm/ANTENNA-YAGI-WIFI-WLAN-RETE-WIRELESS-25dbi-2-4G-RP-SMA-/300836653534?pt=LH_DefaultDomain_101&hash=item460b4309de&_uhb=1) per sniffare il traffico del palazzo di fronte. ]:smiley:

Ho dei seri dubbi che si tratti di una direttiva. Ne ho preso una simile e si è comportata peggio di una omnidirezionale. Se fosse una direttiva Yagi dovrebbe avere tutti gli elementi passivi di lunghezza diversa (nella foto sono tutti uguali) e montati a distanze diverse (nella foto la distanza è la stessa per tutti), quelli più vicini al dipolo a distanza minore di quelli più lontani.

Lo sniff si può fare ma non è cosa da discutere perché è illegale.

ma immagino che anche i pithon ad un certo punto passi o per il c o per il SO, quindi non dovrebbe essere troppo complesso fare il codice equivalente in C.

Il phyton l'ho visto poco, ma ricordo mi piacque per il fatto di obbligarti ad avere codice identato coe si deve, ed essere pulito

PaoloP:
Ho notato che le librerie per la YUN fanno massiccio uso dell'oggetto String.
Un piccolo sketch occupa un quantitativo di memoria elevato se paragonato ad un classico sketch per la UNO.
Considerando che inoltre si ha a disposizione solo 28K di Flash su 32 bisognerà lavorare di fino per ottimizzare il codice.
Comunque poter salvare su SD script da far eseguire su comando all'AR dovrebbe risolvere molti problemi. (toccherà imparare a programmare in pyton :D)

Tutto dipende dal fatto che la libreria di Bridge porta il terminale di comando sull'AVR, quindi ASCII con conseguente spreco di RAM, una pessima scelta progettuale.

Anche io in un post precedente esprimevo perplessità al riguardo, la parte di protocolli web la fa tutta il SoC ma alla fine si finisce per consumare comunque la RAM o la Flash (se si memorizzano le stringhe nella memoria Flash).
Inoltre di default non c'è nessuna gestione diretta delle connessioni, quindi per ora non si può aprire una socket TCP o UDP per farci quello che si vuole, ma solo passare attraverso Temboo. E' vero che aggiungere queste funzionalità non dovrebbe essere troppo difficile, però siamo sempre al discorso della Ferrari con le ruote della Panda, un po come la Shield WiFi :frowning:

Saluti,
Dario.

Arrivata e collegata.

PaoloP:
Arrivata e collegata.

E ???

Bene.... ho bisogno di aiuto!!
questo "tonto" del mio PC non mi risolve il nome arduino.local, non restituendomi l'indirizzo ip, quindi non mi posso collegare alla YUN se non mettendo l'indirizzo nella barra.
Poi il browser, non risolvendo l'indirizzo, mi rimanda a google dove cerca "arduino.local".

Secondo voi è colpa del router la non risoluzione dell'indirizzo o qualche impostazione strana del wifi.
Considerate che io ho un router con switch integrato, allo switch sono collegati il PC1 e il PC2, Arduino con ethernet shield e Fonera.
La Fonera (wifi) è sulla stessa sottorete del router principale e assegna gli indirizzi IP sfruttanto il dhcp del router, per cui è trasparente. Sulla Fonera c'è DDwrt.

p.s.
Il pannello LuCI è fantastico.

PaoloP:
Il pannello LuCI è fantastico.

Cos'è?

Panello amministratore di linino.
Ci sono mooolte opzioni. :slight_smile:

Un pò come la GUI di DD-wrt ma molto più curata.

Luci mi sembra si chiami anche l'interfaccia ufficiale fonera

Sapete come funziona mDNS?
Per inviare la richiesta il protocollo deve essere installato sul client immagino. Dando per scontato che Bonjour lo eviterò come la peste, come faccio a inviare la richiesta multicast alla quale dovrebbe rispondere lo YUN passandomi il suo IP? Ho Windows 7.

Denghiu!