Hier, bzw zB bei RS gibt es ein kleines Infoterminal für wenig Knete mit integriertem ESP8266.
Ich habe es mal per UDP an IPsymcon angebunden, guggst Du auch hier.
Gruß Helmut
Hier, bzw zB bei RS gibt es ein kleines Infoterminal für wenig Knete mit integriertem ESP8266.
Ich habe es mal per UDP an IPsymcon angebunden, guggst Du auch hier.
Gruß Helmut
Das würde mich interessieren, was es kostet und wie man es programmiert?
Danke schonmal
Homematic, Homematic IP, FS20, IPS868 AKM EKM, 1-Wire, USB Sound, Sonos, IPSLibrary, Amazon Echo, XIAOMI Robosauger, WROX Mähroboter, IPS View, SynologyNAS, Surface als IPS Server
Was es kostet ist schnell herausgefunden
Google -> "iod-09th"
Je nach Standort -irgendwas um die 30€-
vielleicht ist das ja schon beim "Chinesen" angekommen...
- Z-WAVE: Fibaro FGR-221, FGS-211,Aeon Labs Multisensor, Aeon Labs S2, FGK, Greenwave
- 1-Wire: S0 Counter, Windsensor XS, 1 Wire DS9490R, DS18B20, Luftgütesensor
- Youless LS110 / Velux Raumluftfühler / Oregon Scientific WMR180A
- IPS: Razberry PI B+
Display kaufen ist rel. preiswert, TME bietet es für knapp 18 Teuronen + Moms und Versand an.
Die Software/Lib mit Beispielen ist als Zip in Ardunio zu includen.
Dann habe ich die Space Invader Daten gelöscht und die Geschichte mit UDP genutzt um Texte bzw Daten ans Display zu schicken.
Kann über einen ser. Adapter: (5Volt technisch) über die Boardeinstellung: 4DSystems... programmiert werden, man muß nichts anderes kaufen.
Was immer so nervt, dass es die Sonderzeichen im Font nicht gibt. Hier mein ino und PHP, bitte um Nachsicht, da sind noch Leichen drin, ist nur ein Hobby.
Gruß Helmut
UDP Instance mit dem gültigen Port erstellen, logisch ;-)PHP-Code:
#include "ESP8266WiFi.h"
#include "GFX4dIoD9.h"
#include <WiFiUdp.h>
const char* ssid = "xx";
const char* password = "xyz";
GFX4dIoD9 gfx = GFX4dIoD9();
unsigned int localPort = 2390; // local port to listen on
char packetBuffer[255]; //buffer to hold incoming packet
char ReplyBuffer[] = "acknowledged"; // a string to send back
WiFiUDP Udp;
byte type;
byte type1;
byte type2;
byte typec;
boolean Wconnected = false;
int x;
int y;
int r;
uint16_t c;
int rot;
uint16_t n;
void setup() {
Serial.begin(38400);
gfx.begin();
gfx.Cls();
gfx.ScrollEnable(true);
gfx.Orientation(LANDSCAPE);
gfx.SmoothScrollSpeed(5);
gfx.TextColor(WHITE); gfx.Font(2); gfx.TextSize(1);
gfx.TextWindow(0, 0, 162, 90, ORANGE, BLACK);
WiFi.mode(WIFI_STA);
WiFi.disconnect();
delay(100);
Serial.println("\nStarting connection to server...");
// if you get a connection, report back via serial:
Udp.begin(localPort);
gfx.TWprintln("Setup done");
for (int x = 0; x < 1; x ++) {
String tab;
String ssidtemp;
int len;
gfx.TWcolor(ORANGE);
gfx.TWprintln("Scanning ...");
int n = WiFi.scanNetworks();
gfx.TWcolor(GREEN);
gfx.TWprintln("Finished Scan");
if (n == 0) {
gfx.TWcolor(RED);
gfx.TWprintln("no networks found");
} else {
gfx.TWcolor(GREEN);
gfx.TWprint(String(n));
gfx.TWprintln(" Networks found");
for (int i = 0; i < n; ++i)
{
gfx.TWcolor(ORANGE);
gfx.TWprint(String(i + 1));
gfx.TWcolor(WHITE);
gfx.TWprint(": ");
gfx.TWcolor(YELLOW);
ssidtemp = String(WiFi.SSID(i));
len = ssidtemp.length();
String tempssid = "";
for (int n = 0; n < (10); n++) {
if (n <= len) {
tempssid = tempssid + ssidtemp.charAt(n);
} else {
tempssid = tempssid + " ";
}
}
gfx.TWprint(tempssid);
//gfx.TWprint(WiFi.SSID(i));
if (WiFi.RSSI(i) < 0) {
gfx.TWcolor(LIGHTGREEN);
}
if (WiFi.RSSI(i) < -50) {
gfx.TWcolor(ORANGE);
}
if (WiFi.RSSI(i) < -80) {
gfx.TWcolor(RED);
}
gfx.TWprint(String(WiFi.RSSI(i)));
gfx.TWprintln("");
}
}
delay(500);
}
gfx.TWcolor(LIME);
gfx.TWprintln("connecting to ");
Serial.println("Connected to wifi");
gfx.TWprintln(ssid);
gfx.TWcolor(SALMON);
WiFi.begin(ssid, password);
int retries = 0;
while ((WiFi.status() != WL_CONNECTED) && (retries < 22)) {
retries++;
delay(1000);
gfx.TWprintln("Connecting");
}
gfx.TWprintln(" ");
if(WiFi.status() == WL_CONNECTED){
Wconnected = true;
gfx.TWcolor(LIME);
gfx.TWprintln("WiFi connected");
gfx.TWprintln("IP address: ");
String ip;
ip = ipToString(WiFi.localIP());
gfx.TWprintln(ip);
} else {
Wconnected = false;
gfx.TWcolor(RED);
gfx.TWprintln("Connection Fail.");
}
if(Wconnected){
delay(1000);
gfx.TWcolor(YELLOW);
gfx.TWprintln("Connecting to.");
gfx.TWcolor(RED);
gfx.TWprint("4D ");
gfx.TWcolor(WHITE);
gfx.TWprintln("Systems");
gfx.MoveTo(0,0);
gfx.Cls();
}
gfx.Open4dGFX("iod9");
gfx.TWcolor(WHITE);
gfx.Cls();
gfx.TextWindowRestore();
delay(1000);
gfx.begin();
gfx.MoveTo(1,1);
gfx.Cls();
Serial.print("geht los ");
}
void loop() {
int packetSize = Udp.parsePacket();
if (packetSize) {
IPAddress remoteIp = Udp.remoteIP();
int len = Udp.read(packetBuffer, 255);
if (len > 0) {
packetBuffer[len] = 0;
}
gfx.Cls();
gfx.println(packetBuffer);
}
gfx.TWcolor(WHITE);
delay(2000);
yield();
n=0;
y=0;
}
String ipToString(IPAddress ip){
String s="";
for (int i=0; i<4; i++)
s += i ? "." + String(ip[i]) : String(ip[i]);
return s;
}
PHP-Code:
<?
$Leistung=round(GetValueFloat(xxxxx));
$timestamp = time()+200;
//echo $timestamp;
$datum = date("d.m.Y",$timestamp);
$uhrzeit = date("H:i",$timestamp);
$Ergebniss=USCK_SendText(xxxxx, "Es ist ".$uhrzeit." Uhr am ".$datum." akt. Verbrauch: ".$Leistung." Watt");
//echo " .",$datum," - ",$uhrzeit," Uhr";
?>
Geändert von Helmut (06.08.19 um 21:08 Uhr) Grund: 5Volt TME , weil günstig, ins Spiel gebracht
Hi Helmut,
mal wieder was neues von Dir, sieht schnuckelich aus.
Bin auch gerade mal wieder an einem Raumdisplay für den nächsten Raum in Betrieb zu nehmen, und sende auch Verbrauchs und Ertragsdaten dort hin. Bei über 2000W ist bei mir entweder die Frau am Kochen oder das Auto am trinken. Was war's denn bei Dir?
Jan
IPS 3.4 Win7 64bit auf Jetway Board mit 10x RS232, Wago (Fenster, Türen, Rauch- Wassermelder, Rolladen, Licht, Steckd.), M-Bus Stromzähler, Raumdisplay-µC´s (IR-FB, Display, Töne, Tasten), Tableau-µC (alle Sensoren als LED), GSM-Modul (SMS-senden & empfangen), HiPath3500 (Anruferanzeige), FS10 (Temp/Feuchte, Regen, Wind), RFID, DHT22+18B20 an Pokeys, was kommt... HR-20, Regenm., Helligkeit, weitere µC´s
Hallo Jan,
ich glaube, das war 'ne Bratwurst mit 2000Watt Herdplatte ;-)
Aber das Display hatte mir auch angezeigt, bei einem Starkregen hier, dass 'ne Pumpe angesprungen war, ist schon informativ .
Warte gerade eine Bestellung einer Platine für Taster für Tradfri Leuchten mit 55er Schalterprogramm ab. EIN/AUS/Dimmen+/-
Finde es total blöd, dass das Schwedenhaus nichts für ein Schalterprogramm hat.
Das Gleiche mit AskSin++ Soft für Homematic, wobei beide so'n HiLink Trafo 3,3Volt bekommen um es in der Schalterdose zu versorgen.
Just for Fun, könnt ja auch Sudoko machen....aber wer will das.
Gruß Helmut
Edit: Tradfri Proto Platine ist da, guggst Du
Geändert von Helmut (07.08.19 um 22:00 Uhr)
IPS 3.4 Win7 64bit auf Jetway Board mit 10x RS232, Wago (Fenster, Türen, Rauch- Wassermelder, Rolladen, Licht, Steckd.), M-Bus Stromzähler, Raumdisplay-µC´s (IR-FB, Display, Töne, Tasten), Tableau-µC (alle Sensoren als LED), GSM-Modul (SMS-senden & empfangen), HiPath3500 (Anruferanzeige), FS10 (Temp/Feuchte, Regen, Wind), RFID, DHT22+18B20 an Pokeys, was kommt... HR-20, Regenm., Helligkeit, weitere µC´s