.. _picrawler_skill:
.. start_using_picrawler
21. Controllare PiCrawler con OpenClaw
=======================================
**Cos'è OpenClaw?**
Pensalo come una versione migliorata di ChatGPT. Mentre i chatbot tradizionali
possono solo parlare (generare testo), OpenClaw può agire. Comprende le tue
istruzioni in linguaggio naturale e può effettivamente eseguire operazioni sul
tuo computer, come eseguire comandi, gestire file e chiamare vari strumenti.
Ecco alcuni fantastici scenari applicativi:
* **Assistente personale tuttofare:** Lascia che gestisca il tuo calendario,
imposti promemoria e tenga traccia delle attività. Devi solo dirglielo in
un'app di chat (come Telegram, WhatsApp), e lui ricorderà ed eseguirà.
* **"Collante" di automazione:** Può fungere da legante per i tuoi vari
servizi. Ad esempio, puoi fargli monitorare un sito web per variazioni di
prezzo. Una volta rilevato un calo di prezzo, può attivare automaticamente
un flusso di lavoro di automazione n8n per inviarti una notifica email.
* **Assistente di sviluppo dedicato:** Fagli gestire server, eseguire script
e controllare i log. Puoi semplicemente dire: "Controlla il carico di
sistema per me", e lui può connettersi via SSH al tuo server, eseguire il
comando e restituire i risultati.
* **"Compagno di giochi" hardware:** Questo è un caso d'uso molto interessante.
Puoi far controllare a OpenClaw l'hardware collegato a un Raspberry Pi. Ad
esempio, uno sviluppatore l'ha usato per controllare un aspirapolvere robot
con un braccio meccanico, o persino per analizzare i dati di un simulatore
di corse e visualizzarli su uno schermo LED. Il team ufficiale di Raspberry
Pi l'ha persino usato per costruire un photobooth automatico per un
matrimonio, solo conversando, senza scrivere una sola riga di codice!
.. important::
Il Raspberry Pi Zero 2W ha solo 512 MB di RAM, mentre OpenClaw richiede
un minimo di 1 GB. Pertanto, non può funzionare correttamente. Si consiglia
un Raspberry Pi 4/5 o superiore.
Avvio rapido di OpenClaw
--------------------------
Se desideri sperimentare la potenza di OpenClaw il più rapidamente possibile,
usa questo metodo. Installerà automaticamente OpenClaw e avvierà una
procedura guidata di configurazione interattiva.
1. Apri il terminale sul tuo Raspberry Pi ed esegui direttamente il seguente
comando. Questo comando scarica lo script di installazione dal sito web
ufficiale e lo esegue:
.. code-block:: bash
curl -fsSL https://openclaw.ai/install.sh | bash
.. note:: Poiché le nuove versioni vengono aggiornate rapidamente, è normale
che i tuoi passaggi di installazione differiscano leggermente.
2. Lo script scaricherà e installerà automaticamente OpenClaw.
.. image:: /img/openclaw/install_open_claw.png
3. Vedrai quindi una richiesta di sicurezza che chiede se ti fidi di OpenClaw.
Una volta sicuro che sia sicuro e affidabile, usa i tasti freccia per
navigare su "Yes" e premi Invio.
.. image:: /img/openclaw/security_open_claw.png
4. Seleziona Quick Start, quindi premi Invio.
.. image:: /img/openclaw/quickstart_open_claw.png
5. Seleziona il tuo modello, quindi premi Invio. Qui usiamo OpenAI come
esempio.
.. image:: /img/openclaw/model_provider_open_claw.png
6. Seleziona OpenAI API Key.
.. image:: /img/openclaw/api_key_open_claw.png
7. Incolla ora la chiave API.
.. image:: /img/openclaw/paste_api_key_open_claw.png
.. |link_openai_platform| raw:: html
Piattaforma OpenAI
8. Vai su |link_openai_platform| e accedi. Nella pagina **API keys**, clicca
su **Create new secret key**.
.. image:: /img/openclaw/llm_openai_create.png
9. Compila i dettagli (Owner, Name, Project e permessi se necessario), poi
clicca su **Create secret key**.
.. image:: /img/openclaw/llm_openai_create_confirm.png
10. Una volta creata la chiave, copiala immediatamente — non potrai più
visualizzarla. Se la perdi, dovrai generarne una nuova.
.. image:: /img/openclaw/llm_openai_copy.png
11. Incolla la chiave nella configurazione di OpenClaw.
.. image:: /img/openclaw/paste_api_key_enter_open_claw.png
12. Seleziona il modello che desideri utilizzare. In questo esempio, useremo
**Keep current**.
.. image:: /img/openclaw/model_config_open_claw.png
13. Successivamente c'è la selezione dei canali. I canali si riferiscono ai
servizi di comunicazione supportati da OpenClaw, come Telegram, WhatsApp,
Discord e altri. Usa il tasto freccia giù per selezionare l'opzione
"Skip for now", quindi premi Invio.
.. image:: /img/openclaw/channel_open_claw.png
14. Successivamente, ti verrà chiesto di configurare subito le competenze.
Seleziona "Yes" e premi Invio.
.. image:: /img/openclaw/config_skill_open_claw.png
15. Installa le competenze di cui hai bisogno. Nell'esempio seguente,
selezioniamo l'opzione "Skip for now" (premi la barra spaziatrice per
selezionare), quindi premi Invio.
.. image:: /img/openclaw/install_skill_open_claw.png
16. Successivamente ci sono gli Hooks; selezioneremo "command-logger" e
"session-memory".
.. image:: /img/openclaw/hooks2_open_claw.png
17. L'installazione è ora completa. Puoi avviare OpenClaw selezionando
"Hatch in TUI" e premendo Invio.
.. image:: /img/openclaw/hatch_open_claw.png
.. note::
Puoi avviare OpenClaw inserendo il seguente comando:
.. code-block:: bash
openclaw tui
E puoi premere Ctrl+C due volte per uscire dall'interfaccia TUI.
------------------------------------------------------------------------
Far funzionare PiCrawler con OpenClaw
----------------------------------------
**Cos'è PiCrawler Skill?**
PiCrawler Skill è un'estensione per OpenClaw che ti permette di controllare
il tuo robot ragno SunFounder PiCrawler tramite linguaggio naturale. Invece
di scrivere script Python o ricordare valori di coordinate, puoi semplicemente
dire a OpenClaw cosa vuoi che PiCrawler faccia — come "alzati", "cammina tre
passi in avanti" o "controlla se c'è un ostacolo davanti" — e OpenClaw
eseguirà automaticamente il codice Python appropriato.
Ecco alcune cose che puoi fare con PiCrawler Skill:
* **Movimenti di base:** Camminare in avanti, indietro, girare a
sinistra/destra, virate a piccolo angolo
* **Posizioni:** Alzarsi, sedersi
* **Azioni espressive:** Salutare con una zampa anteriore, ballare, fare
flessioni, guardare in diverse direzioni
* **Sensori:** Leggere il sensore di distanza a ultrasuoni per rilevare
ostacoli
* **Suono:** Riprodurre effetti sonori e musica attraverso l'altoparlante
del robot
* **Visione con fotocamera:** Scattare foto, rilevare volti, tracciare
colori, riconoscere codici QR e gesti
----------------------------------------------------------------
Prerequisiti
--------------
Prima di poter utilizzare PiCrawler Skill con OpenClaw, assicurati di avere:
1. **PiCrawler** correttamente assemblato e collegato al tuo Raspberry Pi
2. **OpenClaw** installato e in esecuzione
3. Le seguenti librerie Python installate:
- ``picrawler``
- ``robot_hat``
- ``vilib``
Puoi verificare l'installazione eseguendo:
.. code-block:: bash
python3 -c "import picrawler"
Se questo comando viene eseguito senza errori, sei pronto per procedere.
----------------------------------------------------------------
Installare PiCrawler Skill
----------------------------
Segui questi passaggi per installare PiCrawler Skill per OpenClaw:
1. **Copia i file del PiCrawler Skill** nella directory delle competenze di
OpenClaw:
.. code-block:: bash
cp -r ~/picrawler/picrawler-control ~/.openclaw/workspace/skills/
2. **Verifica l'installazione** controllando i file della competenza:
.. code-block:: bash
ls ~/.openclaw/workspace/skills/picrawler-control/
Dovresti vedere ``SKILL.md``, ``install.sh``, ``scripts/`` e
``references/`` nell'output.
Il file ``SKILL.md`` della competenza contiene tutte le istruzioni di cui
OpenClaw ha bisogno — regole di sicurezza, modelli di codice per ogni
capacità e una mappatura dalle richieste in linguaggio naturale al codice
Python. OpenClaw legge questo file e lo usa per decidere quale codice
eseguire sul tuo PiCrawler.
----------------------------------------------------------------
Testare PiCrawler Skill dalla CLI
-----------------------------------
Prima di utilizzare la competenza con OpenClaw, potresti voler testare le
funzionalità di base direttamente dal terminale usando lo strumento CLI
incluso.
**Controllare la distanza ultrasonica:**
.. code-block:: bash
python3 ~/.openclaw/workspace/skills/picrawler-control/scripts/pc.py sensor distance
**Far sedere PiCrawler:**
.. code-block:: bash
python3 ~/.openclaw/workspace/skills/picrawler-control/scripts/pc.py pose sit --speed 40
**Far alzare PiCrawler:**
.. code-block:: bash
python3 ~/.openclaw/workspace/skills/picrawler-control/scripts/pc.py pose stand --speed 40
**Camminare in avanti:**
.. code-block:: bash
python3 ~/.openclaw/workspace/skills/picrawler-control/scripts/pc.py move forward --steps 2 --speed 60
**Girare a sinistra:**
.. code-block:: bash
python3 ~/.openclaw/workspace/skills/picrawler-control/scripts/pc.py move "turn left" --steps 1 --speed 60
**Riprodurre un effetto sonoro:**
.. code-block:: bash
python3 ~/.openclaw/workspace/skills/picrawler-control/scripts/pc.py sound play /home/pi/picrawler/examples/sounds/talk1.wav --volume 80
**Eseguire la calibrazione dei servi:**
.. code-block:: bash
python3 ~/.openclaw/workspace/skills/picrawler-control/scripts/pc.py calibrate
----------------------------------------------------------------
Usare PiCrawler Skill in OpenClaw
------------------------------------
Una volta verificato che PiCrawler Skill funziona dalla riga di comando, puoi
iniziare a usarlo all'interno di OpenClaw.
1. **Avvia OpenClaw TUI**:
.. code-block:: bash
openclaw tui
2. **Invia comandi in linguaggio naturale** per controllare PiCrawler. Ecco
alcuni esempi:
* "Stand up"
* "Sit down"
* "Walk forward three steps"
* "Turn left"
* "Do a dance"
* "Do some push-ups"
* "Wave your front leg"
* "Look to the left"
* "Check if there's something ahead"
* "Take a photo"
* "Detect faces / look at me"
* "Find the color red"
3. **OpenClaw tradurrà automaticamente** la tua richiesta nel codice Python
appropriato e lo eseguirà su PiCrawler. Per i comandi di movimento, la
competenza assicura sempre che il robot si alzi prima e si sieda dopo aver
completato l'azione.
----------------------------------------------------------------
Azioni e comandi disponibili
------------------------------
Ecco l'elenco completo delle capacità supportate da PiCrawler Skill:
Movimenti (``pc.py move``)
^^^^^^^^^^^^^^^^^^^^^^^^^^^
.. list-table::
:widths: 30 70
:header-rows: 1
* - Azione
- Descrizione
* - ``forward``
- Camminare in avanti
* - ``backward``
- Camminare all'indietro
* - ``turn left``
- Ruotare a sinistra sul posto
* - ``turn right``
- Ruotare a destra sul posto
* - ``turn left angle``
- Virata a piccolo angolo a sinistra
* - ``turn right angle``
- Virata a piccolo angolo a destra
Posizioni (``pc.py pose``)
^^^^^^^^^^^^^^^^^^^^^^^^^^^
.. list-table::
:widths: 30 70
:header-rows: 1
* - Posizione
- Descrizione
* - ``stand``
- Alzarsi dalla posizione seduta
* - ``sit``
- Sedersi dalla posizione in piedi
Azioni aggiuntive (via linguaggio naturale / exec)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.. list-table::
:widths: 30 70
:header-rows: 1
* - Azione
- Descrizione
* - ``dance``
- Eseguire un movimento di danza
* - ``push_up``
- Fare flessioni
* - ``wave``
- Salutare con una zampa anteriore
* - ``look_left``
- Girare il corpo per guardare a sinistra
* - ``look_right``
- Girare il corpo per guardare a destra
* - ``look_up``
- Inclinare il corpo per guardare in alto
* - ``look_down``
- Inclinare il corpo per guardare in basso
Sensori
^^^^^^^
.. list-table::
:widths: 30 70
:header-rows: 1
* - Comando
- Descrizione
* - ``sensor distance``
- Leggere il sensore di distanza a ultrasuoni (restituisce cm)
Suono (``pc.py sound``)
^^^^^^^^^^^^^^^^^^^^^^^^
.. list-table::
:widths: 30 70
:header-rows: 1
* - Comando
- Descrizione
* - ``sound play ``
- Riprodurre un file di effetto sonoro
* - ``sound music ``
- Riprodurre musica di sottofondo
* - ``sound volume <0-100>``
- Impostare il volume dell'altoparlante
* - ``sound stop``
- Fermare la riproduzione
Fotocamera e visione (via linguaggio naturale / exec)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.. list-table::
:widths: 30 70
:header-rows: 1
* - Capacità
- Descrizione
* - Scattare foto
- Catturare e salvare una foto in ``~/Pictures/``
* - Rilevamento volti
- Rilevare volti umani e segnalare la posizione
* - Rilevamento colore
- Localizzare oggetti per colore (rosso, blu, verde, ecc.)
* - Riconoscimento gesti
- Riconoscere gesti carta/sasso/forbice
* - Rilevamento segnali stradali
- Riconoscere segnali di stop/sinistra/destra/avanti
* - Scansione codici QR
- Leggere dati e posizione dei codici QR
----------------------------------------------------------------
Risoluzione dei problemi
--------------------------
Problemi di OpenClaw
^^^^^^^^^^^^^^^^^^^^^
D: Durante l'installazione, ricevo l'errore ``Error: systemctl is-enabled unavailable: Command failed: systemctl --user is-enabled openclaw-gateway.service``. Cosa devo fare?
Puoi ignorarlo per ora, ma potresti incontrare problemi nei passaggi
successivi. Consultali uno per uno in quel momento.
D: Quando eseguo ``openclaw tui``, ricevo l'errore ``-bash: openclaw: command not found``. Cosa devo fare?
Esegui il seguente comando:
.. code-block:: bash
echo 'export PATH="$HOME/.npm-global/bin:$PATH"' >> ~/.bashrc
source ~/.bashrc
Ora dovresti essere in grado di avviare l'interfaccia TUI con
``openclaw tui``.
D: In ``openclaw tui``, incontro ``not connected to gateway — message not sent`` o il messaggio ``gateway disconnected: closed``.
Questo perché il tuo servizio OpenClaw Gateway non è avviato. Apri un altro
terminale ed esegui il seguente comando per avviare l'OpenClaw Gateway:
.. code-block:: bash
openclaw gateway
Quindi riavvia ``openclaw tui`` e potrai usarlo direttamente.
D: Voglio impostare il servizio OpenClaw Gateway per l'esecuzione in background / avvio automatico all'accensione. Come faccio?
Normalmente, il tuo servizio OpenClaw Gateway dovrebbe avviarsi
automaticamente all'accensione. In caso contrario, puoi avviarlo
manualmente con il seguente comando.
1. Crea la directory ``~/.config/systemd/user``:
.. code-block:: bash
mkdir -p ~/.config/systemd/user
2. Crea il file ``openclaw-gateway.service``:
.. code-block:: bash
cat > ~/.config/systemd/user/openclaw-gateway.service << EOF
[Unit]
Description=OpenClaw Gateway
After=network.target
[Service]
Type=simple
ExecStart=$HOME/.npm-global/bin/openclaw gateway run
Restart=on-failure
RestartSec=10
Environment="PATH=$HOME/.npm-global/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin"
Environment="NODE_ENV=production"
[Install]
WantedBy=default.target
EOF
3. Quindi ricarica la configurazione di systemd:
.. code-block:: bash
systemctl --user daemon-reload
4. Avvia il servizio:
.. code-block:: bash
systemctl --user start openclaw-gateway
A questo punto, riavvia ``openclaw tui`` e potrai usarlo direttamente.
5. Attivalo per l'avvio automatico:
.. code-block:: bash
systemctl --user enable openclaw-gateway
D: Il mio OpenClaw non può operare sul sistema, cosa devo fare?
Un OpenClaw appena installato potrebbe non avere il permesso di operare
sul tuo sistema Raspberry Pi per impostazione predefinita; può solo
chattare. Dobbiamo configurare manualmente i permessi.
1. Apri il file di configurazione di OpenClaw:
.. code-block:: bash
nano ~/.openclaw/openclaw.json
2. Trova l'opzione ``tools`` e modifica ``profile`` ed ``exec`` come
mostrato.
.. code-block:: json
"tools": {
"profile": "coding",
"exec": {
"secrity": "full"
}
},
3. Salva ed esci.
4. Inserisci il seguente comando nel terminale per riavviare l'OpenClaw
Gateway:
.. code-block:: bash
openclaw gateway restart
Ora, OpenClaw dovrebbe avere i permessi di lettura e scrittura ed essere
in grado di operare sul tuo sistema Raspberry Pi.
Problemi di PiCrawler
^^^^^^^^^^^^^^^^^^^^^^
D: PiCrawler non risponde ai comandi. Cosa devo fare?
Per prima cosa, verifica che PiCrawler sia correttamente collegato e
acceso. Quindi testa le funzionalità di base:
.. code-block:: bash
python3 ~/.openclaw/workspace/skills/picrawler-control/scripts/pc.py pose sit --speed 40
Se questo fallisce, assicurati che le librerie Python richieste siano
installate:
.. code-block:: bash
python3 -c "import picrawler; import robot_hat; import vilib"
D: Il test ``import picrawler`` fallisce.
Ciò significa che la libreria Python di PiCrawler non è installata
correttamente. Consulta la guida all'installazione ufficiale di PiCrawler
per installare le librerie necessarie. Puoi anche eseguire lo script di
installazione incluso:
.. code-block:: bash
bash ~/.openclaw/workspace/skills/picrawler-control/install.sh
D: OpenClaw non riconosce la competenza PiCrawler.
Ricorda a OpenClaw di sincronizzare le competenze dicendo nel TUI:
*"Please rsync my skills"* o riavvia l'OpenClaw Gateway:
.. code-block:: bash
openclaw gateway restart
D: I movimenti di PiCrawler sembrano instabili o a scatti.
Questo è solitamente causato dall'esecuzione di azioni a una velocità
troppo elevata o senza consentire il completamento dell'azione precedente.
La competenza applica regole di sicurezza (alzarsi prima di muoversi,
sedersi dopo il movimento) e consiglia intervalli di velocità. Prova a
ridurre il parametro di velocità (ad esempio, ``--speed 40``) o ad
aggiungere brevi pause tra comandi consecutivi.
----------------------------------------------------------------
.. end_using_picrawler