Control de circuitos eléctricos con Raspberry Pi: LUA
En una entrada anterior hemos visto la forma de controlar desde un programa Python la GPIO y con ello un circuito eléctrico más o menos complejo, ahora vamos a ver como se hace con LUA.
Primero hay que instalar las librerias básicas como luarocks (Hay que ejecutar los comandos uno a uno), para poder instalar las de GPIO de Raspberry Pi, probaremos rpi-gpio (con una sintaxis idéntica a la vista en Python, pero que da un error de desactualización «SystemError: This module can only be run on a Raspberry Pi!» ) y periphery (que funcionó con facilidad):
sudo apt-get install liblua5.1-0-dev
sudo apt-get install luarocks
sudo apt-get install opensslsudo apt-get install libssl-dev
-- Librerias para luarocks
sudo luarocks install luarocks
sudo luarocks install luasec
-- librerias para GPIO
sudo luarocks install rpi-gpio
sudo luarocks install lua-periphery
El fuente led.lua es el siguiente:
-- led.lua -- Programa que enciende un LED 1s -- Librerias Importa librerias (completan los comandos LUA) -- Sintaxis https://pypi.python.org/pypi/RPi.GPIO -- function Inicio() local periphery = require('periphery') local GPIO = periphery.GPIO print ('Version: ' .. GPIO.version) -- Enciende led local gpio_out = GPIO(18, "out") gpio_out:write(true) print('LED ON') periphery.sleep(2) -- Apaga led gpio_out:write(false) print('LED OFF') gpio_out:close() end -- Llamada a la función Inicio Inicio()
Las librerías GPIO funcionan solamente con LUA 5.1 para la ejecución correcta debemos cambiar los permisos (Hay que evitar lanzar comandos como sudo) y lanzar:
pi@raspberrypi:~ $sudo chmod 755 ./proyectos/LUA/led.lua pi@raspberrypi:~ $ lua ./proyectos/LUA/led.lua Version: 1.1.1 LED ON LED OFF
El funcionamiento es el esperado, e igual al programa Python.
Comentarios
Publicar un comentario