Проблема:
Через приложение для Android можно программно проверять содержимое флэш-памяти arduino, чтобы убедиться, что оно не было изменено (злонамеренно)
Я могу сделать это с помощью avrdude, используя команду как показано ниже в оболочке Android ADB
avrdude -C/data/data/com.myapp.avrdude/local/etc/avrdude.conf -v -patmega2560 -cstk500v2 -P/dev/ttyACM0 -b115200 -D -Uflash:v:firmware.hex:i
Это хорошо работает с Arduino, но проблема возникает, когда я хочу сделать то же самое с платой, которая использует чип FTDI. Когда он подключен к устройству Android, он не отображается в / dev / location.
На машине linux устройство arduino отображается как / dev / ttyACM0, а устройство FTDI - / dev / ttyUSB0. Проблема в том, что устройство FTDI не отображается на Android, поэтому приведенная выше команда avrdude становится бесполезной.
Я не хочу собирать драйвер ядра для FTDI, как указано здесь
Подход, который я хочу использовать, который, на мой взгляд, наиболее эффективен, заключается в том, чтобы найти / построить простую Java-оболочку для avrdude, которая взаимодействует с USB-устройством на более высоком уровне, таким образом я могу использовать FTDI java библиотека для выполнения команды для проверки прошивки.
Является ли этот подход жизнеспособным? Если нет, то как лучше всего подойти к этой проблеме?