const express = require('express');
const bodyParser = require('body-parser');
const cors = require('cors');
const app = express();
const port = 3000;
app.use(cors()); // CORS ayarlarını ekleyin.
app.use(bodyParser.json());
// Basit HTML dosyası sunma.
app.get('/', (req, res) => {
res.send(`
<html>
<head><title>Data Display</title></head>
<body>
<h1>Data from ESP8266</h1>
<p id="key1">Key1: N/A</p>
<p id="key2">Key2: N/A</p>
<script>
async function fetchData() {
try {
const response = await fetch('/api/endpoint');
if (!response.ok) {
throw new Error('HTTP error: ' + response.status);
}
const data = await response.json();
document.getElementById('key1').textContent = 'Key1: ' + data.key1;
document.getElementById('key2').textContent = 'Key2: ' + data.key2;
} catch (error) {
console.error('Error fetching data:', error);
document.getElementById('key1').textContent = 'Key1: Error';
document.getElementById('key2').textContent = 'Key2: Error';
}
}
window.onload = fetchData;
</script>
</body>
</html>
`);
});
// POST isteği ile verileri alıyoruz.
app.post('/api/endpoint', (req, res) => {
receivedData = req.body;
console.log('Data received:', receivedData);
res.send('Data received');
});
// GET isteği ile verileri döndürüyoruz.
app.get('/api/endpoint', (req, res) => {
if (!receivedData) {
return res.status(404).json({ error: 'No data available' });
}
res.json(receivedData);
});
// Sunucuyu başlatıyoruz.
app.listen(port, () => {
console.log(`Server is running at http://localhost:${port}`);
});