https://javascript.plainenglish.io/physical-computing-with-javascript-8-8-connecting-to-internet-151ba3dfce59にある例題
-----kalumajs----
storage.setItem('WIFI_SSID', 'Buffalo-2G-8340');
storage.setItem('WIFI_PASSWORD', '');
storage.setItem('ADDRESS', '192.168.11.8');
storage.setItem('PORT', '3001');
const {DHT} = require('dht');
const {ESP8266HTTPClient}=require('esp8266-http-client');
const dht = new DHT(15,DHT.DHT11);
cons esp=new ESP8266HTTPClient();
const addr = store.getItem('ADDRESS');
function start(){
setInterval(() => {
dht.read();
let t = dht.temperature.toFixed(1);
let h = dht.humidity.toFixed(0);
esp.http(`http://${addr}:${port}/update?`
},10000);
}
esp.wifi().then(() => {
console.log('wifi connected');
start();
}).catch(err =>{
console.log('wifi connect failed');
console.log(err);
}
};
----- node.js ------
const express = require('express');
const ip = require('ip');
const app = express();
const addr=ip.address();
const port=3001;
const html = `
<html>
<head></head>
<body>
<h1>{{t}}</h1>
<h1>{{h}}</h1>
</body>
</html>
`
let temperature='0.0'
let humidity='0';
app.get('/update',(req,res) => {
temperature = req.query.t
humidity = req.query.h
res.status(200).send('OK')
})
app.get('/',(req,res) => {
res.setHeader('content-type','text/html');
res.send(html
.replace('{{t}}',temperature)
.replace('{{h}}',humidity))
})
app.listen(port,()=> {
console.log(`app listen at htpp://${addr}:${port}`)
})
url/update?t=27.5&h=45で入力し url/で確認できた