ESP8266_AT_WebServer
TaskScheduler
ESP8266_AT_WebServer | TaskScheduler | |
---|---|---|
2 | 5 | |
41 | 1,184 | |
- | - | |
10.0 | 0.0 | |
over 1 year ago | 4 months ago | |
C++ | C++ | |
MIT License | BSD 3-clause "New" or "Revised" License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
ESP8266_AT_WebServer
-
Recommendations for WiFi+Web Server?
I started by trying to use an ESP8266/ESP-01 module just for the WiFi interface, with the idea of hosting the web server on the Teensy 4.0 (T4). But I've had trouble finding well-supported/documented web server code that will run on the T4 and is compatible with the ESP-01's AT-command interface. I did find this library, but my initial tests indicate that it is VERY slow. So I think it's time to consider a different approach based on using an ESP32 to offload the WiFi/Web code.
-
Recommendations for embedded Web tools?
The controllers are based on the Teensy 4.0 MCU (ARM Cortex-M7 @ 600MHz, ~2MB Flash, ~1MB RAM). I'm currently using an ESP-01 (ESP8266) wifi module configured in soft-AP mode, passing data to the Teensy (T4) MCU via AT commands. The web server I initially chose is the ESP8266_AT_WebServer, which despite the misleading name, runs on the T4. I'm not married to this choice, but it was very easy to integrate and get up and running (and it supports AP mode). But I'm open to other suggestions.
TaskScheduler
-
How do you make a code that does like 2 or 3 things simulatneously?
When you get a little more advanced it's not hard to extend the BWD code to hsndle any number of "time when something should happen". Or you can use something like the TaskScheduler library.
-
Understanding the rarely seen EVERY_N_MILLIS_I ?
Or just use TaskScheduler and never have to worry about this again. https://github.com/arkhipenko/TaskScheduler
-
Event-driven architecture
For reference, I'm a big fan of this scheduler in particular, due to it's simplicity, OO support and a neat extra of sleeping each unused millisecond (low power for free).
-
Current consumption between arduino and HAL?
One of my favourite low power techniques involves using a scheduller for your loop code, and sleep for 1 ms at a time when there are no tasks to run. As seen here.
-
Garden irrigation system based on ESP32
Have you looked at the task scheduler library? https://github.com/arkhipenko/TaskScheduler
What are some alternatives?
Sming - Sming - powerful open source framework simplifying the creation of embedded C++ applications.
Arduino-Libs - Arduino Libs & Examples: ADS1147, ADS7846, DAC8760, DS1307, RV8523, MCP2515, WS2812, S65-Display, MI0283QT-2/-9/-11, HX8347D, ILI9341, SSD1331
Mach3Controller - Android / ESP32 / ESP8266 Controller (+ coordinate display) for Mach3 CNC
FastLED_examples - FastLED example code, tests, demos, etc
Beacon - A simple UPnP Assistant that is capable of opening arbitrary ports.
LoLa - Low Latency Radio System
CppServer - Ultra fast and low latency asynchronous socket server & client C++ library with support TCP, SSL, UDP, HTTP, HTTPS, WebSocket protocols and 10K connections problem solution
Adafruit_Sensor - Common sensor library
ArduinoWOL - My first ever Arduino project! I needed to set this up as I'm going off to college and I didn't want to bring my desktop with me but still wanted to be able to control it. This was programmed mostly by me with some help from ChatGPT.
Arduino-AppleMIDI-Library - Send and receive MIDI messages over Ethernet (rtpMIDI or AppleMIDI)
WiFiManager_NINA_Lite - Light-Weight WiFi/Credentials Manager for AVR Mega, Teensy, SAM DUE, SAMD, STM32, etc. boards running U-Blox WiFiNINA modules/shields. Powerful-yet-simple-to-use feature to enable adding dynamic custom parameters. Now using WiFiMulti_Generic library
lcdgfx - Driver for LCD displays running on Arduino/Avr/ESP32/Linux (including Rasperry) platforms