perchè non greppi l'output del comando lsusb (su linux) in cerca dei vid e pid della scheda?
così vedi la scheda collegata ed il suo nome così come la vede il S.o.
Si questa è una strada che richiede come dipendenze lsusb, ci sono alternative a questa?
Una è :
ls -l /dev/serial/by-id/usb-FTDI_FT232R_USB_UART_A600etZm-if00-port0
Che mostra:
lrwxrwxrwx 1 root root 13 11 mag 08:06 /dev/serial/by-id/usb-FTDI_FT232R_USB_UART_A600etZm-if00-port0 -> ../../ttyUSB3
Allora ricavo a cosa punta il link e poi interrogo il bootloader su tutte le porte con FTDI presenti nel sistema, quella che risponde correttamente è la scheda Arduino.
Per ricavare la signature scritta nel bootloader faccio così:
print "Clear DTR and RTS to unload the RESET capacitor"
ser.setRTS(False)
ser.setDTR(False)
print "attende x tempo"
time.sleep(1)
print "Set DTR and RTS back to high"
ser.setRTS(True)
ser.setDTR(True)
print "attende x tempo"
time.sleep(0.5)
print "scrive 0x75, 0x20"
ser.write(chr(0x75))
ser.write(chr(0x20))
print ord(ser.read()) # 0x14
print ord(ser.read()) # 0x1E
print ord(ser.read()) # 0x95
print ord(ser.read()) # 0xF
print ord(ser.read()) # 0x10
La signature per la 2009 è appunto 0x1E950F, per la Mega 1280 0x1E97
03.
Per le altre che usano il chip 8u2 non so se il codice python di cui sopra è ancora valido.
Poi tutto questo lo devo fare in javascript.
Ciao.