2015-10-16 20:13:28 +08:00
2015-06-10 08:08:00 +08:00
2015-10-16 20:13:28 +08:00
2015-04-16 22:03:37 +08:00
2015-10-16 20:13:28 +08:00
2015-10-16 20:13:28 +08:00
2015-10-16 20:13:28 +08:00
2015-10-16 20:13:28 +08:00
2015-10-16 20:13:28 +08:00
2015-10-16 20:13:28 +08:00
2015-10-16 20:13:28 +08:00
2015-09-24 21:06:35 +08:00

ESP8266

Join the chat at https://gitter.im/luc-github/ESP8266 FW for ESP8266 used with 3D printer

##Description
Thanks to @disneysw for bringing this module idea
Thanks to @lkarlslund for suggestion about independant reset using GPIO2

Have a bridge configurable by web (implemented) and optionally by printer (not yet implemented)
Have a front end to know what is the wifi status (implemented) or know what is the print status (not yet implemented) - this part can be optional and removed by compilation directive if no need

Should be compatible with reprap printer (Marlin FW/Repetier FW)

##Hardware connection
--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
--Use GPIO0 to ground to be in update mode
--Use a switch to reset/disable module


For Davinci Board:

##Development
Currently using Arduino IDE 1.6.5 with the esp8266 module from board manager added from github.com/esp8266/Arduino
using relased version (http://arduino.esp8266.com/package_esp8266com_index.json)
and staging version (http://arduino.esp8266.com/staging/package_esp8266com_index.json)

Additionnaly:
--Use minimal css from http://getbootstrap.com/examples/theme/

##Flash the Module
*Tools:
--Use IDE to upload directly (latest version of board manager module generate one binary)

*Connection --Connect GPIO0 to ground to be in update mode

##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: 9600
Web port:80
Data port: 8888
Web Page refresh: 3 secondes

These are the UI when css is in cache or internet is available:











the html files are using templates stored on SPIFFS
and uploaded using IDE (http://arduino.esp8266.com/versions/1.6.5-1160-gef26c5f/doc/reference.html#file-system) list of keywords can be find here : https://github.com/luc-github/ESP8266/blob/master/keywords.txt Any files on SPIFFS can be called on web interface without having the path hard coded - this give more flexibility
So UI is kind of separated from FW which allow easier modifications

##Protocol for discovery
*mDNS : on Station mode only with bonjour installed on computer
*SSDP : on Station and AP mode
*DNS Server / Captive portal : on AP mode only (not yet functionnal)

##Commands/msg from/to serial(not yet implemented):
*from module to printer [Need Printer FW support and can be disabled in ESP FW]
-M117 [Message], Error/status message from module (done)
-Send Wifi settings [AP/STATION,SSID,DHC/STATIC,IP,MASK,GW,STATUS,MAC ADDRESSS, BAUD?], ]Module configuration without password

*from host to printer (not fully yet implemented) [Need Printer FW support] on port 8888
-M800 [IP, AP,SSID, Password....], ]Module configuration settings to be used by module
-M801 query to get wifi informations
- bridge is implemented from TCP/IP to Serial and vice-versa

*from printer to module (Need Printer FW support and can be disabled in ESP FW) (not fully yet implemented)
-request configuration/status (done)
-set AP/STATION,SSID,PASSSWORD,DHC/STATIC,IP,MASK,GW,BAUD from serial

##Front End (basic implemented) [need Printer FW support it] or just display module status --Display printer status (done)
--Display temperatures (done)
--Display positions/flow/speed (done)
--Display print progress if any (done)
--List SDCard Content
--Launch a Print --Stop/Pause a Print (done)
--Emergency Stop (done)
--Jog control / custom commands (done)

##TODO
-- do testing
--SD Card management
--Printer EEPROM management

more to come

Description
No description provided
Readme 135 MiB
Languages
C++ 73%
C 18.9%
HTML 5.6%
JavaScript 1.7%
CSS 0.5%
Other 0.3%