150 lines
5.6 KiB
HTML
150 lines
5.6 KiB
HTML
<!DOCTYPE html>
|
|
<html>
|
|
|
|
<head>
|
|
<meta charset="utf-8">
|
|
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
|
<title>Quectel Simple Admin</title>
|
|
|
|
<script src="/js/alpinejs.min.js" defer></script>
|
|
<link rel="stylesheet" href="/css/bulma.css">
|
|
<link rel="stylesheet" type="text/css" href="/css/admin.css">
|
|
</head>
|
|
|
|
<body>
|
|
|
|
<!-- START NAV -->
|
|
<nav class="navbar is-white" x-data="{ isOpen: false }">
|
|
<div class="container">
|
|
<div class="navbar-brand">
|
|
<a class="navbar-item brand-text" href="/">
|
|
Quectel Simple Admin
|
|
</a>
|
|
<a role="button" class="navbar-burger burger" @click="isOpen = !isOpen">
|
|
<span aria-hidden="true"></span>
|
|
<span aria-hidden="true"></span>
|
|
<span aria-hidden="true"></span>
|
|
</a>
|
|
</div>
|
|
<div id="navMenu" class="navbar-menu" :class="isOpen ? 'is-active' : ''">
|
|
<div class="navbar-start">
|
|
<a class="navbar-item" href="/">
|
|
Home
|
|
</a>
|
|
<a class="navbar-item" href="/atcommander.html">
|
|
ATI Commander
|
|
</a>
|
|
<a class="navbar-item" href="/ttl.html">
|
|
TTL Enabler
|
|
</a>
|
|
</div>
|
|
|
|
</div>
|
|
</div>
|
|
</nav>
|
|
<!-- END NAV -->
|
|
<div class="container" x-data="atCommands()">
|
|
<div class="columns">
|
|
<div class="column is-12">
|
|
<div class="columns">
|
|
<div class="column is-4">
|
|
<div class="card">
|
|
<header class="card-header">
|
|
<p class="card-header-title">
|
|
AT Command
|
|
</p>
|
|
</header>
|
|
<div class="card-content">
|
|
<div class="content">
|
|
<div class="field">
|
|
<label class="label">AT Command</label>
|
|
<div class="control">
|
|
<input class="input" type="text" placeholder="ATI" x-model="atcmd">
|
|
</div>
|
|
</div>
|
|
<div class="field">
|
|
<p class="control">
|
|
<button class="button is-success" @click="sendAtCommand()">
|
|
Send AT Command
|
|
</button>
|
|
</p>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="column is-8">
|
|
<div class="card">
|
|
<header class="card-header">
|
|
<p class="card-header-title">
|
|
ATI Response
|
|
</p>
|
|
</header>
|
|
<div class="card-content">
|
|
<div class="content">
|
|
<textarea class="textarea" placeholder="ATI Responses Will Appear Here" rows="10"
|
|
x-text="atCommandResponse"></textarea>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
</div>
|
|
|
|
<!-- START Useful Commands Section -->
|
|
<div class="container">
|
|
<div class="columns">
|
|
<div class="column is-12">
|
|
<div class="card">
|
|
<header class="card-header">
|
|
<p class="card-header-title">
|
|
Useful Commands
|
|
</p>
|
|
</header>
|
|
<div class="card-content">
|
|
<div class="content">
|
|
<!-- Add your useful commands content here -->
|
|
<p>Here are some useful commands:</p>
|
|
<ul>
|
|
<li>AT+CGDCONT=1,"IP","APN": Set APN</li>
|
|
<li>AT+CFUN=1,1: Restart Modem.</li>
|
|
<li>AT+GSN: Show IMEI.</li>
|
|
</ul>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<!-- END Useful Commands Section -->
|
|
|
|
<script>
|
|
|
|
function atCommands() {
|
|
return {
|
|
isLoading: false,
|
|
atcmd: null,
|
|
atCommandResponse: null,
|
|
sendAtCommand() {
|
|
fetch('/cgi-bin/get_atcommand?' + new URLSearchParams({
|
|
atcmd: this.atcmd,
|
|
}))
|
|
.then((res) => {
|
|
return res.text();
|
|
})
|
|
.then((data) => {
|
|
this.atCommandResponse = data;
|
|
this.isLoading = false;
|
|
})
|
|
},
|
|
}
|
|
}
|
|
</script>
|
|
</body>
|
|
|
|
</html> |