Hallo zusammen,
ich bin Anfänger und dabei mit einer Web-App über BLE mit einer Mikrocontroller basierte Hardware (einem ESP32) zu kommunizieren.
Hierzu habe ich einen HTML-Code geschrieben, der auf JavaScript Funktionen zurückgreift.
Bis vor kurzem hat alles super funktioniert, doch auf einmal bekomme ich dauernd die Fehlermeldung (ReferenceError: verbinden is not defined at HTMLButtonElement.onclick), dass meine Funktion, die ich verwenden möchte nicht definiert sei.
Ich habe schon viel rumprobiert doch komme einfach nicht darauf, warum es auf einmal nichtmehr funktioniert.
Falls mir jemand hier weiterhelfen kann, wäre das sehr nett!
Vielen Dank im Voraus!
Mein HTML Code:
HTML
<!doctype html>
<html>
<head>
<title>ESP32-Controller</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="stylesheet" href="https://fonts.googleapis.com/icon?family=Material+Icons">
<link rel="stylesheet" href="https://code.getmdl.io/1.1.3/material.indigo-pink.min.css">
<link rel="stylesheet" href="styles.css" />
<link rel="manifest" href="manifest.json" />
<script defer src="https://code.getmdl.io/1.1.3/material.min.js"></script>
</head>
<body>
<div class="app-layout mdl-layout mdl-js-layout">
<main class="mdl-layout__content">
<h3>ESP32 Output Controll</h3>
<button onclick = "connect()" class="connect-button mdl-button mdl-js-button mdl-button--raised mdl-button--colored">
<i class="material-icons">bluetooth</i> Verbinden
</button>
<div class="power-button hidden">
<button onclick="togglePower()" class="mdl-button mdl-js-button mdl-button--fab mdl-button--raised mdl-js-ripple-effect">
<i class="material-icons">lightbulb_outline</i>
</button>
</div>
</main>
</div>
<script src="led.js" ></script>
</body>
</html>
Alles anzeigen
Die JavaScript-Funktion:
Code
function connect() {
console.log('Suche Bluetooth Geräte...');
navigator.bluetooth.requestDevice(
{
filters: [{ name: ["MyESP32"] }],
optionalServices: ["e7d50447-5d62-4436-a199-e91d44ef49ea"]
})
.then(device => {
console.log(device.name + ' gefunden');
console.log('Verbinden mit GATT Server...');
device.addEventListener('gattserverdisconnected', onDisconnected)
return device.gatt.connect();
})
.then(server => {
return server.getPrimaryService("e7d50447-5d62-4436-a199-e91d44ef49ea");
})
.then(service => {
return service.getCharacteristic("05df9502-fba7-4ef1-ac64-fc13c13745ca");
})
.then(characteristic => {
console.log('Startklar!');
ledCharacteristic = characteristic;
onConnected();
powerOff();
//Statusabfrage
})
.catch(error => {
console.log('Fehler! ' + error);
});
}
Alles anzeigen