GithubHelp home page GithubHelp logo

hhy5277 / esp3d Goto Github PK

View Code? Open in Web Editor NEW

This project forked from luc-github/esp3d

0.0 1.0 0.0 20.32 MB

FW for ESP8266/ESP8285/ESP32 used with 3D printer

HTML 5.62% Shell 0.36% Batchfile 0.03% JavaScript 1.23% C 16.61% CSS 0.66% C++ 75.47% Makefile 0.01%

esp3d's Introduction

ESP3D 2.1 Code Climate

Firmware for ESP8266/ESP8285 and ESP32 used with 3D printer using ESP8266 core version and ESP32 core version

This firmware allows not only to have a cheap bridge between Wifi and serial, but also to have a web UI to configure wifi, to monitor 3D printer and even control it, and to make things easy, UI is fully customizable without reflashing FW.

Firmware should work with any 3D printer firmware (repetier/marlin/smoothieware using GCODE) if serial connection has a correct setup. I currently use it with my personnal flavor of repetier for Due based boards.

The web interface files are present in data directory but UI has it's own repository ESP3D-WEBUI.

  • be aware ESP3D-WEBUI is for firmware 0.9.99 minimum - previous released version use tpl files which are no more used.

Stable version (ESP8266 only):
Arduino ide 1.6.5 with stable 2.0.0 from ESP8266, please use https://github.com/luc-github/ESP3D/releases/tag/v0.5.1
Arduino ide 1.6.8 with stable 2.2.0 from ESP8266, please use https://github.com/luc-github/ESP3D/releases/tag/v0.6.2
Arduino ide 1.8.5 with stable 2.4.0 from ESP8266, please use https://github.com/luc-github/ESP3D/releases/tag/1.0 Build Status
Arduino ide 1.8.5 with with 2.5.2 version of ESP8266 and git version of ESP32, please use https://github.com/luc-github/ESP3D/releases/tag/2.0 Build Status
Development version for 2.1 & ESP-WEBUI (2.1 branch):
Arduino ide 1.8.9 with 2.5.2 version of ESP8266 or git version ESP32 for 100% support of ESP32 : Build Status

All releases

👍Thanks

  • to @disneysw for bringing this module idea
  • to @lkarlslund for suggestion about independent reset using GPIO2
  • to Roy Cortes from http://www.panucatt.com for supporting and pushing me implementing great features
  • to all contributors, feedbacks owners and donations.

Donate

Every support is welcome: PayPal – The safer, easier way to pay online.
Especially because need to buy new ESP modules and devices for developing and testing.

Features

  • Serial/Wifi bridge using configurable port 8888, here to enable/disable TCP_IP_DATA_FEATURE
  • Use GPIO2 to ground to reset all settings in hard way - 2-6 sec after boot / not before!! Set GPIO2 to ground before boot change boot mode and go to special boot that do not reach FW. Currently boot take 10 sec - giving 8 seconds to connect GPIO2 to GND and do an hard recovery for settings, here to enable/disable RECOVERY_FEATURE
  • Complete configuration by web browser (Station or Access point) or by Serial commands
  • Authentication for sensitive pages, here to enable/disable AUTHENTICATION_FEATURE
  • Update firmware by web browser, here to enable/disable WEB_UPDATE_FEATURE
  • Control ESP module using commands on serial or data port, here to enable/disable SERIAL_COMMAND_FEATURE
  • Captive portal in Access point mode which redirect all unknow call to main page, here to enable/disable CAPTIVE_PORTAL_FEATURE
  • mDNS which allows to key the name defined in web browser and connect only with bonjour installed on computer, here to enable/disable MDNS_FEATURE
  • SSDP, this feature is a discovery protocol, supported on Windows out of the box, here to enable/disable SSDP_FEATURE
  • Fail safe mode (Access point)is enabled if cannot connect to defined station at boot.
  • Choice of web server Async or Sync
  • Websocket support
  • OLED screen support
  • The web ui add even more feature : https://github.com/luc-github/ESP3D-WEBUI/blob/master/README.md#features

Web configuration

  • Wifi Mode : Access point / Client station
  • IP Generation: DHCP/Static IP
  • IP/MASK/GATEWAY for static data
  • Baud Rate for serial (supported : 9600, 19200, 38400, 57600, 115200, 230400, 250000)
  • web port and data port

Default Configuration

Default Settings:
AP:ESP8266
PW:12345678
Authentification: WPA
Mode: g (n is not supported by AP, just by STA)
channel: 11
AP: visible
Sleep Mode: Modem
IP Mode: Static IP
IP: 192.168.0.1
Mask: 255.255.255.0
GW:192.168.0.1
Baud rate: 115200
Web port:80 On async webserver the websocket is web port => 80+1 : 81
Data port: 8888
Web Page refresh: 3 secondes
User: admin
Password: admin
User:user
Password: user

Direct commands:

Check wiki : https://github.com/luc-github/ESP3D/wiki/Direct-ESP3D-commands

Installation

Feedback on 2.0 was : ESP3D being a library is not really useful and make setup more complex, so now we are back to simple application.

  1. Please follow installation of the ESP core you want to use : ESP8266 core version or ESP32 core version
  2. Add manually libraries present in libraries directory -these versions are verified to work with ESP3D, any others (newer version) may cause untested behavior.

For async webserver support(currently not recommended as not stable)

  • ESPAsyncWebServer from @me-no-dev
    if you target ESP8266
  • ESPAsyncTCP from @me-no-dev
    if you target ESP32:
  • AsyncTCP from @me-no-dev

If you want sync webserver support (recommended as stable):

  • arduinoWebSockets from @Links2004

Generic ones:
Specific for ESP32

  • ESP32SSDP If you want OLED support:
  • oled-ssd1306 from @squix78

If you want DHT11/22 support:

  • DHT_sensor_library_for_ESPx from @beegee-tokyo
  1. Compile project esp3d.ino according target: ESP8266 board or ESP32 board, please review config.h to enable disable a feature, by default athenticatio is disabled and all others are enabled.
  1. Upload the data content on ESP3D file system
  • Using SPIFFS uploader, this plugin and install instructions is available on each ESP core - please refere to it or
  • Using embedded uploader (you may need to format SPIFFS using : [ESP710]FORMAT on ESP8266 first)
    if embedded uploader does not show up you can force it ti display using : http://your_IP_address?forcefallback=yes

Update

  • Generate a binary using the export binary menu from Arduino IDE and upload it using ESP-WEBUI or embedded interface

⚠️Do not flash your Printer fw with ESP connected on Serial - it bring troubles, at least on DaVinci, but no issue if you update using web UI

Contribution/customization

Need more information about supported boards or wiring ?

Check the wiki

❓Any question ?

Check Wiki or Join the chat at https://gitter.im/luc-github/ESP3D

❗Any issue/feedback ?

Check Wiki and FAQ or submit ticket

ESP3D is used by :

⚠️ Do not use this repository for these boards, you will lose several features.

  • Several boards, mostly chinese ones, but without noticed me, so I can't promote them here...
  • More to come...

If you use ESP3D on your product, drop me a message so I can link your product page here.

esp3d's People

Contributors

austinsaintaubin avatar coliss86 avatar fape avatar gitter-badger avatar j0hnlittle avatar luc-github avatar

Watchers

 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.