Busqué la edu-ciaa-nxp, el dht-11 y el poncho educativo por el display lcd, me bajé el Firmware V3 que Eric muy recientemente ha publicado y adelante:
git clone https://github.com/ciaa/firmware_v3.git
Temperatura y humedad
Ando medio raro, leí las instrucciones ANTES de fallar.
Tambien un poco vago, llamé
make board_select board_program
Eligiendo la placa y el path, examples/c/sapi/dht11_temp_humidity, para que me cree board.mk
Hice el export para que encuentre el compilador y lo de siempre...
export PATH=$PATH:....
make
make download
miniterm.py /dev/ttyUSB0 115200
Y anda.
Display
Parecido, la ruta es examples/c/sapi/lcd/gpio y no hace falta redefinir la placa y no sólo anda, sino que ya dice "Temp y Hum", parece que la estación meteorológica es el nuevo blinky.
Integración
Tomé el medidor, aunque pudo haber sido el del lcd y le transferí lo que necesitaba del lcd, que era la inicialización, el caracter de grados y lcdGoToXY(), lcdSendStringRaw(), etc. Metí las mediciones con un sprintf() en los buffers de entrada de lcdSendStringRaw() y listo, anda.
Finalmente lo saqué todo a mi repo y en el repo del firmware_v3 puse un symlink al mío, seleccioné el programa y lo habitual:
mkdir projects
cd projects
ln -s ../../../cpantel/Germinometro
cd ..
make select_program
make clean && make && make download
No, no tan fácil, a make select_program no le gustó el symlink:
Error: this script only work with paths inside repository folder.
If you want to use a path outside repository folder please change program.mk manualy.
Y como me había llevado sólo una hora llegar hasta acá, moví el proyecto a la carpeta al lado de los ejemplos y listo.
El sistema completo
Ya me supera un poco poner una tarjeta SD para registrar las mediciones y ponerle una pila, ponerlo en hora, así que le conecté una netbook y por puerto serial, que ya me lo había dado el primer ejemplo, las mando a un txt con un timestamp
miniterm.py /dev/ttyUSB2 115200 \
| while read LINE; do \
TS=$(date "+%Y-%m-%d %H:%M:%S");\
echo $TS $LINE; \
done \
| tee --append log.txt
Le pido a miniterm.py o tu programa favorito tal que puedas colgarte de su STDOUT que lea cada linea, le antepongo un timestamp y lo tiro a la pantalla y a un archivo en modo concatenación.
El código en github.
Nota de color
Me confundí al comienzo y me estaba compilando el ejemplo por default, que muestra "LED apagado" en el serial.
Para diagnosticar mis amigos fueron
- buscar strings en el ejecutable para comprobar que se estuviera grabando
- git grep con el texto de lo que estaba viendo en el serial
- borrar .gitignore para ver que está tocando el proceso de compilación, lo recuperás con:
git checkout .gitignore
No hay comentarios:
Publicar un comentario