Skip to content

Instantly share code, notes, and snippets.

@sivar2311
sivar2311 / BLEDeviceCounter.h
Created September 24, 2023 18:56
SinricPro BLE Device Counter
#ifndef _BLEDEVICECOUNTER_H_
#define _BLEDEVICECOUNTER_H_
#include <SinricProDevice.h>
#include <Capabilities/RangeController.h>
class BLEDeviceCounter
: public SinricProDevice
, public RangeController<BLEDeviceCounter> {
friend class RangeController<BLEDeviceCounter>;
@sivar2311
sivar2311 / MotorEncoder.cpp
Created July 2, 2023 16:04
MotorEncoder Library
#include <Arduino.h>
#include "MotorEncoder.h"
MotorEncoder::MotorEncoder(int motorPinA, int MotorPinB, int encoderPin)
: motorPinA(motorPinA)
, motorPinB(motorPinB)
, encoderPin(encoderPin) {
pinMode(motorPinA, OUTPUT);
pinMode(motorPinB, OUTPUT);
pinMode(encoderPin, INPUT);
@sivar2311
sivar2311 / RGB_LED_Stripe_5050.ino
Last active October 4, 2021 19:43
RGB_LED_Stripe_5050
#include <Arduino.h>
#include <ESP8266WiFi.h>
#include <SinricPro.h>
#include <SinricProLight.h>
#include <map>
#define WIFI_SSID "YOUR-WIFI-SSID"
#define WIFI_PASS "YOUR-WIFI-PASS"
#define APP_KEY "YOUR-APPKEY" // Should look like "de0bxxxx-1x3x-4x3x-ax2x-5dabxxxxxxxx"
@sivar2311
sivar2311 / main.cpp
Last active October 1, 2021 17:11
Keyboard layouts
#include <Arduino.h>
#include <map>
using KbdLayout = std::map<uint8_t, uint8_t>;
// standard US layout
#define SHIFT 0x80
KbdLayout std_layout{
{0x08, 0x2a}, // BS Backspace
{0x09, 0x2b}, // TAB Tab
@sivar2311
sivar2311 / BLE-Keyboard.ino
Created August 21, 2021 06:39
SinricPro BLE Keyboard example
/*
* Required libraries and their dependencies:
*
* SinricPro (https://github.com/sinricpro/esp8266-esp32-sdk)
* -> WebSockets (https://github.com/Links2004/arduinoWebSockets)
* -> ArduinoJson (https://github.com/bblanchon/ArduinoJson)
*
* ESP32-NimBLE-Keyboard (https://github.com/sivar2311/ESP32-NimBLE-Keyboard)
* -> NimBLE-Arduino (https://github.com/h2zero/NimBLE-Arduino)
*/
@sivar2311
sivar2311 / DimmerSensor.h
Created March 8, 2021 10:57
Custom Dimmer Sensor
#ifndef _DIMMERSENSOR_H_
#define _DIMMERSENSOR_H_
#include <SinricProDevice.h>
#include <Capabilities/RangeController.h>
#include <Capabilities/ContactSensor.h>
class DimmerSensor
: public SinricProDevice
, public RangeController<DimmerSensor>
@sivar2311
sivar2311 / credentials.h
Created February 27, 2021 12:54
SinricProMQTTExample
#define SSID "WIFI_SSID"
#define PASS "WIFI_PASS"
#define MQTT_SERVER "MQTT-SERVER-ADDRESS"
#define MQTT_PORT 1883
#define MQTT_USERNAME "MQTT-USER-NAME"
#define MQTT_KEY "MQTT-KEY"
#define MQTT_TOPIC "MQTT-TOPIC"
#define APP_KEY "SINRIC-PRO-APPKEY"
@sivar2311
sivar2311 / LM75_Thermostat.ino
Created January 19, 2021 11:23
Thermostat_LM75_Relay
#include "credentials.h"
#include <Arduino.h>
#include <ESP8266WiFi.h>
#include "lm75.h"
#include "SinricPro.h"
#include "SinricProThermostat.h"
#include "EEPROM.h"
@sivar2311
sivar2311 / beamerlift.ino
Last active November 22, 2020 14:54
Beamerlift
#include <Arduino.h>
#include <ESP8266WiFi.h>
#include <ArduinoOTA.h>
#include "logger.h"
Logger logger;
#define ENABLE_DEBUG
#ifdef ENABLE_DEBUG
@sivar2311
sivar2311 / relay.ino
Created November 11, 2020 20:37
Very basic relay control
#include "SinricPro.h"
#include "SinricProSwitch.h"
#define WIFI_SSID "YOUR-WIFI-SSID"
#define WIFI_PASS "YOUR-WIFI-PASS"
#define APP_KEY "YOUR-APP-KEY" // Should look like "de0bxxxx-1x3x-4x3x-ax2x-5dabxxxxxxxx"
#define APP_SECRET "YOUR-APP-SECRET" // Should look like "5f36xxxx-x3x7-4x3x-xexe-e86724a9xxxx-4c4axxxx-3x3x-x5xe-x9x3-333d65xxxxxx"
#define SWITCH_ID "YOUR-DEVICE-ID" // Should look like "5dc1564130xxxxxxxxxxxxxx"
#define BAUD_RATE 9600 // Change baudrate to your need