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-devsudo apt-get install luarocks
sudo apt-get install opensslsudo apt-get install libssl-dev-- Librerias para luarockssudo luarocks install luarockssudo luarocks install luasec-- librerias para GPIOsudo luarocks install rpi-gpiosudo 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.
No hay comentarios:
Publicar un comentario