使用APICloud設計物聯網APP

来源:http://www.cnblogs.com/hxs2660/archive/2016/06/05/5561464.html
-Advertisement-
Play Games

0、前言 1)、APP功能: 1、控制室內插座的開關。 2、查看室內實時溫濕度和溫濕度趨勢。 3、控制小車的行走,小車攝像頭的開啟/關閉、移動。 4、查看攝像頭監控畫面,可拍照並追溯。 5、查看伺服器資源消耗情況。 2)、設計此APP所需基礎: HTML:會使用前端框架。 js:基本語法。 APIC ...


0、前言

1)、APP功能:

1、控制室內插座的開關。

2、查看室內實時溫濕度和溫濕度趨勢。

3、控制小車的行走,小車攝像頭的開啟/關閉、移動。

4、查看攝像頭監控畫面,可拍照並追溯。

5、查看伺服器資源消耗情況。

2)、設計此APP所需基礎:

HTML:會使用前端框架。

js:基本語法。

APICloude IDE的使用。

3)、APP演示

     

  

1、關於APICloud:

使用標準WEB技術輕鬆開發iOS、Android原生應用;覆蓋APP全生命周期,包括開發、API集成、測試、渠道打包、運營管理等.

官網:http://www.apicloud.com/

 

2、JSON數據格式處理

伺服器返回格式:

 

JS獲取數據:

$.ajax({
	type : "GET",
	async : false,
	url : "http://api.php",
	data : {},
	dataType : "json", //返回數據形式為json
	success : function(result) {
		if (result) {
			data['uptime'] = result.uptime;
			data['memPercent'] = result.memPercent.toFixed(2);//.toFixed(2)小數點後保留兩位
			data['cputemp'] = result.cpu_temp.toFixed(2);
			data['cpuPercent'] = result.cpuPercent.toFixed(2);
			data['hdPercent'] = result.hdPercent.toFixed(2);
		}
		}
	});

 

3、ECharts圖表組件

1)、關於ECharts

商業級數據圖表,一個純Javascript的圖表庫,可以流暢的運行在PC和移動設備上,提供直觀,生動,可交互,可高度個性化定製的數據可視化圖表。參考手冊:http://echarts.baidu.com/echarts2/doc/doc.html

2)、為ECharts準備一個具備大小(寬高)的Dom

<div id="pi_cpu_Percent_gauge" style="height:200px"></div>
<div id="pi_cpu_temp_gauge" style="height:200px"></div>
<div id="pi_mem_gauge" style="height:200px"></div>
<div id="pi_disk_gauge" style="height:200px"></div>

   3)、引入文件echarts.js

<script type="text/javascript" src="../script/echarts-all.js"></script>

   4)、<script>標簽內動態載入echarts和所需圖表

var pi_cpu_Percent_gauge = echarts.init(document.getElementById('pi_cpu_Percent_gauge'));
			var pi_cpu_temp_gauge = echarts.init(document.getElementById('pi_cpu_temp_gauge'));
			var pi_mem_gauge = echarts.init(document.getElementById('pi_mem_gauge'));
			var pi_disk_gauge = echarts.init(document.getElementById('pi_disk_gauge'));
//顯示載入圖畫動畫
pi_cpu_Percent_gauge.showLoading();
pi_cpu_temp_gauge.showLoading();
pi_mem_gauge.showLoading();
pi_disk_gauge.showLoading();
//儀錶盤圖表格式設置,4個圖表共用樣式
var gauge_option = {
		tooltip : {
		formatter : "{a} <br/>{b} : {c}%"
			},
		series : [{,
			type : 'gauge',
			splitNumber : 5, // 分割段數,預設為5
			axisLine : {// 坐標軸線
			lineStyle : {// 屬性lineStyle控制線條樣式
			color : [[0.2, '#228b22'], [0.8, '#48b'], [1, '#ff4500']],width : 8}},
			axisTick : {// 坐標軸小標記
			splitNumber : 5, // 每份split細分多少段
			length : 6, // 屬性length控制線長
			lineStyle : {// 屬性lineStyle控制線條樣式
			color : 'auto'
			}
					},
			axisLabel : {// 坐標軸文本標簽,詳見axis.axisLabel
			show : true,
			formatter : function(v) {
			switch (v+'') {
								case '20':
									return '弱';
								case '40':
									return '低';
								case '60':
									return '中';
								case '80':
									return '高';
								default:
									return '';
							}
						},
						textStyle : {// 其餘屬性預設使用全局文本樣式,詳見TEXTSTYLE
							color : '#333'
						}
					},
					splitLine : {// 分隔線
						show : true, // 預設顯示,屬性show控制顯示與否
						length : 20, // 屬性length控制線長
						lineStyle : {// 屬性lineStyle(詳見lineStyle)控制線條樣式
							color : 'auto'
						}
					},
					pointer : {
						width : 5
					},
					detail : {
						formatter : '{value}%',
						textStyle : {// 其餘屬性預設使用全局文本樣式,詳見TEXTSTYLE
							color : 'auto',
							fontWeight : 'bolder',
							fontSize : 20
						}
					},
					data : [{
						value : data['cpuPercent']
					}]
				}]
			};
//cpu溫度圖表單位和坐標軸標簽更改
			var temp_gauge_option = {
				series : [{
					max : 70,
					min : 30,
					splitNumber : 4,
					axisLabel : {// 坐標軸文本標簽,詳見axis.axisLabel
						show : true,
						formatter : function(v) {
							switch (v+'') {
								case '40':
									return '低';
								case '50':
									return '中';
								case '60':
									return '高';
								default:
									return '';
							}
						}
					},
					detail : {
						formatter : '{value}°',
					},
					data : [{
						value : data['cputemp']
					}]
				}]
			};
//延時2秒後載入圖表
			setTimeout(function() {
				//隱藏載入動畫
				pi_cpu_Percent_gauge.hideLoading();
				pi_cpu_temp_gauge.hideLoading();
				pi_mem_gauge.hideLoading();
				pi_disk_gauge.hideLoading();
				//載入圖表
				pi_cpu_Percent_gauge.setOption(gauge_option);
				pi_cpu_temp_gauge.setOption(gauge_option);
				pi_mem_gauge.setOption(gauge_option);
				pi_disk_gauge.setOption(gauge_option);
				//更新圖表數據
				pi_cpu_Percent_gauge.setOption({
					series : [{
						data : [{
							value : data['cpuPercent']
						}]
					}]
				});
				pi_cpu_temp_gauge.setOption(temp_gauge_option);
				pi_mem_gauge.setOption({
					series : [{
						data : [{
							value : data['memPercent']
						}]
					}]
				});
				pi_disk_gauge.setOption({
					series : [{
						data : [{
							value : data['hdPercent']
						}]
					}]
				});
			}, 2000);

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 最近在修改網站的響應式的頁面時,由於都是套樣式頁面,修改過程都是粘貼複製,導致了一些細節問題在IE8下暴露出來: 遇到的問題就是在在Chrome,火狐頁面都正常,唯獨在IE8下頁面樣式顯示亂樣了,但是本地就顯示正常,Tomcat緩存也清楚了,再加上自己也是個小白,周末平靜了一天半終於找到問題的源頭了 ...
  • 很多朋友要UI,我也說過,後臺的UI就是BootStrap,網上很多的。也有朋友喜歡LZ的登錄,LZ的登錄界面也是網上找的,然後稍微做了下修改。 不過既然大家喜歡,那麼LZ就分享給大家。 1、登錄頁面效果 2、登錄頁面代碼 3、首先分享一下 登錄頁面的樣式表,就一個 login.css 4、樣式,大 ...
  • scale(sx,sy)對應matrix(sx,0,0,sy,0,0) 拉伸 rotate(θ)對應matrix(cosθ,sinθ,-sinθ,cosθ,0,0) 旋轉 skew(θx,θy)對應matrix(1,tan(θy),tan(θx),1,0,0) 傾斜 ...
  • 一般一個基本html頁面的結構,如下代碼所示: 基本的頁面有了,那這個頁面里的字元,瀏覽器要怎麼來解析呢。瀏覽器只能根據自己的理解來生成DOM tree。然後按照自己的方式,根據裡面的標簽來生成對應的對象及對象層級關係。如果想把頁面真正的渲染出來就需要告訴瀏覽器按照怎樣一種規則來渲染,如果沒有瀏覽器 ...
  • 接上篇文章接 "Gulp使用小結(一)" 內容如下: 首先,偶在 "gulp demos" 上已經提交了個較通用的慄子...俺琢磨半天,原準備分階段搞些 套路,但是寫完介個慄子之後,覺得已經能覆蓋絕大多數的場景了(懵逼臉.gif)。算噠,當偶偷懶就醬吧,一個套路打天下:) 然後,聊聊這篇值得思考的文 ...
  • 查看效果:http://hovertree.com/texiao/jquery/75/源代碼下載:http://hovertree.com/h/bjaf/8jlpc2wu.htm效果圖如下:代碼如下: 轉自:http://hovertree.com/h/bjaf/sby54kjl.htm 特效彙總: ...
  • [1]Undefined、Null [2]Boolean [3]String [4]Number [5]Object [6]Function [7]Array [8]Date [9]RegExp [10]Error ...
  • 第一次寫,寫的不對的請指正 backbone.js中的Event實現了自定義事件。自定義事件就是一個對象的鍵值對,key為事件名,value為一個function數組。在backbone這個對象中有一個內置的對象_events保存著所有的事件 所有Events的方法都是通過eventsApi調用的。 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...