Benutzer-Werkzeuge

Webseiten-Werkzeuge


sonstiges:tuerklingel

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
sonstiges:tuerklingel [2023-09-29 21:58] – [Empfänger mit Netzteil versorgen] schuballaasonstiges:tuerklingel [2023-09-29 22:49] (aktuell) – [Übersicht] schuballaa
Zeile 1: Zeile 1:
 ====== Türklingel ====== ====== Türklingel ======
- 
  
 ===== Übersicht ===== ===== Übersicht =====
Zeile 10: Zeile 9:
 **Optional:** **Optional:**
  
-Es könnte zu jeder zeit an sender und oder Empfängern eine Li-ion Akku (via JST) angeschlossen werden und somit auch mobil betrieben werden z.b bei Veranstaltungen die im Hinnenhof stattfinden um kein Klingeln zu verpassen.+Es könnte zu jeder zeit an den Empfängern eine Li-ion Akku (via JST) angeschlossen werden und somit auch mobil betrieben werden z.b bei Veranstaltungen die im Hinnenhof stattfinden um kein Klingeln zu verpassen.
  
 **Achtung bei Powerbanks!** **Achtung bei Powerbanks!**
  
 Da sich die meisten Powerbanks bei geringer Last ausschalten, könnte es sein, dass der Empfänger bei mobilen betrieb mit Powerbanks die Funktion nach kurzer zeit Einstellen ([[https://apfelhirn.de/automatische-abschaltung-von-powerbanks-als-arduino-stromversorgung-bei-geringer-grundlast-verhindern/|https://apfelhirn.de/automatische-abschaltung-von-powerbanks-als-arduino-stromversorgung-bei-geringer-grundlast-verhindern/]]). Da sich die meisten Powerbanks bei geringer Last ausschalten, könnte es sein, dass der Empfänger bei mobilen betrieb mit Powerbanks die Funktion nach kurzer zeit Einstellen ([[https://apfelhirn.de/automatische-abschaltung-von-powerbanks-als-arduino-stromversorgung-bei-geringer-grundlast-verhindern/|https://apfelhirn.de/automatische-abschaltung-von-powerbanks-als-arduino-stromversorgung-bei-geringer-grundlast-verhindern/]]).
- 
  
 ===== Sprechanlage ===== ===== Sprechanlage =====
Zeile 21: Zeile 19:
 Die Sprechanlage nutzt ein 2-Draht-Bussystem vom Typ [[http://www.str-elektronik.de/|STR]] QwikBus, welches die Türsprechstelle mit den Haustelefonen verbindet. Daher ist es nicht möglich, das Klingelsignal direkt abzugreifen, da es digital über den Bus übertragen wird. Die Sprechanlage nutzt ein 2-Draht-Bussystem vom Typ [[http://www.str-elektronik.de/|STR]] QwikBus, welches die Türsprechstelle mit den Haustelefonen verbindet. Daher ist es nicht möglich, das Klingelsignal direkt abzugreifen, da es digital über den Bus übertragen wird.
  
-Das Haustelefon ist vom Typ STR HT 3033. +Das Haustelefon ist vom Typ STR HT 3033
 + 
 +Das Steuergerät ist ein SP 333 ({{:sonstiges:einstellungen_sp333_version_2.pdf|Doku}} ), welches im Hauskeller im Sicherungsschrank neben dem Netzteil NH 333 installiert ist.
  
-Das Steuergerät ist ein SP 333 ({{:sonstiges:einstellungen_sp333_version_2.pdf|Doku}}), welches im Hauskeller im Sicherungsschrank neben dem Netzteil NH 333 installiert ist. 
 ===== Pinout ===== ===== Pinout =====
  
Zeile 30: Zeile 29:
 Die Belegung lässt sich durch ein Foto einer Relaisbox {{:sonstiges:aps658.pdf|AM333}}, die man hinzukaufen kann, erahnen. Ein Multimeter half bei der weiteren Analyse. Auf dem zweiten Pin von oben liegt Masse, auf dem zweiten Pin von unten wird das Klingelsignal ausgegeben (5 V, wenn ich mich recht erinnere). Die Belegung lässt sich durch ein Foto einer Relaisbox {{:sonstiges:aps658.pdf|AM333}}, die man hinzukaufen kann, erahnen. Ein Multimeter half bei der weiteren Analyse. Auf dem zweiten Pin von oben liegt Masse, auf dem zweiten Pin von unten wird das Klingelsignal ausgegeben (5 V, wenn ich mich recht erinnere).
  
-{{:sonstiges:tuersprechstelle.png?200| }} +{{:sonstiges:tuersprechstelle.png?200| }}{{:sonstiges:pinout.png?200| }}
-{{:sonstiges:pinout.png?200| }}+
  
 Mechanisch konnten die passenden Steckerweibchen nicht ermittelt werden. Daher greifen wir das Signal über zwei IC-Beinchen-Einsätze gedrehter IC-Sockel ab, die in den Steckverbindern verlässlich halten. Mechanisch konnten die passenden Steckerweibchen nicht ermittelt werden. Daher greifen wir das Signal über zwei IC-Beinchen-Einsätze gedrehter IC-Sockel ab, die in den Steckverbindern verlässlich halten.
Zeile 39: Zeile 37:
 Da uns keine Leitung zwischen den Räumen Bornstr. 14-15 sowie 16-17 zur Verfügung steht, mussten wir auf eine [[http://www.amazon.de/dp/B00ISMW1DG|Funk-Türklingel]] mit zwei Empfängern zurückgreifen. Der Sender sowie die 2 Empfänger werden mit einem Standard 5 Volt USB Netzteil versorgt. Da uns keine Leitung zwischen den Räumen Bornstr. 14-15 sowie 16-17 zur Verfügung steht, mussten wir auf eine [[http://www.amazon.de/dp/B00ISMW1DG|Funk-Türklingel]] mit zwei Empfängern zurückgreifen. Der Sender sowie die 2 Empfänger werden mit einem Standard 5 Volt USB Netzteil versorgt.
  
-Wenn geklingelt wird, zieht ein n channel mosfet den Pin 4 des [[https://www.amazon.de/AZDelivery-Lolin-ESP32-Parent/dp/B086V1P4BL?th=1|esp32]] auf ground. Wenn dieses > 1000 ms auf Ground bleibt, wurde geklingelt und ein ESPNOW signal zu den Empfängern geschickt. +Wenn geklingelt wird, zieht ein [[https://datasheetspdf.com/pdf-file/525208/AnpecElectronicsCoropration/APM2030N/1|n channel mosfet]] den Pin 4 des [[https://www.amazon.de/AZDelivery-Lolin-ESP32-Parent/dp/B086V1P4BL?th=1|esp32]] auf ground. Wenn dieses > 1000 ms auf Ground bleibt, wurde geklingelt und ein ESPNOW signal zu den Empfängern geschickt.
  
 ===== Sender in Haustelefon einbauen ===== ===== Sender in Haustelefon einbauen =====
Zeile 47: Zeile 44:
  
 {{https://wiki.hackerspace-bremen.de/_media/sonstiges/klingel_sender.jpg?nolink&600x800|klingel_sender.jpg}} {{https://wiki.hackerspace-bremen.de/_media/sonstiges/klingel_sender.jpg?nolink&600x800|klingel_sender.jpg}}
- 
  
 ===== Sourcecode ===== ===== Sourcecode =====
Zeile 53: Zeile 49:
 Sender: Sender:
  
 +<code>
 #include <WiFi.h>\\ #include <WiFi.h>\\
 #include <esp_wifi.h>\\ #include <esp_wifi.h>\\
 #include <esp_now.h> #include <esp_now.h>
  
-// Set your new MAC Address\\ +//Set your new MAC Address\\ 
-uint8_t newMACAddress[] = {0x30, 0xAF, 0xA0, 0x05, 0x1D, 0x63}; +uint8_t newMACAddress[] = {0x30, 0xAF, 0xA0, 0x05, 0x1D, 0x63}; //REPLACE WITH YOUR ESP RECEIVER'S MAC ADDRESS\\
- +
-// REPLACE WITH YOUR ESP RECEIVER'S MAC ADDRESS\\+
 uint8_t broadcastAddress1[] = {0x30, 0xAF, 0xA1, 0x05, 0x1D, 0x63};\\ uint8_t broadcastAddress1[] = {0x30, 0xAF, 0xA1, 0x05, 0x1D, 0x63};\\
 uint8_t broadcastAddress2[] = {0x30, 0xAF, 0xA2, 0x05, 0x1D, 0x63}; uint8_t broadcastAddress2[] = {0x30, 0xAF, 0xA2, 0x05, 0x1D, 0x63};
Zeile 72: Zeile 67:
 esp_now_peer_info_t peerInfo; esp_now_peer_info_t peerInfo;
  
-// callback when data is sent\\+//callback when data is sent\\
 void OnDataSent(const uint8_t *mac_addr, esp_now_send_status_t status) {\\ void OnDataSent(const uint8_t *mac_addr, esp_now_send_status_t status) {\\
 char macStr[18];\\ char macStr[18];\\
-Serial.print("Packet to: ");\\ +Serial.print("Packet to: ");// \\ 
-// Copies the sender mac address to a string\\ +Copies the sender mac address to a string\\ 
-snprintf(macStr, sizeof(macStr), "%02x:%02x:%02x:%02x:%02x:%02x",\\ +snprintf(macStr, sizeof(macStr), "%02x:%02x:%02x:%02x:%02x:%02x", 
-         mac_addr[0], mac_addr[1], mac_addr[2], mac_addr[3], mac_addr[4], mac_addr[5]);\\+ 
 +       mac_addr[0], mac_addr[1], mac_addr[2], mac_addr[3], mac_addr[4], mac_addr[5]);\\ 
 Serial.print(macStr);\\ Serial.print(macStr);\\
 Serial.print(" send status:\t");\\ Serial.print(" send status:\t");\\
Zeile 89: Zeile 86:
 WiFi.mode(WIFI_STA); WiFi.mode(WIFI_STA);
  
-// Set the ESP32 Board MAC Address.\\ +//Set the ESP32 Board MAC Address.\\ 
-esp_wifi_set_mac(WIFI_IF_STA, &newMACAddress[0]); +esp_wifi_set_mac(WIFI_IF_STA, &newMACAddress[0]); //Print the new MAC Address.\\ 
- +Serial.print("[NEW] ESP32 Board MAC Address: ");\\
-// Print the new MAC Address.\\ +
-Serial.print("[NEW] ESP32 Board MAC Address:  ");\\+
 Serial.println(WiFi.macAddress()); Serial.println(WiFi.macAddress());
  
-if (esp_now_init() != ESP_OK) {\\ +if (esp_now_init() != ESP_OK) { 
-  Serial.println("Error initializing ESP-NOW");\\ +Serial.println("Error initializing ESP-NOW");\\ 
-  ESP.restart();\\+ESP.restart();\\ 
 } }
  
 esp_now_register_send_cb(OnDataSent); esp_now_register_send_cb(OnDataSent);
  
-// register peer\\+//register peer\\
 peerInfo.channel = 0;\\ peerInfo.channel = 0;\\
-peerInfo.encrypt = false;\\ +peerInfo.encrypt = false;// \\ 
-// register first peer\\+register first peer\\
 memcpy(peerInfo.peer_addr, broadcastAddress1, 6);\\ memcpy(peerInfo.peer_addr, broadcastAddress1, 6);\\
-if (esp_now_add_peer(&peerInfo) != ESP_OK) {\\ +if (esp_now_add_peer(&peerInfo) != ESP_OK) { 
-  Serial.println("Failed to add peer");\\ +Serial.println("Failed to add peer");\\ 
-  return;\\+return;\\ 
 } }
  
-// register second peer\\+//register second peer\\
 memcpy(peerInfo.peer_addr, broadcastAddress2, 6);\\ memcpy(peerInfo.peer_addr, broadcastAddress2, 6);\\
 if (esp_now_add_peer(&peerInfo) != ESP_OK) {\\ if (esp_now_add_peer(&peerInfo) != ESP_OK) {\\
-  Serial.println("Failed to add peer");\\ +Serial.println("Failed to add peer");\\ 
-  return;\\ +return;\\ 
-} +} //Set pin 4 as an interrupt\\
- +
- // Set pin 4 as an interrupt\\+
 pinMode(4, INPUT_PULLUP);\\ pinMode(4, INPUT_PULLUP);\\
 attachInterrupt(digitalPinToInterrupt(4), triggerbell, FALLING);\\ attachInterrupt(digitalPinToInterrupt(4), triggerbell, FALLING);\\
Zeile 130: Zeile 125:
 esp_err_t result = esp_now_send(0, (uint8_t *) &bell, sizeof(bell_struct)); esp_err_t result = esp_now_send(0, (uint8_t *) &bell, sizeof(bell_struct));
  
-if (result == ESP_OK) {\\ +if (result == ESP_OK) { 
-  Serial.println("Sent with success");\\ + 
-} else {\\ +Serial.println("Sent with success");\\ 
-  Serial.println("Error sending the data");\\+ 
 +} else { 
 +Serial.println("Error sending the data");\\
 } }
  
-Serial.print("[NEW] ESP32 Board MAC Address:  ");\\+Serial.print("[NEW] ESP32 Board MAC Address: ");\\
 Serial.println(WiFi.macAddress()); Serial.println(WiFi.macAddress());
  
Zeile 144: Zeile 141:
  
 } }
 +</code>
  
 Empfänger1 Empfänger1
  
 +<code>
 #include <WiFi.h>\\ #include <WiFi.h>\\
 #include <esp_wifi.h>\\ #include <esp_wifi.h>\\
 #include <esp_now.h> #include <esp_now.h>
  
-// Set MAC Address this device (bell receiver 1)\\ +//Set MAC Address this device (bell receiver 1)\\ 
-uint8_t newMACAddress[] = {0x30, 0xAF, 0xA1, 0x05, 0x1D, 0x63}; +uint8_t newMACAddress[] = {0x30, 0xAF, 0xA1, 0x05, 0x1D, 0x63}; uint8_t addr[] = {0x30, 0xAF, 0xA0, 0x05, 0x1D, 0x63}; unsigned long lastPrintoutTime = 0;\\
- +
-uint8_t addr[] = {0x30, 0xAF, 0xA0, 0x05, 0x1D, 0x63}; +
- +
-unsigned long lastPrintoutTime = 0;\\+
 bool isTriggered = false;\\ bool isTriggered = false;\\
-unsigned long lastTriggeredTime = 0; +unsigned long lastTriggeredTime = 0; typedef struct bell_struct {\\
- +
-typedef struct bell_struct {\\+
 uint64_t trigger;\\ uint64_t trigger;\\
-} bell_struct; +} bell_struct; //Create a struct_message called myData\\
- +
-//Create a struct_message called myData\\+
 bell_struct myData; bell_struct myData;
  
Zeile 174: Zeile 165:
 Serial.println(myData.trigger);\\ Serial.println(myData.trigger);\\
 if (memcmp(mac, addr, 6) == 0) { // Check if expected Mac Addr\\ if (memcmp(mac, addr, 6) == 0) { // Check if expected Mac Addr\\
-  Serial.println("klingel device received!");\\ +Serial.println("klingel device received!");\\ 
-  if (myData.trigger == 8562190430) {\\ +if (myData.trigger == 8562190430) {\\ 
-    Serial.println("valid Trigger code received!");\\ +Serial.println("valid Trigger code received!");\\ 
-    triggerbell();\\ +triggerbell();\\
-  }\\+
 }\\ }\\
-+}\\ 
- +void setup() { Serial.begin(115200); Serial.println(); WiFi.mode(WIFI_STA); Serial.print("[OLD] ESP32 Board MAC Address: ");\\ 
-void setup() { +Serial.println(WiFi.macAddress()); //ESP32 Board add-on before version < 1.0.5\\ 
- +//esp_wifi_set_mac(ESP_IF_WIFI_STA, &newMACAddress[0]); // ESP32 Board add-on after version > 1.0.5\\
-Serial.begin(115200); +
- +
-Serial.println(); +
- +
-WiFi.mode(WIFI_STA); +
- +
-Serial.print("[OLD] ESP32 Board MAC Address:  ");\\ +
-Serial.println(WiFi.macAddress()); +
- +
-// ESP32 Board add-on before version < 1.0.5\\ +
-//esp_wifi_set_mac(ESP_IF_WIFI_STA, &newMACAddress[0]); +
- +
-// ESP32 Board add-on after version > 1.0.5\\+
 esp_wifi_set_mac(WIFI_IF_STA, &newMACAddress[0]); esp_wifi_set_mac(WIFI_IF_STA, &newMACAddress[0]);
  
-Serial.print("[NEW] ESP32 Board MAC Address:  ");\\+Serial.print("[NEW] ESP32 Board MAC Address: ");\\
 Serial.println(WiFi.macAddress()); Serial.println(WiFi.macAddress());
  
Zeile 206: Zeile 183:
  
 digitalWrite(LED_BUILTIN, LOW);\\ digitalWrite(LED_BUILTIN, LOW);\\
-digitalWrite(4, HIGH);   // trigger bell\\+digitalWrite(4, HIGH); // trigger bell\\
 delay(100);\\ delay(100);\\
 digitalWrite(4, LOW);\\ digitalWrite(4, LOW);\\
 digitalWrite(LED_BUILTIN, HIGH);\\ digitalWrite(LED_BUILTIN, HIGH);\\
-delay(100); +delay(100); //Set device as a Wi-Fi Station\\
- +
-//Set device as a Wi-Fi Station\\+
 WiFi.mode(WIFI_STA); WiFi.mode(WIFI_STA);
  
 //Init ESP-NOW\\ //Init ESP-NOW\\
 if (esp_now_init() != ESP_OK) {\\ if (esp_now_init() != ESP_OK) {\\
-  Serial.println("Error initializing ESP-NOW");\\ +Serial.println("Error initializing ESP-NOW");\\ 
-  ESP.restart();\\ +ESP.restart();\\ 
-} +} //Once ESPNow is successfully Init, we will register for recv CB to\\ 
- +//get recv packer info\\
-// Once ESPNow is successfully Init, we will register for recv CB to\\ +
-// get recv packer info\\+
 esp_now_register_recv_cb(OnDataRecv);\\ esp_now_register_recv_cb(OnDataRecv);\\
-} +}\\
- +
-\\+
 void triggerbell() {\\ void triggerbell() {\\
 if (!isTriggered || (millis() - lastTriggeredTime > 10000)) {\\ if (!isTriggered || (millis() - lastTriggeredTime > 10000)) {\\
-  isTriggered = true;\\ +isTriggered = true;\\ 
-  lastTriggeredTime = millis();+lastTriggeredTime = millis(); digitalWrite(LED_BUILTIN, LOW);\\ 
 +digitalWrite(4, HIGH); //trigger bell
  
-  digitalWrite(LED_BUILTIN, LOW);\\ +delay(100);\\ 
-  digitalWrite(4, HIGH);   // trigger bell\\ +digitalWrite(4, LOW);\\ 
-  delay(100);\\ +digitalWrite(LED_BUILTIN, HIGH);\\ 
-  digitalWrite(4, LOW);\\ +Serial.println("bell triggered");\\ 
-  digitalWrite(LED_BUILTIN, HIGH);\\ +}
-  Serial.println("bell triggered");\\ +
-}\\+
 } }
  
 void loop() {\\ void loop() {\\
-// Print out the `isTriggered` variable every second\\+//Print out the `isTriggered` variable every second\\
 if (millis() - lastPrintoutTime > 1000) {\\ if (millis() - lastPrintoutTime > 1000) {\\
-  Serial.print("isTriggered: ");\\ +Serial.print("isTriggered: ");\\ 
-  Serial.println(isTriggered);\\ +Serial.println(isTriggered);\\ 
-  lastPrintoutTime = millis();\\ +lastPrintoutTime = millis();\\ 
-}\\ +}// \\
-\\ +
-// Reset the `isTriggered` variable after 5 seconds\\ +
-if (millis() - lastTriggeredTime > 5000) {\\ +
-  isTriggered = false;\\ +
-}\\+
 \\ \\
 +Reset the `isTriggered` variable after 5 seconds\\
 +if (millis() - lastTriggeredTime > 5000) {
 +
 +isTriggered = false;\\
 +
 +}
 +
 } }
 +</code>
  
 Empfänger2 Empfänger2
  
 +<code>
 #include <WiFi.h>\\ #include <WiFi.h>\\
 #include <esp_wifi.h>\\ #include <esp_wifi.h>\\
 #include <esp_now.h> #include <esp_now.h>
  
-// Set MAC Address this device (bell receiver 2)\\ +//Set MAC Address this device (bell receiver 2)\\ 
-uint8_t newMACAddress[] = {0x30, 0xAF, 0xA2, 0x05, 0x1D, 0x63}; +uint8_t newMACAddress[] = {0x30, 0xAF, 0xA2, 0x05, 0x1D, 0x63}; uint8_t addr[] = {0x30, 0xAF, 0xA0, 0x05, 0x1D, 0x63}; unsigned long lastPrintoutTime = 0;\\
- +
-uint8_t addr[] = {0x30, 0xAF, 0xA0, 0x05, 0x1D, 0x63}; +
- +
-unsigned long lastPrintoutTime = 0;\\+
 bool isTriggered = false;\\ bool isTriggered = false;\\
-unsigned long lastTriggeredTime = 0; +unsigned long lastTriggeredTime = 0; typedef struct bell_struct {\\
- +
-typedef struct bell_struct {\\+
 uint64_t trigger;\\ uint64_t trigger;\\
-} bell_struct; +} bell_struct; //Create a struct_message called myData\\
- +
-//Create a struct_message called myData\\+
 bell_struct myData; bell_struct myData;
  
Zeile 285: Zeile 251:
 Serial.println(myData.trigger);\\ Serial.println(myData.trigger);\\
 if (memcmp(mac, addr, 6) == 0) { // Check if expected Mac Addr\\ if (memcmp(mac, addr, 6) == 0) { // Check if expected Mac Addr\\
-  Serial.println("klingel device received!");\\ +Serial.println("klingel device received!");\\ 
-  if (myData.trigger == 8562190430) {\\ +if (myData.trigger == 8562190430) {\\ 
-    Serial.println("valid Trigger code received!");\\ +Serial.println("valid Trigger code received!");\\ 
-    triggerbell();\\ +triggerbell();\\
-  }\\+
 }\\ }\\
-+}\\ 
- +void setup() { Serial.begin(115200); Serial.println(); WiFi.mode(WIFI_STA); Serial.print("[OLD] ESP32 Board MAC Address: ");\\ 
-void setup() { +Serial.println(WiFi.macAddress()); //ESP32 Board add-on before version < 1.0.5\\ 
- +//esp_wifi_set_mac(ESP_IF_WIFI_STA, &newMACAddress[0]); // ESP32 Board add-on after version > 1.0.5\\
-Serial.begin(115200); +
- +
-Serial.println(); +
- +
-WiFi.mode(WIFI_STA); +
- +
-Serial.print("[OLD] ESP32 Board MAC Address:  ");\\ +
-Serial.println(WiFi.macAddress()); +
- +
-// ESP32 Board add-on before version < 1.0.5\\ +
-//esp_wifi_set_mac(ESP_IF_WIFI_STA, &newMACAddress[0]); +
- +
-// ESP32 Board add-on after version > 1.0.5\\+
 esp_wifi_set_mac(WIFI_IF_STA, &newMACAddress[0]); esp_wifi_set_mac(WIFI_IF_STA, &newMACAddress[0]);
  
-Serial.print("[NEW] ESP32 Board MAC Address:  ");\\+Serial.print("[NEW] ESP32 Board MAC Address: ");\\
 Serial.println(WiFi.macAddress()); Serial.println(WiFi.macAddress());
  
Zeile 317: Zeile 269:
  
 digitalWrite(LED_BUILTIN, LOW);\\ digitalWrite(LED_BUILTIN, LOW);\\
-digitalWrite(4, HIGH);   // trigger bell\\+digitalWrite(4, HIGH); // trigger bell\\
 delay(100);\\ delay(100);\\
 digitalWrite(4, LOW);\\ digitalWrite(4, LOW);\\
 digitalWrite(LED_BUILTIN, HIGH);\\ digitalWrite(LED_BUILTIN, HIGH);\\
-delay(100); +delay(100); //Set device as a Wi-Fi Station\\
- +
-//Set device as a Wi-Fi Station\\+
 WiFi.mode(WIFI_STA); WiFi.mode(WIFI_STA);
  
 //Init ESP-NOW\\ //Init ESP-NOW\\
 if (esp_now_init() != ESP_OK) {\\ if (esp_now_init() != ESP_OK) {\\
-  Serial.println("Error initializing ESP-NOW");\\ +Serial.println("Error initializing ESP-NOW");\\ 
-  ESP.restart();\\ +ESP.restart();\\ 
-} +} //Once ESPNow is successfully Init, we will register for recv CB to\\ 
- +//get recv packer info\\
-// Once ESPNow is successfully Init, we will register for recv CB to\\ +
-// get recv packer info\\+
 esp_now_register_recv_cb(OnDataRecv);\\ esp_now_register_recv_cb(OnDataRecv);\\
-} +}\\
- +
-\\+
 void triggerbell() {\\ void triggerbell() {\\
 if (!isTriggered || (millis() - lastTriggeredTime > 10000)) {\\ if (!isTriggered || (millis() - lastTriggeredTime > 10000)) {\\
-  isTriggered = true;\\ +isTriggered = true;\\ 
-  lastTriggeredTime = millis();+lastTriggeredTime = millis(); digitalWrite(LED_BUILTIN, LOW);\\ 
 +digitalWrite(4, HIGH); //trigger bell
  
-  digitalWrite(LED_BUILTIN, LOW);\\ +delay(100);\\ 
-  digitalWrite(4, HIGH);   // trigger bell\\ +digitalWrite(4, LOW);\\ 
-  delay(100);\\ +digitalWrite(LED_BUILTIN, HIGH);\\ 
-  digitalWrite(4, LOW);\\ +Serial.println("bell triggered");\\ 
-  digitalWrite(LED_BUILTIN, HIGH);\\ + 
-  Serial.println("bell triggered");\\ +}
-}\\+
 } }
  
 void loop() {\\ void loop() {\\
-// Print out the `isTriggered` variable every second\\+//Print out the `isTriggered` variable every second\\
 if (millis() - lastPrintoutTime > 1000) {\\ if (millis() - lastPrintoutTime > 1000) {\\
-  Serial.print("isTriggered: ");\\ +Serial.print("isTriggered: ");\\ 
-  Serial.println(isTriggered);\\ +Serial.println(isTriggered);\\ 
-  lastPrintoutTime = millis();\\ +lastPrintoutTime = millis();\\ 
-}\\ +}// \\
-\\ +
-// Reset the `isTriggered` variable after 5 seconds\\ +
-if (millis() - lastTriggeredTime > 5000) {\\ +
-  isTriggered = false;\\ +
-}\\+
 \\ \\
 +Reset the `isTriggered` variable after 5 seconds\\
 +if (millis() - lastTriggeredTime > 5000) {
 +
 +isTriggered = false;\\
 +
 +}
 +
 } }
 +</code>
  
  
sonstiges/tuerklingel.1696017510.txt.gz · Zuletzt geändert: 2023-09-29 21:58 von schuballaa