-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathindex.html
109 lines (90 loc) · 3.23 KB
/
index.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
<!DOCTYPE html>
<head>
<title>Teste Web Bluetooth com Leds</title>
</head>
<body>
<header>
<h1>Basico Teste Web Bluetooth com Leds e Nano</h1>
</header>
<input id="connectButton" type="button" value="Conectar" />
<input id="toggleRed" type="button" value="On/Off Vermelho" data-code="2" disabled />
<input id="toggleGreen" type="button" value="On/Off Verde" data-code="3" disabled />
<input id="toggleBlue" type="button" value="On/Off Azul" data-code="4" disabled />
<input id="runBlink" type="button" value="Piscar" data-code="1" disabled />
<input id="ledsOff" type="button" value="Desligar Leds" data-code="0" disabled />
<input id="disconnectButton" type="button" value="Desconectar" onclick="doDisconnect()" disabled />
<!-- <input id="connectButton" type="button" value="clickme" onclick="doFunction();" />
-->
<script>
const SEND_SERVICE = 0xFFE0;
const SEND_SERVICE_CHARACTERISTIC = 0xFFE1;
let myDevice;
let toggleLigthCharacteristic;
connectButton.addEventListener('click', doConnect);
toggleRed.addEventListener('click', doToggle);
toggleGreen.addEventListener('click', doToggle);
toggleBlue.addEventListener('click', doToggle);
runBlink.addEventListener('click', doToggle);
ledsOff.addEventListener('click', doToggle);
function doConnect() {
<!-- alert('You triggered an alert!'); -->
navigator.bluetooth.requestDevice({
//filters: [
// { name: 'BT05' }
// //,
// //{ services: [0xFFE0] },
//]
acceptAllDevices:true
})
.then(device => {
myDevice = device;
return device.gatt.connect();
})
.then(server => {console.log(server); return server.getPrimaryService(SEND_SERVICE);})
.then(service => {console.log(service); return service.getCharacteristic(SEND_SERVICE_CHARACTERISTIC); })
.then(characteristic => {
toggleLigthCharacteristic = characteristic;
disableButtons(false);
//toggleItemsEventListeners('addEventListener');
})
//.then( dev => {myDevice = device; disableButtons(false); });
.catch(error => {
console.error(error);
});
}
function disableButtons(onOff) {
document.getElementById("toggleRed").disabled = onOff;
document.getElementById("toggleBlue").disabled = onOff;
document.getElementById("toggleGreen").disabled = onOff;
document.getElementById("runBlink").disabled = onOff;
document.getElementById("ledsOff").disabled = onOff;
document.getElementById("disconnectButton").disabled = onOff;
}
function doToggle(event) {
const code = Number(event.target.dataset.code);
if (code === 1) {
toggleLigthCharacteristic.writeValue(Uint8Array.of(code));
return;
}
toggleLigthCharacteristic.readValue()
.then(currentCode => {
const convertedCode = currentCode.getUint8(0);
toggleLigthCharacteristic.writeValue(Uint8Array.of(convertedCode === code ? 0 : code));
});
}
function doDisconnect() {
//lightOffButtonClickHandler()
//.then( () => {
myDevice.gatt.disconnect();
//toggleItemsEventListeners('removeEventListener');
//toggleButtonsVisible();
disableButtons(true);
toggleLigthCharacteristic = undefined;
myDevice = undefined;
//});
}
</script>
<!-- <script src="./index.js"></script> -->
<!-- <script type="text/javascript" src="index.js"></script> -->
</body>
</html>