Coder Social home page Coder Social logo

wifisocketserverrtos's Introduction

WiFiSocketServerRTOS

Firmware for Espressif Wi-Fi modules on Duet boards. Based on DuetWiFiSocketServer, but ported to the newer ESP8266 RTOS SDK and ESP-IDF.

Build

Building the project generates DuetWiFiServer.bin used for M997 S1. ESP8266, ESP32, ESP32-S3 and ESP32-C3 are supported.

ESP8266

Terminal (Linux/macOS)

  1. Install the pre-requisites for your platform: Linux, macOS. Note that you might need additional/different packages depending on your system. For example, on systems which transitioned to Python 3, you might need python3-pip python-is-python3 python3-serial (or the equivalent for your package manager) instead.

  2. Clone ESP8266 RTOS SDK dwss_support branch. Make sure the path to the SDK has no spaces.

user@pc:/path/to$ git clone --branch dwss_support --recursive https://github.com/Duet3D/ESP8266_RTOS_SDK.git
  1. Navigate to the ESP8266 RTOS SDK directory and execute the install script.
user@pc:/path/to/ESP8266_RTOS_SDK$ ./install.sh
  1. Export environment variables for the current terminal session.
user@pc:/path/to/ESP8266_RTOS_SDK$ . ./export.sh
  1. Navigate to this directory and execute the make command. Exit and save the configuration when prompted. Once the build finishes, DuetWiFiServer.bin will be in the build directory.
user@pc:/path/to/WiFiSocketServerRTOS$ make

Terminal (Windows)

  1. Download the pre-packaged MSYS environment and toolchain. Extract both to a directory on your system (recommend C:\ for the pre-packaged MSYS environment, and C:\msys32\opt for the toolchain).

  2. Clone ESP8266 RTOS SDK dwss_support branch. Make sure the path to the SDK has no spaces.

user@pc /path/to
$ git clone --branch dwss_support --recursive https://github.com/Duet3D/ESP8266_RTOS_SDK.git
  1. Open a MINGW32 terminal (located at C:\msys32\mingw32.exe if the pre-packaged MSYS environment was extracted to C:\ as recommended).

  2. Using the MINGW32 terminal,

    • Set IDF_PATH to where the ESP8266 RTOS SDK was extracted and add the toolchain binary directory (/opt/xtensa-lx106-elf/bin if the toolchain was extracted to C:\msys32\opt as recommended) to PATH.
    user@pc MINGW32 ~
    $ export IDF_PATH="/path/to/ESP8266_RTOS_SDK"
    
    user@pc MINGW32 ~
    $ export PATH="/opt/xtensa-lx106-elf/bin":$PATH
    • Install the Python pre-requisites.
    user@pc MINGW32 ~
    python -m pip install --user -r $IDF_PATH/requirements.txt
    
  3. Navigate to this directory and execute the make command. Exit and save the configuration when prompted. Once the build finishes, DuetWiFiServer.bin will be in the build directory.

user@pc MINGW32 /path/to/WiFiSocketServerRTOS
$ make

Eclipse

Follow the instructions for setting up the build environment with Eclipse on Linux/macOS or Windows. Make sure to use ESP8266 RTOS SDK dwss_support branch.

Afterwards, import this project in the Import New Project step.

ESP32 / ESP32-S3 / ESP32-C3

Terminal (Windows/macOS/Linux)

  1. Setup ESP-IDF according to your platform: Linux/macOS, Windows. Use the Duet3D esp-idf, dwss_support branch:

    git clone --branch dwss_support --recursive https://github.com/Duet3D/esp-idf.git
    

    On Windows, choose "Use an existing ESP-IDF repository" in the installation wizard, and point it to the resulting clone directory.

  2. Navigate to the WiFiSocketServerRTOS directory and execute the following command. Once the build finishes, DuetWiFiServer.bin will be in the build directory.

    user@pc:/path/to/WiFiSocketServerRTOS$ idf.py set-target esp32 build

    Note: Replace esp32 with the actual target chip

IDE (Windows/macOS/Linux)

Eclipse and VSCode are supported through plugins. Read more about the plugin setup and build process on the docs page.

Links

Forum Documentation

wifisocketserverrtos's People

Contributors

chrishamm avatar dc42 avatar gloomyandy avatar gtjoseph avatar mfs12 avatar rechrtb avatar t3p3 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.