All Projects → c-klinger → esp8266-arduino-wifirgb

c-klinger / esp8266-arduino-wifirgb

Licence: other
A RESTful API implementation to control an RGB LED Strip using an ESP8266 microcontroller.

Programming Languages

c
50402 projects - #5 most used programming language
C++
36643 projects - #6 most used programming language

Projects that are alternatives of or similar to esp8266-arduino-wifirgb

Homepoint
Espressif ESP32 Based Smarthome screen for MQTT
Stars: ✭ 391 (+1161.29%)
Mutual labels:  home-automation, wifi
acer-predator-turbo-and-rgb-keyboard-linux-module
Linux kernel module to support Turbo mode and RGB Keyboard for Acer Predator notebook series
Stars: ✭ 125 (+303.23%)
Mutual labels:  rgb, rgb-led
issues
Issue Tracker for ESPHome
Stars: ✭ 182 (+487.1%)
Mutual labels:  home-automation, wifi
Dasshio
Hass.io add-on to easily use Amazon Dash Buttons with Home Assistant
Stars: ✭ 140 (+351.61%)
Mutual labels:  home-automation, wifi
Feature Requests
ESPHome Feature Request Tracker
Stars: ✭ 160 (+416.13%)
Mutual labels:  home-automation, wifi
Doorbell-via-Wemos-and-optocoupler
Digital version of my "analog" doorbell project to determine if the doorbell was pressed.
Stars: ✭ 55 (+77.42%)
Mutual labels:  home-automation, wifi
hfeasy
HFeasy - firmware for HF-LPx100/LPx30 based devices
Stars: ✭ 35 (+12.9%)
Mutual labels:  home-automation, wifi
esp rgbww firmware
Firmware for esp_rgbww_controller (https://github.com/patrickjahns/esp_rgbww_controller) based on Sming framework
Stars: ✭ 21 (-32.26%)
Mutual labels:  wifi, rgb
ColorVectorSpace.jl
Treat colors as if they are n-vectors for the purposes of arithmetic
Stars: ✭ 28 (-9.68%)
Mutual labels:  rgb
ioBroker.hm-rega
Connects HomeMatic CCU "Logic Layer" ("ReGaHSS") to ioBroker
Stars: ✭ 36 (+16.13%)
Mutual labels:  home-automation
python-logi-circle
Python 3.6+ API for Logi Circle cameras
Stars: ✭ 23 (-25.81%)
Mutual labels:  home-automation
addon-home-panel
Home Panel - Home Assistant Community Add-ons
Stars: ✭ 164 (+429.03%)
Mutual labels:  home-automation
openrgb.nvim
Bring RGB to life in Neovim
Stars: ✭ 39 (+25.81%)
Mutual labels:  rgb
blackmagic-espidf
Blackmagic Wireless SWD Debug probe hosted on esp-idf SDK (for ESP8266) with UART on Telnet port and HTTP using xterm.js
Stars: ✭ 165 (+432.26%)
Mutual labels:  wifi
ocpp
Home Assistant integration for electric vehicle chargers that support the Open Charge Point Protocol (OCPP).
Stars: ✭ 82 (+164.52%)
Mutual labels:  home-automation
react-native-google-nearby-messages
📲 Communicate with nearby devices using Bluetooth, BLE, WiFi and near-ultrasonic audio. Broadcast and receive small payloads (like strings) using the easy-to-use React Native API!
Stars: ✭ 143 (+361.29%)
Mutual labels:  wifi
Farge
🎈Tell the name of hex color
Stars: ✭ 23 (-25.81%)
Mutual labels:  rgb
Autosteer ESP
Advanced Autosteer Sketch for ESP32 - WiFi Version
Stars: ✭ 34 (+9.68%)
Mutual labels:  wifi
cyan
Cyan Color Converter
Stars: ✭ 68 (+119.35%)
Mutual labels:  rgb
MacOS-WPA-PSK
PoC script showing that MacOS leaves the wireless key in NVRAM, in plaintext and accessible to anyone.
Stars: ✭ 29 (-6.45%)
Mutual labels:  wifi

esp8266-arduino-wifirgb

A RESTful API implementation to control an RGB LED Strip using an ESP8266 microcontroller. Supports RGB or HSV color model. There is a german post on my blog containing more details about the project.

Schematics

WifiRGB Schematics

The circuit uses an LD1117V33 voltage regulator with two capacitors as specified in the datasheet. The connection of the ESP-12 is spoecified in th the improved stability schematic of the ESP8266 for Arduino. Three IRLB8721 N-channel MOSFETs (one per RGB Stripe channel) are used as power transistors to save our ESP-12 from an early death. The two tactile switches are added for easier programming.

Code

Dependencies

The following dependencies have to be installed in Arduino IDE using library or board manager (see project readme) to compile this project. The mentioned versions are tested, other may work as well but may lead to compile issues.

The following dependencies will be loaded using a CDN for the web ui. There is no need to install them, but an internet connection is needed for the ui to display.

Configuration

In the main Arduino Sketch WifiRGB.ino some changes need to be done before uploading to the ESP8266 microcontroller.

Wifi Network Settings

Required network settings are the Network SSID and password:

const char* ssid = "your_ssid";
const char* password = "your_wifi_password";
const char* deviceName = "wifi-rgb";

You can choose between a static or -with DHCP- dynamic IP adress. Default is an static IP adress configured in the following code block:

IPAddress clientIP(192, 168, 178, 250); //the IP of the device
IPAddress gateway(192, 168, 178, 1); //the gateway
IPAddress subnet(255, 255, 255, 0); //the subnet mask

If you want to use DHCP just ignore those settings and comment or remove the following line:

WiFi.config(clientIP, gateway, subnet);

Internal LED

The internal microcontroller LED is used to indicate the Wifi connection status.

#define BUILTIN_LED 2 // internal ESP-12 LED on GPIO2

RGB Output Pins

If you want to use own schematics you can adjust the different output channels in the following code block.

#define REDPIN 12
#define GREENPIN 14
#define BLUEPIN 5

Usage

RESTful API

The controller accecpts POST request at http://ip-adress/api/v1/state. The request must contain one of the following JSON objects in body.

RGB

{
  "state": "ON",
  "brightness": 100,
  "color": {
    "mode": "rgb",
    "r": 255,
    "g": 125,
    "b": 75
  },
  "mode": "SOLID"
}

HSV

{
  "state": "ON",
  "brightness": 100,
  "color": {
    "mode": "hsv",
    "h": 250,
    "s": 50,
    "v": 50
  },
  "mode": "SOLID"
}

Graphical User Interface

A User Interface using iro.js is available at http://ip-adress/ui. An Internet connection is required to load additional Javascript libraries from CDN (see dependencies section).

License

Copyright (c) 2018 Chris Klinger. Licensed under MIT license, see LICENSE for the full license.

Bugs

See https://github.com/c-klinger/esp8266-arduino-wifirgb/issues.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].