专栏首页技术综合搭建简易的物联网服务端和客户端-第一次增补(十一)

搭建简易的物联网服务端和客户端-第一次增补(十一)

一些增加和改动。 代码地址:https://github.com/klren0312/stm32_wifi 2017.3.30

搭建简易的物联网服务端和客户端目录

第一次增补

1.增加时间

原本想着单片机传到tcp服务器的时候就获取时间,感觉不会 所有选择在tcp服务器将数据存入数据库的时候,通过nodejs来获取时间,然后一起存到数据库。

1)获取时间

arr.time = new Date().toLocaleString();

2)将时间一起放到json里,然后存到数据库

var text =JSON.parse(data.toString());
var arr = {};
arr.tem = text.temperature;
arr.hum = text.humidity;
arr.indoor = text.Red_Led;
arr.time = new Date().toLocaleString();
arr.x = text.Xg;
arr.y = text.Yg;
arr.z = text.Zg;
conn.query('INSERT INTO pet SET ?', arr, function(error,result,fields){
    if (error) throw error;
});

2.接口服务器处理时间,并提供接口

由于new Date().toLocaleString();提供的时间格式是"2017/3/30 上午10:30:07",而我们只使用后面的具体时间,不用日期。所以我们需要处理一下,在暴露出去。

1)处理时间 使用split函数,分隔符为空格,然后将空格前后的数据存入数组,我们只要下标为1的那个数据即可。

var timeorigin= rows[j].time;
var timeafter= timeorigin.split(" ");

处理时间

2)然后就是提供接口,提供最新的五个

app.get('/time',function(req,res){
    var time = [];
    conn.query('SELECT * FROM pet',function(err,rows,fields){
        var i = rows.length;
        var j = i - 5;
        var c = 0 ;
        while(j<i){
            //事件处理
            var timeorigin= rows[j].time;
            var timeafter= timeorigin.split(" ");
            //处理后的时间存入数组
            time[c] = timeafter[1];
            c++;
            j++;
        }
        res.send(JSON.stringify(time));
    })
})

3.前端获取时间,并显示到折线图

在ECharts折线图的x轴显示时间

1)获取显示代码

fetch("http://127.0.0.1:3000/time")
    .then(status)
    .then(json)
    .then(function(data){
        // 折线图湿度
        myChart.setOption({
            xAxis:{
                data:data
            }
        });
    })
    .catch(function(err){
        console.log("Fetch错误:"+err);
    });

4.结果显示

1)数据库

数据库

2)折线图X轴时间显示

折线图X轴时间显示

@治电小白菜20170330

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 搭建简易的物联网服务端和客户端-微博发送信息(十五)

    治电小白菜
  • Cordova安装

    治电小白菜
  • Cordova+React+Ant.design项目搭建

    治电小白菜
  • pip conda 安装速度慢解决方法

    修改 ~/.pip/pip.conf(没有就创建一个文件夹及文件。文件夹要加“.”,表示是隐藏文件夹) 内容如下:

    莫斯
  • 七夕秀恩爱新姿势!这波操作我给十分!

    像每一滴酒回不了最初的葡萄,我回不到年少。爱情亦是如此,这就是写一篇小程序的初衷,用来记录我和她最美的恋爱。什么是最美恋爱?就是繁忙之余的一封书信,一起奋...

    腾讯云开发TCB
  • 腾讯云CDN的加速域名、源站地址与回源host之间的关系

    加速域名是接入腾讯云CDN的域名,例如使用www.yeruchimei.top域名接入CDN,那么加速域名就是www.yeruchimei.top咯。

    HadesMo
  • Python源码分析(二) - List对象

      python中的高级特性之一就是内置了list,dict等。今天就先围绕列表(List)进行源码分析。

    oYabea
  • 固定表头和第一列表格的实现

    在开发的时候,我们有时候会有这样的需求:由于表格的内容比较多,如果横竖都出现滚动条就看不到表头了,这就要求表格的表头和第一列固定,并且出现双向滚动条。本文就就给...

    lzugis
  • sql学习~left

    字符或二进制数据的表达式。 character_expression 可以是常量、变量或列 。

    Vincent-yuan
  • 通过WGCNA作者的测试数据来学习

    在这样的测试数据里面很容易跟着作者的文档,一步步掌握WGCNA,文档步骤目录如下:

    生信技能树

扫码关注云+社区

领取腾讯云代金券