Come controllare arduino attraverso raspberry da terminale.

Buongiorno a tutti, in questi giorni mi sono interfacciato al mondo raspberry e ho deciso di provare a controllare un arduino nano dal terminale, solo che ho alcuni problemi.
Ovvero che quando provo fare make upload per caricare lo sketch sull'arduino noto che mi da delle informazioni e tra di esse anche il modello del processore del mio arduino nano, ovvero un atmega328p mentre quello segnalato dal raspberry è un atmega168.
Secondo me il problema è solo questo e lo dico per due motivi:

  1. ho provato a collegare un arduino uno cambiando i parametri all'interno del makefile e funzionava tutto correttamente;
  2. ho provato a collegare l'arduino nano all'ide di arduino e li funzionava tutto correttamente.

I file che ho creato per poterlo controllare da terminale sono questi:

pi@raspberrypi:~/codice_arduino $ ls
build-nano  Makefile  prova.ino
pi@raspberrypi:~/codice_arduino $ more Makefile
ARDUINO_DIR = /usr/share/arduino
BOARD_TAG = nano
ARDUINO_PORT = /dev/ttyUSB0
ARDUINO_LIBS =
include /usr/share/arduino/Arduino.mk
pi@raspberrypi:~/codice_arduino $ more prova.ino
#define led 5

void setup(){
pinMode(led, OUTPUT);
}

void loop(){
digitalWrite(led, HIGH);
delay(1000);
digitalWrite(led, LOW);
delay(1000);
}

di cui la cartella build-nano si è creata automaticamente dopo che ho fatto make.

il risultato che mi da il make upload è:

pi@raspberrypi:~/codice_arduino $ make upload
-------------------------
Arduino.mk Configuration:
- [AUTODETECTED]       CURRENT_OS = LINUX
- [USER]               ARDUINO_DIR = /usr/share/arduino
- [COMPUTED]           ARDMK_DIR = /usr/share/arduino (relative to Common.mk)
- [AUTODETECTED]       ARDUINO_VERSION = 105
- [DEFAULT]            ARCHITECTURE = 
- [DEFAULT]            ARDMK_VENDOR = arduino
- [DEFAULT]            ARDUINO_SKETCHBOOK = 
- [BUNDLED]            AVR_TOOLS_DIR = /usr/share/arduino/hardware/tools/avr (in Arduino distribution)
- [COMPUTED]           ARDUINO_LIB_PATH = /usr/share/arduino/libraries (from ARDUINO_DIR)
- [COMPUTED]           ARDUINO_VAR_PATH = /usr/share/arduino/hardware/arduino//variants (from ARDUINO_DIR)
- [COMPUTED]           BOARDS_TXT = /usr/share/arduino/hardware/arduino//boards.txt (from ARDUINO_DIR)
- [DEFAULT]            USER_LIB_PATH = /libraries (in user sketchbook)
- [DEFAULT]            PRE_BUILD_HOOK = pre-build-hook.sh
- [USER]               BOARD_TAG = nano
- [COMPUTED]           CORE = arduino (from build.core)
- [COMPUTED]           VARIANT = eightanaloginputs (from build.variant)
- [COMPUTED]           OBJDIR = build-nano (from BOARD_TAG)
- [COMPUTED]           ARDUINO_CORE_PATH = /usr/share/arduino/hardware/arduino//cores/arduino (from ARDUINO_DIR, BOARD_TAG and boards.txt)
- [ASSUMED]            MONITOR_BAUDRATE = 9600
- [DEFAULT]            OPTIMIZATION_LEVEL = s
- [DEFAULT]            MCU_FLAG_NAME = mmcu
- [DEFAULT]            CFLAGS_STD = -std=gnu11 -flto -fno-fat-lto-objects
- [DEFAULT]            CXXFLAGS_STD = -std=gnu++11 -fno-threadsafe-statics -flto
- [COMPUTED]           DEVICE_PATH = /dev/ttyUSB0 (from MONITOR_PORT)
- [DEFAULT]            FORCE_MONITOR_PORT = 
- [AUTODETECTED]       Size utility: AVR-aware for enhanced output
- [COMPUTED]           BOOTLOADER_PARENT = /usr/share/arduino/hardware/arduino//bootloaders (from ARDUINO_DIR)
- [COMPUTED]           ARDMK_VERSION = 1.5
- [COMPUTED]           CC_VERSION = 5.4.0 (avr-gcc)
-------------------------
mkdir -p build-nano
make reset
make[1]: ingresso nella directory "/home/pi/codice_arduino"
/usr/bin/ard-reset-arduino  /dev/ttyUSB0
make[1]: uscita dalla directory "/home/pi/codice_arduino"
make do_upload
make[1]: ingresso nella directory "/home/pi/codice_arduino"
/usr/share/arduino/hardware/tools/avr/../avrdude -q -V -p atmega168 -C /usr/share/arduino/hardware/tools/avr/../avrdude.conf -D -c arduino -b 19200 -P /dev/ttyUSB0 \
                -U flash:w:build-nano/codice_arduino.hex:i
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x00
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 2 of 10: not in sync: resp=0x00
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 3 of 10: not in sync: resp=0x00
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 4 of 10: not in sync: resp=0x00
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 5 of 10: not in sync: resp=0x00
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 6 of 10: not in sync: resp=0x00
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 7 of 10: not in sync: resp=0x00
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 8 of 10: not in sync: resp=0x00
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 9 of 10: not in sync: resp=0x00
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 10 of 10: not in sync: resp=0x00

avrdude done.  Thank you.

make[1]: *** [/usr/share/arduino/Arduino.mk:1462: do_upload] Error 1
make[1]: uscita dalla directory "/home/pi/codice_arduino"
make: *** [/usr/share/arduino/Arduino.mk:1455: upload] Error 2

e poi ho provato anche a vedere se la porta che avevo messo era quella giusta e quindi ho provato a fare dei test con e senza arduino per capire la porta:

pi@raspberrypi:~ $ ls /dev/tty*
/dev/tty    /dev/tty12  /dev/tty17  /dev/tty21  /dev/tty26  /dev/tty30  /dev/tty35  /dev/tty4   /dev/tty44  /dev/tty49  /dev/tty53  /dev/tty58  /dev/tty62  /dev/ttyAMA0
/dev/tty0   /dev/tty13  /dev/tty18  /dev/tty22  /dev/tty27  /dev/tty31  /dev/tty36  /dev/tty40  /dev/tty45  /dev/tty5   /dev/tty54  /dev/tty59  /dev/tty63  /dev/ttyprintk
/dev/tty1   /dev/tty14  /dev/tty19  /dev/tty23  /dev/tty28  /dev/tty32  /dev/tty37  /dev/tty41  /dev/tty46  /dev/tty50  /dev/tty55  /dev/tty6   /dev/tty7
/dev/tty10  /dev/tty15  /dev/tty2   /dev/tty24  /dev/tty29  /dev/tty33  /dev/tty38  /dev/tty42  /dev/tty47  /dev/tty51  /dev/tty56  /dev/tty60  /dev/tty8
/dev/tty11  /dev/tty16  /dev/tty20  /dev/tty25  /dev/tty3   /dev/tty34  /dev/tty39  /dev/tty43  /dev/tty48  /dev/tty52  /dev/tty57  /dev/tty61  /dev/tty9
pi@raspberrypi:~ $ lsusb
Bus 001 Device 005: ID 0424:7800 Standard Microsystems Corp.
Bus 001 Device 003: ID 0424:2514 Standard Microsystems Corp. USB 2.0 Hub
Bus 001 Device 002: ID 0424:2514 Standard Microsystems Corp. USB 2.0 Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
pi@raspberrypi:~ $ ls /dev
autofs           fb0        kmsg   loop-control      network_latency     ram12  ram8     stdout  tty16  tty25  tty34  tty43  tty52  tty61      urandom  vcs5   vcsa7     vcsu7
block            fd         log    mapper            network_throughput  ram13  ram9     tty     tty17  tty26  tty35  tty44  tty53  tty62      v4l      vcs6   vcsm      vhci
btrfs-control    full       loop0  media0            null                ram14  random   tty0    tty18  tty27  tty36  tty45  tty54  tty63      vchiq    vcs7   vcsm-cma  video10
bus              fuse       loop1  mem               ppp                 ram15  raw      tty1    tty19  tty28  tty37  tty46  tty55  tty7       vcio     vcsa   vcsu      video11
cachefiles       gpiochip0  loop2  memory_bandwidth  ptmx                ram2   rfkill   tty10   tty2   tty29  tty38  tty47  tty56  tty8       vc-mem   vcsa1  vcsu1     video12
char             gpiochip1  loop3  mmcblk0           pts                 ram3   serial1  tty11   tty20  tty3   tty39  tty48  tty57  tty9       vcs      vcsa2  vcsu2     watchdog
console          gpiomem    loop4  mmcblk0p1         ram0                ram4   shm      tty12   tty21  tty30  tty4   tty49  tty58  ttyAMA0    vcs1     vcsa3  vcsu3     watchdog0
cpu_dma_latency  hwrng      loop5  mmcblk0p2         ram1                ram5   snd      tty13   tty22  tty31  tty40  tty5   tty59  ttyprintk  vcs2     vcsa4  vcsu4     zero
cuse             initctl    loop6  mqueue            ram10               ram6   stderr   tty14   tty23  tty32  tty41  tty50  tty6   uhid       vcs3     vcsa5  vcsu5
disk             input      loop7  net               ram11               ram7   stdin    tty15   tty24  tty33  tty42  tty51  tty60  uinput     vcs4     vcsa6  vcsu6
pi@raspberrypi:~ $ ls /dev/tty*
/dev/tty    /dev/tty12  /dev/tty17  /dev/tty21  /dev/tty26  /dev/tty30  /dev/tty35  /dev/tty4   /dev/tty44  /dev/tty49  /dev/tty53  /dev/tty58  /dev/tty62  /dev/ttyAMA0
/dev/tty0   /dev/tty13  /dev/tty18  /dev/tty22  /dev/tty27  /dev/tty31  /dev/tty36  /dev/tty40  /dev/tty45  /dev/tty5   /dev/tty54  /dev/tty59  /dev/tty63  /dev/ttyprintk
/dev/tty1   /dev/tty14  /dev/tty19  /dev/tty23  /dev/tty28  /dev/tty32  /dev/tty37  /dev/tty41  /dev/tty46  /dev/tty50  /dev/tty55  /dev/tty6   /dev/tty7   /dev/ttyUSB0
/dev/tty10  /dev/tty15  /dev/tty2   /dev/tty24  /dev/tty29  /dev/tty33  /dev/tty38  /dev/tty42  /dev/tty47  /dev/tty51  /dev/tty56  /dev/tty60  /dev/tty8
/dev/tty11  /dev/tty16  /dev/tty20  /dev/tty25  /dev/tty3   /dev/tty34  /dev/tty39  /dev/tty43  /dev/tty48  /dev/tty52  /dev/tty57  /dev/tty61  /dev/tty9
pi@raspberrypi:~ $ lsusb
Bus 001 Device 009: ID 1a86:7523 QinHeng Electronics HL-340 USB-Serial adapter
Bus 001 Device 005: ID 0424:7800 Standard Microsystems Corp.
Bus 001 Device 003: ID 0424:2514 Standard Microsystems Corp. USB 2.0 Hub
Bus 001 Device 002: ID 0424:2514 Standard Microsystems Corp. USB 2.0 Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
pi@raspberrypi:~ $ ls /dev
autofs           fb0        kmsg   loop-control      network_latency     ram12  ram8     stdin   tty15  tty24  tty33  tty42  tty51  tty60      uhid     vcs3   vcsa5     vcsu5
block            fd         log    mapper            network_throughput  ram13  ram9     stdout  tty16  tty25  tty34  tty43  tty52  tty61      uinput   vcs4   vcsa6     vcsu6
btrfs-control    full       loop0  media0            null                ram14  random   tty     tty17  tty26  tty35  tty44  tty53  tty62      urandom  vcs5   vcsa7     vcsu7
bus              fuse       loop1  mem               ppp                 ram15  raw      tty0    tty18  tty27  tty36  tty45  tty54  tty63      v4l      vcs6   vcsm      vhci
cachefiles       gpiochip0  loop2  memory_bandwidth  ptmx                ram2   rfkill   tty1    tty19  tty28  tty37  tty46  tty55  tty7       vchiq    vcs7   vcsm-cma  video10
char             gpiochip1  loop3  mmcblk0           pts                 ram3   serial   tty10   tty2   tty29  tty38  tty47  tty56  tty8       vcio     vcsa   vcsu      video11
console          gpiomem    loop4  mmcblk0p1         ram0                ram4   serial1  tty11   tty20  tty3   tty39  tty48  tty57  tty9       vc-mem   vcsa1  vcsu1     video12
cpu_dma_latency  hwrng      loop5  mmcblk0p2         ram1                ram5   shm      tty12   tty21  tty30  tty4   tty49  tty58  ttyAMA0    vcs      vcsa2  vcsu2     watchdog
cuse             initctl    loop6  mqueue            ram10               ram6   snd      tty13   tty22  tty31  tty40  tty5   tty59  ttyprintk  vcs1     vcsa3  vcsu3     watchdog0
disk             input      loop7  net               ram11               ram7   stderr   tty14   tty23  tty32  tty41  tty50  tty6   ttyUSB0    vcs2     vcsa4  vcsu4     zero

Grazie a tutti già in anticipo.

Buongiorno, :slight_smile:
essendo questi i tuoi primi post, nel rispetto del regolamento della sezione Italiana del forum (… punto 13, primo capoverso), ti chiedo cortesemente di presentarti IN QUESTO THREAD (spiegando bene quali conoscenze hai di elettronica e di programmazione ... possibilmente evitando di scrivere solo una riga di saluto) e di leggere con molta attenzione tutto il su citato REGOLAMENTO ... Grazie. :slight_smile:

Guglielmo

P.S.: Ti ricordo che, purtroppo, fino a quando non sarà fatta la presentazione nell’apposito thread, nessuno ti potrà rispondere, quindi ti consiglio di farla al più presto. :wink:

E quindi alla fine credo che il problema risieda nel processore, ma non so se sono riuscito a spiegarmi bene.