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

113
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)
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).
* 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>
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
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
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)
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)
<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>
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)
<u>Stable versions:</u>
[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
[![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)
[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:</u>
[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)
@ -29,55 +31,37 @@ Arduino ide 1.8.9 with 2.5.2 version of ESP8266 or git version ESP32 for 100% su
## 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)
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
* 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)
* 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)
* Complete configuration by web browser (Station or Access point) or by Serial commands
* Authentication for sensitive pages, here to enable/disable [AUTHENTICATION_FEATURE](https://github.com/luc-github/ESP3D/blob/master/esp3d/config.h)
* Update firmware by web browser, here to enable/disable [WEB_UPDATE_FEATURE](https://github.com/luc-github/ESP3D/blob/master/esp3d/config.h)
* 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, 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, 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, here to enable/disable [SSDP_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 a hard recovery for settings
* Complete configuration by web browser (Station or Access point) or by Serial/telnet commands
* Authentication (optional) for better security
* Update firmware by web browser
* Captive portal in Access point mode which redirect all unknow call to main page
* mDNS which allows to key the name defined in web browser and connect only with bonjour installed on computer
* SSDP, this feature is a discovery protocol, supported on Windows out of the box
* 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
* Embedded FS uploader and updater.
* OLED screen support
* 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 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
* Access Point: ESP3D
* PW:12345678
* Authentification: WPA
* IP: 192.168.0.1
* Baud rate: 115200
* Web port:80
* Data port: 8888
if Authentication is enabled :
* 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)
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):
Use webserver support (recommended as stable):
* arduinoWebSockets from @Links2004
Generic ones:
@ -108,14 +85,14 @@ If you want OLED support:
If you want DHT11/22 support:
* 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)
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
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
<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
* 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
* 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 current UI is located [here](https://github.com/luc-github/ESP3D-WEBUI)
* 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
* 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 corresponding UI is located [here](https://github.com/luc-github/ESP3D-WEBUI/tree/2.1)
* 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 ?
@ -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)
## 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
and Wifi boards for 3D printers : https://www.panucatt.com/ProductDetails.asp?ProductCode=WB8266,
* Opensource version is used by various boards like : https://www.aliexpress.com/wholesale?SearchText=esp3d&opensearch=true&switch_new_app=y
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>
* 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.