Debugging tramite il tuo browser?

Incontro tra Arduino Create Agent e la Live Debugger Console

10 Luglio 2024 di Alessandro Colucci
Arduino Create Agent image

Introduzione

 

L'Arduino Create Agent è un componente essenziale per gli sviluppatori che lavorano con l'hardware Arduino e utilizzano strumenti come la Live Debugger Console in Pleasedontcode. Questo articolo esplora la funzionalità, l'installazione e l'uso dell'Arduino Create Agent, evidenziando il suo ruolo nel facilitare il debug e l'interazione con le schede Arduino.

 

Cos'è Arduino Create Agent?

 

L'Arduino Create Agent è un'applicazione leggera e open-source che consente al tuo browser web di comunicare direttamente con le schede Arduino. Funziona come un ponte tra l'ambiente di sviluppo locale e l'Arduino Cloud, permettendo attività come il caricamento di sketch, il monitoraggio dell'output seriale e il debug.

 

Perchè usare Arduino Create Agent?

 

Vantaggi principali:

 

    • Integrazione fluida: L'agent consente una facile integrazione con l'Arduino Cloud e con gli IDE basati sul web come Pleasedontcode, offrendo un'esperienza di sviluppo unificata.

    • Compatibilità multipiattaforma: Disponibile per Windows, macOS e Linux, garantendo che tutti gli sviluppatori possano utilizzare le sue funzionalità indipendentemente dal loro sistema operativo.

    • Debug migliorato: Quando utilizzato con strumenti come la Live Debugger Console in Pleasedontcode, facilita il debug e il monitoraggio in tempo reale dei progetti Arduino.

 

Come funziona Arduino Create Agent con Live Debugger Console

 

Live Debugger Console in Pleasedontcode

 

La Live Debugger Console in Pleasedontcode è uno strumento potente che permette agli sviluppatori di effettuare il debug del codice Arduino in tempo reale. Sfruttando l'Arduino Create Agent, la console può interagire con la scheda Arduino collegata, abilitando le seguenti funzionalità:

 

    • Monitoraggio in tempo reale: Visualizza i dati live dal monitor seriale del tuo Arduino direttamente nel browser.

    • Gestione dei breakpoints: Imposta breakpoints nel tuo codice per interrompere l'esecuzione e ispezionare variabili e stati.

    • Ispezione delle variabili: Monitora e modifica i valori delle variabili al volo per testare diversi scenari e risposte.

 

Guida all'installazione

 

Passo 1: Scaricare Arduino Create Agent

 

Per utilizzare l'Arduino Create Agent, scarica l'installer appropriato per il tuo sistema operativo dai link sottostanti:

 

Passo 2: Installa Arduino Create Agent

 

Esegui l'installer scaricato e segui le istruzioni sullo schermo per completare il processo di installazione. Assicurati di avere i permessi amministrativi per installare software sul tuo computer.

 

Passo 3: Avvia Arduino Create Agent

 

Dopo l'installazione, avvia l'Arduino Create Agent dal menu delle applicazioni. L'agent dovrebbe essere eseguito in background e dovresti vedere la sua icona nella system tray (Windows e Linux) o nella barra dei menu (macOS).

 

Step 4: Riconfigura l'Agent

 

    • Apri il menu dell'Arduino Create Agent dall'icona nella system tray.

    • Clicca su "Open Configuration" per aprire il file config.ini nel tuo editor di testo predefinito.

    • Modifica la configurazione originale cambiando la riga 11 (parametro "origins"):

config.ini originale

# Type of garbage collection. std = Normal garbage collection allowing system to decide (this has been known to cause a stop the world in the middle of a CNC job which can cause lost responses from the CNC controller and thus stalled jobs. use max instead to solve.), off = let memory grow unbounded (you have to send in the gc command manually to garbage collect or you will run out of RAM eventually), max = Force garbage collection on each recv or send on a serial port (this minimizes stop the world events and thus lost serial responses, but increases CPU usage)
gc             = std
# Override the hostname we get from the OS
hostname       = unknown-hostname
# Regular expression to filter serial port list
regex          = usb|acm|com
# show debug logging
v              = true
appName        = CreateAgent/Stable
updateUrl      = https://downloads.arduino.cc/
origins        = https://local.arduino.cc:8000
# httpProxy = http://your.proxy:port # Proxy server for HTTP requests
# enable crashreport logging
crashreport    = false
# the Arduino Create Agent is able to start automatically after login on macOS (launchd agent)
autostartMacOS = true
installCerts   = true


 

config.ini modificato e necessario per eseguire la comunicazione con Live Debugger Console

# Type of garbage collection. std = Normal garbage collection allowing system to decide (this has been known to cause a stop the world in the middle of a CNC job which can cause lost responses from the CNC controller and thus stalled jobs. use max instead to solve.), off = let memory grow unbounded (you have to send in the gc command manually to garbage collect or you will run out of RAM eventually), max = Force garbage collection on each recv or send on a serial port (this minimizes stop the world events and thus lost serial responses, but increases CPU usage)
gc             = std
# Override the hostname we get from the OS
hostname       = unknown-hostname
# Regular expression to filter serial port list
regex          = usb|acm|com
# show debug logging
v              = true
appName        = CreateAgent/Stable
updateUrl      = https://downloads.arduino.cc/
origins        = https://local.arduino.cc:8000, https://www.pleasedontcode.com
# httpProxy = http://your.proxy:port # Proxy server for HTTP requests
# enable crashreport logging
crashreport    = false
# the Arduino Create Agent is able to start automatically after login on macOS (launchd agent)
autostartMacOS = true
installCerts   = true


 

L'alternativa è modificare il file config.ini che si trova nella directory predefinita per il tuo sistema operativo. Apri il file con un editor di testo, aggiusta le impostazioni, poi salva e riavvia l'agent.

    • Windows: C:\Users\<YourUsername>\AppData\Roaming\ArduinoCreateAgent\config.ini

    • Mac: /Users/<YourUsername>/Library/Application Support/ArduinoCreateAgent/config.ini

    • Linux: /home/<YourUsername>/ArduinoCreateAgent/config.ini

 

Risoluzione dei problemi comuni

 

Consigli generali

 

    • Permessi amministrativi: Assicurati di avere i permessi amministrativi sul tuo computer.

    • Firewall/Antivirus: L'installazione potrebbe essere bloccata dal firewall o dal software antivirus. Aggiungi l'agent alla whitelist del tuo antivirus se necessario.

 

Vecchia installazione dell'agent rilevata (macOS)

 

If you encounter the error "Old agent installation of the Arduino Create Agent found, please uninstall it before launching the new one," follow these steps:

    1. Apri Finder e vai alla tua cartella utente. Premi Shift + ⌘ + H se necessario.

    2. Naviga alla cartella Applications all'interno della tua cartella utente: ~/Applications.

    3. Rimuovi la cartella ArduinoCreateAgent o eseguin uninstall.app al suo interno.

    4. Rilancia Arduino Create Agent.

 

Uso dell'Arduino Create Agent con la Live Debugger Console in Pleasedontcode

 

Connessione alla scheda Arduino

 

Una volta che l'agent è in esecuzione, apri Pleasedontcode nel tuo browser e naviga alla Live Debugger Console. La console dovrebbe rilevare automaticamente la scheda Arduino collegata al tuo computer.

 

Debug del tuo codice

 

Con la scheda collegata, puoi ora caricare sketch, impostare breakpoints e monitorare l'output seriale direttamente dalla Live Debugger Console. Questo setup fornisce un flusso di lavoro efficiente e snello per il debug e lo sviluppo di progetti Arduino.

 

Conclusione

 

L'Arduino Create Agent è uno strumento cruciale per gli sviluppatori che utilizzano la Live Debugger Console in Pleasedontcode. La sua integrazione fluida, il supporto multipiattaforma e le capacità di debug in tempo reale lo rendono un'asset inestimabile per qualsiasi progetto Arduino. Seguendo i passi di installazione e risoluzione dei problemi delineati in questo articolo, puoi assicurarti un'esperienza di sviluppo fluida e produttiva.

Raggiungici su WhatsApp