Update README.md

This commit is contained in:
Luc 2019-09-08 17:57:57 +02:00 committed by GitHub
parent 8c7b237c09
commit c0f5b1eccd
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

109
README.md
View File

@ -1,3 +1,5 @@
<img src="https://github.com/luc-github/ESP3D/blob/2.1/images/ESP3D.png" width="200px"/>
# ESP3D 2.1 [![Code Climate](https://codeclimate.com/github/luc-github/ESP3D/badges/gpa.svg)](https://codeclimate.com/github/luc-github/ESP3D) # ESP3D 2.1 [![Code Climate](https://codeclimate.com/github/luc-github/ESP3D/badges/gpa.svg)](https://codeclimate.com/github/luc-github/ESP3D)
Firmware for ESP8266/ESP8285 and ESP32 used with 3D printer using [ESP8266 core version](https://github.com/esp8266/Arduino) and [ESP32 core version](https://github.com/espressif/arduino-esp32) Firmware for ESP8266/ESP8285 and ESP32 used with 3D printer using [ESP8266 core version](https://github.com/esp8266/Arduino) and [ESP32 core version](https://github.com/espressif/arduino-esp32)
@ -11,13 +13,13 @@ I currently use it with my personnal flavor of [repetier for Due based boards](h
The web interface files are present in data directory but UI has it's own repository [ESP3D-WEBUI](https://github.com/luc-github/ESP3D-WEBUI). The web interface files are present in data directory but UI has it's own repository [ESP3D-WEBUI](https://github.com/luc-github/ESP3D-WEBUI).
* be aware ESP3D-WEBUI is for firmware 0.9.99 minimum - previous released version use tpl files which are no more used. * be aware ESP3D-WEBUI is for firmware 0.9.99 minimum - previous released version use tpl files which are no more used.
<u>Stable version (ESP8266 only):</u> <u>Stable versions:</u>
Arduino ide 1.6.5 with stable [2.0.0](http://arduino.esp8266.com/versions/2.0.0/package_esp8266com_index.json) from ESP8266, please use https://github.com/luc-github/ESP3D/releases/tag/v0.5.1 [V1.0](https://github.com/luc-github/ESP3D/releases/tag/1.0) : please use Arduino ide 1.8.5 with stable [2.4.0](http://arduino.esp8266.com/versions/2.4.0/package_esp8266com_index.json) from ESP8266
Arduino ide 1.6.8 with stable [2.2.0](http://arduino.esp8266.com/versions/2.2.0/package_esp8266com_index.json) from ESP8266, please use https://github.com/luc-github/ESP3D/releases/tag/v0.6.2 [![Build Status](https://travis-ci.org/luc-github/ESP3D.svg?branch=master)](https://travis-ci.org/luc-github/ESP3D)
Arduino ide 1.8.5 with stable [2.4.0](http://arduino.esp8266.com/versions/2.4.0/package_esp8266com_index.json) from ESP8266, please use https://github.com/luc-github/ESP3D/releases/tag/1.0 [![Build Status](https://travis-ci.org/luc-github/ESP3D.svg?branch=master)](https://travis-ci.org/luc-github/ESP3D) [V2.0](https://github.com/luc-github/ESP3D/releases/tag/2.0) : please use Arduino ide 1.8.5 with with 2.5.2 version of ESP8266 and git version ESP32 [![Build Status](https://travis-ci.org/luc-github/ESP3D.svg?branch=2.0)](https://travis-ci.org/luc-github/ESP3D)
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](https://travis-ci.org/luc-github/ESP3D.svg?branch=2.0)](https://travis-ci.org/luc-github/ESP3D) [V2.1](https://github.com/luc-github/ESP3D/releases/tag/2.1RC1) : please use Arduino ide 1.8.9 with 2.5.2 version of ESP8266 or git version ESP32 : [![Build Status](https://travis-ci.org/luc-github/ESP3D.svg?branch=2.1)](https://travis-ci.org/luc-github/ESP3D)
<u>[Development version for 2.1](https://github.com/luc-github/ESP3D/tree/2.1) & [ESP-WEBUI (2.1 branch)](https://github.com/luc-github/ESP3D-WEBUI/tree/2.1):</u> <u>Development version:</u>
Arduino ide 1.8.9 with 2.5.2 version of ESP8266 or git version ESP32 for 100% support of ESP32 : [![Build Status](https://travis-ci.org/luc-github/ESP3D.svg?branch=2.1)](https://travis-ci.org/luc-github/ESP3D) [V3.0](https://github.com/luc-github/ESP3D/tree/3.0) : please use Arduino ide 1.8.9 with 2.5.2 version of ESP8266 (to be updated) or git version ESP32 : [![Build Status](https://travis-ci.org/luc-github/ESP3D.svg?branch=3.0)](https://travis-ci.org/luc-github/ESP3D)
[All releases](https://github.com/luc-github/ESP3D/wiki) [All releases](https://github.com/luc-github/ESP3D/wiki)
@ -29,55 +31,37 @@ Arduino ide 1.8.9 with 2.5.2 version of ESP8266 or git version ESP32 for 100% su
## Donate ## Donate
Every support is welcome: [<img src="https://www.paypalobjects.com/en_US/i/btn/btn_donateCC_LG_global.gif" border="0" alt="PayPal The safer, easier way to pay online.">](https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=Y8FFE7NA4LJWQ) Every support is welcome: [<img src="https://www.paypalobjects.com/en_US/i/btn/btn_donateCC_LG_global.gif" border="0" alt="PayPal The safer, easier way to pay online.">](https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=Y8FFE7NA4LJWQ)
Especially because need to buy new ESP modules and devices for developing and testing. Especially because need to buy new ESP modules and devices for developing and testing new features.
## Features ## Features
* Serial/Wifi bridge using configurable port 8888, here to enable/disable [TCP_IP_DATA_FEATURE](https://github.com/luc-github/ESP3D/blob/master/esp3d/config.h) * Serial/Wifi bridge using configurable port 8888
* 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](https://github.com/luc-github/ESP8266/blob/master/esp8266/config.h) * 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 a hard recovery for settings
* Complete configuration by web browser (Station or Access point) or by Serial commands * Complete configuration by web browser (Station or Access point) or by Serial/telnet commands
* Authentication for sensitive pages, here to enable/disable [AUTHENTICATION_FEATURE](https://github.com/luc-github/ESP3D/blob/master/esp3d/config.h) * Authentication (optional) for better security
* Update firmware by web browser, here to enable/disable [WEB_UPDATE_FEATURE](https://github.com/luc-github/ESP3D/blob/master/esp3d/config.h) * Update firmware by web browser
* Control ESP module using commands on serial or data port, here to enable/disable [SERIAL_COMMAND_FEATURE](https://github.com/luc-github/ESP3D/blob/master/esp3d/config.h) * Captive portal in Access point mode which redirect all unknow call to main page
* Captive portal in Access point mode which redirect all unknow call to main page, here to enable/disable [CAPTIVE_PORTAL_FEATURE](https://github.com/luc-github/ESP3D/blob/master/esp3d/config.h) * mDNS which allows to key the name defined in web browser and connect only with bonjour installed on computer
* 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](https://github.com/luc-github/ESP3D/blob/master/esp3d/config.h) * SSDP, this feature is a discovery protocol, supported on Windows out of the box
* SSDP, this feature is a discovery protocol, supported on Windows out of the box, here to enable/disable [SSDP_FEATURE](https://github.com/luc-github/ESP3D/blob/master/esp3d/config.h)
* Fail safe mode (Access point)is enabled if cannot connect to defined station at boot. * Fail safe mode (Access point)is enabled if cannot connect to defined station at boot.
* Choice of web server Async or Sync * Embedded FS uploader and updater.
* Websocket support
* OLED screen support * OLED screen support
* The web ui add even more feature : https://github.com/luc-github/ESP3D-WEBUI/blob/master/README.md#features * Notifications using Line / Pushover / email
* The web ui add even more feature : https://github.com/luc-github/ESP3D-WEBUI/blob/2.1/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 Configuration
Default Settings: Default Settings:
AP:ESP8266 * Access Point: ESP3D
PW:12345678 * PW:12345678
Authentification: WPA * Authentification: WPA
Mode: g (n is not supported by AP, just by STA) * IP: 192.168.0.1
channel: 11 * Baud rate: 115200
AP: visible * Web port:80
Sleep Mode: Modem * Data port: 8888
IP Mode: Static IP if Authentication is enabled :
IP: 192.168.0.1 * User: admin
Mask: 255.255.255.0 * Password: admin
GW:192.168.0.1 * User:user
Baud rate: 115200 * Password: user
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
@ -90,14 +74,7 @@ Feedback on 2.0 was : ESP3D being a library is not really useful and make setup
1. Please follow installation of the ESP core you want to use : [ESP8266 core version](https://github.com/esp8266/Arduino) or [ESP32 core version](https://github.com/espressif/arduino-esp32) 1. Please follow installation of the ESP core you want to use : [ESP8266 core version](https://github.com/esp8266/Arduino) or [ESP32 core version](https://github.com/espressif/arduino-esp32)
2. Add manually libraries present in libraries directory -these versions are verified to work with ESP3D, any others (newer version) may cause untested behavior. 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) Use webserver support (recommended as 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 * arduinoWebSockets from @Links2004
Generic ones: Generic ones:
@ -108,14 +85,14 @@ If you want OLED support:
If you want DHT11/22 support: If you want DHT11/22 support:
* DHT_sensor_library_for_ESPx from @beegee-tokyo * DHT_sensor_library_for_ESPx from @beegee-tokyo
3. 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. 3. Compile project esp3d.ino according target: ESP8266 board or ESP32 board, please review config.h to enable disable a feature, by default athentication is disabled and most others are enabled.
* for ESP8266 set CPU freq to 160MHz for better (https://github.com/luc-github/ESP3D/wiki/Install-Instructions) * for ESP8266 set CPU freq to 160MHz for better (https://github.com/luc-github/ESP3D/wiki/Install-Instructions)
4. Upload the data content on ESP3D file system 4. 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 * Using SPIFFS uploader, this plugin and install instructions is available on each ESP core - please refere to it
or or
* Using embedded uploader (you may need to format SPIFFS using : [ESP710]FORMAT on ESP8266 first) * 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 if embedded uploader does not show up you can force it ti display using : http://your_IP_address?forcefallback=yes
<img src=https://raw.githubusercontent.com/luc-github/ESP3D/master/images/docs/embedded.png><br> <img src=https://github.com/luc-github/ESP3D/blob/2.1/images/docs/embedded.png><br>
## Update ## Update
* Generate a binary using the export binary menu from Arduino IDE and upload it using ESP-WEBUI or embedded interface * Generate a binary using the export binary menu from Arduino IDE and upload it using ESP-WEBUI or embedded interface
@ -124,9 +101,9 @@ if embedded uploader does not show up you can force it ti display using : http:/
## Contribution/customization ## Contribution/customization
* To style the code before pushing PR please use [astyle --style=otbs *.h *.cpp *.ino](http://astyle.sourceforge.net/) * To style the code before pushing PR please use [astyle --style=otbs *.h *.cpp *.ino](http://astyle.sourceforge.net/)
* The embedded page is created using nodejs then gulp to generate a compressed html page (tool.html.gz), all necessary modules can be installed using the install.bat file content, then it is included using bin2c (https://sourceforge.net/projects/bin2c/) to generate the h file used to create the file nofile.h, update the array and size according new out.h. * The embedded page is created using nodejs then gulp to generate a compressed html page (tool.html.gz), all necessary modules will be installed using the build.bat, you also need bin2c tool (https://sourceforge.net/projects/bin2c/) to generate the h file from the binary, installation and build is done using the build.bat.
* The current UI is located [here](https://github.com/luc-github/ESP3D-WEBUI) * The corresponding UI is located [here](https://github.com/luc-github/ESP3D-WEBUI/tree/2.1)
* An optional UI is under development using old repetier UI - check [UI\repetier\testui.htm] (https://github.com/luc-github/ESP3D/blob/master/UI/repetier/testui.htm) file * An optional UI was development using old repetier UI - check [UI\repetier\testui.htm] (https://github.com/luc-github/ESP3D/blob/master/UI/repetier/testui.htm) file
## Need more information about supported boards or wiring ? ## Need more information about supported boards or wiring ?
@ -139,12 +116,14 @@ Check [Wiki](https://github.com/luc-github/ESP3D/wiki/Install-Instructions) or [
Check [Wiki](https://github.com/luc-github/ESP3D/wiki/Install-Instructions) and [FAQ](https://github.com/luc-github/ESP3D/issues?utf8=%E2%9C%93&q=label%3AFAQ+) or [submit ticket](https://github.com/luc-github/ESP3D/issues) Check [Wiki](https://github.com/luc-github/ESP3D/wiki/Install-Instructions) and [FAQ](https://github.com/luc-github/ESP3D/issues?utf8=%E2%9C%93&q=label%3AFAQ+) or [submit ticket](https://github.com/luc-github/ESP3D/issues)
## ESP3D is used by : ## ESP3D is used by :
* Custom version is used on azteeg mini wifi : http://www.panucatt.com/azteeg_X5_mini_reprap_3d_printer_controller_p/ax5mini.htm * Opensource version is used by various boards like : https://www.aliexpress.com/wholesale?SearchText=esp3d&opensearch=true&switch_new_app=y
and Wifi boards for 3D printers : https://www.panucatt.com/ProductDetails.asp?ProductCode=WB8266, and https://youtu.be/XoWW0aU6DGE?t=76
* Custom version (not this repository) is used on azteeg mini wifi : http://www.panucatt.com/azteeg_X5_mini_reprap_3d_printer_controller_p/ax5mini.htm
and Wifi boards for 3D printers : https://www.panucatt.com/ProductDetails.asp?ProductCode=WB8266,
<h2>:warning: Do not use this repository for these boards, you will lose several features.</h2> <h2>:warning: Do not use this repository for these boards, you will lose several features.</h2>
* Several boards, mostly chinese ones, but without noticed me, so I can't promote them here...
* More to come... * More to come...
If you use ESP3D on your product, drop me a message so I can link your product page here. If you use ESP3D on your product, drop me a message so I can link your product page here.