Lua est un langage parfois mal compris. Contrairement à Python et à certains autres langages de programmation, ce langage est un langage d'extension général et est largement utilisé dans les moteurs de jeux, les frameworks, etc. Dans l'ensemble, je trouve que Lua est un outil précieux pour les développeurs, leur permettant d'améliorer et d'étendre leurs projets de manière puissante.
Vous pouvez suivre l'article de Seth Kenlon « Lua vaut-elle la peine d'être apprise ? 》Présentant le téléchargement et l'exécution de Lua couramment utilisé, l'article comprend également des exemples simples de code Lua. Cependant, pour tirer le meilleur parti de Lua, il est préférable de l'utiliser avec un framework qui adopte le langage. Dans ce didacticiel, je montre comment utiliser un framework appelé Mako Server, conçu pour permettre aux programmeurs Lua de coder facilement des applications IoT et Web. Je vous ai également montré comment étendre ce framework à l'aide de l'API pour utiliser les broches GPIO du Raspberry Pi.
Conditions requises
Avant de suivre ce tutoriel, vous aurez besoin d'un Raspberry Pi en cours d'exécution auquel vous pourrez vous connecter. Bien que je compile du code C dans ce didacticiel, vous n'avez besoin d'aucune expérience en codage C. Cependant, vous aurez besoin d'une certaine expérience dans l'utilisation d'un terminal POSIX.
Installation
Tout d'abord, ouvrez une fenêtre de terminal sur le Raspberry Pi et installez les outils suivants pour télécharger le code et compiler le code C à l'aide de Git :
$ sudo apt install git unzip gcc make
Ensuite, compilez le code open source du serveur Mako et la périphérie lua en exécutant la bibliothèque de commandes suivante (bibliothèque GPIO pour Raspberry Pi) :
$ wget -O Mako-Server-Build.sh \https://raw.githubusercontent.com/RealTimeLogic/BAS/main/RaspberryPiBuild.sh
Consultez le script pour voir ce qu'il fait et exécutez-le une fois que vous êtes d'accord :
$ sh ./Mako-Server-Build.sh
Le processus de compilation peut prendre un certain temps, en particulier sur les anciens Raspberry Pis supérieur. Après compilation, le script vous demandera d'installer le serveur Mako et les modules lua-periphery sur /usr/local/bin/
. Je recommande de l'installer pour simplifier l'utilisation du logiciel. Ne vous inquiétez pas, vous pouvez le désinstaller si vous n'en avez plus besoin : /usr/local/bin/
。我建议安装它以简化软件的使用。别担心,如果你不再需要它,你可以卸载它:
$ cd /usr/local/bin/$ sudo rm mako mako.zip periphery.so
要测试安装,请在终端中输入 mako
。这将启动 Mako 服务器,并在你的终端中看到一些输出。你可以按 CTRL+C
停止服务器。
IoT 和 Lua
现在 Mako 服务器已在你的树莓派上设置好,你可以开始对 IoT 和 Web 应用进行编程,并使用 Lua 操作树莓派的 GPIO 引脚。Mako Server 框架为 Lua 开发人员提供了一个强大而简单的 API 来创建物联网应用,而 lua-periphery 模块让 Lua 开发人员可以与树莓派的 GPIO 引脚和其他外围设备进行交互。
首先创建一个应用目录和一个 .preload
脚本,其中插入用于测试 GPIO 的 Lua 代码。.preload
$ mkdir gpiotst$ nano gpiotst/.preloadPour tester l'installation, saisissez dans le terminal
CTRL+C
Arrêter le serveur. Maintenant que le serveur Mako est configuré sur votre Raspberry Pi, vous pouvez commencer à programmer des applications IoT et Web et à utiliser Lua pour manipuler les broches GPIO du Raspberry Pi. Le framework Mako Server fournit aux développeurs Lua une API puissante mais simple pour créer des applications IoT, tandis que le module lua-periphery permet aux développeurs Lua d'interagir avec les broches GPIO du Raspberry Pi et d'autres périphériques. 🎜🎜Créez d'abord un répertoire d'application et un .preload
script, qui insère le code Lua pour tester GPIO. .preload
est une extension de serveur Mako qui se charge et s'exécute comme un script Lua au démarrage de l'application. 🎜-- Load periphery.so and access the LED interfacelocal LED = require('periphery').LEDlocal function doled()local led = LED("led0") -- Open LED led0trace"Turn LED on"led:write(true) -- Turn on LED (set max brightness)ba.sleep(3000)-- 3 secondstrace"Turn LED off"led:write(false)-- Turn off LED (set zero brightness)led:close()endba.thread.run(doled) -- Defer execution -- to after Mako has started🎜Copiez le contenu suivant dans 🎜Nano Editor🎜 et enregistrez le fichier : 🎜
-- Load periphery.so and access the LED interfacelocal LED = require('periphery').LEDlocal function doled()local led = LED("led0") -- Open LED led0trace"Turn LED on"led:write(true) -- Turn on LED (set max brightness)ba.sleep(3000)-- 3 secondstrace"Turn LED off"led:write(false)-- Turn off LED (set zero brightness)led:close()endba.thread.run(doled) -- Defer execution -- to after Mako has started
上面的 Lua 代码使用你编译并包含在 Mako 服务器中的 Lua-periphery 库控制树莓派 LED。该脚本定义了一个名为 doled
的函数来控制 LED。该脚本首先使用 Lua require
函数加载 periphery
库(共享库 periphery.so)。返回的数据是一个包含所有 GPIO API 函数的 Lua 表。但是,你只需要 LED API,你可以通过在调用 require
后附加 .LED
来直接访问它。接下来,代码定义了一个名为 doled
的函数,它执行以下操作:
- 通过调用
periphery
库中的LED
函数,并将字符串led0
传给它,打开树莓派主 LED,识别为led0
。 - 将消息
Turn LED on
打印到跟踪(控制台)。 - 通过调用 LED 对象上的
write
方法并将布尔值true
传递给它来激活 LED,该值设置 LED 的最大亮度。 - 通过调用
ba.sleep(3000)
等待 3 秒。 - 将消息
Turn LED off
打印到跟踪。 - 通过调用 LED 对象上的
write
方法并将布尔值false
传递给它来停用 LED,这会将 LED 的亮度设置为零。 - 通过调用 LED 对象上的
close
函数关闭LED
。
在 .preload
脚本的末尾,doled
函数作为参数传递给 ba.thread.run
函数。这允许将 doled
函数的执行推迟到 Mako 服务器启动之后。
要启动 gpiotst
应用,请按如下方式运行 Mako 服务器:
$ mako -l::gpiotst
控制台中打印以下文本:
Opening LED:opening 'brightness': Permission denied.
访问 GPIO 需要 root 访问权限,因此按 CTRL+C
停止服务器并重新启动 Mako 服务器,如下所示:
$ sudo mako -l::gpiotst
现在树莓派 LED 亮起 3 秒。成功!
Lua 解锁 IoT
在本入门教程中,你学习了如何编译 Mako 服务器,包括 GPIO Lua 模块,以及如何编写用于打开和关闭树莓派 LED 的基本 Lua 脚本。在以后的文章中,我将在本文的基础上进一步介绍 IoT 功能。
En attendant, vous pouvez approfondir la bibliothèque GPIO de la périphérie Lua en lisant sa Documentation pour en savoir plus sur la fonctionnalité et comment l'utiliser avec différents périphériques. Pour tirer le meilleur parti de ce didacticiel, pensez à suivre le Tutoriel Lua du serveur Mako interactif pour mieux comprendre Lua, le Web et l'IoT. Bon codage !
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Nginxunit prend en charge plusieurs langages de programmation et est implémenté par conception modulaire. 1. Module de langage de chargement: Chargez le module correspondant en fonction du fichier de configuration. 2. Startup d'application: exécutez le code d'application lorsque la langue appelle s'exécute. 3. Traitement de la demande: transférer la demande à l'instance de demande. 4. Retour de réponse: Renvoyez la réponse traitée au client.

Nginx et Apache ont leurs propres avantages et inconvénients et conviennent à différents scénarios. 1.Nginx convient aux scénarios élevés de la concurrence et de la consommation de ressources faibles. 2. Apache convient aux scénarios où des configurations complexes et des modules riches sont nécessaires. En comparant leurs fonctionnalités principales, leurs différences de performances et leurs meilleures pratiques, vous pouvez vous aider à choisir le logiciel du serveur qui convient le mieux à vos besoins.

Question: Comment démarrer Nginx? Réponse: Installez la vérification Nginx Nginx Nginx nginx est Nginx à démarrer Explorer d'autres options de démarrage Démarrer automatiquement Nginx

Comment confirmer si Nginx est démarré: 1. Utilisez la ligne de commande: SystemCTl Status Nginx (Linux / Unix), netStat -ano | Findstr 80 (Windows); 2. Vérifiez si le port 80 est ouvert; 3. Vérifiez le message de démarrage NGINX dans le journal système; 4. Utilisez des outils tiers, tels que Nagios, Zabbix et Icinga.

Pour arrêter le service Nginx, suivez ces étapes: Déterminez le type d'installation: Red Hat / CentOS (SystemCTl Status Nginx) ou Debian / Ubuntu (service Nginx Status) Arrêtez le service: Red Hat / Centos (SystemCTL Stop Nginx) ou Debian / Ubuntu (Service Nginx Stop) Désactiver le démarrage automatique (Systo

Comment configurer Nginx dans Windows? Installez Nginx et créez une configuration d'hôte virtuelle. Modifiez le fichier de configuration principale et incluez la configuration de l'hôte virtuel. Démarrer ou recharger nginx. Testez la configuration et affichez le site Web. Activer sélectivement SSL et configurer les certificats SSL. Définissez sélectivement le pare-feu pour permettre le trafic Port 80 et 443.

Le serveur n'a pas l'autorisation d'accéder à la ressource demandée, ce qui donne une erreur NGINX 403. Les solutions incluent: vérifier les autorisations de fichiers. Vérifiez la configuration .htaccess. Vérifiez la configuration de Nginx. Configurez les autorisations Selinux. Vérifiez les règles du pare-feu. Dépanner d'autres causes telles que les problèmes de navigateur, les défaillances du serveur ou d'autres erreurs possibles.

Étapes pour démarrer Nginx dans Linux: Vérifiez si Nginx est installé. Utilisez SystemCTL Start Nginx pour démarrer le service NGINX. Utilisez SystemCTL Activer Nginx pour activer le démarrage automatique de Nginx au démarrage du système. Utilisez SystemCTL Status Nginx pour vérifier que le démarrage est réussi. Visitez http: // localhost dans un navigateur Web pour afficher la page de bienvenue par défaut.


Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

MantisBT
Mantis est un outil Web de suivi des défauts facile à déployer, conçu pour faciliter le suivi des défauts des produits. Cela nécessite PHP, MySQL et un serveur Web. Découvrez nos services de démonstration et d'hébergement.

Adaptateur de serveur SAP NetWeaver pour Eclipse
Intégrez Eclipse au serveur d'applications SAP NetWeaver.

VSCode Windows 64 bits Télécharger
Un éditeur IDE gratuit et puissant lancé par Microsoft

SublimeText3 version anglaise
Recommandé : version Win, prend en charge les invites de code !

ZendStudio 13.5.1 Mac
Puissant environnement de développement intégré PHP