Git Product home page Git Product logo

nanobolt's Introduction

NanoBolt

NanoBolt is an easy-to-use, lightweight, and asynchronous Wi-Fi connectivity library for MicroPython-based devices. Developed primarily with a focus on the Raspberry Pi Pico W, NanoBolt aims to maintain compatibility with the ESP32 platform.

The library provides a range of features from managing Wi-Fi connections and credentials to establishing a mock DNS server and a full asynchronous web server, all with an emphasis on being lightweight and memory-optimized for constrained devices.

Table of Contents

Development Status

Pre-Alpha

Motivation

This section will describe the motivation behind the creation of NanoBolt.

Features

NanoBolt offers a range of features:

  • Connection Manager: Effectively manages the Wi-Fi lifecycle, offering the following:

    • Wi-Fi Connection: Connects to a predefined Wi-Fi network using stored credentials.
    • Access Point Mode: In the absence of available credentials, the library starts an Access Point, enabling Wi-Fi configuration. This mode comes with several additional features:
      • Mock DNS Server: Acts as a captive portal, directing all DNS queries to the device's IP address to make the web interface easily accessible.
      • REST APIs: Provides a set of REST APIs to configure the Wi-Fi connection.
      • Web Interface: Exposes a simple and lightweight web interface for entering Wi-Fi credentials, which leverages the aforementioned APIs.
  • Asynchronous Web Server: Implements a lightweight asynchronous web server, providing the necessary primitives to build simple web applications on MicroPython-based devices.

  • Bootstrap Code: Offers an easy-to-use bootstrap code that initializes the Connection Manager and decides whether to connect to an available network or start the Access Point mode based on the availability of Wi-Fi credentials.

Requirements

  • uasyncio - micropython version of async library for big brother - python3.

Installation

Instructions for installing the NanoBolt library will go here.

Usage

Instructions for how to use the NanoBolt library will go here.

Contributing

We welcome contributions! Please see CONTRIBUTING.md for details on how you can contribute to the development of NanoBolt.

Acknowledgements

This section will mention any significant contributions or inspirations.

Disclaimer

This section will outline any disclaimers associated with the use of the library.

License

NanoBolt is licensed under the Apache License 2.0. See LICENSE for more information.

nanobolt's People

Contributors

budhash avatar dependabot[bot] avatar

Watchers

 avatar

nanobolt's Issues

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.