Jetzt wirds ernst. Wir beginnen mit einem umfangreichen Projekt, wir wollen mit dem ArduiTouch eine SmartHome Zentrale realisieren, die bis zu 32 Remote-Devices auf Basis ESP8266 verwalten kann. Jedes dieser Geräte kann bis zu 8 Kanäle zur Kommunikation benutzen. Damit ihr schon mal seht wo die Reise hingeht, habe ich mich diesmal entschlossen zuerst einen zwar noch rudimentären aber voll funktionsfähigen Prototyp zu erstellen und zum Download zur Verfügung zu stellen.
Danach folgen Blog Beiträge mit detailierten Erklärungen zu den verwendeten Protokollen und Programmen. Da das gesamte Projekt aus einer Vielzahl von Dateien besteht, werde ich den Code nicht in diesem Beitrag veröffentlichen sondern auf GitHub zum Download bereitstellen. Das Repository TouchEvent enthält eine von mir entwickelte Bibliothek zum bequemen Verwalten von TouchScreen Ereignissen, das Repository ATMessageBuffer enthält Bibliotheken für einen Nachrichten Buffer zur Datenübertragung und schließlich das Repository ATSmartHome es enthält eine Datenbank als Basis für dieses Projekt sowie Beispielprogramme für die Smart Home Zentrale und für einen einfachen Client zur Temperaturmessung.
Um den Prototypen zu bauen braucht Ihr für die Zentrale einen ArduiTouch mit ESP32-Prozessor sowie für den Remote Temperatur Sensor einen D1Mini oder ein anderes ESP8266 Modul sowie einen oder zwei DS18B20 Temperatur-Fühler. Für den Temperatur Sensor wird folgende Schaltung verwendet:
Zum ArduiTouch solltet ihr auch Hinweise in diesem Blog Beitrag beachten.
Als nächstes sollten die drei oben erwähnten Downloads von GitHub geholt werden. Die entpackten Ordner kopiert ihr einfach in das Arduino libraries Verzeichnis.
In den Beispielen für ATSmartHome-master findet sich ein Sketch ATSmartHome für die Zentrale und einer ESP8266Device für den Sensor.
Der Sketch für die Zentrale sollte mit dem Board "ESP32 Dev Module" der für den Sensor mit dem Board "NodeMCU 1.0 (ESP-12F Module)" kompiliert werden. Nachdem beide Sketches kompiliert und auf das jeweilige Module hochgeladen wurden sollten wir am ArduiTouch das folgende Bild sehen.
Eventuell ist der untere blaue Balken zuerst ohne Text, dies sollte sich aber ändern sobald der Temperatursensor zum seine Werte gesendet hat. Wenn die Smart Home Zentrale Daten von einem unbekannten Gerät empfängt, wird die Id des unbekannten Gerätes im unteren blauen Balken angezeigt.
Wenn man zweimal schnell hintereinander auf den unteren blauen Balken tippt (Doppelklick) sollte die Registrierungsseite angezeigt werden. Achtung, falls die Brücke für den Programm-Download noch geschlossen ist funktioniert der Touch-Screen nicht!!
Wenn man einen Doppelklick auf den Button "Registrieren" ausführt, wird das neue Gerät registriert und seine Messwerte können angezeigt werden. Führt man den Doppelklick auf dem "Zurück" Button aus, wird wieder die Hauptseite angezeigt ohne das Gerät zu registrieren.
Wurde das Gerät registriert, wird diese Information auch dauerhaft im SPI Filesystem des ESP32 gespeichert. Sobald die Zentrale wieder Daten vom Temperatursensor erhalten hat sollte folgendes Bild zu sehen sein.
Immer wenn neue Messwerte vom Temperatursensor empfangen werden, wird die Anzeige aktualisiert. Da die Registrierung dauerhaft gespeichert wurde, kann der ArduiTouch auch von der Stromversorgung getrennt werden ohne die registrierten Geräte zu vergessen.
Auf die gleiche Weise wie beschrieben können auch weitere Geräte registriert werden. In dieser Prototyp Version können die Registrierungsdaten im SPI-Filesystem nur durch Formatieren gelöscht werden. Dazu führt man einen Doppelklick auf den oberen blauen Balken aus. Es sollte die System Setup Seite angezeigt werden.
Ein Doppelklick auf "Format FS" formatiert das Filesystem und löscht alle Files. Nach Beendigung des Formatierens wird wieder die Hauptseite angezeigt. Falls der Temperatursensor weiterhin Daten sendet, wird er als unbkanntes Gerät erkannt und seine Id im unteren blauen Balken angezeigt.
Der Sketch für den Temperatursensor ist so eingestellt, dass er alle 10 Sekunden Messwerte sendet. Das ist zum Testen sehr praktisch. Für eine reale Anwendung sollte diese Zeit auf fünf Minuten oder mehr erhöht werden um den Stromverbrauch zu minimieren.
Wie ihr seht haben wir hier eine sehr einfache Smart Home Zentrale, bei der externe Sensoren registriert werden können deren Messwerte dann angezeigt werden.
Zum Abschluss noch ein paar Features die in zukünftigen Versionen realisiert werden sollen.
- Anpassbare Darstellung der Messergebnisse
- Mehrere Seiten zur Darstellung der Messergebnisse
- Daten von der Zentrale auf entfernte Geräte senden (schalten, dimmen)
- Verbindung der Smart Home Zentrale mit dem Internet und Uhrzeit Anzeige
- Bedienung über Web-Seiten
- Verbindung zu externen Diensten wie z.B. Cayenne
- Erweiterung der Hardware. Verwendung des SD-Kartenlesers am Touch-Screen zum Loggen von Daten
- Definition von Triggerwerten um abhängig von Messwerten Aktionen auszulösen
und noch viele andere schöne Dinge. Der Phantasie sind fast keine Grenzen gesetzt.
Wenn ihr mehr erfahren wollt wie dieser Prototyp arbeitet, sollte ihr meine kommenden Blog Beiträge lesen. Wenn Fragen oder Probleme auftreten, einfach einen Kommentar anfügen. Ich werde regelmäßig reinschauen und versuchen Fragen möglichst zeitnah zu beantworten.
Hier geht's weiter:
Smarthome Zentrale mit ArduiTouch Teil 2 - Das Datenprotokoll
23 Kommentare
Günther Schmid
Hallo Freunde,
will mit dem AZ-Touch folgende Dinge realsieren ( aber ohne Phyton, wenns geht … )
Füllstand Zisterne abfragen ( Ultraschall oder TOF-Sensor )
Füllstand Heizöl abfragen ( Ultraschall oder TOF-Sensor )
Wetterstation: Temeratur, Feuchte, Luftdruck, Wettervorhersage muss nicht sein
Teich-Überwachung ( Pegel ), davon abhängig Frischwasser-Zufuhr einschalten ( Pegel ) , Skimmer einschalten ( zeitgesteuert )
gibt es dazu Tips von euch ?
Habe dazu den Blog verfolgt, aber irgendwann gehts in Richtung Micro-Phyton ( ohne das irgendwie erwähnt wird ), will das nicht lernen :_)
Oder habe ich was übersehen ?
Grüsse
Frank Carius
Ich bezweifle aber, dass der Sensor aus dem D1Mini und den zwei DS18B20 mit der im Bild abgebildeten einzelnen AA-Batterie funktioniert. das sollten dann aber schon 2xAA sein, damit man so halbwegs auf die 3V kommt.
Gerald
Hallo Jochen. Was du beschreibst klingt alles richtig. Auch der Registrierungs-Knopf, braucht einen Doppelklick, damit die Registrierung durchgeführt wird.
Jochen
Habe alles gut hinbekommen. Zentrale läuft, kann aber keinen Temperaturfühler registrieren. Er wird zwar mit der MAC unten angezeigt, ich kann auch doppelklicken, aber dann kann ich auf Registrierung klicken, ohne das etwas passiert. Was mache ich noch falsch? Zurück geht auch ohne Probleme.
Robert
Hallo,
ich habe auch Probleme bei der Inbetriebnahme des Displays gehabt. Ich arbeite jetzt bei der Installation mit beiden Softwareständen ( ATSmarthome und SmarthomeV2 (V:0.5)).
Zuerst spiele ich die alte Software auf und formatiere den SPIFF, anschließend spiele ich die neue Software auf. Mit Glück melden sich dann die Sensoren nach und nach. (Sie laufen alle !).
Bem.: am Anfang meldeten alle Dev Kits BROWNOUT Fehler. ( Ich hatte 10 St. ausprobiert!)
Zu meiner Entwicklungsumgebung gehört auch ein USB 10-fach Verteiler mit Netzteil (5V/1A!!).
Bei den ESP8266 Modulen reichte diese Spg. aus, nicht so bei den ESP32.
Nachgemessen, die Spg. brach auf 4,75V zusammen! → also SNT mit regelbarer 5V Ausgangsspannung verwendet und auf ca. 5,35V gestellt. (die Verluste des Spannungsreglers (Linearregler) auf dem Dev Kit
sind zu hoch,braucht minimal mehr Spg. als aus der USB Buchse kommt).
Peter IBK
Sehr geehrter Herr Lechner,
ich habe die SmartHome Zentrale zusammengebaut und möchte nun den Sketch V2 für ESP32 draufladen.
Leider erscheint beim Kompilieren immer die Fehlermeldung
‘AT_Database’ does not name a type
Leider finde ich keine Erklärung für diesen Fehler.
Mit der Bitte um Hilfe
Mit freundlichen Grüßen
Walter
Schönen guten Abend für alle, die sich zur später Stunde noch mit Arduino befassen.
Ich habe vor 2 Tagen einen Beitrag gepostet über das neue GUIO für den ATSmartHome Server.
Leider konnte ich dem Display keinen müden Pixel entlocken.
Aber, wie immer liegt der Fehler fast immer zwischen den Augen.
Wenn ich den Script etwas genauer unter die Lupe genommen hätte, wäre ich darauf gekommen.
In der Deklarierung der ATSmartHomeV2.ino steht:
#define ARDUITOUCH_VERSION 0 //0 for older 1 for new with PNP Transistor
Je nachdem, welcher Transistor zur Ansteuerung des Display verwendet wurde, ist 0 oder 1 einzutragen. Ihr seht, manchmal steht man sich selbst auf der Leitung.
Zum neuen GUI:
Das, was uns Gerald Lechner hier für ein Instrument zur Verfügung stellt, ist ein mächtiges Werkzeug.
Es ist eine Grundlage, die man sich bedarfsgerecht ausbauen kann.
Probiert es aus, ich glaube, auch Ihr werdet begeistert sein.
Ich wünsche Euch ein schönes Wochenende und bleibt gesund!
LG Walter
Walter
// Zitat: ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Nachricht von Peter:
Ich habe bei der Inbetriebnahme der Zentrale noch einen Stein im Getriebe gefunden.
Das Display bleibt finster.
Grund: Das Layout wurde geändert, zur Stromversorgung der Display Beleuchtung wird bei den neuen Leiterplattenversion ein PNP-Transistor eingesetzt. Das Signal aus dem ESP wird beim Aktivieren auf HIGH gesetzt, das ist falsch. LOW steuert den Transistor durch!
Abhilfe: Entweder die Ansteuerung in der Software, z.B ATDisplay.h oder in der bertreffenden .ino ändern, oder einen NPN-Transistor einsetzen.
LG Peter
Gerald
Gerald
März 12, 2019 at 19:27pm
Der fehlerhafte Link ist korrigiert
// Ende Zitat ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
In der ATSmartHomeV2.ino scheint ebenso dieser Fehler zu sein.
(ATSmartHomeV2.ino vom Dienstag, 25. Februar 2020, 22:36:47)
Nach der Inbetriebnahme leuchtet das Display kurz auf und bleibt dann dunkel.
Im seriellen Monitor kann man jedoch die Initialisierung incl. des Empfangs eines Sensor erkennen.
// Auszug aus den seriellen Monitor+++++++++++++++++++++++++++++++++++++++
ets Jun 8 2016 00:22:57
rst:0×1 (POWERON_RESET),boot:0×1b (SPI_FAST_FLASH_BOOT)
configsip: 0, SPIWP:0xee
clk_drv:0×00,q_drv:0×00,d_drv:0×00,cs0_drv:0×00,hd_drv:0×00,wp_drv:0×00
mode:DIO, clock div:1
load:0×3fff0018,len:4
load:0×3fff001c,len:1216
ho 0 tail 12 room 4
load:0×40078000,len:10864
load:0×40080400,len:6432
entry 0×400806b8
Start
RAM available 266100
SPIFFS loaded
bc:dd:c2:14:93:29
00:00:00:00:00:00
00:00:00:00:00:00
00:00:00:00:00:00
00:00:00:00:00:00
00:00:00:00:00:00
00:00:00:00:00:00
00:00:00:00:00:00
00:00:00:00:00:00
00:00:00:00:00:00
00:00:00:00:00:00
00:00:00:00:00:00
00:00:00:00:00:00
00:00:00:00:00:00
00:00:00:00:00:00
00:00:00:00:00:00
00:00:00:00:00:00
00:00:00:00:00:00
00:00:00:00:00:00
00:00:00:00:00:00
00:00:00:00:00:00
00:00:00:00:00:00
00:00:00:00:00:00
00:00:00:00:00:00
00:00:00:00:00:00
00:00:00:00:00:00
00:00:00:00:00:00
00:00:00:00:00:00
00:00:00:00:00:00
00:00:00:00:00:00
00:00:00:00:00:00
00:00:00:00:00:00
Got message from bc:dd:c2:14:93:29 = device 0
Click
Click
Click x = 71 y= 114 line = 3 column = 0
Click x = 84 y= 168 line = 6 column = 0
Click x = 78 y= 207 line = 8 column = 0
Click x = 75 y= 248 line = 10 column = 0
//Ende Auszug+++++++++++++++++++++++++++++++++++++++++++++++++++++++
Wie man sehen kann, werden auch Click Ereignisse schön dargestellt.
Wo jedoch der Fehler im dunklen Monitor liegt, habe ich noch nicht gefunden.
Vielleicht kann mir jemand dabei helfen?!
LG Walter
Walter
Diese Blogserie hat mich sehr interessiert. Da ich nun Rentner bin und Freiraum habe, habe ich die Version 1 aufgebaut und mit entsprechenden Sensoren über ESP12E versorgt. Nach anfänglichen Schwierigkeiten (Display blieb dunkel und diverse Fehler beim Kompelieren) läuft das Projekt jetzt ganz gut.
Das Händling des Touchdisplay ist gewöhnungsbedürftig.
Im Blogbeitrag 5 wurde ein neues GUI vorgestellt, welches in der Version V2 eingearbeitet sein soll.
Derzeitig bin ich dabei dies zu installieren.
wenn es läuft werde ich mich wieder melden.
Viel Spaß euch allen beim Programmieren – und bleibt gesund!!!
Thomas
Hallo. Ich bekomme es leider nicht hin, die Datei ESP8266Device zu kompilieren. Die ArduinoIDE bricht immer wieder mit jeder Menge Fehlermeldungen ab. Leider weiß ich auch nicht, wo ich ansetzen soll.
Beispiele: undefined reference to `sscanf’, undefined reference to `esp_now_init’ und jede Menge weitere Meldungen mit ‘esp_now…’
Kann mit irgendwer weiterhelfen? Blicke nicht durch, was das Problem ist.
Danke
Andre
Kann mir mal einer erklären was das mit Kanal 0 (WLAN Kanal) bedeutet?? Meine Fritzbox hat keinen Kanal 0. (Benötigt die Zentrale WLAN???)
Sven Hesse
Hallo zusammen,
die Serie mit der SmartHome Zentrale finde ich persönlich super. So kann man sich in die Materie einarbeiten und muss es zwangsläufig auch, weil hier noch sehr viele Fehler enthalten sind.
Momentan arbeite ich daran, der Zentrale den Umgang mit 2 ESP8266 mit jeweils 4 und 8 Kanälen beizubringen, denn auch in der neuen Version sind maximal 8 Kanäle möglich.
Datahardy
Beim Kompilieren bin ich ebenfalls über den Fehler bei
database.clearDevices(ATDEVICEFILE);
gestolpert.
Nun, es liegt daran, dass die Funktion kein Argument erwartet, sondern zum Entfernen derselben schlicht und einfach über die registrierten Devices iteriert wird. Also in der ATDisplay.h im Sketch bitte ATDEVICEFILE löschen.
Wenn man ein aktuelles ArduiTouch verwendet bitte auch die Kommentarzeichen entfernen, wie nachfogend dargestellt.
//Shoud be defined if a Ardui-Touch version 01-02 or higher is used
#define ARDUITOUCH0102
Viel Erfolg
Datahardy
Christian
Wenn ich ESP8266Device versuche zu kompilieren erhalte ich die Fehlermeldung
" ‘class EspClass’ has no member named ‘rtcUserMemoryWrite’ ". Hat jemand eine Idee wie ich das Problem lösen kann? Ich benutze die Arduino Version 1.8.10.
Vielen Dank schon mal soweit
Christian
Steffen
Hallo, ich bin auch dabei, mir eine SmartHome-Zentrale aufzubauen.
Dabei geht es mir später um die Aufzeichnung der Temperaturwerte an meiner Heizungsanlage.
Bei der Compilierung des Sketches bin ich über den gleichen Fehler wie Andreas gestolpert.
Es gibt ein Problem mit dem Befehl:
database.clearDevices(ATDEVICEFILE)
Wenn dieser Befehl ausgeklammert wird, läuft der Sketch durch.
Gerald, kannst Du uns helfen?
Viele Grüße aus Potsdam
Steffen
Andreas
Danke für das interessante Projekt.
Dazu eine Frage. Beim compilieren erhalte ich nur eine Fehlermeldung. Wenn ich die Zeile ausklammere, läuft der Compiler ohne Fehler durch. Warum aber entsteht der Fehler:
database.clearDevices(ATDEVICEFILE);
in der Datei ATDisplay.h
Der Fehler lautet:
In file included from C:\Users\anbau\AppData\Local\Temp\arduino_modified_sketch_946137\ATSmartHome.ino:4:0:
C:\Users\anbau\Documents\arduino-1.8.10\libraries\ATSmartHome-master/AT_Database.h:190:11: note: candidate: boolean AT_Database::clearDevices()
boolean clearDevices();C:\Users\anbau\Documents\arduino-1.8.10\libraries\ATSmartHome-master/AT_Database.h:190:11: note: candidate expects 0 arguments, 1 provided
Hat jemand vielleicht einen Tipp, wo ich da suchen muss? Ich bin ratlos.
Viele Grüße aus Hamburg,
Andreas
Prechtl
Hallo brauche mal Hilfe :
Hardware : ArduiTouch mit AMICA V2.
Arduino IDE 1.8.5
TouchEventDemo läuft (nach dem ich die PINs richtig zugeordnet habe)
Das Sketch des ATSmartHome gibt nur Fehlermeldungen beim Kompillieren.
Und das für 70 € Hardware
Bin nicht ganz neu in diesem Bereich aber das geht mir nicht ein.
Also nach dem ich ALLE Repositorys geladen und und alle Lybraris überprüft habe
Fehlermeldungen. beim Kommpilieren.
z.B
In file included from C:\Users\Dev2\AppData\Local\Temp\arduino_modified_sketch_565310\ATSmartHome.ino:21:0:
ATWiFi.h:20: error: ‘esp_now_peer_info_t’ does not name a type
esp_now_peer_info_t info; ^sketch\ATWiFi.h: In function ‘void initWiFi()’:
ATWiFi.h:26: error: ‘class WiFiClass’ has no member named ‘mode’
WiFi.mode(WIFI_AP_STA); ^ATWiFi.h:26: error: ‘WIFI_AP_STA’ was not declared in this scope
WiFi.mode(WIFI_AP_STA); ^ATWiFi.h:27: error: ‘class WiFiClass’ has no member named ‘softAP’
WiFi.softAP(“ATSmartHome”,APPWD,APCHANNEL,0); ^sketch\ATWiFi.h: At global scope:
ATWiFi.h:54: error: ‘esp_err_t’ has not been declared
void printESP_Now_Err (String prefix, esp_err_t err) { ^sketch\ATWiFi.h: In function ‘void printESP_Now_Err(String, int)’:
ATWiFi.h:56: error: ‘ESP_ERR_ESPNOW_BASE’ was not declared in this scope
case ESP_ERR_ESPNOW_BASE: Serial.println(prefix+" ESPNOW error number base"); break; ^ATWiFi.h:57: error: ‘ESP_ERR_ESPNOW_NOT_INIT’ was not declared in this scope
case ESP_ERR_ESPNOW_NOT_INIT: Serial.println(prefix+"ESPNOW is not initialized"); break; ^ATWiFi.h:58: error: ‘ESP_ERR_ESPNOW_ARG’ was not declared in this scope
case ESP_ERR_ESPNOW_ARG: Serial.println(prefix+"Invalid argument"); break; ^ATWiFi.h:59: error: ‘ESP_ERR_ESPNOW_NO_MEM’ was not declared in this scope
case ESP_ERR_ESPNOW_NO_MEM: Serial.println(prefix+"Out of memory"); break; ^ATWiFi.h:60: error: ‘ESP_ERR_ESPNOW_FULL’ was not declared in this scope
case ESP_ERR_ESPNOW_FULL: Serial.println(prefix+" ESPNOW peer list is full"); break; ^ATWiFi.h:61: error: ‘ESP_ERR_ESPNOW_NOT_FOUND’ was not declared in this scope
case ESP_ERR_ESPNOW_NOT_FOUND: Serial.println(prefix+"ESPNOW peer is not found"); break; ^ATWiFi.h:62: error: ‘ESP_ERR_ESPNOW_INTERNAL’ was not declared in this scope
case ESP_ERR_ESPNOW_INTERNAL: Serial.println(prefix+"Internal error"); break; ^ATWiFi.h:63: error: ‘ESP_ERR_ESPNOW_EXIST’ was not declared in this scope
case ESP_ERR_ESPNOW_EXIST: Serial.println(prefix+"ESPNOW peer has existed"); break; ^ATWiFi.h:64: error: ‘ESP_ERR_ESPNOW_IF’ was not declared in this scope
case ESP_ERR_ESPNOW_IF: Serial.println(prefix+"Interface error"); break; ^sketch\ATWiFi.h: At global scope:
ATWiFi.h:71: error: ‘esp_err_t’ does not name a type
esp_err_t addPeer(const uint8_t mac6) { ^sketch\ATWiFi.h: In function ‘void readESPNow(const uint8_t*, const uint8_t*, int)’:
ATWiFi.h:93: error: ‘esp_err_t’ was not declared in this scope
esp_err_t err; ^ATWiFi.h:93: error: expected ‘;’ before ‘err’
esp_err_t err; ^ATWiFi.h:121: error: ‘err’ was not declared in this scope
err = addPeer(mac_addr); ^ATWiFi.h:121: error: ‘addPeer’ was not declared in this scope
err = addPeer(mac_addr); ^ATWiFi.h:122: error: ‘ESP_OK’ was not declared in this scope
if (err == ESP_OK) { ^ATWiFi.h:123: error: invalid conversion from ‘const uint8_t* {aka const unsigned char*}’ to ‘u8* {aka unsigned char*}’ [-fpermissive]
err = esp_now_send(mac_addr, buf, sz); ^In file included from sketch\ATWiFi.h:5:0,
from C:\Users\Dev2\AppData\Local\Temp\arduino_modified_sketch_565310\ATSmartHome.ino:21:C:\Users\Dev2\Documents\Arduino\libraries\ATSmartHome-master/esp_now.h:53:5: error: initializing argument 1 of ‘int esp_now_send(u8*, u8*, int)’ [-fpermissive]
int esp_now_send(u8 *da, u8 *data, int len); ^In file included from C:\Users\Dev2\AppData\Local\Temp\arduino_modified_sketch_565310\ATSmartHome.ino:21:0:
sketch\ATWiFi.h: In function ‘void sendData(uint16_t)’:
ATWiFi.h:136: error: ‘esp_err_t’ was not declared in this scope
esp_err_t err; ^ATWiFi.h:136: error: expected ‘;’ before ‘err’
esp_err_t err; ^ATWiFi.h:149: error: ‘err’ was not declared in this scope
err = addPeer(buf); ^ATWiFi.h:149: error: ‘addPeer’ was not declared in this scope
err = addPeer(buf); ^ATWiFi.h:150: error: ‘ESP_OK’ was not declared in this scope
if (err == ESP_OK) { ^sketch\ATWiFi.h: In function ‘boolean initESPNow()’:
ATWiFi.h:160: error: ‘ESP_OK’ was not declared in this scope
boolean result = (esp_now_init() == ESP_OK); ^ATWiFi.h:161: error: ‘info’ was not declared in this scope
info.channel = APCHANNEL; ^ATWiFi.h:163: error: invalid conversion from ‘void ()(const uint8_t, const uint8_t*, int) {aka void ()(const unsigned char, const unsigned char*, int)}’ to ‘esp_now_recv_cb_t {aka void ()(unsigned char, unsigned char*, unsigned char)}’ [-fpermissive]
if (result) esp_now_register_recv_cb(readESPNow); ^In file included from sketch\ATWiFi.h:5:0,
from C:\Users\Dev2\AppData\Local\Temp\arduino_modified_sketch_565310\ATSmartHome.ino:21:C:\Users\Dev2\Documents\Arduino\libraries\ATSmartHome-master/esp_now.h:50:5: error: initializing argument 1 of ‘int esp_now_register_recv_cb(esp_now_recv_cb_t)’ [-fpermissive]
int esp_now_register_recv_cb(esp_now_recv_cb_t cb); ^C:\Users\Dev2\AppData\Local\Temp\arduino_modified_sketch_565310\ATSmartHome.ino: In function ‘void setup()’:
ATSmartHome:35: error: no matching function for call to ‘fs::FS::begin(bool)’
if (SPIFFS.begin(FORMAT_SPIFFS_IF_FAILED)) Serial.println(F(“SPIFFS loaded”)); ^C:\Users\Dev2\AppData\Local\Temp\arduino_modified_sketch_565310\ATSmartHome.ino:35:43: note: candidate is:
In file included from C:\Users\Dev2\AppData\Local\Temp\arduino_modified_sketch_565310\ATSmartHome.ino:1:0:
C:\Users\Dev2\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.4.2\cores\esp8266/FS.h:107:10: note: bool fs::FS::begin()
bool begin(); ^C:\Users\Dev2\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.4.2\cores\esp8266/FS.h:107:10: note: candidate expects 0 arguments, 1 provided
exit status 1
‘esp_now_peer_info_t’ does not name a type
Allso wie gehts weiter. Könnte mir jemand Hilöfestellung geben.
Komm alleine nicht weiter.
Danke
Thomas
Peter Necas
Ich habe bei der Inbetriebnahme der Zentrale noch einen Stein im Getriebe gefunden.
Das Display bleibt finster.
Grund: Das Layout wurde geändert, zur Stromversorgung der Display Beleuchtung wird bei den neuen Leiterplattenversion ein PNP-Transistor eingesetzt. Das Signal aus dem ESP wird beim Aktivieren auf HIGH gesetzt, das ist falsch. LOW steuert den Transistor durch!
Abhilfe: Entweder die Ansteuerung in der Software, z.B ATDisplay.h oder in der bertreffenden .ino ändern, oder einen NPN-Transistor einsetzen.
LG Peter
Gerald
Der fehlerhafte Link ist korrigiert
Eber37
Interessantes Projekt für begrenztes SmartHome (Garten oder Garage).
Auf jeden Fall etwas zu Lernen.
Ich wollte mir den Hinweis zum ArduiTouch im “Blog Beitrag” ansehen.
Über den angezeigten Link komme ich jedoch nur zum Login für Shopify.
Ich würde mir eine Übersichtsseite wünschen, mit der ich schrittweise das Projekt nachbauen und weiter verfolgen kann.
Adi
UP Netzteil: z.B: RECOM AC/DC-Unterputz-Netzteil RAC03-3.3SER/277, 3,3 V DC, 900 mA, teuer aber sicher.
Thomas
Bitte vergiss nicht, einen einfachen Schalter einzubauen. Das ist manchmal nicht so einfach.
Bernd
Ich kann schon jetzt sagen super Blogserie, danke :)
Was ist denn eine sinnvolle fest UP installierbare Stromversorgung bei der nicht das haus abbrennt? ne Steckdose mit USB port?