2024-11-01 10:40:06 +01:00
|
|
|
<!DOCTYPE html>
|
2024-12-01 14:28:49 +01:00
|
|
|
<html lang='en'>
|
2024-11-01 10:40:06 +01:00
|
|
|
<head>
|
2024-12-01 14:28:49 +01:00
|
|
|
<meta charset='UTF-8'>
|
|
|
|
|
<meta name='viewport' content='width=device-width, initial-scale=1.0'>
|
2024-11-01 10:40:06 +01:00
|
|
|
<title>Arduino Remote Web</title>
|
2024-12-01 13:46:04 +01:00
|
|
|
<style>
|
|
|
|
|
:root {
|
2024-12-02 15:23:41 +01:00
|
|
|
--bg-color: #2c3e50;
|
2024-12-01 13:46:04 +01:00
|
|
|
--btn-color: #ecf0f1;
|
|
|
|
|
--btn-hover-color: #bdc3c7;
|
|
|
|
|
--text-color: #34495e;
|
|
|
|
|
--highlight-color: #3498db;
|
|
|
|
|
--border-radius: 10px;
|
|
|
|
|
--box-shadow: 0px 4px 8px rgba(0, 0, 0, 0.2);
|
|
|
|
|
}
|
|
|
|
|
body {
|
|
|
|
|
background-color: var(--bg-color);
|
|
|
|
|
font-family: Arial, sans-serif;
|
|
|
|
|
color: var(--btn-color);
|
|
|
|
|
margin: 0;
|
|
|
|
|
display: flex;
|
|
|
|
|
flex-direction: column;
|
|
|
|
|
align-items: center;
|
|
|
|
|
justify-content: center;
|
|
|
|
|
min-height: 100vh;
|
|
|
|
|
}
|
|
|
|
|
.flex-container {
|
|
|
|
|
display: flex;
|
|
|
|
|
flex-direction: row;
|
|
|
|
|
justify-content: center;
|
|
|
|
|
flex-wrap: wrap;
|
|
|
|
|
gap: 10px;
|
|
|
|
|
margin-bottom: 20px;
|
|
|
|
|
}
|
|
|
|
|
.flex-container-column {
|
|
|
|
|
display: flex;
|
|
|
|
|
flex-direction: column;
|
|
|
|
|
justify-content: center;
|
|
|
|
|
gap: 10px;
|
|
|
|
|
}
|
|
|
|
|
.flex-container>div,
|
|
|
|
|
.flex-container-column>div {
|
|
|
|
|
background-color: var(--btn-color);
|
|
|
|
|
color: var(--text-color);
|
|
|
|
|
border-radius: var(--border-radius);
|
|
|
|
|
padding: 20px;
|
|
|
|
|
font-size: 24px;
|
|
|
|
|
font-weight: bold;
|
|
|
|
|
text-align: center;
|
|
|
|
|
box-shadow: var(--box-shadow);
|
|
|
|
|
transition: transform 0.2s ease, background-color 0.3s ease;
|
|
|
|
|
cursor: pointer;
|
|
|
|
|
flex: 1;
|
|
|
|
|
}
|
|
|
|
|
.flex-container>div:hover,
|
|
|
|
|
.flex-container-column>div:hover {
|
|
|
|
|
background-color: var(--btn-hover-color);
|
|
|
|
|
transform: scale(1.05);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.flex-container>div:active,
|
|
|
|
|
.flex-container-column>div:active {
|
|
|
|
|
transform: scale(0.95);
|
|
|
|
|
background-color: var(--highlight-color);
|
|
|
|
|
color: #fff;
|
|
|
|
|
}
|
|
|
|
|
#numpad {
|
|
|
|
|
display: flex;
|
|
|
|
|
flex-direction: column;
|
|
|
|
|
gap: 5px;
|
|
|
|
|
}
|
|
|
|
|
#numpad div {
|
|
|
|
|
display: flex;
|
|
|
|
|
justify-content: center;
|
|
|
|
|
gap: 10px;
|
|
|
|
|
flex-wrap: nowrap;
|
|
|
|
|
}
|
|
|
|
|
#number-0 {
|
|
|
|
|
flex: 1;
|
|
|
|
|
display: flex;
|
|
|
|
|
justify-content: center;
|
|
|
|
|
align-items: center;
|
|
|
|
|
height: 60px;
|
|
|
|
|
}
|
|
|
|
|
@media (max-width: 768px) {
|
|
|
|
|
.flex-container {
|
|
|
|
|
flex-direction: column;
|
|
|
|
|
}
|
|
|
|
|
#numpad div {
|
|
|
|
|
flex-direction: row;
|
|
|
|
|
justify-content: space-between;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
@media (max-width: 480px) {
|
|
|
|
|
|
|
|
|
|
.flex-container>div,
|
|
|
|
|
.flex-container-column>div {
|
|
|
|
|
font-size: 20px;
|
|
|
|
|
padding: 15px;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
#numpad div {
|
|
|
|
|
font-size: 20px;
|
|
|
|
|
padding: 10px;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
#number-0 {
|
|
|
|
|
height: 60px;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
</style>
|
2024-12-01 14:28:49 +01:00
|
|
|
<script type='application/javascript'>
|
2025-03-07 09:40:08 +01:00
|
|
|
function sendButtonSignal(buttonCode) {
|
2024-12-01 13:46:04 +01:00
|
|
|
fetch('/sendSignal', {
|
|
|
|
|
method: 'POST',
|
|
|
|
|
headers: { 'Content-Type': 'application/json' },
|
2024-12-01 14:20:06 +01:00
|
|
|
body: JSON.stringify({ code: buttonCode })
|
2024-12-01 13:46:04 +01:00
|
|
|
})
|
|
|
|
|
}
|
2025-03-07 09:40:08 +01:00
|
|
|
|
|
|
|
|
function wakepc() {
|
|
|
|
|
fetch('/wakepc')
|
|
|
|
|
}
|
2024-12-01 13:46:04 +01:00
|
|
|
</script>
|
|
|
|
|
</head>
|
2024-11-01 10:40:06 +01:00
|
|
|
<body>
|
2024-12-01 14:28:49 +01:00
|
|
|
<div id='buttons' class='flex-container'>
|
2025-03-07 09:40:08 +01:00
|
|
|
<div id='wakepc' onclick='wakepc()'>WakePc</div>
|
2024-12-01 14:28:49 +01:00
|
|
|
<div id='power' onclick='sendButtonSignal(0x15)'>Power</div>
|
|
|
|
|
<div id='exit' onclick='sendButtonSignal(0x13)'>Exit</div>
|
|
|
|
|
<div id='guide' onclick='sendButtonSignal(0x47)'>Guide</div>
|
|
|
|
|
<div id='mute' onclick='sendButtonSignal(0x16)'>Mute</div>
|
|
|
|
|
<div id='source' onclick='sendButtonSignal(0x12)'>Source</div>
|
2024-11-01 10:40:06 +01:00
|
|
|
</div>
|
2024-12-01 14:28:49 +01:00
|
|
|
<div class='flex-container'>
|
|
|
|
|
<div id='volume' class='flex-container-column'>
|
|
|
|
|
<div id='volume-up' onclick='sendButtonSignal(0x1B)'>Volume up</div>
|
|
|
|
|
<div id='volume-down' onclick='sendButtonSignal(0x1A)'>Volume down</div>
|
2024-11-01 10:40:06 +01:00
|
|
|
</div>
|
2024-12-01 14:28:49 +01:00
|
|
|
<div id='channel' class='flex-container-column'>
|
|
|
|
|
<div id='channel-up' onclick='sendButtonSignal(0x19)'>Channel up</div>
|
|
|
|
|
<div id='channel-down' onclick='sendButtonSignal(0x18)'>Channel down</div>
|
2024-11-01 10:40:06 +01:00
|
|
|
</div>
|
|
|
|
|
</div>
|
2024-12-01 14:28:49 +01:00
|
|
|
<div id='numpad'>
|
|
|
|
|
<div id='numpad-row-1' class='flex-container'>
|
|
|
|
|
<div id='number-1' onclick='sendButtonSignal(0x1)'>1</div>
|
|
|
|
|
<div id='number-2' onclick='sendButtonSignal(0x2)'>2</div>
|
|
|
|
|
<div id='number-3' onclick='sendButtonSignal(0x3)'>3</div>
|
2024-11-01 10:40:06 +01:00
|
|
|
</div>
|
2024-12-01 14:28:49 +01:00
|
|
|
<div id='numpad-row-2' class='flex-container'>
|
|
|
|
|
<div id='number-4' onclick='sendButtonSignal(0x4)'>4</div>
|
|
|
|
|
<div id='number-5' onclick='sendButtonSignal(0x5)'>5</div>
|
|
|
|
|
<div id='number-6' onclick='sendButtonSignal(0x6)'>6</div>
|
2024-11-01 10:40:06 +01:00
|
|
|
</div>
|
2024-12-01 14:28:49 +01:00
|
|
|
<div id='numpad-row-3' class='flex-container'>
|
|
|
|
|
<div id='number-7' onclick='sendButtonSignal(0x7)'>7</div>
|
|
|
|
|
<div id='number-8' onclick='sendButtonSignal(0x8)'>8</div>
|
|
|
|
|
<div id='number-9' onclick='sendButtonSignal(0x9)'>9</div>
|
2024-11-01 10:40:06 +01:00
|
|
|
</div>
|
2024-12-01 14:28:49 +01:00
|
|
|
<div id='numpad-row-4' class='flex-container'>
|
|
|
|
|
<div id='number-0' onclick='sendButtonSignal(0x0)'>0</div>
|
2024-11-01 10:40:06 +01:00
|
|
|
</div>
|
|
|
|
|
</div>
|
2024-12-01 14:28:49 +01:00
|
|
|
<div id='arrows' class='flex-container'>
|
|
|
|
|
<div id='Up' onclick='sendButtonSignal(0xC)'>Up</div>
|
|
|
|
|
<div id='Down' onclick='sendButtonSignal(0xD)'>Down</div>
|
|
|
|
|
<div id='Left' onclick='sendButtonSignal(0xF)'>Left</div>
|
|
|
|
|
<div id='Right' onclick='sendButtonSignal(0xE)'>Right</div>
|
|
|
|
|
<div id='Enter' onclick='sendButtonSignal(0x10)'>Enter</div>
|
2024-11-01 10:40:06 +01:00
|
|
|
</div>
|
|
|
|
|
</body>
|
2024-12-01 15:24:51 +01:00
|
|
|
</html>
|