树莓派:4. 树莓派搭建美观的物联网温度服务器-ECharts、HTML5、JavaScript / ECharts gauge使用示例

1. 效果

这里写图片描述

2. 简介

1. 其中仪表的部分使用的是ECharts的gauge控件实现。
2. CGI使用自动刷新的方式每隔3秒自动运行一次,gauge控件每隔3秒读取CGI的html文档,并且解析出温度,显示到表盘上。

3. HTML代码

<!DOCTYPE html>
<html lang="en">
<head>
    <title>ECharts</title>
    <!-- 来自百度CDN -->
    <script src="./esl.js"></script>
</head>
<body>
    <img src="city2.jpg" height="100%" width="100%">
    <h1 align="left" style="color:black;font-size:40px;">物联网温度检测 </h1>

    <hr size="1" width="100%" color="black" noshade="noshade" />
    <iframe id = "hellocgi" src="cgi-bin/hello.cgi" width="0" height="0"></iframe>

    <!--#exec cgi="cgiProgram.cgi"-->

    <div id="main2" style="height:600px" align="left"></div>
    <script type="text/javascript">
        var timeTicket;
        // 路径配置
        require.config({
            paths:{ 
                'echarts' : './echarts',
                'echarts/chart/bar' : './echarts',
                'echarts/chart/line' : './echarts',
                'echarts/chart/gauge' : './echarts'
            }});

        // 使用
        require([
                'echarts',
                'echarts/chart/bar', // 使用柱状图就加载bar模块,按需加载
                'echarts/chart/line',
                'echarts/chart/gauge'],
            function (ec) {

                var myChart2 = ec.init(document.getElementById('main2')); 
                var option2 = {
                    tooltip : {formatter: "{a} <br/>{b} : {c}%"},
                    series : [{
                            name:'物联网温度',
                            type:'gauge',
                            detail : {formatter:'{value}摄氏度'},
                            data:[{value: 0, name: ''}]
                        }]};

                clearInterval(timeTicket); 
                timeTicket = setInterval(function(){

                    var d = window.frames["hellocgi"].document;             
                    var str = d.getElementsByTagName('h1')[0].innerHTML;
                    option2.series[0].data[0].value = str; 
                    //option2.series[0].data[0].value = (Math.random() * 100).toFixed(2) - 0; 
                    myChart2.setOption(option2, true); 
                }, 2000); 

                // 为echarts对象加载数据  
                myChart2.setOption(option2);
            }
        );
    </script>
    <hr size="1" width="100%" color="black" noshade="noshade" />
</body>
</html>

4. 文件列表

这里写图片描述

5. 源码下载

Git clone: https://github.com/XiaoYuQin/BOA-HTML-CGI.git
gitHub:https://github.com/XiaoYuQin/BOA-HTML-CGI

  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值