Programando a Linkit One com Arduino IDE
Muitos usuários e demais leitores do FILIPEFLOP ficaram encantados com a Linkit One. Em tão pouco espaço, ela agrega tantas funcionalidades quanto um pequeno celular. E na apresentação dela destaquei que a mesma pode ser programada pela interface do Arduino. Isso é bem verdade, e será mostrado nesse artigo sobre a Linkit One com Arduino IDE.
Ao contrário de algumas outras placas compatíveis com o ecossistema de desenvolvimento Arduino, para programar a Linkit One é preciso instalar os drivers da placa, atualizar o Arduino IDE, atualizar seu bootloader, para então, por fim, poder programá-la com tudo que a ferramenta pode oferecer.
E uma observação importante: esse guia toma por base o uso de um computador com sistema operacional Windows! É possível usar a placa no Linux? Com certeza, mas trata-se de processos que serão mostrados em uma outra ocasião. Vamos então mostrar como configurar todo o ambiente para que você possa usar a Linkit One com Arduino IDE!
Instalando os Drivers da Linkit One
Então, em se tratando do Windows, é importante ter instalado no computador os drivers da placa. Para isso, primeiro certifique-se de ter acesso como administrador à máquina com Windows, e faça o download do arquivo de instalação neste link da MediaTek. Esse arquivo possui uma pasta compactada, chamada “windows-com-port-driver“. Descompacte essa pasta em algum lugar de sua preferência, e execute o arquivo contido dentro dessa pasta, que é o InstallMTKUSBCOMPortDriver.exe.
A instalação não tem segredo. É o tradicional “próximo-próximo-próximo-instalar”, etc.
Terminada a instalação, e antes de plugar a placa, realize as etapas a seguir como uma “precaução”:
- Abra o Painel de Controle, procure e abra a opção Mudar configurações de instalação de dispositivo.
- Em Configurações de Instalação de Dispositivo, selecione Não, deixe-me escolher o que fazer. E clique Nunca instalar drivers de software do Windows Update, como mostrado abaixo:
Para Windows 7:
No Windows 8 e 10:
Também, certifique-se de desmarcar Automaticamente obter aplicações e informações do dispositivo providas pelo fabricante.
Antes de finalmente plugar a Linkit One ao computador pelo cabo USB, certifique-se te que ela esteja no SPI Mode, modo controlado pela chave seletora mais ao meio da placa, conforme indicado na imagem adiante. Isso é importante porque esse modo encaminha como será feito o acesso à memória da placa. Para atualizar o Firmware/Bootloader, é preciso que esteja no SPI Mode.
Chave seletora no modo SPI, agora é a hora de plugar a placa no computador pelo cabo USB.
Inicialmente, os dispositivos vinculados à LinkitOne não serão reconhecidos pelo Windows. Veja abaixo, na janela do Gerenciador de Dispositivos, do Painel de Controle do Windows.
Todavia, o Windows irá reconhecer os drivers, e irá lhe perguntar sobre a instalação desses drivers. Confirme que SIM, deseja instalar os drivers de dispositivos relacionados.
Passado algum tempo (segundos a minutos, depende do Windows e da sua máquina!), os dispositivos serão então apropriadamente reconhecidos, tendo portas de comunicação Seriais (COM) atribuídas a eles. Veja como ficarão, de acordo com o Gerenciador de Dispositivos.
Viram que há 2 portas seriais de comunicação? Dando uma prévia, a importante a ser utilizada no Arduino IDE será sempre a MTK USB Modem Port.
Configurando o Arduino IDE
Agora é a hora de colocarmos todo o setup de configuração da Linkit One com Arduino IDE. Uma boa notícia é que desde as versões 1.6.4 em diante, aproximadamente, o Arduino IDE é capaz de baixar e configurar automaticamente o setup de todo um perfil de placas, com base em um arquivo json informado no menu Preferences.
Sendo assim, para informar o arquivo de setup da Linkit One, abra a janela do Arduino IDE, e vá na opção de menu File, e depois em Preferences.
No campo “Additional Boards Manager URLs“, coloque o link http://download.labs.mediatek.com/package_mtk_linkit_index.json, como mostrado abaixo:
Veja que se você clicar no ícone ao lado do campo de texto, será aberto uma janela que irá permitir digitar um ou mais links de configuração json.
Inserido o link, clique no botão OK para salvar os links informados. O próximo passo agora é instalar todo o ecossistema de desenvolvimento da Linkit One adaptado ao Arduino IDE.
Para essa última etapa dessa parte do processo, vá ao menu Tools. Nesse menu, vá à opção Board, e depois em Boards Manager.
Quando clicar em Boards Manager, será aberta uma janela e o Arduino IDE irá atualizar as referências de placas cadastradas na IDE, dentre as quais estão as referências informadas pelo arquivo json inserido pouco tempo atrás. Como as placas/plataformas estão em ordem alfabética, procure o campo da Linkit One (irá estar mais abaixo). No campo da Linkit One, por padrão é selecionada a versão mais recente dos componentes da placa. Dessa forma, sem mais nem menos, clique no botão Install.
Terá início o processo de download e instalação dos componentes da Linkit One para o Arduino IDE. Terminado o processo, certifique-se de aparecer uma mensagem de “Installed“, no campo em que fica o nome da placa no Boards Manager (veja na mesma imagem acima, mais a direita no campo da Linkit Smart 7688 Duo, tem uma mensagem de INSTALLED).
Atualizando o Bootloader da Placa
Nessa etapa, será preciso mudar a forma como que a Linkit One se comporta com o computador. E antes disso, retire ela do cabo USB, e com ela desligada, deixe a Linkit One no modo Mass Storage, onde pela USB é possível acessar a memória Flash da placa diretamente. O modo Mass Storage é controlado pela primeira chave seletora, da esquerda pra direita, conforme indicado na figura abaixo.
O próximo passo é selecionar a placa Linkit One no menu Tools, e depois em Board. Veja abaixo como é a seleção.
Selecionada a “Board” Linkit One, todos os seus utilitários relacionados também serão selecionados pelo Arduino IDE, ou seja, a ferramenta se adapta para lidar com a placa.
Dentre os utilitários disponíveis, está o atualizador de Firmware, ou, em inglês, LinkIt Firmware Updater, que deve ser selecionado no Menu Tools, opção “Programmer“, item “LinkIt Firmware Updater“, como mostrado no caminho adiante.
Agora o Arduino IDE está preparado para gravar o bootloader na placa. Para essa etapa, clique no menu Tools, e por fim em Burn Bootloader.
Após clicar nessa opção, será aberta a janela do LinkIt Firmware Updater. Clique na seta verde, do ícone bem grande à direita da Janela.
O programa irá “vasculhar” as USBs presentes no computador, irá identificar a Linkit One presentemente conectada, e iniciará o processo de atualização do firmware da Linkit One. Veja abaixo como ficará a janela de progresso, em uma dada etapa do processo.
Finalizada a atualização do firmware, será exibida uma janela com a mensagem “Download complete”, indicando que tudo correu bem! (UFA!) Clique no botão OK para fechar, e mãos à obra para o próximo passo.
Programação Linkit One com Arduino IDE
Terminada a gravação do Bootloader, está tudo certo para a operação normal da placa Linkit One com Arduino IDE, de modo que agora seja possível carregar os programas compilados nela.
Para isso, é preciso virar aquela chave mais à esquerda da placa, próxima à porta USB, para o modo UART (ou também chamado de Modo Boot Normal). Veja na foto como a chave seletora deve ficar:
Conecte a Linkit One ao computador pelo cabo USB. Certifique-se pelo Gerenciador de Dispositivos de identificar qual a porta COM que é correspondente ao “MTK USB Modem Port“, que no meu caso ficou a porta COM4 (eu reconfigurei minhas portas). A porta indicada pelo MTK USB Modem Port é a porta a ser selecionada no Arduino IDE. No meu caso, marquei a porta COM4.
Pra esquentar a Linkit One com Arduino IDE, nada como o famoso pisca-Led com Serial, concordam? Copie e cole o código abaixo no novo sketch do Arduino.
//Programa: Linkit One com IDE Arduino int LED_LINKIT = 13; void setup() { //Define sinal do led como saida pinMode(LED_LINKIT, OUTPUT); Serial.begin(9600); } void loop() { digitalWrite(LED_LINKIT, HIGH); // Aciona o LED com nivel ALTO Serial.println("LED ACESO"); delay(1000); // Delay de 1 segundo digitalWrite(LED_LINKIT, LOW); // Desativa o LED com nivel BAIXO Serial.println("LED APAGADO"); delay(1000); // Delay de 1 segundo }
Clique no botão Compile & Run. Será iniciado o processo de compilação, e terminado, o código será carregado na placa.
Esses e demais tópicos podem ser vistos (em inglês) no Manual de Usuário da Linkit One.
Gostou deste post da Linkit One com Arduino IDE? Ajude-nos a melhorar o blog atribuindo uma nota a este tutorial (estrelas no final do artigo), comente e visite nossa loja FILIPEFLOP!
Site: Blog FILIPEFLOP