App Inventor USB OTG Arduino

yul-i-an
yul-i-an аватар
Offline
Зарегистрирован: 10.12.2012

Столкнулся с проблемой, 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 все работало, но сейчас нет необходимости его использовать.

BOOM
BOOM аватар
Offline
Зарегистрирован: 14.11.2018

Может это все потому что:

"Примечание: MIT AI2 Companion не является автономным приложением. Он предназначен для использования с системой MIT App Inventor, веб-инструментом для создания приложений, который можно использовать бесплатно."

А может я не понял о чем Вы написали....

yul-i-an
yul-i-an аватар
Offline
Зарегистрирован: 10.12.2012

На AI2 создаем приложение, устанавливаем на смартфон и юзаем на свое усмотрение.
До этого я использовал его для создания приложения которое по BT получало данные с Ардуино и передавало их на нородный мониторинг. А вот теперь через кабель нужно, но не идет:(

kalapanga
Offline
Зарегистрирован: 23.10.2016

А где-нибудь написано, что приложения, созданные эти самым инвентором, что-то знают о возможности работать на смартфоне с другими устройствами через кабель (умеют это делать в принципе)?

b707
Offline
Зарегистрирован: 26.05.2017

я бы скорее спросил, что такое Arduino.PrintSerial и умеет ли оно печатать в OTG

Кроме того, как сейчас у ТС собрана программа в АппИнвенторе - инициализация Сериала и печать в него - это два разных процесса

И еще непонятно, почему при событиях connect и disconnect печатается одна и та же строчка (хотя это явно на результат и не влияет)

ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

а если в OTG втыкаешь ардуину, порт поднимается?

yul-i-an
yul-i-an аватар
Offline
Зарегистрирован: 10.12.2012

Одна строчка это потому-что идет присвоение флага состояния текстовому полю

yul-i-an
yul-i-an аватар
Offline
Зарегистрирован: 10.12.2012

Всем спасибо за внимание. Проблему решил.

Проблема оказалась в том-что на Ардуине используется в качестве моста USB-UART чип CH340 и встроенная в AI2 бииблиотека SerialArduino их не видит. Путем ГУГЛЕНИЯ в течении довольно продолжительного времени удалось найти стороннюю библиотеку с которой все заработало.

Если кто столкнется с такой проблемой качайте библиотеку com.SerialOTG.aix для AI2.

MatrosLom
Offline
Зарегистрирован: 18.09.2021

Та же самая проблема, но еще проблематичнее :(  потому что я даже не знаю куда воткнуть эту библиотеку. Помогите кто может, плиз.

ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

MatrosLom пишет:

Та же самая проблема, но еще проблематичнее :(  потому что я даже не знаю куда воткнуть эту библиотеку. Помогите кто может, плиз.

видимо в Андроид, она 183 килобайта

MatrosLom
Offline
Зарегистрирован: 18.09.2021

Фраза " встроенная в AI2 библиотека SerialArduino их не видит" как бы намекает, что это библиотека АI2.  Куда пихать эту библиотеку хоть убейте не понимаю.

Kakmyc
Offline
Зарегистрирован: 15.01.2018

По мне решение вполне очевидное:"не использовать эту херь"

MatrosLom
Offline
Зарегистрирован: 18.09.2021

Таки нашел куда пихать либу. На вкладке Designer самый последний пункт меню слева Extension, вот в него и пихаем. Пока не заработало, но это дело техники.

MatrosLom
Offline
Зарегистрирован: 18.09.2021

Заработало!!! Всем спасибо. 

ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

MatrosLom пишет:

Заработало!!! Всем спасибо. 

поделись подробностями

lilik
Offline
Зарегистрирован: 19.10.2017

ua6em пишет:

MatrosLom пишет:

Заработало!!! Всем спасибо. 

поделись подробностями

Вот про это он наверняка говорит.

infyniti
Offline
Зарегистрирован: 15.07.2017

Принимаю данные по OTG на андройд и через некоторое время начинают прилетать полупустые пакеты. Куда копать? В сериал пакеты приходят целые.