Микроконтроллер передает по UART данные с датчиков в Андроид устройство, что бы визуализировать показания в виде шкалы приборов.
К микроконтроллеру подключаю FTDI ( rs232-USB ) // либо hc-05, в случае с BLUETOOTH.
Протокол передачи самодельный.
Проект создал в Unity.
Для начала выбрал платформу Windows.
Организовал чтение SerialPort через функцию ReadByte, так как в Unity "кастрированная" библиотека SerialPort.
API = .NET Standart 2.0
Теперь проект хорошо работает под Windows, но мне нужен Android.
Сменил платформу под Android. Получил кучу ошибок связанных с пространством имен.
Сменил API на .NET 4.x - ошибок не стало.
Скомпилировал APK и запустил на Андроиде.
Для подключения использовал USB-OTG.
Но данные не приходят.
Стал разбираться и понял, что Unity не очень то приспособлена для Android.
Unity выбрал из-за за удобства работы с графикой.
Пришлось учится писать на C#, до этого писал только на assembler для AVR. Сейчас склоняюсь что нужно было учить JAVA и использовать другую среду типа Processing или AndroidStudio, но мне совсем не хочется переписывать весь проект.
Может быть можно что то сделать в Unity ?
Я находил платные плагины и библиотеки, но я не уверен, что они смогут работать с функцией ReadByte, как требуется в моем проекте..
Я уверен, что ничего сложного в этой задаче нет.
Сложность для меня заключается в непонимании того, что нужно сделать.
Может быть у кого то есть проект на Unity для Android, в котором реализован прием данных с USB или Bluetooth?
Я выяснил, что требуется правка файла Manifest и res/xml/accessory_filter.xml - даже нашел примеры реализации этого.
А где бы подглядеть основной код на C# работы с USB или Bluetooth? Ведь в Андроиде нет SerialPort - в нем нужно USB-Host использовать.
вот что нагуглил:
1) проект забросили
https://www.lmdsmart.com/2019/06/con...r-usb.html?m=1
2) бесплатная либа, но нет описания как её юзать
https://github.com/seiji/unity-bluetooth
Все остальное либо написано на джава либо ни как не связано с UNITY.
Возможно и можно подключить какие то библиотеки, но я хз как это сделать..
вот например:
https://github.com/mik3y/usb-serial-for-android