-
-
Notifications
You must be signed in to change notification settings - Fork 19.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[2.0.x] ESP32 WiFi interface #11209
[2.0.x] ESP32 WiFi interface #11209
Conversation
f454bf2
to
63f4c9b
Compare
2ed6901
to
1fba59c
Compare
Good work! Rebased, squashed, reverted some git fetch origin
git checkout websocket-serial
git reset --hard origin/websocket-serial |
@thinkyhead thank you! I'll keep at it and @simon-jouet is sending me a board so that should help. |
This sounds pretty cool! I'm right now exploring the possibility to have a standalone ESP32 with attached LCD (some of those pretty cheap 2" TFTs with touch), originally intended to use with OctoPrint - but controlling a printer directly via WiFi is another beast :) |
How would you connect it all up? |
@psavva please check the details of the work from @simon-jouet here #6524 (comment), he's building an entire board around the ESP32. Towards the end of that thread is a question similar to yours and some helpful comments from Simon. |
0226dcc
to
834ea7f
Compare
6d3fc7e
to
a218d42
Compare
9fb4e95
to
ad12b9b
Compare
5f6db62
to
d0c96ee
Compare
9d867f9
to
849dea9
Compare
579c7f3
to
d52deeb
Compare
8a7664f
to
5d487ef
Compare
@grownseed Has this branch been merged into bugfix-2.0.x? Or should I get a copy from your repository to explore this? Because I do not see the files for web (web.cpp, wifi.cpp, etc.) in bugfix-2.0.x and it seems like an interesting feature to have. Also, I wonder how much work needs to be done to migrate @luc-github ESP3D into this branch. This would then offer not just a terminal, but additional web-based controls. |
a218d42
to
206032a
Compare
I think having the ESP32 as a built-in module on the board itself is a $5 solution that brings connectivity to any new printer board. In fact, one of my side projects is to design a board based on STM32F407, which Marlin has some support for, with an ESP32 connected to RX/TX to provided web interface via @luc-github ESP3D. But that is paused for now while I work on my ESP32-based board. Once the design has been tested, I will be releasing the design as open source under GPL license. If the design is not released, it means I failed. Haha. BTW, @luc-github, I have partially hooked up my LOLIN32 board flashed with your ESP32 web interface branch to a Morpheus board using jumper wires. The motors work, temperature reading seems to work, the only thing I couldn't really test was heating. I think it is because my test power supply (cheap Chinese 12V 5A) couldn't deliver enough juice, causing the rigged setup to reset each time I try to heat the nozzle. But so far, two feedback:
Another thing I thought of was EEPROM support. Marlin already has support for I2C EEPROM, so I think it should not be too difficult to add one. But how much work do you think is needed to set aside a portion of flash memory to store the printer settings, and use that to emulate EEPROM? Or is there a way to store printer settings via the web interface, and use that to "configure" the ESP32 each time the printer starts up? |
@vivian-ng mDNS is also implemented so you should be able to access using 2 - Just comment 3 - Yes, I see in others HAL I think it is better to move discussion to another thread in Marlin issue tracker, or in Simon repository (https://github.com/simon-jouet/Marlin), or even in my repository (https://github.com/luc-github/Marlin) |
a32ec92
to
a59d3d4
Compare
7e736ee
to
144815d
Compare
Rebased, squashed, cleaned up a bit more, and added an ESP32 test for Travis CI. This can be merged pretty soon. To get the latest code use Git Console:
|
b0176fd
to
71004fb
Compare
c24d616
to
ab781de
Compare
d04d271
to
0a51330
Compare
@grownseed — I've done a lot of cleanup on this to get it down to a good zen level. Please confirm that it all still works for you, and if so then I guess we can go ahead and merge it. |
0a51330
to
2ffabcf
Compare
2ffabcf
to
f31230d
Compare
f31230d
to
bfc9a52
Compare
bfc9a52
to
23a3be0
Compare
Description
@simon-jouet is doing some amazing work on the ESP32 and has already added support for it in Marlin, so this PR is for taking this a step further and taking advantage of the ESP32's WiFi module.
It adds support for serial over websocket as well as a web UI to control the printer over WiFi. A number of new configuration options have also been added (Web, OTA, ... support). It also uses bonjour so that your printer automatically gets a local domain on your network (http://marlin.local by default).
This is still very much a work in progress, but I'd appreciate any early feedback!
Benefits
Marlin over WiFi!
Notes