Manual

do

Maker

.

com

Primeiros passos com o Whisper Node

Primeiros passos com o Whisper Node

Espero que você tenha lido o artigo sobre a apresentação do Whisper Node, onde expliquei detalhes sobre o hardware. Se não o fez, aproveite e clique aqui. Nesse artigo pretendo mostrar todos os passos necessários para deixá-lo à vontade enquanto desenvolvendo suas aplicações. Não que seja algo complicado, mas nada melhor do que apresentar o "primeiro momento" para que não surjam dúvidas e em um próximo post iniciaremos as aplicações mais legais possíveis com essa delícia!

Passo 1 - Soldar os headers

Você realmente não precisa soldar os headers se o intuito for utilizar o RF apenas, mas se desejar manipular GPIO, será necessário soldar os headers laterais. Assim o fiz em um deles e no outro, apenas coloquei os headers do FTDI para poder gravar o firmware no dispositivo.

Você pode utilizar um braço com lupa, soldar mal e porcamente ou alguma outra solução. Dessa vez vou de "alguma outra solução".  Eu quero manter o slot perfeitamente alinhado, portanto prenderei os headers X e Y na protoboard. Desse modo a board ficará bem apoiada e devidamente alinhada. Em uma delas utilizarei os headers de GPIO apenas para alinhar, pois soldarei somente o header do FTDI. Permita-me mostrar, com muito aperto no coração, a soldagem que fiz. Já adianto que não sou bom nisso, mas tentei ao máximo imacular a placa (não tenho estação de solda com ponta caneta, então já viu):

soldering.webp

Passo 2 - Conectar o FTDI

Eu recomendo que utilize um FTDI igual ao meu. O Whisper Node é tolerante a 5V nos pinos do FTDI, mas para evitar todo e qualquer problema, utilizo o FTDI em 3.3V, assim como todo o resto.

Para conectar o FTDI é bastante simples, ele tem a devida marcação em sí e a Whisper Node tem a marcação na parte de trás, muito difícil errar (não é impossível, portanto, cuidado). Ainda um último comentário; quando um projeto é feito pensado, até o wiring se torna algo trivial:

ftdi-whisperNode.webp

Conecte seu FTDI também ao notebook e a partir de então você estará pronto para subir seus programas para a board. Caso não tenha um FTDI mas possui por aí um Arduino UNO, você estará hábil a gravar no Whisper Node também. Basta conectar o reset ao ground do Arduino UNO de forma que a microcontroladora da board não iniciará quando conectado ao computador. Interligue o Whisper Node ao Arduino UNO. Coloque o 5V do Arduino UNO ao Vin do Whisper Node. O mesmo para GND. Conecte o TX de um ao RX de outro e o TX do outro ao RX de um. Se isso ainda lhe gera dúvidas, veja esse post que escrevi a respeito.

Passo 3 - Encontre a velocidade correta na IDE do Arduino

Após conectar o FTDI ou Arduino UNO à USB, você já terá disponível a porta no sistema. Abra a IDE do Arduino e coloque o monitor serial em 115200. Feche e abra-o novamente. Se por alguma razão estiver sendo exibido carácter estranho, mude a velocidade e repita o processo de fechar e reabrir a janela do terminal serial. O terminal serial deverá exibir importantes informações, como estas:

terminal-whisperNode.webp

Conectando a pilha e apertando "Enter" algumas vezes, já dá pra ver uma leitura assim:

alimentacao-whisperNode.webp

Passo 4 - Instalar a board

A Whisper Node não estará disponível por padrão na IDE do Arduino, mas disponibilizar a board na IDE é uma tarefa trivial. Entre em File->Preferences e adicione a URL http://talk2arduino.wisen.com.au/master/package\_talk2.wisen.com\_index.json como exibido na imagem:

adding_new_board-arduino.webp

Depois vá em Tools->Boards->Boards Manager e em "Type" selecione "Contributed". Você deverá ver um título com Talk2, como o da imagem a seguir. Basta instalar (eu fiz antes de escrever, estava ancioso, desculpe):

talk2-board.webp

Depois disso, basta selecioná em Tools->Board. Estará como "Talk2 Whisper Node". Mantenha "Speed" em "Default" e selecione a porta correspondente. A partir de agora você estará pronto para subir programas para a Whisper Node. Abra por exemplo o sketch do blink e troque o pino do LED para 9, então suba o sketch, apenas para testar a comunicação.

Passo 5 - Instalar a biblioteca

Você deverá abrir o menu Sketch->Include Library->Library Manager, selecionar mais uma vez a opção "Contributed" e então digitar ao lado "Talk". Isso já será o suficiente para filtar as bibliotecas de modo que você possa ver a Talk2. No menu File->Examples->Talk2 você já encontra alguns exemplos para iniciar a brincadeira. No video  do próximo artigo eu mostrarei o uso da Voltage.base, que trata de um nó lendo as tensões de entrada e enviando ao nó remoto. Veja bem; a brincadeira não é acender um LED remoto - é L E R    A S    T E N S Õ E S de entrada. Fantástica essa board. Se der uma apreciada no código, verá que a biblioteca oferece um recurso para temporizar a tarefa sem utilizar delay, isso porque o delay faz blocking e deve ser evitado sempre que possível. A tarefa pode ser limitada a um número de execuções com intervalo predefinido ou rodar para sempre. Seja qual for o modo pretendido, a tarefa deve ser iniciada em setup().

A biblioteca Talk² requer uma biblioteca de terceiro para gerenciamento de energia. A biblioteca se chama Low-Power e você a encontra também no "Library Manager" da IDE do Arduino, buscando por "power management".

Apesar de não estar disponível no library manager, você não precisa se preocupar com ela, pois está em "extras" dentro da biblioteca Talk2, mas outra biblioteca de terceiro utilizada nessa máquina de fazer sorrisos é a RadioHead. O procedimento é simples:

#minhas bibliotecas
cd ~/Arduino/libraries
cp Talk2/extras/RadioHead-1.62.zip .
unzip RadioHead-1.62.zip .

Reinicie a IDE e a biblioteca deverá aparecer na lista de bibliotecas do Arduino.

Por último, antes de iniciar o próximo post relacionado, gostaria de deixar a tabela de configuração dos parâmetros de rádio. Olhando no sketch você poderá notar as variáveis que definem a frequência e o TX power assim:

#define RADIO_FREQUENCY 916.0
#define RADIO_TX_POWER 13

Agora observe a tabela abaixo:

configTable.png

Os defines acima eu tirei do próprio sketch. Comparando com a tabela, significa que a frequência está em 915MHz e economia de energia (13dbM). O mesmo vale para as outras frequências (434MHz e 868MHz).

 

Mais uma característica da board

O SPI flash tem um firmware gravado que permite a você voltar a board para o programa default de forma fácil, fácil. Apenas remova a energia da board, pressione o botão 1, energize a board novamente e espere até que a gravação seja refeita; ao anergizar, o LED azul estará piscando, logo depois parará de piscar. Um pouco mais e você perceberá que o firmware iniciou a gravação porque o LED ficará acesso por um tempo maior e o LED vermelho também piscará junto. Nesse momento em que se inicia a gravação, tire o dedo de cima do botão. Um pouco mais a board parará de piscar; um pouco mais e o blink reiniciará. Você poderá apreciar o reset defaults abrindo novamente o terminal serial, que exibirá novamente a mensagem mostrada mais acima. O mais legal disso é que você pode substituir o firmware que está na flash por um outro firmware que deseje que seja default ou ainda subir um firmware por OTA. Veremos isso, calma, é só acompanhar!

Nome do Autor

Djames Suhanko

Autor do blog "Do bit Ao Byte / Manual do Maker".

Viciado em embarcados desde 2006.
LinuxUser 158.760, desde 1997.