
![]() | #71 (permalink) Top | |
User Data registr.: 19-07-2008 Residenza: catania
Messaggi: 978
| Java & Arduino
ciao Davide.. ieri casulamente alla feltrinelli di catania, mi imbatto nel munale su Arduino: Il manuale di Arduino - Maik Schmidt - 2011 - Brossura - BOL.IT alla fine del manuale l'autore consiglia vivamente l'uso di java, offre inoltre il link per le librerie per la com... in sostanza il lavoro che ho fatto io inconsapevolemente è consigliato dall'autore.. che non so se mi spiego non è proprio un principiante.. ti consiglio di dare una lettura al testo giusto per veirifica.. Io purtroppo mi sono dovuto fermare, ho comprato casa... ma da settembre ricomincio a rompere le scatole.. voglio approfondire con Ardupilot.. capire gli schemi logici di sviluppo software e Hardware... .. a dopo fausto Citazione:
| |
![]() | ![]() |
![]() | #72 (permalink) Top |
User Data registr.: 10-04-2012
Messaggi: 6
|
ciao, non ho mai scritto su baronerosso prima, ma questa discussione mi appassiona e così mi sono fatto avanti per condividere la mia opinione. sto utilizzando anch'io una scheda arduino con finalità simili. premetto che la comunicazione seriale la sto affrontando tramite .net e l'ultima volta che avevo fatto qualcosa di simile l'unico linguaggio utilizzabile era il c++ e le seriali erano ancora a 9 pin. ma posso dire che tramite java e le api per la comunicazione seriale, il codice è pressoché identico a quello generato tramite .net. comandi simili, routine praticamente identiche, ecc quello che però volevo sottolineare, e che a me ha creato più pensieri, non è tanto il linguaggio usato per gestirla, quanto il messaggio in se. alla fin fine se ai due capi di una comunicazione seriale ho hardware differenti, che fanno girare ambienti differenti. cosa cambia l'ide o il linguaggio in cui sviluppo questa comunicazione? non sarebbe forse più "utile" invece decidere cosa e con che codifica verrà trasmesso lungo questo canale di comunicazione? mi permetto di fare queste osservazioni, perché un post molto tecnico e interessante, si sta trasformando nella classica discussione "MS vs RestoDelMondo" a cui assisto ogni giorno in pausa caffè. spero di non aver annoiato o irritato nessuno, non era mia intenzione. e grazie di condividere pubblicamente i vostri progetti e le vostre idee! |
![]() | ![]() |
![]() | #73 (permalink) Top | |
User Data registr.: 19-07-2008 Residenza: catania
Messaggi: 978
| !!??!!
ciao allora non sarebbe forse più "utile" invece decidere cosa e con che codifica verrà trasmesso lungo questo canale di comunicazione? cosa e che codifica verrà trasmesso.. la codifica è appunto definita dallo standard RS232... ..per approfondire questa discussione c'è tanto materiale in giro per la rete. Cosa viene trasmesso, solitamente numeri.. che l'hardware convertirà in segnali d'onda quadra piu o meno duraturi.. proporzionalmente appunto alla permanenza del segnale alto. Il linguaggo è ad alto livello è importante perchè grazie ad esso puoi sviluppare qualcosa che a prescindere dal sistema operativo funzionerà e non devi ricompilare e risolvere noiosi problemi di compatibilità di sistema. Oggi piu che mai è importate disporre di ambienti di sviluppo multipiattaforma.. ..fino a 10 , 15 anni fa regnava sovrano Windows.. ma oggi tra Linux. Mac e Windows è vera battaglia. io personalmente preferisco Linux o Mac.. però mi fa comodo usare un ambiente di sviluppo che si adatti anche a windows... per cui Java.. Infatti guarda caso l'IDe di Arduino è fatto in Java, ma non solo anche il software per programmare le schede KK per i multirotori.. e cosi via discorrendo.. ..no il tema non credo che sia banale.. non si offende nessuno tranquillo. Purtroppo mi sono dovuto fermare nello sviluppo ..perchè ho comprato casa.. mi sono promesso che da Settembre si ricomincia.. a dopo Citazione:
| |
![]() | ![]() |
![]() | #74 (permalink) Top | |
User Data registr.: 12-04-2006 Residenza: Mondovì
Messaggi: 103
| Citazione:
Per quanto mi riguarda la mia era un'osservazione dovuta al fatto che le librerie in java fossero di difficile reperibilità, che è un dato di fatto non espresso dal sottoscritto. Che l' IDE di Visual studio sia un ottimo IDE (neanche lontanamente paragonabile ad Eclipse, che pure uso tutti i giorni) è pure un dato di fatto, anche se Eclipse ha delle funzionalità che mi farebbero comodo in VS. Che dovendo sviluppare in multipiattaforma costretto con le spalle al muro IO non userei il java ma andrei su Firemokey è una mia opinione personale, ma è suffragata dal fatto di averli provati entrambi. Si può discutere fino a che si vuole, ma il mio presupposto di partenza è che io con la programmazione ci mangio, spendere 3000 euro per un IDE non è un tabù, se questo investimento mi ripaga in maggiore produttività. Non è mia intenzione scadere in una diatriba Microsoft contro tutti, e non mi si può certo additare come uno dei fans di microsoft (leggere sul mio blog il mio pensiero sul .NET Micro Framework, o su Windows 8), ma mi piace parlare di cose che conosco, e non per sentito dire. Java l'ho provato, l'ho trovato improduttivo per quello che è il mio lavoro, l'ho scartato. Quando ho dovuto lavorare con android ho paragonato Java al Basic4Android... Uso quest'ultimo, anche se l'ho dovuto pagare. In un post in questo forum ho pubblicato anche foto di alcuni miei lavori elettronici, l'ultimo raccontava di una mia cavolata, una pista dimenticata (cercare "maccheroni"), e nel tempo che è passato dalla pubblicazione ad oggi ho chiuso il progetto... con un firmware che gira su FreeRTOS con 8 task paralleli, uno dei quali gestisce in hardware l'USB, uno gestisce un flusso audio real time stereo a 22KHz per 16 bit, un'altro gestisce una scheda di memoria con FAT32 sulla quale sono salvati i sample audio. Il tutto viene configurato tramite programma PC via USB o da telefonino android via SMS. Questo giusto per chiarire il mio pensiero, a scanso di equivoci. Scusa la brutalità e la franchezza. Per .NET, ti consiglio di dare un'occhiata a questo articolo, scritto da un pirla che conosco bene, e che contiene molte informazioni che spero troverai utili Porte Seriali e VB.NET Ultima modifica di Davide B. : 11 giugno 12 alle ore 16:33 | |
![]() | ![]() |
![]() | #75 (permalink) Top | |
Adv Moderator Data registr.: 15-08-2007 Residenza: sto a Massa ma sono molto Positivo
Messaggi: 12.071
| Citazione:
QT Libraries, per le gui e mi trovo divinamente. GCC su AVR e ARM mi trovo benissimo ugualmente. Java mi ha sempre dato rogne anche se lo usa pesantemente la IDE che utilizzo (netbeans). Credo che alla fine la differenza la faccia il background di formazione personale.
__________________ Vivere in qeusto mondo e molto belo belo e vale la pena starci ma a volte in questa UNICA vita che ci apartiene posono succedere cose brute brute alora mi chiedo perche siete incazziati domani pole esere anche lultimo Grazie "TRANQUILLO" FAI 15766 | |
![]() | ![]() |
![]() | #76 (permalink) Top | |
User Data registr.: 10-04-2012
Messaggi: 6
| Citazione:
con "codifica" intendevo proprio la definizione del dizionario: "riunire in un codice". e non mi riferivo ai dati inviati sulla seriale come segnali, ma qualche livello protocollare sopra: ovvero la struttura dei pacchetti dati, la composizione dei frame, il payload, ecc ergo, via seriale la comunicazione è gestibile tranquillamente con qualunque tipo di linguaggio. ma un protocollo di comunicazione (inteso come insieme di regole comune tra i due interlocutori che sono due entità ideali, quindi esulando dal mero contesto di comunicazioni digitali) è ben altra cosa. nel mio caso specifico trasmetto da un pc un insieme di pacchetti ad arduino, che si occuperà poi di convertire le mie istruzioni in segnali PPM. si tratta quindi di inviare i dati legati a diversi canali. la comunicazione è a senso unico, arduino non ha nulla da dirmi di "interessante" se non darmi l'ack della ricezione del pacchetto. e qui sorgono le prime domande: ma come strutturo l'informazione? devo specificare un id canale e un valore da convertire. e che valore scelgo? in che formato? e la regolazione dei trim? la includo in maniera trasparente? e preventivo un id univoco per i pacchetti? e cosa faccio con i pacchetti non sincronizzati? li reinvio o li ignoro? ecc, ecc sempre con l'ottica di contenere il payload, di non incapsulare più di tot volte i dati in altri protocolli, e di assicurare una comunicazione funzionale e con il minor numero di errori. spero di essermi spiegato al meglio ed aver inquadrato il contesto corretto della mia opinione: non è importante come gestisci la comunicazione, ma cosa trasmetti. Ultima modifica di riki1681 : 11 giugno 12 alle ore 17:27 | |
![]() | ![]() |
![]() | #77 (permalink) Top | |
User Data registr.: 19-07-2008 Residenza: catania
Messaggi: 978
| ok
ok ho capito.. la domanda è intelligente invece. Dunque.. mi sono passato il tempo su quello che tu chiedi, ho fatto una realizzazione usando il PIC 16F876,, ma è lo stesso se usi Arduino.. insomma un PC ha dei tempi che non possono essere utilizzati per produrre un PPM, se proprio volessimo forzare tale sistema intaserebbe il canale di comunicazione .. rendendolo inutilizzabile .. dunque la faccenda l'ho risolta così, dal Pc devono viaggiare solo i dati di variazione dei segnali... anche se ne cambia uno di essi il PC trasferisce tutti i 7 i segnali, nel caso si trattasse di un 7 canali appunto. Quindi l'ordine di arrivo sarà la destinazione del canel in questione.. Nel Micro occorre creare un sistema di buferizzazione... che in base all'ordine d arrivo destinerà quel segnale al pin di uscita opportuno.. Ogni canale potrebbe essere controllo motori, servi, e qualunque regolazione PWM di un volume.. Poi ovviamente si può realizzare anche un sistema inverso ovvero dai sensori veerso un PC... con questa logica funziona tutto ho provato e collaudato , spero di aver risposto alla tua curiosità fausto Citazione:
| |
![]() | ![]() |
![]() | #78 (permalink) Top | |
User Data registr.: 19-07-2008 Residenza: catania
Messaggi: 978
| Ok
java da rogne se non si studia!! java è fortemente orientato agli oggeti, necessita di conoscenze su UML, sull'uso per esempio delle interfacce.. dell'ereditarietà, il polimorfismo.. ecc... se usato bene permette di realizzare software scalabili e riusabili, infatti i tecnici di Arduino si sono orientati su Java... le QT un tempo le ho usate.. ottime librerie.. le trovo obsolete.. spesso le soluzioni veloci non sono le migliori! a dopo fasuto Citazione:
| |
![]() | ![]() |
![]() | #79 (permalink) Top | |
User Data registr.: 19-07-2008 Residenza: catania
Messaggi: 978
| --
perdonami forse sono stato un pò aggressivo, comunque giusto per non criticare e andare via... mi sono permesso di risponderti con piu garbo.. ti offro un link dove meglio di me spiegano il perchè Java è forte e robusto e soprattutto permette la scrittura di codici riusabili.. cosa importante per uno sviluppo di proporzioni ragguardevoli, tipo Ardupilot, o KKMulticopter Flash Tool e software simili che interagiscono con Arduino. MokaByte Numero 34 - Ottobre 99 - Le interfacce in Java ecco leggendo capirai i concetti più interessanti d questo linguaggio, pensa la Oracle ha "sposato" java ... ho amici che lavorano con questo strumento dalla STMicroelectronics, alla Oracle ecc.. a basso livello invece ovvero sul Microcontrollore va bene qualuque linguaggio.. ..purchè si abbia conoscenza del datasheet e delle caratteristiche del Micro in Uso... lavorare nel buio non conviene.. poi aggiungo un link interessante: Software con qesta libreria.. puoi acquistare un interfaccia Hardware Da USB to RS232 e lavorare come se avessi una seriale su tuo PC.. a dopo fausto Citazione:
| |
![]() | ![]() |
![]() | #80 (permalink) Top | |
Adv Moderator Data registr.: 15-08-2007 Residenza: sto a Massa ma sono molto Positivo
Messaggi: 12.071
| Citazione:
Incompatibilità fra macchine virtuali, fra diverse versioni dello stesso produttore, tempi di loading pazzeschi, utilizzo di risorse spropositato, ogni volta era una lotta: Era nato per essere portabile e invece non ti puoi neanche permettere di fare upgrade di sicurezza che ti si pianta l'applicazione che funzionava correttamente due versioni prima. Tutte le caratteristiche che hai elencato del java i C++ ce le ha. Comparison of Java and C++ - Wikipedia, the free encyclopedia e ne ha anche qualcuna in più tipo l'aritmetica unsigned. Tutti gli esempi che trovi di arduino sono in C/C++ Scusa la franchezza ma quando dici che i tecnici di arduino si sono orientati su java, si lo hanno fatto sull'interfaccia, ma tutto il resto è programmato in C. Che le QT siano obsolete, bah contento tu.... mai vista tanta sicumera. Saluti
__________________ Vivere in qeusto mondo e molto belo belo e vale la pena starci ma a volte in questa UNICA vita che ci apartiene posono succedere cose brute brute alora mi chiedo perche siete incazziati domani pole esere anche lultimo Grazie "TRANQUILLO" FAI 15766 Ultima modifica di romoloman : 13 giugno 12 alle ore 11:22 | |
![]() | ![]() |
![]() |
Bookmarks |
| |
![]() | ||||
Discussione | Autore discussione | Forum | Commenti | Ultimo Commento |
Coassiale mixed controller con arduino | catman | Circuiti Elettronici | 12 | 01 aprile 11 23:17 |
quadricottero con arduino 2009 | sailormann26 | Aeromodellismo Progettazione e Costruzione | 0 | 27 dicembre 10 23:12 |