{"id":5938,"date":"2023-11-10T09:54:34","date_gmt":"2023-11-10T09:54:34","guid":{"rendered":"https:\/\/picockpit.com\/raspberry-pi\/?p=5938"},"modified":"2023-11-23T02:07:41","modified_gmt":"2023-11-23T02:07:41","slug":"exploring-microlua-lua-programming-for-rp2040","status":"publish","type":"post","link":"https:\/\/picockpit.com\/raspberry-pi\/de\/erkundung-der-microlua-lua-programmierung-fur-rp2040\/","title":{"rendered":"MicroLua erforschen: Lua-Programmierung f\u00fcr RP2040"},"content":{"rendered":"<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"960\" height=\"638\" src=\"https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2023\/11\/Exploring-MicroLua-for-the-RP2040-Title-Image.png\" alt=\"MicroLua f\u00fcr den RP2040 erforschen Titelbild\" class=\"wp-image-5939\" srcset=\"https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2023\/11\/Exploring-MicroLua-for-the-RP2040-Title-Image.png 960w, https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2023\/11\/Exploring-MicroLua-for-the-RP2040-Title-Image-300x199.png 300w, https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2023\/11\/Exploring-MicroLua-for-the-RP2040-Title-Image-768x510.png 768w, https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2023\/11\/Exploring-MicroLua-for-the-RP2040-Title-Image-18x12.png 18w\" sizes=\"auto, (max-width: 960px) 100vw, 960px\" \/><\/figure>\n\n\n\n<p>Wollten Sie schon immer einmal in die Welt der Lua-Programmierung eintauchen und die M\u00f6glichkeiten des RP2040-Mikrocontrollers erkunden? Suchen Sie nicht weiter - MicroLua bietet eine aufregende Gelegenheit, genau das zu tun! <\/p>\n\n\n\n<p>In diesem Artikel m\u00f6chte ich darauf eingehen, was <a href=\"https:\/\/github.com\/MicroLua\/MicroLua\">MicroLua<\/a> ist, wie es funktioniert und warum ich es f\u00fcr ein sehr wertvolles Werkzeug f\u00fcr Entwickler halte.<\/p>\n\n\n\n<p>Ich m\u00f6chte einen gro\u00dfen Applaus aussprechen f\u00fcr <a href=\"https:\/\/github.com\/MicroLua\">Remy Blank<\/a> f\u00fcr die Entwicklung von MicroLua und die Weitergabe an die Welt. Remy hat es mit einer MIT-Lizenz ver\u00f6ffentlicht (wie Lua selbst), wodurch MicroLua f\u00fcr jeden verf\u00fcgbar ist. <\/p>\n\n\n\n<p>Ich freue mich schon darauf, sie in einigen zuk\u00fcnftigen Projekten zu verwenden.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Was ist MicroLua?<\/strong> <strong>Was ist ein RP2040?<\/strong><\/h2>\n\n\n\n<p>MicroLua verwendet also die Lua-Implementierung und verpackt sie. <\/p>\n\n\n\n<p>Lua ist eine dynamisch getippte Mehrparadigmensprache. Und sie ist nat\u00fcrlich eine der schnellsten Skriptsprachen \u00fcberhaupt. Au\u00dferdem ist sie super klein (der Quellcode und die Dokumentation nehmen zusammen 1,3 MB ein!)<\/p>\n\n\n\n<p>Es ist also schnell, klein und ideal, wenn Sie etwas in gr\u00f6\u00dfere Anwendungen einbetten wollen.<\/p>\n\n\n\n<p>Lua verf\u00fcgt au\u00dferdem \u00fcber 21 hervorgehobene Schl\u00fcsselw\u00f6rter und eine recht einfache Syntax, so dass es relativ leicht zu erlernen ist.<\/p>\n\n\n\n<p>Aber, wenn Sie nicht vertraut sind, die unmittelbare Sache, die jeder beschwert sich \u00fcber mit Lua ist, dass es eine 1-basierte indizierte Sprache ist. Und ehrlich gesagt, es erwischt mich jedes einzelne Mal.<\/p>\n\n\n\n<p>Hier ist ein Beispiel f\u00fcr Lua, damit Sie es sehen k\u00f6nnen:<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"752\" height=\"817\" src=\"https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2023\/11\/Screenshot-from-2023-11-09-17-01-24.png\" alt=\"Lua-Beispiel von Lua.org\" class=\"wp-image-5943\" style=\"width:511px;height:auto\" srcset=\"https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2023\/11\/Screenshot-from-2023-11-09-17-01-24.png 752w, https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2023\/11\/Screenshot-from-2023-11-09-17-01-24-276x300.png 276w, https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2023\/11\/Screenshot-from-2023-11-09-17-01-24-11x12.png 11w\" sizes=\"auto, (max-width: 752px) 100vw, 752px\" \/><figcaption class=\"wp-element-caption\">Kredit: <a href=\"https:\/\/www.lua.org\/cgi-bin\/demo?globals\">lua.org<\/a>.<\/figcaption><\/figure>\n<\/div>\n\n\n<p>Remy hat MicroLua speziell f\u00fcr die Programmierung des RP2040-Mikrocontrollers entwickelt. <\/p>\n\n\n\n<p>Der RP2040-Mikrocontroller ist ein Raspberry Pi-eigener Chip, der einen <a href=\"https:\/\/buyzero.de\/products\/raspberry-pi-pico-w-h-konfigurator-pico-pico-w-pico-h-pico-wh?_pos=1&amp;_sid=22b5b2d56&amp;_ss=r&amp;variant=43536399958283\">Pico<\/a>. Der Raspberry Pi wird jedoch auch verkauft <a href=\"https:\/\/buyzero.de\/products\/rp2040-microcontroller-chip?_pos=3&amp;_sid=25007eedd&amp;_ss=r\">der RP2040-Chip<\/a> separat. Sie k\u00f6nnen den RP2040 also auch in anderen Boards finden, z. B. in einem <a href=\"https:\/\/buyzero.de\/products\/adafruit-feather-rp2040-pink?_pos=2&amp;_sid=25007eedd&amp;_ss=r\">Adafruit Feather<\/a>.<\/p>\n\n\n\n<p>MicroLua packt also Lua f\u00fcr diese Boards. In diesem Zusammenhang integriert MicroLua den neuesten Lua-Interpreter (Version 5.4) mit Schnittstellen f\u00fcr <a href=\"https:\/\/github.com\/raspberrypi\/pico-sdk\">das Pico Software Development Kit<\/a> und enth\u00e4lt eine kooperative Threading-Bibliothek.<\/p>\n\n\n\n<p>Indem man den Lua-Interpreter mit den Pico-Schnittstellen kombiniert, kann man mit MicroLua auf die GPIO-Pins und Timer zugreifen. Und ich finde es wirklich toll, dass Remy eine kooperative Threading-Bibliothek integriert hat. Wenn man also einen Pico hat, kann man mit beiden Kernen herumspielen.<\/p>\n\n\n\n<p>Au\u00dferdem hat MicroLua Fennel-Unterst\u00fctzung, so dass Sie, wenn Sie Lisp lieben (wie ich), trotzdem die Vorteile von MicroLua nutzen k\u00f6nnen. M\u00f6chten Sie eine Lisp-\u00e4hnliche Sprache mit Ihrem Raspberry Pi Pico verwenden? Remy hat das gerade l\u00e4cherlich einfach gemacht.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Erste Schritte mit MicroLua<\/strong><\/h2>\n\n\n\n<p>Um MicroLua einzurichten, m\u00fcssen Sie Folgendes klonen <a href=\"https:\/\/github.com\/MicroLua\/MicroLua\">das Repository<\/a>, initialisieren Sie die Submodule und folgen Sie den Anweisungen zur Erstellung.<\/p>\n\n\n\n<p>Auf GitHub finden Sie den folgenden Code, mit dem Sie eine Testsuite zum Laufen bringen k\u00f6nnen:<\/p>\n\n\n\n<p><\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#2e3440ff\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewbox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" data-code=\"# Configure the location of the Pico SDK. Adjust for your setup.$ export PICO_SDK_PATH=&quot;${HOME}\/pico-sdk&quot;# Clone the repository and initialize submodules.$ git clone https:\/\/github.com\/MicroLua\/MicroLua.git$ cd MicroLua$ git submodule update --init# Connect a Picoprobe to the target, on the UART and optionally on the debug# port. Then view the Picoprobe's UART connection in a separate terminal.# The &quot;term&quot; script uses socat.$ tools\/term \/dev\/ttyACM0# Build the unit tests.$ cmake -s . -B build -DPICO_BOARD=pico$ make -j9 -C build\/lib# Start the target in BOOTSEL mode and flash it with picotool.$ picotool load -v -x build\/lib\/mlua_tests.elf# Alternatively, start the target in BOOTSEL mode and copy to its boot drive.$ cp build\/lib\/mlua_tests.uf2 \/mnt\/RPI-RP2\/\" style=\"color:#d8dee9ff;display:none\" aria-label=\"Kopieren\" class=\"code-block-pro-copy-button\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewbox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki nord\" style=\"background-color: #2e3440ff\" tabindex=\"0\"><code data-no-translation=\"\"><span class=\"line\"><span style=\"color: #D8DEE9FF\"># <\/span><span style=\"color: #D8DEE9\">Configure<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">the<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">location<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">of<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">the<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">Pico<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">SDK<\/span><span style=\"color: #ECEFF4\">.<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">Adjust<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">for<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">your<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">setup<\/span><span style=\"color: #ECEFF4\">.<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9\">$<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">export<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">PICO_SDK_PATH<\/span><span style=\"color: #81A1C1\">=<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #A3BE8C\">${HOME}\/pico-sdk<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\"># <\/span><span style=\"color: #D8DEE9\">Clone<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">the<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">repository<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">and<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">initialize<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">submodules<\/span><span style=\"color: #ECEFF4\">.<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9\">$<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">git<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">clone<\/span><span style=\"color: #D8DEE9FF\"> https<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #616E88\">\/\/github.com\/MicroLua\/MicroLua.git<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9\">$<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">cd<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">MicroLua<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9\">$<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">git<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">submodule<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">update<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">--<\/span><span style=\"color: #D8DEE9\">init<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\"># <\/span><span style=\"color: #D8DEE9\">Connect<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">a<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">Picoprobe<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">to<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">the<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">target<\/span><span style=\"color: #ECEFF4\">,<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">on<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">the<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">UART<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">and<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">optionally<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">on<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">the<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">debug<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\"># <\/span><span style=\"color: #D8DEE9\">port<\/span><span style=\"color: #ECEFF4\">.<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">Then<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">view<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">the<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">Picoprobe<\/span><span style=\"color: #ECEFF4\">&#39;<\/span><span style=\"color: #A3BE8C\">s UART connection in a separate terminal<\/span><span style=\"color: #D8DEE9\">.<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\"># <\/span><span style=\"color: #D8DEE9\">The<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #A3BE8C\">term<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">script<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">uses<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">socat<\/span><span style=\"color: #ECEFF4\">.<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9\">$<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">tools<\/span><span style=\"color: #81A1C1\">\/<\/span><span style=\"color: #D8DEE9\">term<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">\/<\/span><span style=\"color: #D8DEE9\">dev<\/span><span style=\"color: #81A1C1\">\/<\/span><span style=\"color: #D8DEE9\">ttyACM0<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\"># <\/span><span style=\"color: #D8DEE9\">Build<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">the<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">unit<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">tests<\/span><span style=\"color: #ECEFF4\">.<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9\">$<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">cmake<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">-<\/span><span style=\"color: #D8DEE9\">s<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #ECEFF4\">.<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">-<\/span><span style=\"color: #D8DEE9\">B<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">build<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">-<\/span><span style=\"color: #D8DEE9\">DPICO_BOARD<\/span><span style=\"color: #81A1C1\">=<\/span><span style=\"color: #D8DEE9\">pico<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9\">$<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">make<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">-<\/span><span style=\"color: #D8DEE9\">j9<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">-<\/span><span style=\"color: #D8DEE9\">C<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">build<\/span><span style=\"color: #81A1C1\">\/<\/span><span style=\"color: #D8DEE9\">lib<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\"># <\/span><span style=\"color: #D8DEE9\">Start<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">the<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">target<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">in<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">BOOTSEL<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">mode<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">and<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">flash<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">it<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">with<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">picotool<\/span><span style=\"color: #ECEFF4\">.<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9\">$<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">picotool<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">load<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">-<\/span><span style=\"color: #D8DEE9\">v<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">-<\/span><span style=\"color: #D8DEE9\">x<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">build<\/span><span style=\"color: #81A1C1\">\/<\/span><span style=\"color: #D8DEE9\">lib<\/span><span style=\"color: #81A1C1\">\/<\/span><span style=\"color: #D8DEE9\">mlua_tests<\/span><span style=\"color: #ECEFF4\">.<\/span><span style=\"color: #D8DEE9\">elf<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\"># <\/span><span style=\"color: #D8DEE9\">Alternatively<\/span><span style=\"color: #ECEFF4\">,<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">start<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">the<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">target<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">in<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">BOOTSEL<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">mode<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">and<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">copy<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">to<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">its<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">boot<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">drive<\/span><span style=\"color: #ECEFF4\">.<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9\">$<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">cp<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">build<\/span><span style=\"color: #81A1C1\">\/<\/span><span style=\"color: #D8DEE9\">lib<\/span><span style=\"color: #81A1C1\">\/<\/span><span style=\"color: #D8DEE9\">mlua_tests<\/span><span style=\"color: #ECEFF4\">.<\/span><span style=\"color: #D8DEE9\">uf2<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">\/<\/span><span style=\"color: #D8DEE9\">mnt<\/span><span style=\"color: #81A1C1\">\/<\/span><span style=\"color: #D8DEE9\">RPI<\/span><span style=\"color: #81A1C1\">-<\/span><span style=\"color: #D8DEE9\">RP2<\/span><span style=\"color: #81A1C1\">\/<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p><\/p>\n\n\n\n<p>Wenn Sie das haben, sind Sie startklar.<\/p>\n\n\n\n<p>Ich sollte erw\u00e4hnen, dass Remy ein paar Probleme mit der Leistung von MicroLua identifiziert hat. An erster Stelle steht die Tatsache, dass die Latenzzeit bei der Ereignisabfertigung relativ langsam ist und verbessert werden muss.<\/p>\n\n\n\n<p>Au\u00dferdem, wenn Sie zu <a href=\"https:\/\/github.com\/MicroLua\/MicroLua\/tree\/main\">die GitHub-Seite<\/a>Remy hat eine Roadmap f\u00fcr Dinge, die hinzugef\u00fcgt werden sollen, wie weitere Bindungen f\u00fcr das Pico SDK, ein Dateisystem und Multi-Chip-Kommunikation. Au\u00dferdem will Remy die Threading-Performance und die Cross-Core-Kommunikation verbessern und den Garbage Collector abstimmen.<\/p>\n\n\n\n<p>Es handelt sich also um ein sehr lebendiges Projekt, das es wert ist, im Auge behalten zu werden.<\/p>\n\n\n\n<p><\/p>\n\n\n\n<figure class=\"wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n<iframe loading=\"lazy\" hcb-fetch-image-from=\"https:\/\/www.youtube.com\/shorts\/O90MXajJkkk\" title=\"Manchmal ist das BESTE Raspberry Pi Pico Projekt das EINFACHSTE Raspberry Pi Pico Projekt\" width=\"500\" height=\"281\" src=\"https:\/\/www.youtube.com\/embed\/O90MXajJkkk?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe>\n<\/div><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<p>Das kleine Programm im Video habe ich in MicroPython geschrieben - aber das n\u00e4chste Mal werde ich Fennel und MicroLua verwenden!<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Schlussfolgerung<\/h2>\n\n\n\n<p>Jetzt, wo Sie es haben, k\u00f6nnen Sie Ihr n\u00e4chstes Pico-Projekt in Angriff nehmen. Die Welt liegt Ihnen zu F\u00fc\u00dfen!<\/p>\n\n\n\n<p>Das erste, woran ich dachte, als ich dieses Projekt sah, war <a href=\"https:\/\/github.com\/whitecatboard\/Lua-RTOS-ESP32\/\">Lua RTOS f\u00fcr einen ESP32<\/a>. Wenn Sie also Ihre M\u00f6glichkeiten f\u00fcr Lua mit Mikrocontrollern im Allgemeinen betrachten, sollten Sie sich auch dieses Projekt ansehen.<\/p>\n\n\n\n<p>Wenn Sie jedoch etwas Inspiration brauchen, k\u00f6nnen Sie sich einige Pico-Projekte ansehen, die wir vorgestellt haben:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/picockpit.com\/raspberry-pi\/everything-about-sound-output-using-the-pico-w\/\">Alles \u00fcber die Tonausgabe mit dem Pico W<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/picockpit.com\/raspberry-pi\/everything-about-bluetooth-on-the-raspberry-pi-pico-w\/\">Alles \u00fcber Bluetooth auf dem Raspberry Pi Pico W<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/picockpit.com\/raspberry-pi\/paragon-project-pico-w-security-alarm\/\">Ein Raspberry Pi Pico W Sicherheitsalarm<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/picockpit.com\/raspberry-pi\/paragon-project-raspberry-pi-pico-keyboard\/\">Eine Raspberry Pi Pico Tastatur<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/picockpit.com\/raspberry-pi\/paragon-project-pico-clock\/\">Eine Raspberry Pi Pico-Uhr<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/picockpit.com\/raspberry-pi\/paragon-project-pico-air-quality-monitor\/\">Ein Raspberry Pi Pico Luftqualit\u00e4tsmonitor<\/a><\/li>\n<\/ul>\n\n\n\n<p>Wenn Sie einen Pico W haben, vergessen Sie nicht, ihn an <a href=\"https:\/\/picockpit.com\/\">PiCockpit<\/a>Auf diese Weise k\u00f6nnen Sie von \u00fcberall auf der Welt \u00fcber das Internet eine Verbindung herstellen.<\/p>\n\n\n\n<p>Welche Projekte werden Sie mit MicroLua erstellen? Ich freue mich schon darauf, Fennel f\u00fcr mein n\u00e4chstes Pico-Projekt zu verwenden!<\/p>\n<div class=\"shariff shariff-align-center shariff-widget-align-left shariff-buttonstretch\"><ul class=\"shariff-buttons theme-white orientation-horizontal buttonsize-medium\"><li class=\"shariff-button twitter shariff-nocustomcolor\" style=\"background-color:#595959\"><a href=\"https:\/\/twitter.com\/share?url=https%3A%2F%2Fpicockpit.com%2Fraspberry-pi%2Fde%2Ferkundung-der-microlua-lua-programmierung-fur-rp2040%2F&text=Exploring%20MicroLua%3A%20Lua%20Programming%20for%20RP2040\" title=\"Bei X teilen\" aria-label=\"Bei X teilen\" role=\"button\" rel=\"noopener nofollow\" class=\"shariff-link\" style=\"; background-color:#000; color:#000\" target=\"_blank\"><span class=\"shariff-icon\" style=\"fill:#000\"><svg width=\"32px\" height=\"20px\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewbox=\"0 0 24 24\"><path fill=\"#000\" d=\"M14.258 10.152L23.176 0h-2.113l-7.747 8.813L7.133 0H0l9.352 13.328L0 23.973h2.113l8.176-9.309 6.531 9.309h7.133zm-2.895 3.293l-.949-1.328L2.875 1.56h3.246l6.086 8.523.945 1.328 7.91 11.078h-3.246zm0 0\"\/><\/svg><\/span><span class=\"shariff-text\" style=\"color:#000\">teilen<\/span>&nbsp;<\/a><\/li><li class=\"shariff-button facebook shariff-nocustomcolor\" style=\"background-color:#4273c8\"><a href=\"https:\/\/www.facebook.com\/sharer\/sharer.php?u=https%3A%2F%2Fpicockpit.com%2Fraspberry-pi%2Fde%2Ferkundung-der-microlua-lua-programmierung-fur-rp2040%2F\" title=\"Bei Facebook teilen\" aria-label=\"Bei Facebook teilen\" role=\"button\" rel=\"nofollow\" class=\"shariff-link\" style=\"; background-color:#3b5998; color:#3b5998\" target=\"_blank\"><span class=\"shariff-icon\" style=\"fill:#3b5998\"><svg width=\"32px\" height=\"20px\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewbox=\"0 0 18 32\"><path fill=\"#3b5998\" d=\"M17.1 0.2v4.7h-2.8q-1.5 0-2.1 0.6t-0.5 1.9v3.4h5.2l-0.7 5.3h-4.5v13.6h-5.5v-13.6h-4.5v-5.3h4.5v-3.9q0-3.3 1.9-5.2t5-1.8q2.6 0 4.1 0.2z\"\/><\/svg><\/span><span class=\"shariff-text\" style=\"color:#3b5998\">teilen<\/span>&nbsp;<\/a><\/li><li class=\"shariff-button telegram shariff-nocustomcolor\" style=\"background-color:#4084A6\"><a href=\"https:\/\/telegram.me\/share\/url?url=https%3A%2F%2Fpicockpit.com%2Fraspberry-pi%2Fde%2Ferkundung-der-microlua-lua-programmierung-fur-rp2040%2F&text=Exploring%20MicroLua%3A%20Lua%20Programming%20for%20RP2040\" title=\"Bei Telegram teilen\" aria-label=\"Bei Telegram teilen\" role=\"button\" rel=\"noopener nofollow\" class=\"shariff-link\" style=\"; background-color:#0088cc; color:#0088cc\" target=\"_blank\"><span class=\"shariff-icon\" style=\"fill:#0088cc\"><svg width=\"32px\" height=\"20px\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewbox=\"0 0 32 32\"><path fill=\"#0088cc\" d=\"M30.8 6.5l-4.5 21.4c-.3 1.5-1.2 1.9-2.5 1.2L16.9 24l-3.3 3.2c-.4.4-.7.7-1.4.7l.5-7L25.5 9.2c.6-.5-.1-.8-.9-.3l-15.8 10L2 16.7c-1.5-.5-1.5-1.5.3-2.2L28.9 4.3c1.3-.5 2.3.3 1.9 2.2z\"\/><\/svg><\/span><span class=\"shariff-text\" style=\"color:#0088cc\">teilen<\/span>&nbsp;<\/a><\/li><li class=\"shariff-button reddit shariff-nocustomcolor\" style=\"background-color:#ff5700\"><a href=\"https:\/\/www.reddit.com\/submit?url=https%3A%2F%2Fpicockpit.com%2Fraspberry-pi%2Fde%2Ferkundung-der-microlua-lua-programmierung-fur-rp2040%2F\" title=\"Bei Reddit teilen\" aria-label=\"Bei Reddit teilen\" role=\"button\" rel=\"noopener nofollow\" class=\"shariff-link\" style=\"; background-color:#ff4500; color:#ff4500\" target=\"_blank\"><span class=\"shariff-icon\" style=\"fill:#ff4500\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewbox=\"0 0 512 512\"><path fill=\"#ff4500\" d=\"M440.3 203.5c-15 0-28.2 6.2-37.9 15.9-35.7-24.7-83.8-40.6-137.1-42.3L293 52.3l88.2 19.8c0 21.6 17.6 39.2 39.2 39.2 22 0 39.7-18.1 39.7-39.7s-17.6-39.7-39.7-39.7c-15.4 0-28.7 9.3-35.3 22l-97.4-21.6c-4.9-1.3-9.7 2.2-11 7.1L246.3 177c-52.9 2.2-100.5 18.1-136.3 42.8-9.7-10.1-23.4-16.3-38.4-16.3-55.6 0-73.8 74.6-22.9 100.1-1.8 7.9-2.6 16.3-2.6 24.7 0 83.8 94.4 151.7 210.3 151.7 116.4 0 210.8-67.9 210.8-151.7 0-8.4-.9-17.2-3.1-25.1 49.9-25.6 31.5-99.7-23.8-99.7zM129.4 308.9c0-22 17.6-39.7 39.7-39.7 21.6 0 39.2 17.6 39.2 39.7 0 21.6-17.6 39.2-39.2 39.2-22 .1-39.7-17.6-39.7-39.2zm214.3 93.5c-36.4 36.4-139.1 36.4-175.5 0-4-3.5-4-9.7 0-13.7 3.5-3.5 9.7-3.5 13.2 0 27.8 28.5 120 29 149 0 3.5-3.5 9.7-3.5 13.2 0 4.1 4 4.1 10.2.1 13.7zm-.8-54.2c-21.6 0-39.2-17.6-39.2-39.2 0-22 17.6-39.7 39.2-39.7 22 0 39.7 17.6 39.7 39.7-.1 21.5-17.7 39.2-39.7 39.2z\"\/><\/svg><\/span><span class=\"shariff-text\" style=\"color:#ff4500\">teilen<\/span>&nbsp;<\/a><\/li><\/ul><\/div>","protected":false},"excerpt":{"rendered":"<p>Wollten Sie schon immer einmal in die Welt der Lua-Programmierung eintauchen und die M\u00f6glichkeiten des RP2040-Mikrocontrollers erkunden? Suchen Sie nicht weiter - MicroLua bietet eine aufregende Gelegenheit, genau das zu tun! In diesem Artikel m\u00f6chte ich Ihnen erkl\u00e4ren, was MicroLua ist, wie es funktioniert und warum ich denke, dass es eine sehr wertvolle...<\/p>","protected":false},"author":2,"featured_media":5939,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[10],"tags":[2151,483,606,2152,2150,597,2149,11,811,221,1864,475,187,909],"class_list":["post-5938","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-raspberry-pi-pico","tag-fennel","tag-language","tag-linux","tag-lisp","tag-lua","tag-microcontroller","tag-microlua","tag-pico","tag-pico-sdk","tag-pico-w","tag-programming","tag-programming-language","tag-raspberry-pi","tag-rp2040"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Exploring MicroLua: Lua Programming for RP2040 | PiCockpit<\/title>\n<meta name=\"description\" content=\"Have you ever wanted to use Lua with an RP2040 microcontroller? MicroLua offers an exciting opportunity to do just that!\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/picockpit.com\/raspberry-pi\/de\/erkundung-der-microlua-lua-programmierung-fur-rp2040\/\" \/>\n<meta property=\"og:locale\" content=\"de_DE\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Exploring MicroLua: Lua Programming for RP2040 | PiCockpit\" \/>\n<meta property=\"og:description\" content=\"Have you ever wanted to use Lua with an RP2040 microcontroller? MicroLua offers an exciting opportunity to do just that!\" \/>\n<meta property=\"og:url\" content=\"https:\/\/picockpit.com\/raspberry-pi\/de\/erkundung-der-microlua-lua-programmierung-fur-rp2040\/\" \/>\n<meta property=\"og:site_name\" content=\"PiCockpit\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/pi3gshop\" \/>\n<meta property=\"article:published_time\" content=\"2023-11-10T09:54:34+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2023-11-23T02:07:41+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2023\/11\/Exploring-MicroLua-for-the-RP2040-Title-Image.png\" \/>\n\t<meta property=\"og:image:width\" content=\"960\" \/>\n\t<meta property=\"og:image:height\" content=\"638\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"raspi berry\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@pi3g\" \/>\n<meta name=\"twitter:site\" content=\"@pi3g\" \/>\n<meta name=\"twitter:label1\" content=\"Geschrieben von\" \/>\n\t<meta name=\"twitter:data1\" content=\"raspi berry\" \/>\n\t<meta name=\"twitter:label2\" content=\"Gesch\u00e4tzte Lesezeit\" \/>\n\t<meta name=\"twitter:data2\" content=\"4\u00a0Minuten\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/picockpit.com\\\/raspberry-pi\\\/exploring-microlua-lua-programming-for-rp2040\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/picockpit.com\\\/raspberry-pi\\\/exploring-microlua-lua-programming-for-rp2040\\\/\"},\"author\":{\"name\":\"raspi berry\",\"@id\":\"https:\\\/\\\/picockpit.com\\\/raspberry-pi\\\/#\\\/schema\\\/person\\\/7af3a7a8c999bc722029ef9ca9d78eee\"},\"headline\":\"Exploring MicroLua: Lua Programming for RP2040\",\"datePublished\":\"2023-11-10T09:54:34+00:00\",\"dateModified\":\"2023-11-23T02:07:41+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/picockpit.com\\\/raspberry-pi\\\/exploring-microlua-lua-programming-for-rp2040\\\/\"},\"wordCount\":745,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/picockpit.com\\\/raspberry-pi\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/picockpit.com\\\/raspberry-pi\\\/exploring-microlua-lua-programming-for-rp2040\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/picockpit.com\\\/raspberry-pi\\\/wp-content\\\/uploads\\\/2023\\\/11\\\/Exploring-MicroLua-for-the-RP2040-Title-Image.png\",\"keywords\":[\"Fennel\",\"language\",\"linux\",\"Lisp\",\"Lua\",\"microcontroller\",\"MicroLua\",\"Pico\",\"pico sdk\",\"Pico W\",\"programming\",\"programming language\",\"Raspberry Pi\",\"RP2040\"],\"articleSection\":[\"Raspberry Pi Pico\"],\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/picockpit.com\\\/raspberry-pi\\\/exploring-microlua-lua-programming-for-rp2040\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/picockpit.com\\\/raspberry-pi\\\/exploring-microlua-lua-programming-for-rp2040\\\/\",\"url\":\"https:\\\/\\\/picockpit.com\\\/raspberry-pi\\\/exploring-microlua-lua-programming-for-rp2040\\\/\",\"name\":\"Exploring MicroLua: Lua Programming for RP2040 | PiCockpit\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/picockpit.com\\\/raspberry-pi\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/picockpit.com\\\/raspberry-pi\\\/exploring-microlua-lua-programming-for-rp2040\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/picockpit.com\\\/raspberry-pi\\\/exploring-microlua-lua-programming-for-rp2040\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/picockpit.com\\\/raspberry-pi\\\/wp-content\\\/uploads\\\/2023\\\/11\\\/Exploring-MicroLua-for-the-RP2040-Title-Image.png\",\"datePublished\":\"2023-11-10T09:54:34+00:00\",\"dateModified\":\"2023-11-23T02:07:41+00:00\",\"description\":\"Have you ever wanted to use Lua with an RP2040 microcontroller? MicroLua offers an exciting opportunity to do just that!\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/picockpit.com\\\/raspberry-pi\\\/exploring-microlua-lua-programming-for-rp2040\\\/#breadcrumb\"},\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/picockpit.com\\\/raspberry-pi\\\/exploring-microlua-lua-programming-for-rp2040\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\\\/\\\/picockpit.com\\\/raspberry-pi\\\/exploring-microlua-lua-programming-for-rp2040\\\/#primaryimage\",\"url\":\"https:\\\/\\\/picockpit.com\\\/raspberry-pi\\\/wp-content\\\/uploads\\\/2023\\\/11\\\/Exploring-MicroLua-for-the-RP2040-Title-Image.png\",\"contentUrl\":\"https:\\\/\\\/picockpit.com\\\/raspberry-pi\\\/wp-content\\\/uploads\\\/2023\\\/11\\\/Exploring-MicroLua-for-the-RP2040-Title-Image.png\",\"width\":960,\"height\":638,\"caption\":\"Exploring MicroLua for the RP2040 Title Image\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/picockpit.com\\\/raspberry-pi\\\/exploring-microlua-lua-programming-for-rp2040\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/picockpit.com\\\/raspberry-pi\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Raspberry Pi Pico\",\"item\":\"https:\\\/\\\/picockpit.com\\\/raspberry-pi\\\/category\\\/raspberry-pi-pico\\\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Exploring MicroLua: Lua Programming for RP2040\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/picockpit.com\\\/raspberry-pi\\\/#website\",\"url\":\"https:\\\/\\\/picockpit.com\\\/raspberry-pi\\\/\",\"name\":\"PiCockpit\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\\\/\\\/picockpit.com\\\/raspberry-pi\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/picockpit.com\\\/raspberry-pi\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"de\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/picockpit.com\\\/raspberry-pi\\\/#organization\",\"name\":\"PiCockpit.com\",\"url\":\"https:\\\/\\\/picockpit.com\\\/raspberry-pi\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\\\/\\\/picockpit.com\\\/raspberry-pi\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/picockpit.com\\\/raspberry-pi\\\/wp-content\\\/uploads\\\/2023\\\/07\\\/Screenshot-from-2023-07-24-15-01-24.png\",\"contentUrl\":\"https:\\\/\\\/picockpit.com\\\/raspberry-pi\\\/wp-content\\\/uploads\\\/2023\\\/07\\\/Screenshot-from-2023-07-24-15-01-24.png\",\"width\":1165,\"height\":283,\"caption\":\"PiCockpit.com\"},\"image\":{\"@id\":\"https:\\\/\\\/picockpit.com\\\/raspberry-pi\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.facebook.com\\\/pi3gshop\",\"https:\\\/\\\/x.com\\\/pi3g\"]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/picockpit.com\\\/raspberry-pi\\\/#\\\/schema\\\/person\\\/7af3a7a8c999bc722029ef9ca9d78eee\",\"name\":\"raspi berry\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/c10c423ceeff34163dd54a5472d6da17d71c0e360e0cf8cdb8847006372f216b?s=96&d=blank&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/c10c423ceeff34163dd54a5472d6da17d71c0e360e0cf8cdb8847006372f216b?s=96&d=blank&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/c10c423ceeff34163dd54a5472d6da17d71c0e360e0cf8cdb8847006372f216b?s=96&d=blank&r=g\",\"caption\":\"raspi berry\"},\"description\":\"I'm here to help you with all your Raspberry Pi related questions &amp; love to share about new project ideas for the Raspberry Pi, and give quick tips. Of course I'll also help you with PiCockpit and how to make your Raspberry Pi even easier to use with this raspberry pi monitoring solution :-)\",\"sameAs\":[\"https:\\\/\\\/picockpit.com\"],\"url\":\"https:\\\/\\\/picockpit.com\\\/raspberry-pi\\\/de\\\/author\\\/raspi-berry\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"MicroLua erforschen: Lua-Programmierung f\u00fcr RP2040 | PiCockpit","description":"Wollten Sie schon immer Lua mit einem RP2040 Mikrocontroller verwenden? MicroLua bietet eine aufregende Gelegenheit, genau das zu tun!","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/picockpit.com\/raspberry-pi\/de\/erkundung-der-microlua-lua-programmierung-fur-rp2040\/","og_locale":"de_DE","og_type":"article","og_title":"Exploring MicroLua: Lua Programming for RP2040 | PiCockpit","og_description":"Have you ever wanted to use Lua with an RP2040 microcontroller? MicroLua offers an exciting opportunity to do just that!","og_url":"https:\/\/picockpit.com\/raspberry-pi\/de\/erkundung-der-microlua-lua-programmierung-fur-rp2040\/","og_site_name":"PiCockpit","article_publisher":"https:\/\/www.facebook.com\/pi3gshop","article_published_time":"2023-11-10T09:54:34+00:00","article_modified_time":"2023-11-23T02:07:41+00:00","og_image":[{"width":960,"height":638,"url":"https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2023\/11\/Exploring-MicroLua-for-the-RP2040-Title-Image.png","type":"image\/png"}],"author":"raspi berry","twitter_card":"summary_large_image","twitter_creator":"@pi3g","twitter_site":"@pi3g","twitter_misc":{"Geschrieben von":"raspi berry","Gesch\u00e4tzte Lesezeit":"4\u00a0Minuten"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/picockpit.com\/raspberry-pi\/exploring-microlua-lua-programming-for-rp2040\/#article","isPartOf":{"@id":"https:\/\/picockpit.com\/raspberry-pi\/exploring-microlua-lua-programming-for-rp2040\/"},"author":{"name":"raspi berry","@id":"https:\/\/picockpit.com\/raspberry-pi\/#\/schema\/person\/7af3a7a8c999bc722029ef9ca9d78eee"},"headline":"Exploring MicroLua: Lua Programming for RP2040","datePublished":"2023-11-10T09:54:34+00:00","dateModified":"2023-11-23T02:07:41+00:00","mainEntityOfPage":{"@id":"https:\/\/picockpit.com\/raspberry-pi\/exploring-microlua-lua-programming-for-rp2040\/"},"wordCount":745,"commentCount":0,"publisher":{"@id":"https:\/\/picockpit.com\/raspberry-pi\/#organization"},"image":{"@id":"https:\/\/picockpit.com\/raspberry-pi\/exploring-microlua-lua-programming-for-rp2040\/#primaryimage"},"thumbnailUrl":"https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2023\/11\/Exploring-MicroLua-for-the-RP2040-Title-Image.png","keywords":["Fennel","language","linux","Lisp","Lua","microcontroller","MicroLua","Pico","pico sdk","Pico W","programming","programming language","Raspberry Pi","RP2040"],"articleSection":["Raspberry Pi Pico"],"inLanguage":"de","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/picockpit.com\/raspberry-pi\/exploring-microlua-lua-programming-for-rp2040\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/picockpit.com\/raspberry-pi\/exploring-microlua-lua-programming-for-rp2040\/","url":"https:\/\/picockpit.com\/raspberry-pi\/exploring-microlua-lua-programming-for-rp2040\/","name":"MicroLua erforschen: Lua-Programmierung f\u00fcr RP2040 | PiCockpit","isPartOf":{"@id":"https:\/\/picockpit.com\/raspberry-pi\/#website"},"primaryImageOfPage":{"@id":"https:\/\/picockpit.com\/raspberry-pi\/exploring-microlua-lua-programming-for-rp2040\/#primaryimage"},"image":{"@id":"https:\/\/picockpit.com\/raspberry-pi\/exploring-microlua-lua-programming-for-rp2040\/#primaryimage"},"thumbnailUrl":"https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2023\/11\/Exploring-MicroLua-for-the-RP2040-Title-Image.png","datePublished":"2023-11-10T09:54:34+00:00","dateModified":"2023-11-23T02:07:41+00:00","description":"Wollten Sie schon immer Lua mit einem RP2040 Mikrocontroller verwenden? MicroLua bietet eine aufregende Gelegenheit, genau das zu tun!","breadcrumb":{"@id":"https:\/\/picockpit.com\/raspberry-pi\/exploring-microlua-lua-programming-for-rp2040\/#breadcrumb"},"inLanguage":"de","potentialAction":[{"@type":"ReadAction","target":["https:\/\/picockpit.com\/raspberry-pi\/exploring-microlua-lua-programming-for-rp2040\/"]}]},{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/picockpit.com\/raspberry-pi\/exploring-microlua-lua-programming-for-rp2040\/#primaryimage","url":"https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2023\/11\/Exploring-MicroLua-for-the-RP2040-Title-Image.png","contentUrl":"https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2023\/11\/Exploring-MicroLua-for-the-RP2040-Title-Image.png","width":960,"height":638,"caption":"Exploring MicroLua for the RP2040 Title Image"},{"@type":"BreadcrumbList","@id":"https:\/\/picockpit.com\/raspberry-pi\/exploring-microlua-lua-programming-for-rp2040\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/picockpit.com\/raspberry-pi\/"},{"@type":"ListItem","position":2,"name":"Raspberry Pi Pico","item":"https:\/\/picockpit.com\/raspberry-pi\/category\/raspberry-pi-pico\/"},{"@type":"ListItem","position":3,"name":"Exploring MicroLua: Lua Programming for RP2040"}]},{"@type":"WebSite","@id":"https:\/\/picockpit.com\/raspberry-pi\/#website","url":"https:\/\/picockpit.com\/raspberry-pi\/","name":"PiCockpit","description":"","publisher":{"@id":"https:\/\/picockpit.com\/raspberry-pi\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/picockpit.com\/raspberry-pi\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"de"},{"@type":"Organization","@id":"https:\/\/picockpit.com\/raspberry-pi\/#organization","name":"PiCockpit.de","url":"https:\/\/picockpit.com\/raspberry-pi\/","logo":{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/picockpit.com\/raspberry-pi\/#\/schema\/logo\/image\/","url":"https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2023\/07\/Screenshot-from-2023-07-24-15-01-24.png","contentUrl":"https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2023\/07\/Screenshot-from-2023-07-24-15-01-24.png","width":1165,"height":283,"caption":"PiCockpit.com"},"image":{"@id":"https:\/\/picockpit.com\/raspberry-pi\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/pi3gshop","https:\/\/x.com\/pi3g"]},{"@type":"Person","@id":"https:\/\/picockpit.com\/raspberry-pi\/#\/schema\/person\/7af3a7a8c999bc722029ef9ca9d78eee","name":"Himbeere","image":{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/secure.gravatar.com\/avatar\/c10c423ceeff34163dd54a5472d6da17d71c0e360e0cf8cdb8847006372f216b?s=96&d=blank&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/c10c423ceeff34163dd54a5472d6da17d71c0e360e0cf8cdb8847006372f216b?s=96&d=blank&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/c10c423ceeff34163dd54a5472d6da17d71c0e360e0cf8cdb8847006372f216b?s=96&d=blank&r=g","caption":"raspi berry"},"description":"Ich bin hier, um euch bei all euren Fragen rund um den Raspberry Pi zu helfen und erz\u00e4hle gerne von neuen Projektideen f\u00fcr den Raspberry Pi und gebe schnelle Tipps. Nat\u00fcrlich helfe ich euch auch mit PiCockpit und wie ihr euren Raspberry Pi mit dieser Raspberry Pi Monitoring L\u00f6sung noch einfacher bedienen k\u00f6nnt :-)","sameAs":["https:\/\/picockpit.com"],"url":"https:\/\/picockpit.com\/raspberry-pi\/de\/author\/raspi-berry\/"}]}},"_links":{"self":[{"href":"https:\/\/picockpit.com\/raspberry-pi\/de\/wp-json\/wp\/v2\/posts\/5938","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/picockpit.com\/raspberry-pi\/de\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/picockpit.com\/raspberry-pi\/de\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/picockpit.com\/raspberry-pi\/de\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/picockpit.com\/raspberry-pi\/de\/wp-json\/wp\/v2\/comments?post=5938"}],"version-history":[{"count":7,"href":"https:\/\/picockpit.com\/raspberry-pi\/de\/wp-json\/wp\/v2\/posts\/5938\/revisions"}],"predecessor-version":[{"id":5948,"href":"https:\/\/picockpit.com\/raspberry-pi\/de\/wp-json\/wp\/v2\/posts\/5938\/revisions\/5948"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/picockpit.com\/raspberry-pi\/de\/wp-json\/wp\/v2\/media\/5939"}],"wp:attachment":[{"href":"https:\/\/picockpit.com\/raspberry-pi\/de\/wp-json\/wp\/v2\/media?parent=5938"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/picockpit.com\/raspberry-pi\/de\/wp-json\/wp\/v2\/categories?post=5938"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/picockpit.com\/raspberry-pi\/de\/wp-json\/wp\/v2\/tags?post=5938"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}