Cool, glad you got it working. Yeah, it uses the latitude and longitude from the weather data to look up the timezone and daylight savings offset. Thanks for the comments.
Are you able to pull up the normal OctoPrint web interface with http://169.254.95.85 from your browser or another computer? Also, you can blank out the hostname if you know the OctoPrint IP address that works. Also, the OctoPrint password is only there if you have haproxy turned on, you should not use that unless you have the extra layer of security on OctoPrint.
Sorry, I don't understand why you need to provide the /dev/tty/ACM0 anywhere. Everything works over valid network hostnames or IP address. The port field is numeric 5 digit unsigned 16-bit integer with a max value of 65535. Could you share a bit more? Or maybe a screenshot?
Try removing the hostname -- the code goes and resolves the port from the name. If you leave the hostname blank then it should keep the port and IP you specify. Give that a try.
It looks like it is crashing before fully starting up or when you are connecting. Also, not sure if you removed the weatherAPI key or if you didn't provide one.
Nope, no code missing. SPI.h and FS.h are part of the ESP8266 Arduino core libraries. You need to install them in your Arduino IDE. If you download the entire source zip from GitHub for the project you will see the Settings.h file in there. Follow this video -- it is for one of my other projects but it covers the basics of loading the IDE and supporting library files. https://youtu.be/Rm-l1FSuJpI
The base64 is part of the ESP8266 core -- so you just need to update the ESP8266 core.
Yes, I think it should still work. The code is generic to ESP8266 or compatible boards. I would expect it to work.
The software requires an ESP8266 (Arduino) that has WiFi built on it. It also requires OctoPrint (usually a Raspberry Pi) running with your printer. The Arduino code then uses the OctoPrint REST API services to get the current printing data over a Wifi connection.
The code is open for you. You could easily add a button function -- though it is not currently in my plan for the official release. As for the refresh rate... when the printer is offline -- it checks every 60 seconds on a change. When it is online -- it checks every 10 seconds. Not sure what you mean by the 1 minute. The "Time Refresh" -- is only how often it checks and resets the clock with the internet time.
Thanks for the heads up. I updated the display text.
No, not a dumb question at all. It is actually the area I worried most about when sharing this project. I really want this to be an easy project for anyone to pickup and do. Basically, you want to be able to add the shared libraries to your Arduino IDE Library files so that other projects can see them and use them. You can search them up from the Library Manager in the Arduino IDE and if they don't show up in there, you can download them from the original source and import them via a zip file. I hope that helps.
The 3D Printer Monitor code does not use the button (or at least right now). I have other projects that I have not shared publicly that do. I use this station for many projects. Good eyes though.
Basically there are supporting libraries that should be installed and visible to the Arduino IDE. Most can be searched up using the Library Manager in the Arduino IDE. If you can't find them in the Library Manager search then you can download them and load them via a zip file.
This uses OctoPrint -- and that already gives you full control on your Desktop with a web interface. This Wemos version simply displays status from the OctoPrint server.
The Web Interface for this Wemos device can be accessed and configured from your desktop browser.
LED Marquee Scroller Wemos ...View Instructable »
3D Printer Monitor Wemos D1...View Instructable »