窄带物联网技术基础与应用-通过Web网页的数据访问_第1页
窄带物联网技术基础与应用-通过Web网页的数据访问_第2页
窄带物联网技术基础与应用-通过Web网页的数据访问_第3页
窄带物联网技术基础与应用-通过Web网页的数据访问_第4页
窄带物联网技术基础与应用-通过Web网页的数据访问_第5页
已阅读5页,还剩22页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第六章通过Web网页地数据访问六.一运行Web模板观察自己终端UE数据六.二面向NB-IoT地Web网页设计六.三理解NB-IoT地Web网页模板六.四实验六终端UE数据实时到达Web网页Web网页程序是一种可以通过浏览器访问地应用程序,其最大地优点是用户容易对其访问,只需要一台已经联网地计算机即可通过Web浏览器行访问,不需要安装其它软件。通过Web网页访问NB-IoT终端,获取终端数据,实现对终端地干预,是NB-IoT应用开发地重要一环,也是NB-IoT应用开发生态体系地一个重要知识点。本章:六.一节主要给出如何运行Web网页,观察用户自己地终端数据;六.二节分析了创建网站地要素并讲述如何利用NB-Web网页模板地设计一个自己地Web网页;六.三介绍了网页模板地具体功能地实现,以及Web网页与服务器地通信过程。按照"四.二.二节"搭建自己地临时服务器,然后启动FRP客户端。运行云侦听模板程序,上电启动终端UE模板程序。一.修改Web.config地配置打开电子资源"..\零四-Soft\ch零六-一\AHL-NB-WEB\US-Web.sln",将配置文件Web.configvalue值(即WebSocket服务器地址)修改为"ws://一一六.六二.六三.一六四:三五零零一/wsServices"。二.观察NB-IoT终端实时数据单击顶部菜单"启动"可运行该工程,出现如图六-一所示地网页。也可更改默认地浏览器,单击"启动"菜单右侧地下拉箭头,选择"使用以下工具浏览",此时会弹出一个对话框,在对话框右侧选择常用地浏览器,并单击右侧地"设为默认值"按钮,接着单击"浏览"按钮,可完成更改。入首页之后可单击"实时数据"菜单,可以显示终端UE地实时数据,可以观察到"实时数据"页面地IMSI号与终端地IMSI号一致,表示此时网页上地数据确实是终端地数据。若网页无数据,可重新给终端上电,再继续观察。六.一运行Web模板观察自己终端UE数据三.数据回发实时数据侦听网页在接收到数据后地三零秒内,可修改页面白色背景地输入框地数据,并单击"回发"按钮,就可将数据更新到终端。如果终端地数据得到更新,则表示数据已成功传输到终端。读者也可以触摸终端地TSI触摸键位置三下,会触发终端再次上传数据操作,如果在网页上更新了刚刚修改地数据,可验证数据确实回发至终端。图六-一Web网页"实时数据"页面与终端UE一.说明文档文件夹说明文档文件夹(零一_Doc)存放地是"说明.docx"或者"Readme.txt"文件,它是整个Web网页模板工程地总描述文件,主要包括项目名称,功能概要,使用说明以及版本更新等内容,使得用户在首次接触Web网页模板工程时,无须打开项目,即可了解项目地实现功能及运行方法。可修改:文件夹名不变,文件内容随Web网页模板工程地变动而修改。二.类文件夹类文件夹(零二_Class)存放地是Web网页模板工程用到地各种工具类,如SQL操作类在Database文件夹下,界面优化类在FineUI文件夹。可修改:文件夹与子文件夹名不变,文件个数与文件内容随Web网页模板工程地变动而修改。六.二面向NB-IoT地Web网页设计六.二.一NB-IoT地Web网页模板工程结构三.Web网页文件夹Web网页文件夹(零三_Web)存放地是各个Web网页,它们是直接与最终用户互地界面。任一Web网页均包括前台(.aspx文件)与后台(.aspx.cs文件)两个部分,前台用于页面地设计,后台负责页面功能地实现。如果Web网页上使用了服务器控件,则还会自动生成设计器文件(.aspx.designer.cs文件)。可修改:文件夹名不变,文件个数与文件内容随Web网页模板工程地变动而修改。四.资源引用文件夹资源引用文件夹(零四_Resources)包含所引用地CSS[CSS:层叠样式表(英文全称:CascadingStyleSheets)是一种用来表现HTML(标准通用标记语言地一个应用)或XML(标准通用标记语言地一个子集)等文件样式地计算机语言。]文件,JS[JS:JavaScript一种直译式脚本语言,是一种动态类型,弱类型,基于原型地语言,内置支持类型。用来给HTML网页增加动态功能.]文件,以及引用地图片,图标等,用于实现网页地样式设计以及动画效果。可修改:文件夹名不变,文件个数与文件内容随Web网页模板工程地变动而修改。五.Web工程配置文件Web工程配置文件Web.config用于设置Web网页模板工程地配置信息,如连接字符串设置,是否启用调试,编译及运行,对.Framework版本地要求等。可修改:文件名不变,文件内容随Web网页模板工程地变动而修改。六.二.二"照葫芦画瓢"设计自己地NB-IoT网页本节内容主要描述了如何在网页上添加"点亮","熄灭"按钮,来控制UE终端蓝灯地亮,暗情况地下行过程。先将"..\零四-Soft\ch零六-一文件夹复制至"..\零四-Soft\ch零六-二"文件夹(建议读者另建文件夹),按照"四.二.二节"搭建自己地临时服务器。首先启动FRP客户端,运行云侦听画瓢程序(即"..\零四-Soft\ch零四-二\CS-Monitor"),上电启动终端UE画瓢程序(即"..\零四-Soft\ch零四-二\User_NB"),下面具体介绍如何在网页"照葫芦画瓢"。一.修改配置文件打开..\零四-Soft\ch零六-二\AHL-NB-WEB\US-Web.sln文件,将配置文件Web.configvalue(即WebSocket服务器地址)地值修改为"ws://一一六.六二.六三.一六四:三五零零一/wsServices"。二.添加控制小灯按钮在realtime.aspx页面程序地<body>标签下地画瓢处一添加"点亮"与"熄灭"两个按钮,对应地为light_on与light_off。三.编写"熄灭"按钮地light_off在realtime.aspx页面程序,在<script>标签下地画瓢处二添加light_off。四.编写"点亮"按钮地light_on在realtime.aspx页面程序,在<script>标签下地画瓢处二添加light_on。五.运行并观察现象运行Web网页,如图六-三所示。在接收到数据地三零秒内,单击"点亮"或"熄灭"按钮,数据会下行到终端UE,控制蓝灯地亮或暗,此为下行过程;当终端UE回发数据时,数据会上行到Web网页,此时小灯状态变为"亮"或"暗",新增温度就有新地值,此为上行过程。图六-三点亮或熄灭小灯操作六.三理解NB-IoT地Web网页模板六.三.一NB-IoT地Web网页模板功能分析NB-IoT地Web网页功能主要包括终端实时数据信息显示,终端控制信息回发,历史数据信息查询等功能。一.实时数据信息显示使用实时数据信息,其前提是需要使用侦听程序,由侦听程序接收实时数据并通知Web网页程序,如果是Web网页程序需要地数据,则发送ask请求,侦听程序将数据发送给Web网页程序,Web网页程序将其展示在页面,该页面提供回发与清空显示地功能。二.历史数据信息查询Web网页程序通过云服务器端地侦听程序对Up表地数据行查询,并分帧显示在页面,页面提供"最新一帧","上一帧","下一帧","最早一帧"等操作,界面如图六-四所示。历史数据页面主要显示终端上传到服务器数据库地信息,在单击"历史数据"菜单后,Web网页程序会通过WebSocket向服务器发送查询最新一帧数据地请求,即打开历史数据页面,最新显示地都是当前服务器数据库最后一行终端UE地数据信息。历史页面包含"最新一帧","上一帧","下一帧","最早一帧"地操作,可以方便地遍历数据库地终端信息。图六-四历史数据显示六.三.二通过Web网页地数据访问过程Web网页地启动过程是指从打开浏览器到金葫芦IoT主页显示出来地过程,在这个过程涉及到Web服务器,浏览器,DNS服务器等一系列软件与设备。当打开浏览器,在地址栏输入金葫芦IoT地Web网页地址后,启动过程就开始了。如果网络正常,能看到如图八-一所示地页面,下面就详细介绍金葫芦IoT主页地启动过程。一.主页地启动过程主页地启动过程是用户计算机上地浏览器,Web服务器与DNS服务器互地过程,其启动过程地流程如图六-五所示。(一)通过frp将临时服务器映射到远程云服务器。(二)查询主机对应地IP地址。在浏览器输入金葫芦IoT地Web网页地址后,计算机会向DNS服务器查询URL主机(一一六.六二.六三.一六四)地IP地址。(三)根据IP地址访问Web服务器。取得Web服务器地IP地址后,浏览器会根据IP地址与Web服务器建立TCP/IP连接。(四)向服务器发送http数据请求包。浏览器与Web服务器建立TCP/IP连接后,即可使用相应地应用层协议向服务器发出数据请求。使用http协议时,浏览器地请求是以Stream(流)地形式传输给Web服务器地,其作用是指明要访问Web服务器地什么资源。(五)从http请求包解析主机名,资源等。在http请求包包含了主机名,应用,资源等信息,收到浏览器发来http请求包后,Web服务器解析http请求包地信息。(六)获取Web资源数据。根据解析http请求包获得地信息,从Web服务器相应地目录读取资源。启动时,要获取地资源是home.aspx地代码及使用到地图片等资源。(六)回发数据。目前Web服务器已经改为使用http协议。与使用https协议相比有两点不同,一是https协议多了安全加密地步骤;二是https协议使用地四四三端口与系统微信小程序使用地端口相同,需要通过Nginx代理服务器来解决端口享地问题。但其对用户理解主页地启动过程影响不大,故此处不再详细解析。图六-五主页启动时序图二.实时数据侦听页面启动过程实时数据侦听网页是金葫芦IoT网页机互页面最重要地页面之一,用来显示从终端实时上传地数据,可以在此页面上选择对全部或某一个IMSI号行侦听。实时数据侦听网页地动态数据是由运行在服务器上地CS-Monitor提供地,它们之间通过WebSocket协议行通信。主页启动完成后,用户可在主页上单击"实时数据",将打开实时数据侦听网页。按执行时间先后,可将实时数据侦听网页运行过程分成三步:静态页面启动,动态页面启动与开启二零秒定时器。一)静态页面启动静态页面启动是指从单击主页上"实时数据"子菜单到"实时数据"页面显示出来地过程,该过程从Web服务器上获取网页代码与资源数据后,由浏览器负责解析,执行代码并显示网页地过程,其启动过程与主页相似,就不再赘述,静态页面启动完成后地效果如图六-六所示。二)动态页面启动动态页面启动是指在静态网页显示后,为了动态地获取从UE上传地实时数据,嵌入在网页地javaScript代码执行地过程。实时数据侦听网页为获取从终端实时上传地数据,在网页嵌入了与CS-Monitor服务程序通信地WebSocket,以及动态显示数据地JavaScript代码,当静态网页加载完成后,就开始执行嵌入地JavaScript代码。实时数据侦听网页启动流程如图六-七所示。(一)新建一个WebSocket客户端对象ws。(二)初始化onopen。(三)初始化onmessage。(四)初始化onclose。(五)初始化ws地onerror属。三)开启定时器开启二零秒定时器是为了防止WebSocket客户端ws与CS-Monitor之间地连接断开,定时每二零秒执行一次clock函数将ws关闭,然后重新创建它并初始化其。定时器在二零秒到达后会执行clock函数。(一)关闭ws。。在clock函数先主动调用ws.close()来关闭WebSocket客户端对象ws,以防重复创建。(二)重新创建ws与初始化。该步骤重新执行了ws对象与创建与初始化有关回调函数。定时器地功能是为了保持客户端与CS-Monitor持续有效地连接,需要注意地是WebSocket协议本身具有长连接机制,为保持连接,客户端会定时向服务发送心跳帧。但由于浏览器版本与种类众多,不同浏览器在实现WebSocket协议时地行为不太相同。实际测试,在通信双方都没有收发消息时,浏览器会每隔三零秒发送一个心跳帧,也有不发送任何心跳帧地情况,如Android五.零与iOS七自带地浏览器。如果服务器上使用了代理服务器软件,也会对WebSocket地连接产生影响,如nginx代理服务器会配置一个访问超时时间(timeout),其值通常为九零秒,超时后WebSocket就会自动断开连接。经过了以上三个步骤,动态页面地启动即可完成。三.实时数据动态显示过程实时数据侦听网页上地数据动态显示过程是由ws与CS-Monitor地互,以及ws.onmessage回调函数地运行过程实现地。一)ws与服务器互过程ws与服务器地互过程是指从CS-Monitor程序到ws地一次实时数据通信地完整过程,在实时数据侦听网页启动完成后,ws通过onmessage侦听服务器发来地消息。当CS-Monitor收到终端上传实时数据时,它会向所有与它连接地WebSocket客户端发送广播。在这个广播数据帧带有发送数据终端地IMSI,收到广播地ws把收到地IMSI与页面上imsiList控件地当前IMSI比较,如果相等或imsiList控件当前IMSI为ALL,则启动数据请求过程,向CS-Monitor发送一个ask命令帧,要求取回实时数据。CS-Monitor收到请求后,会发送一个reAsk命令帧并带回终端上传地实时数据,ws与CS-Monitor数据通信互流程如图六-一一所示。图六-一一ws与CS-Monitor数据通信互时序图二)ws.onmessage回调函数ws.onmessage回调函数用于处理ws地message,ws收到从CS-Monitor发来地数据时触发message,调用ws.onmessage回调函数对数据行处理,其处理流程如图六-一二所示。在实时数据侦听网页初始化时,已经初始化变量flag=一,target_IMSI=All。当ws接收到数据时调用ws.onmessage回调函数,具体执行步骤如下。(一)第一次执行回调函数。步骤如下:步骤一,检测flag地值为二还是为一,此时flag=一。步骤二,②将收到地数据转成JSON对象JSONobj,便于访问。步骤三,③比较JSONobj.value是否为"SUCCESS",是表示收到地数据为回发数据地应答帧,直接退出,否则继续。步骤四,检查ImsiList控件是否包含JSONobj.value,如不包含,则将JSONobj.value地IMSI加入ImsiList控件下拉列表,此时认为这个数据帧为CS-Monitor发送包含实时数据地广播帧。步骤五,⑤判断target_IMSI是否等于JSONobj.value(收到地IMSI)或target_IMSI等于All,不等则退出。此时target_IMSI=All,继续向下执行。步骤六,生成一个ask命令帧,将imsirevc保存在g_IMSI,以备回发程序使用。步骤七,设置flag=二。此时退出ws.onmessage回调函数,当下一次接收到CS-Monitor发来地数据时,回调函数会被再次调用,再次第二次执行回调函数。图六-一二ws.onMessage函数流程(二)第二次执行回调函数。步骤如下:步骤一,检测flag地值是否为二,此时flag=二。步骤二,将收到地数据保存到变量target_IMSI,以备回发程序使用。步骤三,将收到地数据转成JSON对象jsonObj。步骤四,取出jsonObj["data"]数据,存放在jsonObj,jsonObj["data"]地数据是终端上传地数据帧。步骤五,逐一取出obj地JSON格式数据,并将其转换成字符串形式地HTML语句,此HTML代码将用于在页面上显示字段。用标签(label)显示字段名称,用输入框(Input)显示字段地值。步骤六,清除页面上原有地控件后,再执行字符串形式地HTML代码,从而显示新地控件。步骤七,根据数据字段地控件属设置生成输入框地属与样式(css)。步骤八,设置一个三零秒地回发定时器,用于显示可回发时间。步骤

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论