Arduino UNO Q e "salti" tecnologici

Anche se riguarda propriamente Arduino, scrivo qui perché è più che altro una mia impressione, da "vecchio" appassionato di elettronica e di Arduino in particolare, e vorrei capire meglio. Premessa: ho 66 anni, informatico (ambiente Windows soprattutto ma anche Linux), e da oltre 10 anni "gioco" anche con Arduino e simili (diciamo UNO R3, Mega, Nano, Micro, oltre ai vari ESP8266 partendo da WeMos D1 R1, R2, mini...) realizzando vari progetti sia per puro divertimento sia per risolvere qualche cosa pratica (es. un pannello per Flight Simulator, un ripetitore di telecomandi via WiFi, eccetera) e mi sono sempre trovato bene.

Poi è venuto Arduino Uno R4 che ancora non ho mai usato. Ha molte cose utilissime soprattutto il Wifi e Bluetooth, che mancavano alla R3 (ma anche la matrice di led, che a me sembra una pacchianata inutile, ma vabbè...), e, anche se ho visto che ci sono varie librerie non (ancora) compatibili, è una delle mie scelte per i prossimi progettini (anche se ho una scatola con ancora almeno due UNO R3, un Mega, un Nano, un paio di Wemos D1 che attendono un progetto). Poi ci sono anche gli ESP32, ancora più interessanti perché più potenti, più memoria, eccetera, ma sostanzialmente si programmano con le stesse conoscenze di un Arduino "standard".

Veniamo al dunque, ossia UNO Q. Ok, Qualcomm è entrata acquisendo Arduino, va benissimo. Una nuova board più potente, va benissimo.
Ma mi (e vi) chiedo: serviva veramente?

Ripeto, non l'ho ancora mai utilizzato quindi non so bene se io abbia compreso le sue caratteristiche, ma a me sembra che inizi a coprire un mercato che è attualmente di Raspberry, diventandone in un certo senso un "doppione", ma con il "difetto" di essere uscito da poco, quindi ancora ben poca documentazione e letteratura, poche librerie specifiche, pochi utenti. Quindi diciamo quantomeno "in ritardo".
Il tutto un po' "snaturando" l'ambito di Arduino, ossia di microcontrollori relativamente semplici da programmare ed interfacciare, che non richiedono troppe conoscenze addizionali, a differenza di UNO Q dove ad es. bisogna conoscere Linux, Python, multithreading, ed ora pure l'AI...

Un po' come se un produttore di auto di segmento A con un grandissimo successo di pubblico e vendite, che è sul mercato da decenni ed apprezzatissimo dai clienti, venisse acquisita da Mercedes e lanciasse un nuovo modello di segmento D molto potente, pieno di accessori, ed in competizione con BMW e Audi.

Insomma, capisco le dinamiche industriali e mondiali (per cui una evoluzione è spesso necessaria, e gli interessi anche economici prevalgono), e sicuramente UNO Q è un oggetto molto interessante, compatto, e potente.
Ma in sostanza mi chiedo (non è una provocazione né una polemica, sia chiaro): era proprio necessario questo "salto"? D'accordo, non è che le altre board siano state ritirate, ci mancherebbe, però io vedo ad esempio l'espansione del mercato delle ESP8266 inizialmente poi ESP32 come un modo per "estendere" le mancanze degli Arduino "classici" mantenendone i pregi (in parte form factor, compatibilità di shield e sensori e relative librerie, e ambiente di programmazione coerente).

Ditemi dove sbaglio (perché sbaglio sicuramente), vi prego!

La informo che, nella sezione in lingua Inglese, è possibile scrivere esclusivamente in Inglese. Ho quindi provveduto a spostare il Suo post nella sezione di lingua Italiana. La prossima volta La prego di prestare maggiore attenzione alla sezione in cui inserisce i Suoi post, altrimenti potrebbero essere direttamente eliminati. Grazie.

La Uno Q per certi versi è l’erede “sotto steroidi” della Yùn.

Per altri è una specie di doppione delle Odroid o LattePanda, ma a prezzi “umani”.

Il vero problema, come è capitato con le varie Uno R4, risiede nel core Arduino “tirato via”, inficiando la vera potenza e le caratteristiche interessanti del microcontrollore montato.

Mah ... sono d'accordo con te ... hanno completamente "dirazzato" rispetto a come era partita la cosa ...

Ormai si sono buttati sui prodotti che vanno bene all'industria, serie Pro, Arduino Q, ecc. ecc. (basta che vai a vedere i nuovi prodotti che annunciano) ... secondo me senza però saper "veramente" fare prodotti con caratteristiche realmente "industriali" ... :roll_eyes:

Io sto seguendo sempre meno, non vedo più quell'attenzione verso i "maker", ma schede che poco servono agli storici utenti Arduino, con software di base sempre più scadente e carente.

Ripeto, opinione del tutto personale!

Guglielmo

1 Like

Stessa mia impressione.
Per il mercato coincidente con Raspy poi, la caxxata l'avevano già fatta con Yun.
Perseverare è diabolico. ^-^
Ora moda dell' AI.

1 Like

... concordo al 100% :+1: :+1: :+1:

Guglielmo

Secondo me la Yùn poteva avere senso, di fatto sarebbe una specie di Pico ante litteram.

Il vero problema sono i core “tirati via”. Quasi meglio usare le Nucleo, a sto punto.

1 Like

Secondo me… non c’e’ nulla di sbagliato nel tuo ragionamento.

Abbiamo molte cose in comune, ho 67 anni informatico, appassionato di elettronica da sempre.. ecc. ecc. Sicuramente la serie Q non fa parte dei miei “desideri” senza parlare dell AI. Che me ne faccio dell’AI, io sono appassionato di elettronica e scrivo programmi da quasi 50 anni, ora devo farmeli fare dall’AI … non ci penso nemmeno.

Vorra’ dire che abbandonero’ Arduino, o meglio Arduino abbandonera’ me :slight_smile:

Max

Mah il riferimento all'AI non credo sia per far scrivere programmi, ma per analizzare dati e informazioni (es. immagini da telecamera, oppure dati acquisiti da un sensore). Ma in ogni caso è un ambito che esula dalla figura e obiettivi del 90% degli utenti Arduino che sono essenzialmente "hobbisti".

Dai non esageriamo. Per me avverrà solo se toglieranno le board "classiche" (dalla UNO a Mega, Nano, ed i vari ESP32).

Poi se uno sente la mancanza dei digital to analog converter basta usare quelli esterni che di solito sono migliori di quelli integrati nelle varie schede.

Si certamente, io sono un hobbista, e non ho di queste necessita’. Poi, per quanto mi riguarda (e forse sbaglio) quando vedo scritto AI mi viene la pelle d’oca … (mah! sara’ l’eta’).

Comunque, soprattutto per gli hobbisti, per fare un bel lavoro bisogna conoscere bene il micro su cui si lavora. Io (che sono una capra) ho impiegato un bel po’ di tempo per capire a fondo gli Avr e i vari Esp32, e quasi mai i vari tutorial che si trovano sulla rete funzionano davvero e in tutte le condizioni. Ora, se me li tolgono cerchero’ davvero un’alternativa, non necessariamente a breve termine, ma credo che lastrada che seguiro’ sara’ questa.

Max

Mah dubito che quelli di Arduino si vogliano "segare le gambe" da soli eliminando le board di fascia bassa, almeno non entro alcuni anni (almeno spero).

Qui mi sembra che il problema sia essenzialmente quello che si potrebbe chiamare "reazione a catena" applicato alla tecnologia in generale (ma si applica anche ad altro, come le automobili).

Ossia io, produttore A, devo far uscire nuovi modelli per questioni di marketing e/o di immagine, e tali novità devono necessariamente essere migliori e più potenti dei precedenti (se fossero simili a che mi servirebbe?).
Inoltre, guardando ai prodotti di B, devo restare in competizione e devo fare modelli quantomeno simili al mio concorrente, se non anche migliori.
Ma tutto questo, nonostante la tecnologia ci abbia abituati ad un progressivo calo dei costi (a parità di caratteristiche), significa aumento dei costi, sia di progettazione e realizzazione e poi produzione, sia di conseguenza del prodotto finale che sarà sì, più bello e potente, ma anche più costoso per l'utente finale.

Tornando quindi al caso specifico, quello che ci si dovrebbe chiedere è: ma serve veramente? Arduino è un marchio conosciuto ed apprezzato nel mondo, e con un listino che va dalle semplici ed ormai vecchiotte (ma tuttora valide) UNO R3 a board più potenti (come le recenti UNO R4, e per ora arriverei fino alle ESP32, escludendo un po' le varie Yun, Leonardo, eccetera, poco diffuse), c'è ampia scelta in base alle proprie esigenze (e costi finali), ci sono board e shield quasi infinite, un po' per tutte le esigenze del mondo hobbistico, ma anche per piccole e medie esigenze "industriali" (comprendendo anche i vari Industrino e simili).

Quindi: c'era veramente tutta questa necessità di una board come la UNO Q?

Per carità, bella e (credo) molto più potente, con processore quad core, Linux e tanto altro. Ma se già ora ci sono tante librerie non compatibili con UNO R4 e ancora molte sue caratteristiche risultano quasi sconosciute ai più, non oso immaginare cosa accadrà (o stia già accadendo) con la UNO Q: quanti degli attuali utenti delle board "normali" utilizzeranno a breve una Q, dovendosi studiare quasi tutto daccapo, a partire dall'ambiente di sviluppo per prosegure nelle tantissime nuove caratteristiche? Quanto tempo ci vorrà per avere un parco di board installate sufficiente per giustificarne l'introduzione (e magari abbatterne i costi) e tra quanto potrà avere una base di utenti sufficientemente ampia? Ci saranno anche board "compatibili/cloni" o il processore Qualcomm sarà ad esclusivo uso della UNO Q?

PS: che poi il nome "UNO" a me pare che l'abbiano mantenuto essenzialmente per il form factor e la disposizione dei connettori (peraltro ancora con quel maledetto "peccato originale" di errato posizionamento del connettore da D8 a Aref, non correttamente allineato...).

Mah … per il discorso “IA” (o meglio, sistemi esperti), io non la trovo cosi “demoniaca” come alcuni la dipingono sul web (non e’ riferito a te’ max, e’ un discorso in generale :wink: ) … ad esempio, io a volte la uso per cercare documentazioni, datasheet, application notes, informazioni in genere, ed ho visto che, facendo le domande nel modo giusto, spesso mi trova anche documenti che io in mezz’ora di tentativi non sono riuscito a trovare … e spesso ho notato che questo e’ dovuto all’idiotica pratica di istruire i motori di ricerca tradizionali in modo che diano la precedenza a chi li paga, a chi li usa per farsi bubblicita’, ai siti che hanno piu visualizzazioni (indipendentemente dalla correttezza o dall’idiozia dei loro contenuti), e cosi via, per cui se trovi qualcosa di utile (ammesso che te lo trovino), non e’ quasi mai nelle prime 4 o 5 pagine, ma questo e’ un discorso diverso.

molte volte i sistemi esperti “saltano” tutta la porcheria commerciale che i motori di ricerca (chi ha detto google ? … :grin: ) infilano nelle risposte, e riescono a proporti risultati piu pertinenti alla domanda, in meno tempo, e con maggiore precisione.

Per la programmazione, non mi fido molto … a parte che preferisco imparare io a programmare (anche se per me’ non e’ molto facile), ma ho fatto dei test, chiedendo programmi per ipotetiche applicazioni, e le risposte non sono state molto incoraggianti … ad esempio, poco tempo fa avevo testato la capacita’ di chatgpt di sviluppare programmi per arduino integrando di volta in volta sempre nuove richieste di funzioni (ad esempio, controllare 6 macchine … poi integrare gli allarmi di temperatura … poi integrare dei comandi specifici uno per macchina … poi trasformare tutto in una macchina “round-robin” , e cosi via … dopo la decima richiesta di modifica, il programma era passato da circa 200 righe, a quasi 2000, e se pure sintatticamente corretto e compilante senza errori (anche se occupava oltre il 90% dello spazio per un nano), non avrebbe mai potuto funzionare, perche’ da una versione all’altra chatgpt aveva continuato ad aggiungere elementi nuovi senza eliminare completamente le parti vecchie … ad esempio, c’erano tre funzioni diverse, con nomi diversi, per comunicare con la seriale, e tutte e tre facevano la stessa identica cosa con variabili identiche, in altri posti le variabili di stato erano state duplicate o triplicate con nomi diversi, e nelle funzioni si assegnava di volta in volta il loro valore ad altre inutili variabili locali, e cosi via (esempio, dichiaro globale “a”, poi in una funzione assegno a locale “b” il valore di “a”, che poi passo come return ad una seconda funzione dove di nuovo dichiaro “c” = “b”, e cosi via, quando bastava continuare ad usare “a”)

Non so, mi pare che a livello di “sviluppare programmi in modo umano” (interagendo con una persona ed integrando tutte le richeste di modifiche), siano ancora abbastanza scarsi (ammetto che il mio test tendeva proprio a vedere se riuscivo a mandarla in confusione … e credo sia riuscito :grin: )

Per contro, invece, passandogli io un mio programmino gia fatto e funzionante, e’ riuscita a capire da sola cosa faceva, ed a suggerirmi un modo piu efficente (anche se per me’ un po meno chiaro) di controllare una serie di pulsanti usando la meta’ degli if/else che avevo usato io … per cui sul lato “controlla e suggerisci”, sembra abbastanza buona.

Rimane il fatto che sono semplici strumenti, e quindi per essere utili, devono essere considerati ed usati come tali, almeno finche’ non riusciranno a realizzare una CA, Consapevolezza Artificiale (che poi sarebbe l’unica vera “intelligenza artificiale” degna di questo nome) … solo a quel punto potremo iniziare a preoccuparci :rofl:

A proposito, piccolo webcomic sull’argomento “IA” che ho tradotto in Italiano per comodita’ di chi non conosce bene l’Inglese (con il permesso dell’autore, Scott Base, badspacecomics) … e’ un po OT, ma tanto per risollevare il morale (o farlo crollare di piu, secondo chi legge :smiling_face_with_horns: )

1 Like

Sono in parte d'accordo, anche se credo che il riferimento all'Ai per la UNO Q non si riferisca (solo?) alla generazione del codice, ma a funzionalità "intelligenti".

A parte questo, per l'AI penso che sia (almeno per ora) una cosa positiva ed utile, anche io stesso ho fatto come te ossia ho usato le AI per cercare informazioni o chiedere se e come si possa fare una certa cosa. La ritengo deleteria per chi inizia a programmare perché si "abitua" ad affidarsi ad un sistema che genera codice che da un lato non è sempre corretto (dipende dalla qualità del propmpt che si usa) dall'altro il principiante si ritrova un codice che non comprende e non ha alcuna idea di come modificarlo per adeguarlo alle proprie esigenze, o, peggio, del perché non faccia quello che ha chiesto debba fare. E quindi viene nel forum sparando del codice del quale magari non sa neanche il significato e differenza tra setup() e loop() (è già capitato).
Attualmente l'Ai è affascinante, ma ha i suoi difetti. Vi dico solo un episodio reale, esperienza con Gemini: provate a fargli generare una immagine di una mano nella quale il solo dito medio è alzato (si, mi serviva questo per uno scherzo ad un amico...): vi farà un disegno realistico, con bel pugno con tutte e 5 le dita chiuse, ed un medio "aggiuntivo" quindi 6 dita totali. Allora provi a spiegare che ha sbagliato, deve lasciare solo il medio alzato, e l'AI si "scusa" con molta modestia e ti crea un'altra immagine in sostituzione. Peccato che è nuovamente identica alla prima. Provato a dirglielo in vari modi, ma niente da fare, alla fine ho rinunciato.
Ecco, i limiti attuali sono questa cosa. Le AI vanno usate "con cervello" e sapendo riconoscere i limiti e a volte anche le sue "allucinazioni".

PS: le AI ed i sistemi esperti sono cose simili, ma non uguali. La AI fa "deduzioni" a modo suo su schemi che in qualche modo "conosce" e spesso dà risposte che sono "inventate" e quindi sbagliate. Il sistema esperto è invece dedicato ad un ambito preciso e non soffre delle "allucinazioni" dell'AI. Altra cosa sono le "reti neuronali", ma qui stiamo un po' sconfinando, per cui mi fermo. :wink:

Comunque io tra schede Arduino e schede Nucleo64, oltre a 3 schede con PIC, sono a posto per un po'. Non ho ancora trovato modo di sfruttarle tutte!

Concordo, senza supervisione umana in questo ambito un po’ tutti i modelli disponibili fanno dei casini pazzeschi.

Ciò detto, io però la uso “pesantemente” anche per sviluppare e grazie a questo strumento, un firmware che in passato necessitava di una settimana di lavoro, adesso lo completo in un giorno perché la IA fa tutto il lavoro noiso, a poco valore aggiunto e ripetitivo (commenti compresi).

So che molti qui sono (incomprensibilmente :sweat_smile: ) affezionati ad Arduino IDE, ma VS Code con il plugin Copilot di Github fa l’autocompletamento predittivo del codice sulla base di quello che hai già sviluppato e la stesura del codice diventa di una semplicità e velocità disarmante (ad esempio se conteggio tutto il tempo perso dovuto ad errori di battitura, io accumulo settimane di lavoro: scrivi→compila→correggi→compila→correggi di nuovo→compila).

Io ho adottato un workflow: definisco un algoritmo di base descrivendo cosa e come va sviluppato concentrandomi più sugli aspetti concettuali e di “alto profilo”, faccio prepapare una bozza (che va assolutamente revisionata e corretta) e poi passo dopo passo, verifico il codice proposto, lo testo ed infine implemento nel dettaglio.

Di solito ottengo buoni risultati, ma ci sono ovviamente delle eccezioni :woozy_face:

nonostante la pelle d’oca anche io la uso in quel modo. Pero’ pensa , nel caso di arduino, a un neofita che prende per buono tutto cio’ che scrive chat gpt senza neppure capire una riga di software, o peggio come stanno facendo aziende piu’ grandi come la Sogei per l’agenzia delle entrate, che rimpiazzano i programmatori esperti con giovani poco competenti (pagandoli poco) facendogli usare l’AI. Io ho provato a chiedere all’AI come collegare un pulsante alla mega, mi ha risposto di attivare le resistenze pull down interne (che non esistono). E’ comunque vero che l’AI se usata “con le molle” aumenta di molto la produttivita’, ma per un hobbista che scrive per se stesso, secondo me, ha poco senso e spesso toglie la soddisfazione del “l’ho fatto da solo”. Ripeto, queste sono considerazioni di un vecchio programmatore quasi in pensione

Max

1 Like

Interessante analisi ... #opensource #privacy #techpolicy #hardware #iot #surveillance #qualcomm #arduino #makers #infosec #datarights #termsandconditions #cloudcomputing | Adafruit Industries | 216 comments

Guglielmo

“Arduino” e’ un marchio, di un prodotto che usa (di base) MCU di Atmel o di altri produttori … e basta … non e’ un’entita’ onnipotente, ne gli utenti sono obbligati a continuare ad usarla.

(e di cloni ne esistono a decine :grin: )

Se a Qualcomm vengono troppi “pruriti agli artigli” per piantarli negli utenti e nei loro diritti, si fa anche presto a tirare insieme un’altro forum su cui parlare delle stesse MCU, degli stessi prodotti, di come usarli, eccetera, anche senza usare per forza il forum “ufficiale” di Arduino … :smiling_face_with_horns:

Forse sarebbe il caso che Qualcomm ci pensasse :roll_eyes:

2 Likes

La forza di Arduino risiede nella comunità e soprattutto nelle librerie che gli appassionati si creano per i loro scopi.

Direi che più che oltre al forum sarebbe da “portare” la parte open source su github o simili.