No post anterior ROS Kinetic e IDE Arduino foi explicado como instalar e configurar o IDE Arduino para funcionar com o ROS. Neste post a IDE Arduino será configurada para trabalhar com o ESP8266. Logo após, será mostrado o exemplo “hello world” e como acessar os dados transmitidos pelo ambiente do ROS Kinetic.
1º Configurar IDE Arduino para trabalhar com o ESP8266. Caso já tenha feito pule essa etapa. Caso não tenha ainda, então abra a IDE do Arduino vá em Arquivo>Preferências, no final da aba “configurações” existe o campo “URLs Adicionais para Gerenciadores de Placas:” copie o link abaixo e cole neste campo e dê “ok”.
http://arduino.esp8266.com/stable/package_esp8266com_index.json
Vá em Ferramentas> Placas> Gerenciador de Placas… e instale a “esp8266 by esp8266 Community”. Depois é só reiniciar a IDE e checar se aparecem em placas as esp8266 e em exemplos se aparecem os exemplos com ESP8266. Para testar sua instalção ESP8266 use qualquer exemplo como o “hello world”. Mais informações desta instalação consulte https://github.com/esp8266/Arduino
2º Conforme instalado no Post anterior ROS Kinetic e IDE Arduino a “ros_lib” já deve estar na sua pasta “libraries”. Vamos começar com o “Esp8266HelloWorld” que está em Arquivo>exemplos>ros_lib>Esp8266HelloWorld. Configure o “ssid” e a sua senha de WIFI para que o ESP possa se conectar na sua rede. Não esquecer que também deve configurar o IP de seu servidor ROS. Logo após envie para sua placa. Estou usando o NodeMCU v1 (vem com ESP8266 – 12E). Abra o monitor serial do Arduino em 115200baud.
3º Agora no Ubuntu com sua instalação ROS Kinetic, abra um terminal e inicie o ROS:
roscore
Agora em outro terminal, inicialize o rosserial para que ele fique preparado para receber conexões TCP websocket na porta 11411 e gerencie as conexões:
rosrun rosserial_python serial_node.py tcp
Se o esp8266 já estiver ligado ele deverá conseguir se conectar ao ROS e ficar enviando mensagem com o texto “hello world!” para o tópico “chatter”. para verificar o tópico basta digitar em um novo terminal:
rostopic echo chatter
Então você deverá ver o terminal exibindo data: “hello world!” repetindo a cada segundo.