first commit

This commit is contained in:
Jérôme Delacotte
2025-03-06 11:15:32 +01:00
commit 7b30d6e298
5276 changed files with 2108927 additions and 0 deletions

View File

@@ -0,0 +1,165 @@
// Adafruit IO Dashboard Setup Example
//
// Adafruit invests time and resources providing this open source code.
// Please support Adafruit and open source hardware by purchasing
// products from Adafruit!
//
// Written by Todd Treece for Adafruit Industries
// Copyright (c) 2016 Adafruit Industries
// Licensed under the MIT license.
//
// All text above must be included in any redistribution.
/************************** Configuration ***********************************/
// edit the config.h tab and enter your Adafruit IO credentials
// and any additional configuration needed for WiFi, cellular,
// or ethernet clients.
#include "config.h"
/************************ Example Starts Here *******************************/
// set up the 'example' feed
AdafruitIO_Feed *feed = io.feed("example");
// set up the 'example' dashboard
AdafruitIO_Dashboard *dashboard = io.dashboard("example");
void setup() {
// start the serial connection
Serial.begin(115200);
// wait for serial monitor to open
while(! Serial);
// connect to io.adafruit.com
Serial.print("Connecting to Adafruit IO");
io.connect();
// wait for a connection
while(io.status() < AIO_CONNECTED) {
Serial.print(".");
delay(500);
}
// we are connected
Serial.println();
Serial.println(io.statusText());
// create the example feed if it doesn't exist
if(feed->exists()) {
Serial.println("Example feed exists.");
} else {
if(feed->create()) {
Serial.println("Example feed created.");
} else {
Serial.println("Example feed creation failed.");
}
}
// create the example dashboard if it doesn't exist
if(dashboard->exists()) {
Serial.println("Example dashboard exists.");
} else {
if(dashboard->create()) {
Serial.println("Example dashboard created.");
// add blocks to the dashboard using the function below
addBlocks();
} else {
Serial.println("Example dashboard creation failed.");
}
}
}
void loop() {
// io.run(); is required for all sketches.
// it should always be present at the top of your loop
// function. it keeps the client connected to
// io.adafruit.com, and processes any incoming data.
io.run();
}
void addBlocks() {
bool added = false;
Serial.print("Adding momentary button block... ");
MomentaryBlock *button = dashboard->addMomentaryBlock(feed);
button->text = "Button";
button->value = "1";
button->release = "0";
added = button->save();
Serial.println(added ? "added" : "failed");
Serial.print("Adding toggle button block... ");
ToggleBlock *toggle = dashboard->addToggleBlock(feed);
toggle->onText = "1";
toggle->offText = "0";
added = toggle->save();
Serial.println(added ? "added" : "failed");
Serial.print("Adding slider block... ");
SliderBlock *slider = dashboard->addSliderBlock(feed);
slider->min = 0;
slider->max = 100;
slider->step = 10;
slider->label = "Value";
added = slider->save();
Serial.println(added ? "added" : "failed");
Serial.print("Adding gauge block... ");
GaugeBlock *gauge = dashboard->addGaugeBlock(feed);
gauge->min = 0;
gauge->max = 100;
gauge->ringWidth = "thin"; // thin or thick
gauge->label = "Value";
added = gauge->save();
Serial.println(added ? "added" : "failed");
Serial.print("Adding line chart block... ");
ChartBlock *chart = dashboard->addChartBlock(feed);
chart->yAxisMin = 0;
chart->yAxisMax = 100;
chart->xAxisLabel = "X";
chart->yAxisLabel = "Y";
added = chart->save();
Serial.println(added ? "added" : "failed");
Serial.print("Adding text block... ");
TextBlock *text = dashboard->addTextBlock(feed);
text->fontSize = "small"; // small, medium, or large
added = text->save();
Serial.println(added ? "added" : "failed");
Serial.print("Adding stream block... ");
StreamBlock *stream = dashboard->addStreamBlock(feed);
stream->fontSize = "small"; // small, medium, or large
stream->fontColor = "green"; // green or white
stream->showErrors = true;
stream->showTimestamp = true;
stream->showName = true;
added = stream->save();
Serial.println(added ? "added" : "failed");
Serial.print("Adding color picker block... ");
ColorBlock *color = dashboard->addColorBlock(feed);
added = color->save();
Serial.println(added ? "added" : "failed");
Serial.print("Adding map block... ");
MapBlock *map = dashboard->addMapBlock(feed);
map->historyHours = 0;
map->tile = "contrast"; // street, sat, or contrast
added = map->save();
Serial.println(added ? "added" : "failed");
Serial.print("Adding image block... ");
ImageBlock *image = dashboard->addImageBlock(feed);
added = image->save();
Serial.println(added ? "added" : "failed");
}

View File

@@ -0,0 +1,72 @@
/************************ Adafruit IO Config *******************************/
// visit io.adafruit.com if you need to create an account,
// or if you need your Adafruit IO key.
#define IO_USERNAME "your_username"
#define IO_KEY "your_key"
/******************************* WIFI **************************************/
// the AdafruitIO_WiFi client will work with the following boards:
// - HUZZAH ESP8266 Breakout -> https://www.adafruit.com/products/2471
// - Feather HUZZAH ESP8266 -> https://www.adafruit.com/products/2821
// - Feather HUZZAH ESP32 -> https://www.adafruit.com/product/3405
// - Feather M0 WiFi -> https://www.adafruit.com/products/3010
// - Feather WICED -> https://www.adafruit.com/products/3056
// - Adafruit PyPortal -> https://www.adafruit.com/product/4116
// - Adafruit Metro M4 Express AirLift Lite ->
// https://www.adafruit.com/product/4000
// - Adafruit AirLift Breakout -> https://www.adafruit.com/product/4201
// - Adafruit AirLift Shield -> https://www.adafruit.com/product/4285
// - Adafruit AirLift FeatherWing -> https://www.adafruit.com/product/4264
#define WIFI_SSID "your_ssid"
#define WIFI_PASS "your_pass"
// uncomment the following line if you are using airlift
// #define USE_AIRLIFT
// uncomment the following line if you are using winc1500
// #define USE_WINC1500
// uncomment the following line if you are using mrk1010 or nano 33 iot
//#define ARDUINO_SAMD_MKR1010
// comment out the following lines if you are using fona or ethernet
#include "AdafruitIO_WiFi.h"
#if defined(USE_AIRLIFT) || defined(ADAFRUIT_METRO_M4_AIRLIFT_LITE) || \
defined(ADAFRUIT_PYPORTAL)
// Configure the pins used for the ESP32 connection
#if !defined(SPIWIFI_SS) // if the wifi definition isnt in the board variant
// Don't change the names of these #define's! they match the variant ones
#define SPIWIFI SPI
#define SPIWIFI_SS 10 // Chip select pin
#define NINA_ACK 9 // a.k.a BUSY or READY pin
#define NINA_RESETN 6 // Reset pin
#define NINA_GPIO0 -1 // Not connected
#endif
AdafruitIO_WiFi io(IO_USERNAME, IO_KEY, WIFI_SSID, WIFI_PASS, SPIWIFI_SS,
NINA_ACK, NINA_RESETN, NINA_GPIO0, &SPIWIFI);
#else
AdafruitIO_WiFi io(IO_USERNAME, IO_KEY, WIFI_SSID, WIFI_PASS);
#endif
/******************************* FONA **************************************/
// the AdafruitIO_FONA client will work with the following boards:
// - Feather 32u4 FONA -> https://www.adafruit.com/product/3027
// uncomment the following two lines for 32u4 FONA,
// and comment out the AdafruitIO_WiFi client in the WIFI section
// #include "AdafruitIO_FONA.h"
// AdafruitIO_FONA io(IO_USERNAME, IO_KEY);
/**************************** ETHERNET ************************************/
// the AdafruitIO_Ethernet client will work with the following boards:
// - Ethernet FeatherWing -> https://www.adafruit.com/products/3201
// uncomment the following two lines for ethernet,
// and comment out the AdafruitIO_WiFi client in the WIFI section
// #include "AdafruitIO_Ethernet.h"
// AdafruitIO_Ethernet io(IO_USERNAME, IO_KEY);