GithubHelp home page GithubHelp logo

mwakaambrose / b3os Goto Github PK

View Code? Open in Web Editor NEW

This project forked from radio3-network/b3os

0.0 0.0 0.0 5.29 MB

Arduino Operating System for ESP32

License: Apache License 2.0

C++ 94.80% Python 0.04% C 1.17% CSS 0.24% HTML 3.74%

b3os's Introduction

B3OS

B3 Operating System

A long awaited GUI and CLI operating system for ESP32 devices.

This OS provides:

+ standard dialogs (e.g. select wifi network)
+ easy to use button/textarea, icons
+ keyboard on screen is automatically handled
+ linux-like cli available through WifI/telnet

Creating apps should be easy and don't require compiling firmwares. In smartphones we just install apps and the same should be available for ESP32.

Animated demonstration

Getting started

This project is based on ESP32 boards. At the moment we include support for the cheap Sunton boards (15 euros in 2023) that you can purchase from this location: https://www.aliexpress.com/item/1005004502250619.html because they include everything needed (display, touch screen, WiFi and an ESP32 with enough capacity).

If you get a Sunton ESP32 board, this project works straight away without changes. In case you need to add support for your device, look on this file to see if support is already added: https://github.com/radio3-network/B3OS/blob/main/src/hardware/choose.h and in case it is not listed, just open a ticket here so that we can help.

Code is developed using PlatformIO under Linux. If you are running/compiling under Windows, please modify the path here with the full path so that it can work: https://github.com/radio3-network/B3OS/blob/main/platformio.ini#L19

Help needed

Where help is needed:

Just write an issue about any topic you can work to implement and we'll talk about the questions, where you can find what is needed and how to start working on them.

Other things you can help?

Give ideas, write on the forum: https://github.com/orgs/radio3-network/discussions

Everyone is welcome! Either writing, trying out or sharing the word already helps so much.

Remember to star if you like this project. Extra points if you do a video review and let us know the link. :-)

CLI access

To run linux-like command line you first need to configure the WiFi access.

After you are connected, look on the serial console output to see the output with your IP address.

From the command line type 'telnet' plus the IP address at port 23.

An example would be 'telnet 192.168.178.110 23'

When you are inside, type 'help' to see the available commands.

At present the following functions are supported:

  • help (show available commands)
  • clear (clear the screen)
  • formatCard (format the SD/TF card)
  • echo (print a text line to console)
  • ls (list the files)
  • ll (list the files with details)
  • mkdir (make a directory)
  • cd (change to directory)
  • rm (remove file)
  • touch (create empty file)
  • reboot (reboot device)
  • wait (wait for n milliseconds)
  • whoami (prints current user)
  • version (prints current OS version)
  • logo (print OS logo)
  • beep (terminal beep)
  • download (download a file from internet)
  • print (show contents of a file)
  • sh (run a script with commands)
  • analogRead (read analog value from a PIN)
  • dateTime (returns NTP synchronized time)
  • digitalRead (reads the state of a pin)
  • digitalWrite (write the state of a pin)
  • ipconfig (show IP connection details)
  • random (returns a random number within a range)
  • uptime (how long the device is running)
  • wifiScan (show available wifi networks)
  • wifiStat (print wifi information)

Upcoming commands:

  • ftpserver
  • run

Legal

This project is fully open source and delivered under the Apache version 2.0 license.

Licenses from third-party libraries and resources adopted by this project are applicable and compatible with the Apache 2.0 license terms and conditions.

License: Apache-2.0 Copyright (c) B3OS contributors

Thanks

This project is only possible due to the work and effort of many other projects and people. On this section we try to list them.

Espressif and Sunton

For the incredibly powerful and affordable ESP32 boards

LVGL

For making modern GUI windows available for Arduino

ESP32-SmartDisplay

For making it possible and easy to write code for these Sunton boards.

Shellminator

Terminal library for accessing the device from either the WiFi or a serial cable.

Xila

For the good conversations and perspective to serve as host for this project one day.

b3os's People

Contributors

maxbrito500 avatar maxbrito555 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.