Lua で Raspberry Pi を制御する
Lua は、時々誤解される言語です。 Python や他のプログラミング言語とは異なり、この言語は汎用拡張言語であり、ゲーム エンジンやフレームワークなどで広く使用されています。全体として、Lua は開発者にとって貴重なツールであり、強力な方法でプロジェクトを強化および拡張できるようになります。
Seth Kenlon の記事「Lua は学ぶ価値がありますか?」を参照してください。 >>一般的に使用される Lua のダウンロードと実行について紹介し、この記事には簡単な Lua コード例も含まれています。ただし、Lua を最大限に活用するには、Lua 言語を採用したフレームワークで使用するのが最善です。このチュートリアルでは、Lua プログラマーが IoT および Web アプリケーションを簡単にコーディングできるように設計された Mako Server と呼ばれるフレームワークの使用方法を示します。また、API を使用してこのフレームワークを拡張し、Raspberry Pi の GPIO ピンを使用する方法も説明しました。
要件
このチュートリアルに従う前に、ログインできる実行中の Raspberry Pi が必要です。このチュートリアルでは C コードをコンパイルしますが、C コーディングの経験は必要ありません。ただし、POSIX 端末の使用にはある程度の経験が必要です。
インストール
まず、Raspberry Pi でターミナル ウィンドウを開き、次のツールをインストールしてコードをダウンロードし、Git を使用して C コードをコンパイルします。
$ sudo apt install git unzip gcc make
次に、パスを実行します。次のコマンドを使用して、オープン ソースの Mako サーバー コードと lua 周辺ライブラリ (Raspberry Pi の GPIO ライブラリ) をコンパイルします。
$ wget -O Mako-Server-Build.sh \https://raw.githubusercontent.com/RealTimeLogic/BAS/main/RaspberryPiBuild.sh
スクリプトをチェックして動作を確認し、問題ないと思われる場合は実行します。
$ sh ./Mako-Server-Build.sh
コンパイル プロセスには、特に古い Raspberry Pi では時間がかかる場合があります。コンパイルが完了すると、スクリプトは Mako サーバーと lua 周辺モジュールを /usr/local/bin/
にインストールするように求めます。ソフトウェアの使用を簡素化するために、インストールすることをお勧めします。心配しないでください。不要になった場合はアンインストールできます。
$ cd /usr/local/bin/$ sudo rm mako mako.zip periphery.so
インストールをテストするには、ターミナルに mako
と入力します。これにより、Mako サーバーが起動し、ターミナルに出力が表示されます。 CTRL C
を押すとサーバーを停止できます。
IoT と Lua
Mako サーバーが Raspberry Pi にセットアップされたので、IoT および Web アプリケーションのプログラミングを開始し、Lua を使用して Raspberry Pi の GPIO ヘッダーを操作できます。 Mako Server フレームワークは、Lua 開発者に IoT アプリケーションを作成するための強力かつシンプルな API を提供し、lua 周辺モジュールを使用すると、Lua 開発者は Raspberry Pi の GPIO ピンやその他の周辺機器と対話できるようになります。
まず、アプリケーション ディレクトリと .preload
スクリプトを作成します。このスクリプトには、GPIO をテストするための Lua コードが挿入されます。 .preload
このスクリプトは、アプリケーションの起動時に Lua スクリプトとしてロードされて実行される Mako サーバー拡張機能です。
$ mkdir gpiotst$ nano gpiotst/.preload
次のコンテンツを Nano Editor にコピーし、ファイルを保存します:
-- 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 功能。
一方、ドキュメントを読んで、Lua ペリフェラル GPIO ライブラリをさらに深く掘り下げ、その機能とさまざまなペリフェラルでそれを使用する方法について詳しく学ぶことができます。このチュートリアルを最大限に活用するには、Interactive Mako Server Lua チュートリアル に従って、Lua、Web、IoT についてより深く理解することを検討してください。コーディングを楽しんでください!
以上がLua で Raspberry Pi を制御するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











Nginx のインストールと設定 Lua のサポート デフォルトでは、Nginx は Lua モジュールをサポートしていません。LuaJIT インタープリターをインストールして Nginx を再コンパイルする必要があります。または、中国人が開発した openrestry に必要なモジュール (LuaJIT、Ngx_devel、lua-nginx-module1) を使用することもできます。 . 環境準備 [root @nginx_lua~]#yuminstall-ygccgcc-c++makepcre-develzlib-developenssl-devel2. 最新の luajit と ngx_devel_kit と lua-nginx-module の解凍をダウンロード [r

実装アイデアは、nginx でブラックリストを直接構成し、論理ブロックを作成して実装する、サーバー (Java) にフィルターを作成し、フィルター内のインターセプターを統合する、サーバー (Java) にインターセプターを作成してインターセプターを統合する、です。 ; ここに 3 つの実装アイデアがあります。実装ソリューションについては、他にもあるかもしれませんが、よく考えてみると、nginx で論理ブロックを書くのは多くの人が得意なことではないようです。コード レベルですが、これは第一に、同時実行性が高いビジネスのピーク時には、バックエンド サービスに大きな負荷がかかることは避けられません。これが lua の意味です。つまり、nginx は lua を統合できるため、nginx はゲートウェイとして機能し、同時にプロキシ サーバーとしても機能します。

軽量の組み込みアプリケーションを作成するための Vue.js と Lua 言語の統合現代の開発では、フロントエンド フレームワーク Vue.js とスクリプト言語 Lua はそれぞれ幅広い用途に使用されています。 Vue.js はユーザー インターフェイスを構築するための進歩的なフレームワークであり、Lua は組み込みアプリケーションやゲーム開発によく使用される軽量のスクリプト言語です。この記事では、Vue.js を Lua 言語と統合して軽量の組み込みアプリケーションを作成する方法を紹介し、コード例を示します。まず、Vue.jをインストールする必要があります

最近、電話会議で誰かが、オープンソース コミュニティは好奇心と問題解決の文化が組み合わさったものである、と言っているのを聞きました。好奇心は問題解決の基礎です。あらゆる規模の問題を解決する場合、私たちは非常に便利な Raspberry Pi 上で実行される Linux を含む、幅広いオープンソース ツールを使用します。私たちは皆、異なる人生経験を持っているため、著者コミュニティに、これまでに出会った Raspberry Pi の最も奇妙な用途について尋ねました。これらの素晴らしい作品は他の人にもインスピレーションを与えるだろうと感じています。 Raspberry Pi の実験 私にとって、Raspberry Pi は、ホーム ネットワークに開発リソースを追加するための優れたツールです。新しい Web サイトを作成したり、新しいソフトウェア ツールを試したりしたい場合、デスクトップを Lin にする必要はありません。

Vue.js と Lua 言語の統合、ゲーム開発用のフロントエンド エンジンを構築するためのベスト プラクティスと経験の共有 はじめに: ゲーム開発の継続的な開発に伴い、ゲーム フロントエンド エンジンの選択は重要な決定となっています。これらの選択肢の中で、Vue.js フレームワークと Lua 言語が多くの開発者の注目を集めています。人気のフロントエンド フレームワークとして、Vue.js は豊富なエコシステムと便利な開発方法を備えていますが、Lua 言語は軽量で効率的なパフォーマンスのため、ゲーム開発で広く使用されています。この記事では、その方法について説明します。

Raspberry Pi のパフォーマンスを知りたい場合は、おそらく Raspberry Pi ダッシュボードが必要です。この記事では、Raspberry Pi の CPU パフォーマンス、メモリ、ディスク使用量をリアルタイムで表示し、必要に応じていつでもビューやアクションを追加するオンデマンド監視ダッシュボードをすばやく構築する方法を説明します。すでに Appsmith を使用している場合は、サンプル アプリケーションを直接インポートして開始することもできます。 Appsmith Appsmith は、開発者がダッシュボードや管理パネルなどの内部アプリケーションを簡単かつ迅速に構築できるようにする、オープンソースのローコード アプリケーション構築ツールです。これはダッシュボードに最適なオプションであり、従来のコーディング方法に必要な時間と複雑さを軽減します。このダッシュボードの例では、次の統計を表示します。

前の idaPro デバッグまたはフックを通じて、xxtea 復号化キーを取得できます。署名の場合は、元のファイルを直接開くことができます。署名値: byds を確認できます。したがって、xxtea 復号化ツール (GitHub のソース コードからコンパイル可能) を使用して復号化を試みることができます。 xxtea による復号後の lua スクリプトはまだプレーンテキストではありません。以前、cocos2d フレームワークのソース コードとマスター APK のデコード結果に基づいて xxtea 暗号化が使用されていると判断し、アプリの Lua スクリプトにも署名値があり、それが xxtea 暗号化方式であることを確認しましたが、

1. LUA のインストール Mac への LUA のインストールは非常に簡単で、brew 関連コマンドを直接使用するだけです; brewinstalllua は lua-v コマンドを使用して lua がインストールされていることを確認します。 1) test.lua ファイルを作成するための簡単な使用方法。内容は次のとおりです。 コマンドを実行します。 luatest.lua 出力は次のとおりです。 2. lua 構文の概要 Lua は対話型プログラミングとスクリプト化プログラミングを提供します。 対話型プログラミング: コマンド ラインに構文を直接入力します。 、すぐに実行して実行効果を確認できます。スクリプティングはプログラミングです。スクリプト ファイルを作成して実行します。 1. Comment Lua は 2 つのコメント方法を提供します: 単一行コメントと複数行コメント 1) 単一行コメントは 2 つのマイナス記号を使用します。--2) 複数行コメント--[[複数行コメント 複数行
