Uso professionale di Arduino

Per la mia Azienda sto sviluppando piccole applicazioni, poco impegnative a dir la verità, che cmq sono nel dominio dell'utilizzo professionale.
Precedentemente, queste applicazioni, ci venivano sviluppate da una Azienda esterna, utilizzando dei Fujitsu a 16 bit della serie 16FX, comq oggetti a 4 Mhz, e applicazioni non certo da strapparsi i capelli.

Adesso, visto l'incremento delle funzioni richieste, di cui qualcuna critica, abbiamo deciso di costruirci applicazioni in Home, delegando il solo montaggio dell' hardware.
All'uopo ho esaminato alcune alternative, come l'impiego di PIC serie 18, ATmegaxxx, e il Sistema Arduino, con eventuali sue varianti con AT644 , AT128, e AT1284.

Diciamo che per alcuni punti sarei tentato dalla piattaforma di Microchip, con i PIC (nel caso potrei fare, in futuro, una migrazione indolore nel mondo a 16 bit e financo ai DSP - dsPIC33), però, per applicazioni di tipo PLC molto semplici, ho bisogno di un Time-to-Market molto ridotto, a cui risponde bene l'ambiente Arduino.

In quest'ultimo caso vorrei sapere se:

  1. Posso usare un ambiente (IDE) professionale come ATMEL Studio 6.1, e importare le librerie di Arduino per poter utilizzare il linguaggio immediato, proprio del sistema? Ovviamente non facendo casino con le librerie AVR di ATMEL Studio.

  2. Nel caso dell'utilizzo dell'IDE di Arduino, è possibile recuperare da qualche parte il file-programma in formato HEX, in modo da programmare ISP il Chip?

Thanks

Rispondo alla seconda domanda: sì, l'IDE prima trasforma lo sketch in un file hex e poi lo carica nel micro; ti basta attivare la modalità "verbose" per localizzare poi facilmente la cartella temporanea in cui viene inserito il file hex

Grazie Michele, ma mi sovviene la domanda: Come si attiva la modalità "Verbose". Immagino da riga di comando. Dammi la dritta...

File->Preferenze->Mostra output verboso quando:

Ok, adesso provo...

Questa modalità è presente solo nell'IDE nuova. Nella vecchia 0023 non c'è!

BaBBuino:
Questa modalità è presente solo nell'IDE nuova. Nella vecchia 0023 non c'è!

sì che c'è solo che non è parametrizzata, se non ricordo male bisogna tenere premuto un tasto (shit o ctrl, a mia memoria) prima di avviare la compilazione e mantenerlo premuto, fai la prova, se non va ti trovo io il tasto, ma dovrebbe essere quello :wink:

Ci sono molti tutorial su internet su come integrare le libreria di Arduino in Atmel Studio
Puoi partire da
--> http://arduinoinstaller.codeplex.com/
--> http://www.visualmicro.com/

e poi passa alla versione 1.0.x... la 0023 è "vecchia" :grin: (Anche Michele ha fatto il salto!!)

Ricordati la questione delle licenze usate da Team Arduino. Se ne è discusso molto sul forum.

Grazie, oggi studio la migrazione dell'IDE.

Per favore dammi un link alla questione delle licenze che lo giro all'Ufficio Tecnico.

Grazie anche a Michele, ma sarà l'occasione per passare alla 1.0.x? :grin:

Inizia da qui --> http://forum.arduino.cc/index.php?topic=154197.0
Non guardare la mia prima risposta parzialmente errata. Leggi tutto il topic e quelli segnalati da Leo.

BaBBuino:
Grazie, oggi studio la migrazione dell'IDE.

Per favore dammi un link alla questione delle licenze che lo giro all'Ufficio Tecnico.

Grazie anche a Michele, ma sarà l'occasione per passare alla 1.0.x? :grin:

Figurati, sempre a disposizione XD
Si, passa tranquillamente, non hai nulla da studiare, a meno che non usi la programmazione ISP; ci sono delle varianti piccole ma importanti, però sulla mia Guida ho messo un paragrafo apposito, non puoi sbagliare :wink: L'altra questione riguarda le librerie, devi adottare quelle specifiche per 1.0.x, altrimenti ottini un errore, al quale si pone rimedio inserendo una serie di righe nella lib stessa, a titolo definitivo.
Quindi vai tranquillo e se ti serve aiuto siamo qui. :slight_smile:

Incredibilmente funziona tutto (la versione per AVR Studio 6.0). Mi sembra fin troppo strano...

Però è solo il solito Hello World. Domani provo a testare i miei schetch più complicati.

Per quanto riguarda l'utilizzo per scopi commerciali di Arduino devi stare bene attendo a cosa utilizzi e come. L'IDE di Arduino, così come le sue librerie, sono fornite con licenza LGPL, ovvero puoi usarle per scopi commerciale senza dover distribuire il codice che crei, salvo le modifiche che apporti alle librerie stesse.

Ci sono invece altre librerie che trovi a giro (ne sono un esempio tutte le librerie del buon leo) che invece hanno altre licenze, la più comune è la GPLv3. Questa licenza ti vincola a distribuire tutto il codice che crei a partire da quelle librerie, quindi è da valutare se per la tua azienda è un problema rendere pubblico il codice che crei o meno, nel qual caso non puoi utilizzare queste librerie.

Janos:
Per quanto riguarda l'utilizzo per scopi commerciali di Arduino devi stare bene attendo a cosa utilizzi e come. L'IDE di Arduino, così come le sue librerie, sono fornite con licenza LGPL, ovvero puoi usarle per scopi commerciale senza dover distribuire il codice che crei, salvo le modifiche che apporti alle librerie stesse.

Ci sono invece altre librerie che trovi a giro (ne sono un esempio tutte le librerie del buon leo) che invece hanno altre licenze, la più comune è la GPLv3. Questa licenza ti vincola a distribuire tutto il codice che crei a partire da quelle librerie, quindi è da valutare se per la tua azienda è un problema rendere pubblico il codice che crei o meno, nel qual caso non puoi utilizzare queste librerie.

io mi sono sempre chiesto però come poter far valere questa licenza.
si veda una famosa azienda per pc che usa kernel unix da tempo ma di sorgenti non ha rilasciato neanche un .h

poi nei microcontrollori è ancora più difficile verificare questa cosa, un software compilato in hex e caricato sul micro anche se poi "riscaricato" dal micro come si può dimostrare che ha utilizzato una mia ipotetica libreria che avrei rilasciato in gpl?

Bhè, il software non si vede, quindi sarebbe molto difficile capire che in un software è stata usata una certa libreria o meno. Sta anche nel buonsenso non utilizzare librerie di persone che si sono sbattute per scrivere codice "educativo" (che è lo scopo della GPL) per scopi commerciali ma utilizzare solo codice di persone "consensienti" (LGPL).

Di quale azienda linux parli? Se intendi Redhat questa a pagamento ti fornisce assistenza tecnica ma i sorgenti sono pubblici e la distro open di redhat si chiama Fedora. Se non intendevi Redhat chievo venia... :wink:

Comunque se una persona vuol far valere una certa licenza in genere lo scrive in testa ai sorgenti stessi, quindi è impossibile che non tu la veda. Non so se esistono altre forme legali per far valere una data licenza (ad esempio non so se va comunicato a qualche ente che il mio software è LGPL piuttosto che GPLv3 piuttosto che altro prima di poterlo scrivere nei sorgenti).

Janos:
Bhè, il software non si vede, quindi sarebbe molto difficile capire che in un software è stata usata una certa libreria o meno. Sta anche nel buonsenso non utilizzare librerie di persone che si sono sbattute per scrivere codice "educativo" (che è lo scopo della GPL) per scopi commerciali ma utilizzare solo codice di persone "consensienti" (LGPL).

Di quale azienda linux parli? Se intendi Redhat questa a pagamento ti fornisce assistenza tecnica ma i sorgenti sono pubblici e la distro open di redhat si chiama Fedora. Se non intendevi Redhat chievo venia... :wink:

Comunque se una persona vuol far valere una certa licenza in genere lo scrive in testa ai sorgenti stessi, quindi è impossibile che non tu la veda. Non so se esistono altre forme legali per far valere una data licenza (ad esempio non so se va comunicato a qualche ente che il mio software è LGPL piuttosto che GPLv3 piuttosto che altro prima di poterlo scrivere nei sorgenti).

aziende non intendevo redhat che come canonical punta sull'assistenza ma su un marchio moooolto più noto che usa tanto la i nei suoi prodotti :roll_eyes:

ma allora anche le licenze creative commons hanno valore legale nullo?

Perché valore nullo? Arduino appunto è fornito con licenza CC-SA, ovvero share alike, quindi sei obbligato a redistribuire tutte le modifiche che apporti al software originale. Quello che crei, invece, resta tuo.

Non credo che vada comunicato a nessun ente (se non magari per ottenere assistenza legale) quale tipo di licenza TU vuoi assegnare al TUO lavoro ... intendo dire, dato che il lavoro in questione e' una tua proprieta' e frutto della tua fatica, sei solo tu a poter decidere cosa vuoi farne, e non puo, ne tantomeno deve, esserci una qualsiasi altra autorita', compagnia, associazione, governo, o il padreterno in persona a darti il "permesso" di fare quello che vuoi con cio che e' tuo.

Almeno, in una societa' civile ed etica, che consideri la giustizia un valore da rispettare ...

(poi il fatto stesso che qualcuno possa fregarti il tuo lavoro e tu debba richiedere assistenza legale perche' ti sia riconosciuto, ed anche in questi casi tu possa trovare un giudice che nonostante le prove in tuo favore ti dia torto con un cavillo per favorire qualcuno con molti piu soldi di te, fa capire quanto civile ed etica sia la nostra societa' ... ma quello e' un'altro discorso :stuck_out_tongue: XD)

EDIT: > Michele: metti via la bacchetta, NON sto parlando di chi credi tu :wink: XD

Janos:
Perché valore nullo? Arduino appunto è fornito con licenza CC-SA, ovvero share alike, quindi sei obbligato a redistribuire tutte le modifiche che apporti al software originale. Quello che crei, invece, resta tuo.

e questo è giusto da un punto di vista etico morale ecc..
ma se un giorno io prendessi il software di arduino per fare un mio prodotto commerciale modificando il core ma non redistribuendolo e poi un giorno mr. B. lo venisse a scoprire e volesse portarmi in tribunale la lincenza cc ha valore?

dico questo perchè mi sono venuti in mente certi casi di plagio musicale non ritenuti tali perchè la canzone originale non era mai stata presentata alla siae...

Dipende anche da dove ha sede legale la tua Azienda.