Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/xaviave/telegramledcontroller
Smart LED Lamp controlled over internet thanks to Telegram API using ESP32 and ws2812b leds
https://github.com/xaviave/telegramledcontroller
Last synced: 22 days ago
JSON representation
Smart LED Lamp controlled over internet thanks to Telegram API using ESP32 and ws2812b leds
- Host: GitHub
- URL: https://github.com/xaviave/telegramledcontroller
- Owner: xaviave
- Created: 2022-05-06T15:52:10.000Z (over 2 years ago)
- Default Branch: master
- Last Pushed: 2022-05-26T21:32:28.000Z (over 2 years ago)
- Last Synced: 2024-11-08T11:41:26.088Z (2 months ago)
- Language: C++
- Homepage:
- Size: 13.7 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: ReadMe.md
Awesome Lists containing this project
README
# Project
C++ Project to use Dual Core of the ESP32 to control led with display pattern and handle command from a Telegram Bot thanks to tasks
Create a WifiServer at `192.168.4.1` (check your esp ip addr) allowing users to enter their wifi credential and save it in ESP32 nvs.
While the Wifi doesn't change, the lamp auto-connects for a simpler use.
The lamp won't start since the Wifi isn't connected.First Core handle wifi with a telegram API interface over a task and the Second Core handle the FastLED API with 60fps and some task delay (allow a delay without freezing the whole esp32 cores)
## Version
0.0.1: Telegram, Task and FastLed handling, one file.
0.0.2: Refacto with class and custom libraries, allow user to enter wifi credential.# Librairies
- Arduino
- C++
- NVS
- FreeRTOS
- WifiServer - WifiSecureServer
- UniversalTelegramBot
- FastLED# Installation
As Arduino doesn't detect directory in the main directory, all the `src` directories must be copied to your libraries folders.
While compiling, if the header files are missing, the libraries are misplaced.# Circuit Notes
Followed this [best practices](https://learn.adafruit.com/adafruit-neopixel-uberguide/best-practices) to mount the circuit:
- 180 ws2812b neopixel leds, last 36 leds with power reinjection. Maybe, I will reinject power in the middle of the 144 leds.
- Used a 220 Ohm resistor that I already have to connect esp32 PWM output to neopixel data input.
- 3.3V to 5V logic level converter from sparkfun (amazon: YT1076)
- About 60-80cm between the esp32 and the neopixel strips without signal loss.