
Nossos assuntos:
Tablet Android 4.1.1 "DNS AirTab M101w" e os seguintes dispositivos:
1. Tiva C Series TM4C123G LaunchPad
2. Placa Stellaris LaunchPad EK-LM4F120XL
3. Placa Arduino MEGA 2560
4. Placa MSP430 LaunchPad, M430G2553
E agora, em ordem, conectaremos todas essas placas via USB OTG ao tablet e tentaremos estabelecer uma conexão com elas sem recorrer ao acesso root.
Assunto 1. Tiva C Series TM4C123G LaunchPad
A placa possui um conector micro-usb “DEBUG” e um LED RGB, vamos brincar com eles.
O seguinte esboço foi carregado com o Energia IDE:
char data = ' ';
No meu caso, quando conectado ao tablet, o arquivo tty1-1: 1.0 aparece no diretório / dev / usb /. Vamos tentar registrar o seguinte no emulador de terminal:
$ echo 2 > /dev/tty1-1:1.0 $ read s < /dev/tty1-1:1.0 $ echo $s RGB=010
E então, inesperadamente para mim, uma luz verde acende e eu vi uma linha de saída. Por que inesperadamente? Porque eu esqueci de pré-configurar a conexão, cutuquei meu dedo no céu, mas pelo quão bem! Nós não vamos insistir nisso. Mas direi que em versões diferentes do núcleo, as placas serão definidas de maneira diferente e você não pode imaginar uma única linha de comando sem muletas
(sim, o linux é comum) .
Tendo brincado um pouco com as cores, enviando números diferentes para a chamada porta COM, comecei a procurar uma solução universal para Android. Há muito no Google Play para "Serial UART", e a maioria dos aplicativos funciona como esperado com um brinquedo da Texas Instruments. Mas minhas tentativas de encontrar um segmento compatível com o Open Source terminaram em quase nada. Para o Arduino, encontrei uma biblioteca interessante, mas mais sobre isso abaixo ...
Assunto 2: Placa Stellaris LaunchPad EK-LM4F120XL
Pelo que entendi, esta é a versão anterior do nosso primeiro assunto de teste e se comporta exatamente da mesma forma que no android. Mas o atual Energia 0101E0010, ao tentar preencher o esboço, não vê este quadro (Windows 8).
No ICDI device with USB VID:PID 1cbe:00fd found! Failed!
Portanto, ativei a saída do caminho binário final para o console e o carreguei manualmente usando o LM Flash Programmer.
Assunto 3: Placa Arduino MEGA 2560
Vamos mudar um pouco o esboço e piscaremos apenas com um LED.
Preencha com o IDE do Arduino
#define LED 13 char data = ' '; boolean ls = false; void setup() { pinMode(LED, OUTPUT); Serial.begin(9600); } void loop() { if (Serial.available()){ data = Serial.read(); switch (data){ case '1': ls = !ls; break; } digitalWrite(LED, ls); Serial.print("LED="); Serial.println(ls); } }
Nós nos conectamos ao tablet, novamente vemos o arquivo tty1-1: 1.0 no diretório / dev / usb /, repetimos o experimento:
$ echo 1 > /dev/tty1-1:1.0
e então eu acho que o LED pisca 2 vezes com um período de cerca de 100 ms e apaga. Ok, eu tento o seguinte:
$ read s < /dev/tty1-1:1.0
E então o terminal congelou em antecipação ... Ok, Ctrl + C
$ echo $s
É lógico que não há nada na saída.
Mas isso foi apenas uma introdução, existe um maravilhoso projeto
Physicaloid Library . Primeiro, abra a biblioteca como um projeto android comum no Eclipse. Agora crie um novo projeto e em suas propriedades no item android, Library, clique em Add ... e selecione Physicaloid Library. Agora, pressione o botão para enviar a string "1" para o arduino:
public void onClick(View v) {
Acho que não preciso dizer como ler os dados recebidos, porque tudo está na documentação da biblioteca.
Assunto 4: Placa de lançamento MSP430, M430G2553.
Esta placa não queria trabalhar com meu hardware. Simplesmente não é determinado pelo sistema, e as informações do dispositivo USB ficam suspensas quando atualizadas.
O resultado:
Eu gostaria que uma biblioteca desse tipo trabalhasse com os quadros da série C da Tiva. Refaça a si mesmo enquanto a habilidade não é suficiente.