ct-Open-Source / Basecamp

An Arduino library to ease the use of the ESP32 in IoT projects

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Basecamp is deprecated now. And only for archival purposes. If you want to take over this project contact me at: mls@ct.de

There are a lot of alternatives for the ESP32 by now that also work with the ESP8266

Here are alternatives that are in active development:

https://github.com/tzapu/WiFiManager/tree/development

https://github.com/plapointe6/EspMQTTClient

Basecamp

Basecamp - ESP32 library to simplify the basics of IoT projects Originally written by Merlin Schumacher (mls@ct.de) for c't magazin für computer technik Licensed under GPLv3. See LICENSE for details.

Attention: Do not use the master-branch for production use! Use only the releases!

Dependencies

This library has few dependencies:

ESPAsyncWebServer

ArduinoJSON

Async MQTT Client

AsyncTCP

Documentation

Exhaustive documentation will provided in the next few weeks. An example can be found inside the example folder.

First Setup:

At the first start - when you initially flash the device, the ESP32 will generate an unique password which is displayed at the debug console upon every start. In setup mode (when the ESP32 is acting as an access point for setup), the password for the "ESP_$macOfEsp32" wifi network will be set to this value. It will never change, except the configuration gets broken - then a new password will be generated.

Basic example

#include <Basecamp.hpp>
Basecamp iot;

void setup() {
	iot.begin();
    //The mqtt object is an instance of Async MQTT Client. See it's documentation for details.
    iot.mqtt.subscribe("test/lol",2);

    //Use the web object to add elements to the interface
    iot.web.addInterfaceElement("color", "input", "", "#configform", "LampColor");
    iot.web.setInterfaceElementAttribute("color", "type", "text");

}

void loop() {
	//your code
}

About

An Arduino library to ease the use of the ESP32 in IoT projects

License:GNU General Public License v3.0


Languages

Language:C++ 90.7%Language:JavaScript 4.9%Language:CSS 2.2%Language:Shell 1.7%Language:HTML 0.5%