App Inventor USB OTG Arduino
- Войдите на сайт для отправки комментариев
Пнд, 18/01/2021 - 16:39
Столкнулся с проблемой, AI2 не открывает сериал на Андройде. Планировал обмен данными через USB кабель.
В Ардуино простейший код для проверки
void setup() { pinMode(13, OUTPUT); Serial.begin(9600); } void loop() { if (Serial.available() > 0) { char state = Serial.read(); if (state == '1') { digitalWrite(13, HIGH); } if (state == '0') { digitalWrite(13, LOW); } } delay(50); }
Если на телефоне запустить терминал, то все работает, а вот через приложение на AI2 нет.
Код для AI2
Может кто сталкивался?
Как-то подобное делал через BT все работало, но сейчас нет необходимости его использовать.
Может это все потому что:
"Примечание: MIT AI2 Companion не является автономным приложением. Он предназначен для использования с системой MIT App Inventor, веб-инструментом для создания приложений, который можно использовать бесплатно."
А может я не понял о чем Вы написали....
На AI2 создаем приложение, устанавливаем на смартфон и юзаем на свое усмотрение.
До этого я использовал его для создания приложения которое по BT получало данные с Ардуино и передавало их на нородный мониторинг. А вот теперь через кабель нужно, но не идет:(
А где-нибудь написано, что приложения, созданные эти самым инвентором, что-то знают о возможности работать на смартфоне с другими устройствами через кабель (умеют это делать в принципе)?
я бы скорее спросил, что такое Arduino.PrintSerial и умеет ли оно печатать в OTG
Кроме того, как сейчас у ТС собрана программа в АппИнвенторе - инициализация Сериала и печать в него - это два разных процесса
И еще непонятно, почему при событиях connect и disconnect печатается одна и та же строчка (хотя это явно на результат и не влияет)
а если в OTG втыкаешь ардуину, порт поднимается?
Одна строчка это потому-что идет присвоение флага состояния текстовому полю
Всем спасибо за внимание. Проблему решил.
Проблема оказалась в том-что на Ардуине используется в качестве моста USB-UART чип CH340 и встроенная в AI2 бииблиотека SerialArduino их не видит. Путем ГУГЛЕНИЯ в течении довольно продолжительного времени удалось найти стороннюю библиотеку с которой все заработало.
Если кто столкнется с такой проблемой качайте библиотеку com.SerialOTG.aix для AI2.
Та же самая проблема, но еще проблематичнее :( потому что я даже не знаю куда воткнуть эту библиотеку. Помогите кто может, плиз.
Та же самая проблема, но еще проблематичнее :( потому что я даже не знаю куда воткнуть эту библиотеку. Помогите кто может, плиз.
видимо в Андроид, она 183 килобайта
Фраза " встроенная в AI2 библиотека SerialArduino их не видит" как бы намекает, что это библиотека АI2. Куда пихать эту библиотеку хоть убейте не понимаю.
По мне решение вполне очевидное:"не использовать эту херь"
Таки нашел куда пихать либу. На вкладке Designer самый последний пункт меню слева Extension, вот в него и пихаем. Пока не заработало, но это дело техники.
Заработало!!! Всем спасибо.
Заработало!!! Всем спасибо.
поделись подробностями
Заработало!!! Всем спасибо.
поделись подробностями
Вот про это он наверняка говорит.
Принимаю данные по OTG на андройд и через некоторое время начинают прилетать полупустые пакеты. Куда копать? В сериал пакеты приходят целые.