Blynk IoT is a full suite of software required to prototype, deploy, and remotely manage connected electronic devices at any scale: from personal IoT projects to millions of commercially connected products.
Con Blynk chiunque può connettere il proprio hardware al cloud e creare applicazioni senza codice per iOS, Android e web — per analizzare dati in tempo reale e storici provenienti dai dispositivi, controllarli da remoto da qualsiasi parte del mondo, ricevere notifiche importanti e molto altro…
Abbiamo preparato un modo rapido e semplice per collegare il vostro progetto dimmer. Che utilizziate Blynk.Console o Blynk.Apps, al primo accesso il processo si avvierà automaticamente. Vi consigliamo vivamente di seguire queste guide per ottenere i primi risultati e procedere oltre.
Blynk documentation. Geting started - Quickstart
Panoramica del codice.
- #define BLYNK_PRINT Serial
- /* Inserite il vostro Template ID (solo se utilizzate Blynk.Cloud) */
- #define BLYNK_TEMPLATE_ID "MyTemplateID"
- #define BLYNK_DEVICE_NAME "MyDeviceName"
- #define BLYNK_AUTH_TOKEN "MyAuthToken"
- #define APP_DEBUG
- #include
- #include
- #include
- #include //Collegamento del dimmer al microcontroller e libreria Arduino. https://rocketcontroller.com/dimmer-connection-to-microcontroller-and-arduino-library-examples/
- static int gpio_dimmer = 23;
- static int gpio_zerocross = 5; // configurazione dei pin
- dimmerLamp dimmer(gpio_dimmer, gpio_zerocross);
- // Credenziali WiFi.
- // Impostare la password a "" per le reti aperte.
- char ssid[] = "YourNetworkName";
- char pass[] = "YourPassword";
- BLYNK_WRITE(V0) // Viene eseguito quando cambia il valore del pin virtuale
- {
- int value = param.asInt();
- Serial.print("DIMMING = ");
- Serial.println(value);
- dimmer.setPower(value); // DIMMERIZZAZIONE
- }
- void setup()
- {
- // Console di debug
- Serial.begin(115200);
- dimmer.begin(NORMAL_MODE, ON);
- Blynk.begin(BLYNK_AUTH_TOKEN, ssid, pass);
- }
- void loop()
- {
- Blynk.run();
- }
Definizione dei parametri
All'inizio definiamo tre parametri principali.
#define BLYNK_TEMPLATE_ID "MyTemplateID"
#define BLYNK_DEVICE_NAME "MyDeviceName"
#define BLYNK_AUTH_TOKEN "MyAuthToken"
Sapete già cos'è un TemplateID. Il nome del dispositivo può essere qualsiasi.
Blynk documentation - Definitions
Credenziali WiFi
char ssid[] = "YourNetworkName";
char pass[] = "YourPassword";
Queste righe vengono visualizzate solo quando si lavora con un dispositivo abilitato al WiFi. Sostituitele con il nome e la password della vostra rete WiFi domestica o dell'ufficio. Se la vostra rete non ha una password — lasciatelo vuoto: char pass[] = ""
Dimmerizzazione
Il codice seguente ascolta le azioni da Blynk per il flusso di dati V0, e quindi registra il valore in una variabile. Per questo utilizziamo BLYNK_WRITE(V0).
- BLYNK_WRITE(V0)
- {
- int value = param.asInt();
- Serial.print("DIMMING = ");
- Serial.println(value);
- dimmer.setPower(value); // DIMMERIZZAZIONE
- }
Configurazione dei flussi di dati
Per gli scopi di questo tutorial, saltate la scheda Metadata e andate direttamente alla scheda Datastreams.
Blynk documentation - Add Datastream
I flussi di dati sono canali utilizzati per inviare dati tra il dispositivo e Blynk.Cloud. Utilizzeremo questo flusso di dati per inviare valori casuali dal vostro dispositivo.
Fate clic sul pulsante Add Datastream. Scegliete Virtual Pin dal menu a tendina:

Configurate il flusso di dati:

- Virtual Pin: V0
- Data Type: Integer
- Min/Max: 0/100
Saltate tutte le altre impostazioni. Al termine, premete Create — il nuovo flusso di dati verrà creato.
Queste impostazioni significano che tutti i dispositivi che ereditano questo modello elaboreranno numeri interi nell'intervallo da 0 a 100 tramite il pin virtuale V0.
For setup Web Dashboard and Mobile App follow this instruction. Blynk documentation - https://docs.blynk.io/en/getting-started/template-quick-setup/set-up-web-dashboard