Tuesday, December 29, 2015

Interesantes dos días de trasnocho. Como dicen por ahi: "Todos los dias se aprende algo nuevo". 
Estaba buscando en la red, como conectar un sensor DS18b20 a una BBB. (BeagleBoneBlack)

Encontré muchas cosas:

-Es posible realizar la conexión del sensor a voltaje de 3.3v
-No es nada fácil. Hay que realizar una actualización del un paquete dts....muy muy complicado de entender. No hoy manera fácil de bajar y pegar como ya se hacia con el maravilloso arduino.
-Me encontré que se puede conectar el arduino por vía serial a la BBB, esto ademas de permitir la comunicación también permite darle energía, lo cual me ha parecido magnifico. Se imaginan tener la potencia de linux en la bbb y la facilidad de conectar los sensores al arduino.-

Algunos fanáticos dirán que eso es ir en detrimento de la BBB, que tiene muchos mas puertos. Pero personas que solo manejamos el arduino por hobby, que estamos acostumbrados a alimentar todos nuestros sensores a 5V... tanto en patillas de entrada, como de salida, así como el conversor análogo ...pues nos resulta en una total confusión... adaptar los sensores a los nuevos niveles de 3.3v de la bbb (5v - 3.3v en I2C) , y que me dicen del limite de 1.8v de las entradas análogas........NO ..ni que hablar de utilizar el código C para hacer las gestiones. Al tratarse de una configuración de diseño no es salvable  aunque hagamos las cosas mas fáciles con Adafruit y python.


Bueno pero volvamos al caso. El detalle (No se porque no había buscado más en los ejemplos). con la  IDE de arduino viene un código de ejemplo llamado FIRMATA.

Firmata es una manera sencilla de conectar la potencia de placas como Arduino a un PC por medio de la conexión usb. Esto permite interactuar con los puertos del Arduino directamente desde el PC. Como?? pues por medio de aplicaciones que envían información por el puerto USB como se haría por un puerto serial normal..

Algo que me pareció fantástico (( hablaré en otra entrada)) fue la ejecución de la aplicación  firmata_test.exe
Alguna vez intente ... sin ningún éxito.. realizar esto desde el puerto paralelo.. .años después desde el puerto serial DB9... y ahora en par minutos EUREKA... controlando entradas  y salidas, incluso servomotores de forma muy sencilla.

Esto anterior solamente lo probe en mi PC con windows 10. Como quería realizar algo parecido en la beaglebone, era necesario exportar esto a javascript. Primero con la configuracion de mi node.js y los paquetes necesarios. Ahi es donde viene el trasnoche. Problemas con el paquete npm...despues con las dependencias C++ ,,, después una instalación de visual studio express 2015. Nada dio solución al problema. Solo logre comunicación por medio de un paquete similar para python llamado pyfirmata.

Les comento que hay una herramienta de buena circulación para logar la comunicacion Arduino -BeagleBone con javascrip. 




En este repositorio está todo lo necesario para realizar la configuración de nuestra placa arduino, que será alimentada y gestionada desde BBB.

Bueno, paso comentar el objetivo de toda la consulta:
1- Estoy investigando el funcionamiento de el protocolo IOT Mqtt
2- Ya he logrado subir/bajar datos desde el protocolo MQTT mediante la configuracion de un sensor LM35.
3- Quiero expandir la cantidad de sensores conectados, Empezando por el DS18b20. Un sensor de temperatura que ya conozco en arduino y me ofrece muy buenos resultados..
4 -  Realizar toda esta configuracion Python o Javascript para embeberlo sobre una BBB.

Hasta aquí lo aprendido en dos días de trasnoche. 

PS: Firmata no viene para trabajar con el protocolo One-Wire,... luego descarto la idea de poder realizar algo por este lado.

No comments:

Post a Comment