前の記事

前回のコード


const fs = require('fs');

let data_th = [];
let temp = () => {
    let buff = fs.readFileSync('/sys/bus/w1/devices/28-3c01b556b5e5/w1_slave'); // ファイルの読み込み
    let data_sp = buff.toString().split("="); // =のところで分割する
    data_th.push(data_sp.pop()); //pop()で後部を切り取りpush()で配列に追加
    let data_dig = (data_th.map(Number))/100; // Numberで数値変換して/100で桁合わせ
    data_th = []; //リセット
    let data_rou = (Math.round(data_dig))/10; // roundで丸めた後少数点第1位にする
    return data_rou; // 整えた測定値を返す
}
console.log(temp()); // ターミナルに測定値の表示
                

expressを使用する




    const fs = require('fs'); //ファイルを読み込むfsの準備
    const express = require('express'); //サーバーを立てるexpressの準備
    const app = express(); //expressの装備
    const ejs = require('ejs'); //ejsブラウザ表示用ファイルの準備

    app.engine('ejs',ejs.renderFile); //ejsを指定    
    app.use(express.static('public')); //静的ファイル(画像や表示画面設定するファイル)のファルダ指定
    app.use(express.urlencoded({extended: false}));
    app.get('/', (req, res) => {          // トップページを表示するリクエストを受け取る
              // ここに前回のコードを挿入してリクエストを受けたら温度を測定する 
        }
        res.render('temp.ejs',{value:}); // ブラウザに表示する画面用ファイルの指定と、value:を使って温度データを画面と一緒にしてブラウザに送る
    });
    app.listen(3000); // 3000番ポートでサーバーを立てる
    

const fs = require('fs'); //ファイルを読み込むfsの準備
const express = require('express'); //サーバーを立てるexpressの準備
const app = express(); //expressの装備
const ejs = require('ejs'); //ejsブラウザ表示用ファイルの準備

app.use(express.static('public')); //静的ファイル(画像や表示画面設定するファイル)のファルダ指定
app.use(express.urlencoded({extended: false}));
app.engine('ejs',ejs.renderFile); //ejsを指定
// トップページを表示するリクエストを受け取る
app.get('/', (req, res) => {
    let data_th = [];
    let temp = () => {
        let buff = fs.readFileSync('/sys/bus/w1/devices/28-3c01b556b5e5/w1_slave');
        let data_sp = buff.toString().split("=");
        data_th.push(data_sp.pop());
        let data_dig = (data_th.map(Number))/100;
        data_th = [];
        let data_rou = (Math.round(data_dig))/10;
        return data_rou;
    }
    res.render('temp.ejs',{value:temp()}); // ブラウザに表示する画面用ファイルの指定と、value:を使って温度データを画面と一緒にしてrenderで画面をブラウザに送る
});
app.listen(3000); // 3000番ポートでサーバーを立てる
        
                                           
<!DOCTYPE html>
<html>
<head>    
    <title>temp</title>
  <link rel="stylesheet" href="style.css"> 
</head>
    <body>
        <nav>
            <h1>temp</h1>
        </nav>  
        <div>
            <p>
            <textarea><%= value %></textarea>
            <%# valueで温度テータを受け取る %>
            </p>        
        </div>   
    </body>
</html> 
    
                                           
body{
    background-color:lightBlue;
}
textarea{
    width:60%;
    height:160px;
    white-space: pre;
}     
        
    
次の記事