一些增加和改動(dòng)吞彤。
代碼地址:https://github.com/klren0312/stm32_wifi
2017.3.30
搭建簡易的物聯(lián)網(wǎng)服務(wù)端和客戶端目錄
第一次增補(bǔ)
1.增加時(shí)間
原本想著單片機(jī)傳到tcp服務(wù)器的時(shí)候就獲取時(shí)間,感覺不會(huì)
所有選擇在tcp服務(wù)器將數(shù)據(jù)存入數(shù)據(jù)庫的時(shí)候鲤遥,通過nodejs來獲取時(shí)間,然后一起存到數(shù)據(jù)庫林艘。
1)獲取時(shí)間
arr.time = new Date().toLocaleString();
2)將時(shí)間一起放到j(luò)son里,然后存到數(shù)據(jù)庫
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.接口服務(wù)器處理時(shí)間渴频,并提供接口
由于
new Date().toLocaleString();
提供的時(shí)間格式是"2017/3/30 上午10:30:07"
,而我們只使用后面的具體時(shí)間,不用日期北启。所以我們需要處理一下卜朗,在暴露出去。
1)處理時(shí)間
使用split函數(shù)咕村,分隔符為空格场钉,然后將空格前后的數(shù)據(jù)存入數(shù)組,我們只要下標(biāo)為1的那個(gè)數(shù)據(jù)即可懈涛。
var timeorigin= rows[j].time;
var timeafter= timeorigin.split(" ");
處理時(shí)間
2)然后就是提供接口逛万,提供最新的五個(gè)
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(" ");
//處理后的時(shí)間存入數(shù)組
time[c] = timeafter[1];
c++;
j++;
}
res.send(JSON.stringify(time));
})
})
3.前端獲取時(shí)間,并顯示到折線圖
在ECharts折線圖的x軸顯示時(shí)間
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錯(cuò)誤:"+err);
});
4.結(jié)果顯示
1)數(shù)據(jù)庫
數(shù)據(jù)庫
2)折線圖X軸時(shí)間顯示
折線圖X軸時(shí)間顯示
@治電小白菜20170330