Smart Home-Anwendung mit der T-Watch 2020 V3 von Lilygo
(EN google-translate)
(PL google-translate)
|
Licht, oder Steckdose einschalten:
{"id":1,"method":"setState","params":{"state":true}}
Licht, oder Steckdose ausschalten:
{"id":1,"method":"setState","params":{"state":false}}
Lampe auf eine bestimmte Lichttemperatur (hier 3000 Kelvin) und eine bestimmte Helligkeit (hier 75 Prozent) setzen:
{"id":1,"method":"setPilot","params":{"temp":3000,"dimming":75}}
Rot/Grün/Blau Anteil auf einen bestimmten Anteil und eine bestimmte Helligkeit setzen:
{"id":1,"method":"setPilot","params":{"r":255,"g":0,"b":0,"dimming": 75}}
Statusanfrage bei einem Gerät:
{"method":"getPilot","params":{}}
Code 0-1: Notwendige UDP-Nachrichten für einfache Steueraufgaben bei Produkten der Firma Wiz.
|
12_Technikphilosophie/05_Fallstudien/01_Smart_Home
|
Vorversuch: Verwendung eines Java/Processing-Sketches auf einem Laptop/PC
Bild 0-1: Steuerung der Lampe vom PC aus.
|
import hypermedia.net.*;
UDP udp;
void setup()
{
udp = new UDP( this, 38899 );
udp.listen( true );
}
void draw()
{
size(200,200);
background(255,255,255);
}
boolean AN = true;
void keyPressed()
{
AN=!AN;
String message = "";
if(AN)
message = "{\"id\":1,\"method\":\"setState\",\"params\":{\"state\":true}}";
else
message = "{\"id\":1,\"method\":\"setState\",\"params\":{\"state\":false}}";
String ip = "10.42.0.255"; // the remote IP address
int port = 38899; // the destination port
message = message+";\n";
udp.send( message, ip, port );
}
void receive( byte[] data, String ip, int port )
{
data = subset(data, 0, data.length-2);
String message = new String( data );
println( "receive: \""+message+"\" from "+ip+" on port "+port );
}
Code 0-2: TWATCH_WIZ002_PC -- Java/Processing-Sketch zur Steuerung einer Smart Home Lampe per Tastendruck.
TWATCH_WIZ002_PC.zip -- Java/Processing-Sketch zur Steuerung einer Smart Home Lampe per Tastendruck.
Verwendung einer T-WATCH V3 zur Steuerung einer Smart Home Lampe
|
08_Archiv/06_Ing/01_Bauplan/04_Hotspot -- Hinweise zum Einrichten eines Hotspots an einem Linux-PC (Xubuntu).
05_esp32AV/01_Bauanleitung/01_Elektronik_und_Software/03_Videostream -- Hinweise zum Einrichten eines Hotspots mit einem Android Smartphone.
|
Bild 0-2: Lampe aus.
Bild 0-3: Lampe an.
TWATCH_PROC023_WIZ_LAMP_SMARTHOME.zip -- Projekt für Arduino IDE.
#include "twatch.h"
#include "variables.h"
#include "functions.h"
const char* hotspot = "hotspotK";
const char* password = "12345678";
int udpport = 38899;
bool ON=false;
const uint8_t messageON[] = "{\"id\":1,\"method\":\"setState\",\"params\":{\"state\":true}}";
const uint8_t messageOFF[] = "{\"id\":1,\"method\":\"setState\",\"params\":{\"state\":false}}";
char messageON_LEN[] = "{\"id\":1,\"method\":\"setState\",\"params\":{\"state\":true}}";
char messageOFF_LEN[] = "{\"id\":1,\"method\":\"setState\",\"params\":{\"state\":false}}";
char ip[] = "10.42.0.255";
IPAddress serverIP(10, 42, 0, 255); // Replace with the server's IP address
uint16_t serverPort = 38899; // Replace with the server's port
void setup()
{
setupTWATCH();
setupWIFI(hotspot,password,udpport);
setFont(1, 255,255,255, 0,0,0);
backlight(true);
}
void loop()
{
if(button())
{
if(!WIFIOKAY)
setupWIFI(hotspot,password,udpport);
ON=!ON;
if(ON)
{
udp.writeTo(messageON,strlen(messageON_LEN),serverIP,serverPort);
}
else
{
udp.writeTo(messageOFF,strlen(messageOFF_LEN),serverIP,serverPort);
}
}
clear();
cursor(0,0);
if(ON)
editor("LAMP ON!");
else
editor("LAMP OFF!");
delay(100);
}
Code 0-3: Haupttab im Projekt TWATCH_PROC023_WIZ_LAMP_SMARTHOME.