Giter Club home page Giter Club logo

lspappmgr-esp32's Introduction

Barracuda Application Server for ESP32

Turn your ESP32 into an advanced Edge Controller and/or IoT Gateway with the Barracuda Application Server. The included LSP Application Manager turns the Barracuda Application Server library into an awesome development tool, thus enabling virtually anyone to program the ESP32 using the super easy to learn Lua Scripting language. Lua is a beginner-friendly coding language and is in fact promoted as a first programming language for children.

Barracuda App Server Edge Controller

The Barracuda Application Server provides a complete high level cloud/IoT/edge development environment enabling easy, secure, and fast development of embedded software using Lua/C/C++ as well as providing a rich API for designing modern human machine interfaces. The Barracuda Application Server is optimized for embedded use, delivering high performance in a small footprint. The Barracuda Application Server is the ideal tool for your edge computing project and lets developers easily design edge related tasks in Lua and enables easy bridging of cloud/IIoT and edge with its portfolio of IoT and industrial protocols.

Why Lua and not Python?

Python may be the king of the desktop, but Lua rocks in embedded systems. Python's main focus is to be a generic and easy to use command line scripting language, while Lua is designed to be a C Library with its main focus on being easy to integrate into a larger program. Lua is found in many games such as World of Warcraft. Lua has traditionally been selected when speed and size matters. Developers generally find Lua to be much faster and less resource hungry than Python. A developer that knows Python will find it easy to learn Lua since both languages are similar.

Why Use Lua in Embedded Systems?

The C/C++ programming languages dominate embedded systems programming, but developers often run into issues such as buffer overflows, memory leaks, and other memory corruption errors. With Lua you avoid these problems, particularly in larger projects where many computer programmers with varying skills are involved.

Lua abstracts out the details for the underlying microcontroller hardware. Instead of worrying about the bits and the bytes, a developer simply accesses methods of a peripheral object to control the hardware. Hardware control is done via a so called Lua binding. The abstraction of the hardware layer allows developers to focus on the application specifics rather than on the workings of the low-lying hardware. The Lua bindings for the ESP32 has been generated by SWIG and closely resemble the I/O API provided by the ESP-IDF C API.

What is LSP?

Lua Server Pages (LSP) extends Lua with additional features, such as IoT, making it very easy for any developer regardless of experience to safely design network/protocol related functionality and high level logic in Lua. LSP was initially designed for web development, but now provides much broader support for embedded and network related programming. We have seen from many successful projects that up to 80% of a modern embedded system can be implemented using LSP, ensuring dramatically reduced development time and cost.

See the online and interactive LSP tutorial for an introduction.

What is the LSP Application Manager?

The LSP App Manager turns the Barracuda App Server library into an awesome development tool. Once the development is complete, some minor changes to the build swaps out the LSP App Manager's Lua code with your own dedicated LSP/Lua bootloader. See the LSP App Manager home page for details.

Getting Started

lspappmgr-esp32's People

Contributors

rtl-pub avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.