• 物联网-传输课程设计-esp8266+eclipse+tomcat+sql server1.总结2.效果展示3.步骤说明一、环境准备(1)Arduino、ESP8266 Node MCU的开发环境搭建(没有单片机就略过)(2)JDK、Eclipse、Tomcat插件的环境搭建(3)...

    1.总结

    1.实现方案:通过 UDP 套接字监听硬件装置 ESP8266 NodeMCU 指定的端口 8888,获取采集到的 DHT11 温湿度传感器的温湿度数据(没有单片机就用网络调试助手也可以),实现基于 UDP套接字的数据采集。另一方面,区域数据采集器软件在Tomcat 服务器编写web 文件将采集到的数据(温度、湿度)及采集时间保存到指定的 SQL Server数据库服务器中,保存数据操作周期性为每分钟执行一次。最后,再利用Tomcat 服务器将数据库存储的采集数据在网页中以表格的分页形式展示,每页表格最多显示十条数据。
    2.一定要搭建好开发环境并且IP地址及端口号要配置正确,不然运行不出想要的结果。
    ①开发环境包括:Arduino、ESP8266 Node MCU、JDK、Eclipse、Tomcat插件、SQL Server的环境搭建;
    ②IP地址及端口号要与代码中定义的一致并且在一个局域网下。
    3.没有单片机的话,就用网络调试助手发送采集数据,配置的IP地址及端口与代码中定义的相适应,就能正常发送接收数据了。
    4.SQL Server的端口号要与代码中定义的一致,才能访问数据库。
    5.Tomcat的IP设置可以用localhost与端口不能被占用,配置的jre要与自己电脑安装的jdk版本一致,否则无法启动。

    2.效果展示

    注:因为点击更新数据按钮后,因为index.jsp那设置了60秒更新一次数据,所以每隔一分钟才能再次接收到服务的请求数据命令,才能在接到请求数据命令后,发送温湿度数据

    • 点击更新数据按钮后,再点击其它按钮,如下一页上一页,更新数据会失效

    在这里插入图片描述

    3.步骤说明

    一、环境准备

    (1)Arduino、ESP8266 Node MCU的开发环境搭建(没有单片机就略过)

    1.Arduino的开发工具的安装
    2.Arduino中ESP8266的环境搭建
    3.使用测试

    步骤有点多放在另一个链接https://blog.csdn.net/qq_43662263/article/details/106655160

    (2)JDK、Eclipse、Tomcat插件的环境搭建

    1.JDK的安装
    2.Eclipse开发工具的安装
    3.Eclipse中Tomcat插件的安装
    4.使用测试

    步骤有点多放在另一个链接https://blog.csdn.net/qq_43662263/article/details/106655181

    (3)SQL Server的环境搭建

    1.SQL Server的安装
    2.打开TCP/IP端口号

    步骤有点多放在另一个链接https://blog.csdn.net/qq_43662263/article/details/106655181

    二、数据采集

    1.(第一种方式)在单片机采集数据

    • 在Arduin写入以下代码

    步骤有点多放在另一个链接https://blog.csdn.net/qq_43662263/article/details/106655160

    2.(第二种方式)利用网络调试助手发送数据

    • 更改udpsend.java文件的ip为自己本机的IP
    • 在终端输入ipconfig查看ip
      在这里插入图片描述

    三、数据保存

    1.利用套接字接收数据

    • 发送及接收数据的方法(将本方法放入类中,声明一下import,就可以在jsp中调用了)
    • 里面的ip可以是自己开发板的ip,也可以是本机ip
    
    
    public String udptest( )  throws IOException {
    
                         
    
                       /** 1、建立udp socket端点 */
    
                       
    
                      
    DatagramSocket s = new DatagramSocket();
    
                                    
    
                       /** 2、提供数据,封装打包  ---DatagramPacket(byte[] buf, int length,
    InetAddress address, int port)  */
    
                       
    
                       byte[] bs = "12345 ".getBytes();               
    
                      
    DatagramPacket dp = new DatagramPacket(bs, bs.length, InetAddress.getByName("192.168.43.138"), 8888);
    
                    
    
                       /** 3、使用send发送 */
    
                       try {
    
                           s.send(dp);
    
                           System.out.println("发送成功 ");
    
                           System.out.println(dp);
    
                       } catch (IOException e) {
    
                           System.out.println("发送失败: ");
    
                           e.printStackTrace();
    
                       }
    
                       // 2.创建数据报,用于接收客户端发送的数据报
    
                       byte[] data = new byte[1024];//创建字节数组,指定接收的数据包的大小
    
                      
    DatagramPacket packet = new DatagramPacket(data, data.length);
    
                       //3.接收客户端发送的数据
    
                       System.out.println("****服务器已经启动,等待客户端发送数据");
    
                       s.receive(packet);//此方法在接收到数据报之前会一直阻塞
    
                       //4.读取数据
    
                  String info = new String(data, 0, packet.getLength());         
    
                       System.out.println("我是服务器,客户端:" + info);   
    
                       /** 4、关闭资源 */
    
                       s.close();
    
                       return info;        
    
                   }
    
    

    具体代码:放在另一个链接https://blog.csdn.net/qq_43662263/article/details/106655181

    2.编写web文件保存数据并存入数据库

    • 在eclipse新建一个web项目写入以下代码

    有点多放在另一个链接https://blog.csdn.net/qq_43662263/article/details/106655181

    四、数据展示

    1.用单片机采集数据

    串口信息

    在这里插入图片描述

    网页效果

    • 运用index.jsp在Tomcat v9.0 Server at localhost上
    • 注:因为点击更新数据按钮后,因为index.jsp那设置了60秒更新一次数据,所以每隔一分钟才能再次接收到服务的请求数据命令,才能在接到请求数据命令后,发送温湿度数据
    • 点击更新数据按钮后,再点击其它按钮,如下一页上一页,更新数据会失效
      在这里插入图片描述

    2.用网络调试助手采集数据

    网络调试信息

    注:因为点击更新数据按钮后,因为index.jsp那设置了60秒更新一次数据,所以每隔一分钟才能再次接收到服务的请求数据命令,才能在接到请求数据命令后,发送温湿度数据

    • 点击更新数据按钮后,再点击其它按钮,如下一页上一页,更新数据会失效
    • 必须发送4位int的数字,因为程序里定义了0-1位是温度,2-3位是湿度,输入的数据不符合标准会报错。

    在这里插入图片描述

    网页效果

    • 运用index.jsp在Tomcat v9.0 Server at localhost上
      在这里插入图片描述

    4.参考链接

    1.ESP8266 NodeMCU介绍与开发环境搭建
    2.arduino—DHT11温湿度传感器的使用
    3.eclipse的介绍
    4.tomcat的介绍
    5.ajax技术
    6.java_socket编程
    7.通过JSP网页连接Mysql数据库
    8.jsp数据库操作之插入

    注:遇到之前能打开,后来打不开,没数据的情况,重新启动试试

    展开全文
  • 物联网导论期末总结

    2019-12-18 16:56:48
    本文主要总结一些物联网导论课程的基本概念,为本人个人总结,仅供参考,仅供参考。 以下为上半学期 1、物联网新兴技术雷达图:代表了物联网的三个发展方向,即硬件(CPU、CPU、DRAM、FPGA、量子计算、类脑芯片)、...

    本文主要总结一些物联网导论课程的基本概念,为本人个人总结,仅供参考,仅供参考。

    以下为上半学期

    1、物联网新兴技术雷达图:代表了物联网的三个发展方向,即硬件(CPU、CPU、DRAM、FPGA、量子计算、类脑芯片)、软件(云计算、边缘分析、有监督学习、无监督学习、深度学习)、连接技术(WLAN、WPAN、蜂窝物联网<2G/3G/4G>、5G、光通信)

    2、智慧地球:通过在基础设施和制造业中大量嵌入传感器,捕捉运 行过程中的各种信息,然后通过无线网络接入到互联 网,通过计算机分析、处理和发出指令,反馈给控制 器,远程执行指令。

    3、物联网四层:感知识别层(传感器)、网络构建层(数据传输)、管理服务层(数据处理)、综合应用层(实现功能)

    信息生成方式多样化是物联网区别于其他网络的重要特征

    4、CPS(信息物理融合系统):是一个综合计算、网络与物理世界的复杂 系统,通过计算技术、通信技术与控制技术的 有机融合和深度协作

    5、物联网:是一个基于互联网、传统电信网等信息载体,让所有能被独立寻址的普通物理对象实现互联互通的网络。

    6、物联网特征普通对象设备化,自治终端互联化、普适服务智能化

    物联网的主要特点:感知识别普适化、异构设备互联化、联网终端规模化、管理调控智能化、应用服务链条化、经济发展跨越化

    7、物联网工作过程(特点):全面感知、可靠传输、智能计算

    8、物联网层次结构:最右为共性技术
    在这里插入图片描述
    9、接入层:通过各种接入技术,连接最终用户设备

    10、汇聚层:聚合接入层的用户流量,实现数据路由 、转发与交换

    11、核心交换层:为物联网提供一个高速、安全与保 证服务质量的数据传输环境

    12、传输网:汇聚层与核心交换层的网络通信设备与通信线 路就构成了传输网

    13、RFID基本单元:包含传送器、接收器、微处理器、天线、标签,原理是阅读器通过天线发送电子信号,标签接收到信号后发射内部存储的标识信息,阅读器再通过 天线接收并识别标签发回的信息,最后阅读器再将识别结果发送给主机。

    RFID标签特点:体积小且多样、耐环境性、可重复使用、穿透性强、数据安全性

    RFID标签分类:被动式标签、主动式标签、半主动式标签

    阅读器包括传送器、接收器、微处理器

    RFID即为无线射频识别技术,又称非接触射频识别技术,通过射频信号与空间耦合,实现无接触信息传递并通过所传递的信息达到自动识别的目的

    14、汇聚层功能:汇接接入层的用户流量,进行数据分组传输的 汇聚、转发与交换;根据接入层的用户流量,进行本地路由、过滤 、流量均衡、优先级管理,以及安全控制、地 址转换、流量整形等处理;根据处理结果把用户流量转发到核心交换层或 在本地进行路由处理

    15、无线网络技术:无线个人区域网、无线局域网、无线城域网、移动通信网

    16、有线网络技术:局域网、电话交换网

    17、服务管理层功能:通过中间件软件实现了感知硬件与应用软件物 理的隔离与逻辑地无缝连接;提供海量数据高效、可靠地汇聚、整合与存储;通过数据挖掘、智能数据处理与智能决策计算 ,为行业应用层提供安全的网络管理与智能服务

    18、物联网核心技术:感知识别层,是区别于其他网络最独特的部分,包含大量信息生成设备。信息生成方式多样化是物联网的重要特征之一

    19、物联网下智能设备发展新趋势:
    更深入的智能化:纵向(包括传统的智能设备)+ 纵向(融入没有计算能力的简单物理对象;
    更透彻的感知:主动感知 (部署传感器) + 被动感知 (发出查询请求) ;
    更全面的互联互通:互联互通 + 信息共享

    20、物联网核心技术:网络识别层,网络是物联网最重要的基础设施之一。网络构建层在物联网四层模型中连接感知识别层和 管理服务层,具有强大的纽带作用,高效、稳定 、及时、安全地传输上下层的数据。

    21、物联网核心技术:管理服务层,是物联网智慧的源泉,是智能的起源,管理服务层解决数据如何存储(数据库与海量存储技术)、如何检索(搜索引擎)、如何使用(数据挖掘与机器学习)、如何不被滥用(数据安全与隐私保护)等问题。

    22、物联网数据特点:海量性,多态性,关联性及语义性

    23、物联网核心技术:综合应用层,物联网应用以“物”或者物理世界为中心, 涵盖物品追踪、环境感知、智能物流、智能交通、智能电网等等。物联网应用目前正处于快速增长期,具有多样化、规模化、行业化等特点。

    24、物联网主要特点感知识别普适化、异构设备互联化、联网终端规模化、管理调控智能化、应用服务链条化、经济发展跨越化

    25、物联网应用前景:智能物流、智能交通、绿色建筑智能电网、环境监测

    26、光学字符识别:通过光学机制识别字符

    27、语音识别:采用数字信号处理技术自动提取及决定语音信号中最基本有意义的信息,同时包括利用音律特征等个人特征识别说话人。

    28、虹膜识别特点:生物活性、非接触性、唯一性、确定性、防伪性

    29、虹膜识别过程:虹膜图像获取、图像预处理、特征提取、特征匹配、性能评价指标

    30、指纹识别:实用,其中指纹特征(总体特征)有纹模式区、三角点、纹数;(局部特征)有终结点、分叉点、分歧点、孤立点、环点、短纹。

    31、IC卡:一个标准的IC卡应用系统通常包括:IC卡IC卡接口设备(IC卡读写器)、PC,较大的系统还包括通信网络和主计算机等

    32、条形码技术:是由一组规则排列的条、空以及对应的字符组 成的标记。一维条形码是是由一组规则排列的条、空以及对应的字 符组成的标记。一个完整的条码的组成次序依次为:静区(前)、起始 符、数据符、(中间分割符,主要用于EAN码)、(校验 符)、终止符、静区(后)。二维码利用某种特定的几何图形按一定规律在平面(二维方向上)分布的黑白相间的图形记录数据符号信息的;在代码编制上巧妙地利用构成计算机内部逻辑基 础的“0”、“1”比特流的概念,使用若干个与二进制相 对应的几何形体来表示文字数值信息,通过图象输入设备或光电扫描设备自动识读以实现信息自动处理。优点:信息容量大、译码可靠性高、纠错能力强、 制作成本低、保密与防伪性能好

    EPC即为产品电子代码

    33、传感器:能感受到被测量并按照一定的规律转换成可用输出信号的器件或装置;无线传感器节点:传感器+微处理器+无线通信芯片,能够对感知信息进行分析处理和网络传输

    34、鲁棒性:是实现传感器网络长时间部署的重要保障

    35、微机电系统(mems):集微型机构、微型传感器 、微型执行器以及信号处理和控制电路,直至接口、 通信和电源等于一体的微型器件或系统

    36、无线传感网络特点:网络规模、自组织网络、拓扑结构的动态变化、以数据为中心

    以下为下半学期

    1、制约传感器性能提升的因素:功耗、价格、体积

    2、大规模长时间部署传感器的设计需求:低成本与微型化、低功耗、灵活性与扩展性、鲁棒性

    3、无线传感网络硬件平台:供能装置传感器(需要根据处理器与传感器的交互方式:通过模拟信 号和通过数字信号,选择是否需要外部模数转 换器和额外的校准技术。)、微处理器(微处理器是无线传感节点中负责计算的核心 ,目前 的微处理器芯片同时也集成了内存、闪存、模数转 化器、数字IO等 ,这种深度集成的特征使得它们非 常适合在无线传感器网络中使用。)、通信芯片(通信芯片的传输距离是选择传感节点的重要指标。)

    4、无线传感器网络特点:网络规模、自组织网络、拓扑结构的动态变化、以数据为中心

    5、组网方式:
    在这里插入图片描述
    ZigBee即为低速短距离传输的无线网络协议

    6、位置信息:地理位置(空间坐标)、处在该位置的时刻(时间坐标)、处在该位置的对象(身份信息)

    7、主流定位系统:卫星定位(GPS)、蜂窝基站定位、无线室内环境定位、新兴定位系统(A-GPS,网络定位)

    8、GPS:宇宙空间部分(24颗工作卫星)、地面监控部分(全部在美国境内,1个主控中心(另有1个备用),4个专用地面天线,6个专用监视站)、用户设备部分(GPS接收机)。GPS定位的基本运作原理很简单,首先测得接收机与三个GPS卫星之间的距离,然后通过三点定位方式确定接收机的位置。

    P.S.蜂窝基站定位:主要应用于移动通信中广泛采用的蜂窝网络,通信区域被划分成一个个蜂窝小区,通常每个小区有一个对应的基站。单基站定位方法是COO定位,多基站定位方法是ToA/TDoA定位,都至少需要三个基站,通过信号到达不同基站的时间差来建立方程组求解位置

    9、无线室内环境定位:信号强度、无线网络(蓝牙、wifi、zigbee)、红外线、超声波、RFID、超宽带。多径效应:波的反射和叠加原理

    10、新兴定位系统:A-GPS(GPS+蜂窝基站定位)、无线AP定位(WIFI定位的一种,通过wifi接入点来确定目标的位置)、网络定位

    11、物联网设备的智能性就体现在异构的设备构成的系统具 有情境感知任务迁移智能协作多通道交互的特点。

    11’、情境感知:设计情景信息的手机、情景建模以及基于情景模型的普适应用。研究分为两大类:基于本体的方法和基于逻辑的方法

    12、任务迁移:服务端主要提供组件下载,迁移任务的缓存管理以及应用迁移相关数据的存储;应用端为无缝迁移平台的核心,实现任务的中断和恢复

    13、智能协作:通过协调不同设备提供的服务,整合已有的可用服务的功能, 构造功能更为丰富的新的组合服务。

    14、多通道交互:使用多种通道与计算机通信的一种人机交互方式,其中“通道”指用户表达意图,执行动作或感知反馈信息的通信方法。

    15、智能设备发展新趋势:更深入的智能化更透彻的感知更全面的互联互通

    16、计算机网络分类:
    个人区域网(PAN)—联接用户身边10m之内计算机、 打印机、PDA与智能手机等数字终端设备的网络
    局域网(LAN)—覆盖10m~10km的网络
    城域网(MAN)—覆盖10km~100km的网络
    广域网(WAN)—覆盖100km~1000km的网络

    17、网络接入方式:
    拨号上网,通过电话线使用调制解调器,利用运营商提供的电话号码拨号进入互联网;
    DSL:基于普通电话线的宽带接入技术
    以太网:目前最为广泛的局域网通信技术,速率高,抗干扰强
    电力线:摒弃传统的网络连接线,利用电力线来进行网络数据传输
    wifi:无线接入方式
    还有光纤接入、有线电视接入、wimax、3G等

    18、网络核心:是数据交换,包括电路交换(延迟小,服务质量有保障,占用固定带宽);报文交换;分组交换(数据以分组为单位在网络中进行传输,细分为虚电路和数据报,网络资源利用率高,信息传输速率高,易纠错,质量缺陷可弥补)

    19、互联网一般可以划分为5层:应用层(如HTTP、FTP、DNS,这一层数据处理的基本单位是报文)、传输层(如TCP、UDP,数据处理单元为数据报)、网络层(如IP、ICMP协议,数据处理单元为数据包)、链路层(MAC协议,数据处理单元为帧)、物理层(数据处理单元为比特)

    20、无线宽带网络的组成元素:无线网络用户、基站、无线连接、自组网

    21、无线宽带网络分类:
    无线个域网——1米,如UWB,组网方式为自组网,传输带宽约为100K~100M
    无线局域网——30~100米,如wifi,基于基站或自组网,带宽为11M,54M,100M
    无线城域网——40km或112km,如wimax,基于基站,带宽为75M
    无线广域网——可覆盖整个国家,如3G,基于基站或通信卫星,带宽为10K,100K~400K,2M

    22、无线宽带网络的特点:信号强度衰减、非视线传输、信号干扰、多径传播

    22、无线带宽网络和有线带宽网络的主要区别在于数据链路层和物理层.无线连接的特点导致有线信道中不存在的问题:隐藏经济问题

    23、802.11物理层:不同的802.11协议的差异主要体现在使用频段、调制模式和信道差分等物理层技术上。尽管物理层使用的技术有一些差异,但一系列802.11协议的上层架构和链路访问协议是相同的。数据链路层数据帧结构相同以及他们都支持基站和自组织两种组网模式

    24、802.11架构:有基站模式与自组织模式
    最重要的组成部分是一个基站和多个无线网络用户组成的基本服务组。
    信道:802.11b/g:
    将85MHz的频宽分为11个不同频段的信道。
    接入点管理者会为每个接入点指定信道。
    不相互干扰的信道中间须隔4个或4个以上其他信道
    用户与接入点关联(基站模式)
    接入点广播的“识别帧”(包含了接入点的MAC地址和服务集表示符)
    用户根据收到的“识别帧”选择与其中一个接入点建立关联
    识别帧扫描方式
    被动扫描,接入点周期性广播“识别帧”。
    主动扫描,首先无线用户主动广播“探测帧”,然后收到“探测帧” 的接入点以“回应帧”响应,最后用户根据“回应帧”选择接入点。

    25、为什么802.11采用CSMA/CA
    冲突侦测(CD)需要全双工(发送数据同时也可接受数据),硬件代价过高,无线网卡很难同时接收(冲突探测帧)和发送无线信号。
    无线信号的衰减特性和隐藏终端问题使冲突很难被侦测

    26、802.11介质访问特点
    CSMA:用户在发送数据之前先监听信道, 信道占用则不发送数据。
    CA:要求建立数据链路层确认/重传机制以避免冲 突。
    CD:检测冲突。

    27、wimax网络架构:
    数据传输连接包括:基站和用户之间的连接与基站和上层网络之间的连接
    频宽范围:有两个,10-66Ghz毫米与2~11Ghz厘米

    28、为什么需要低速网络协议:适应物联网中能力较低的节点,需要对物联网中各种各样的物体进行操作的前提就是将他们连接起来。首先,通信宽带与能耗、处理能力、通信距离是相互制约的。通信宽带越大,通信距离越长,需要消耗越多的能量和越强的信号处理能力。其次,绝大多数传送数据较少,对数据传输的实时性和宽带要求不高。再次,在物联网的背景下连接各种各样的物体,这些物体不可能每个都有着同当前互联网设备一样的应用背景和能力。因此,直接把适用于互联网的高速网络协议搬过来并不能完全满足物联网的需求。包括:蓝牙802.15.1、红外、zigbee802.15.4、WIFI、体域网802.15.6

    29、蓝牙:调频技术的产物,范围是2.402-2.480Ghz,速率为1Mb,半径几米到上百米不等

    30、红外:利用红外线来传输数据,体积小,成本低,功耗低,不需要频率申请,对障碍物的衍射较差,使用设备必须可见

    31、1G:第一代移动通信技术,模拟语音,大区制(在一个大区域中只用一个基站覆盖),面积大,功率强,可用带宽有限,容量小,无法真正商用

    32、2G:第二代移动通信技术,数字语音,支持语音通信,收发短信以及各种多媒体短信,主要有GSM(一种蜂窝网络系统,可分为宏蜂窝、微蜂窝、微微蜂窝和伞蜂窝)和CDMA(3G的基础,应用容量在理论上可以达到AMPS的20倍,特点是抗干扰性好,抗多经衰落,保密性好,容量和质量之间可以权衡,同频率可重复使用)

    33、3G:第三代移动通信技术,数字语音与数据,指支持高速数据传输的蜂窝移动通信技术,,我国标准有TD-SCDMA(IMT-DS)、W-CDMA(IMT-MC)、CDMA2000(IMT-TD)

    34、TDD/FDD:LTE分为LTE TDD和LTE FDD,前者采用时分复用进行双工,利用目前频谱规划中杂散的频谱资源,灵活性高;后者采用频分复用进行双工,上下行链路固定频谱分配,并且需要频谱隔离度。

    35、ZigBee特点:低功耗、成本低、时延短、网络容量大、可靠、安全

    36、ZigBee结构:物理层(负责电磁波收发器的管理、频道选择、能量和信号侦听以及利用)、介质访问控制层(MAC,控制和调节使用物理层的信道负责提供接口来访问物理层信道)、网络层(包括路由、新节点和路径的发现以及决定一个节点数与某个子网络等,协议是按需距离矢量路由协议AODV)、传输层、应用层

    37、ZigBee与802.15.4关系:都是无线通信协议,zigbee是以802.15.4为基础的,802.15.4只规定了通信协议栈的物理层和链路层的通信标准,zigbee主要提供了在物理层和链路层之上的网络层、传输层、应用层规范。

    38、三种网络存储方式:
    直接附加存储(DAS):将存储系统通过缆线直接与服务器或工作站相连。DAS的系统一般包括多个硬盘驱动器,与主机总线适配器通过电缆或光纤相连。在存储设备和主机总线适配器之间不存在不存在其他网络设备;
    网络附加存储(NAS):是一种文件级的计算机数据存储架构。在NAS中,计算机连接到一个仅为其他设备提供基于文件级数据存储服务的网络。NAS包括存储器件和专用服务器;
    存储区域网络(SAN):是一种通过网络方式连接存储设备和应用服务器的存储架构,尉氏县大量原始数据的传输进行了专门的优化。SAN包括服务器、存储设备、连接设备等;

    39、数据挖掘:从大量数据中获取潜在有用的并且可被人们理解的模式的过程。是一个反复迭代的人机交互和处理过程。主要有三个阶段:数据预处理(包括数据准备、数据选取、数据预处理、数据变换)、数据挖掘(包括确定数据挖掘的目标、选择算法、数据挖掘)、对挖掘结果的评估与表示(包括模式评估、知识表示)

    40、数据挖掘的基本类型:
    ①关联分析:目标是从给定的数据中发现频繁出现的模式,即关联规则
    ②聚类分析:对一个数据集合进行分析,但要划分的类是事先未知的,因此目的是将数据对象划分为多个类,在同一个类中的对象具有较高的相似度。算法有如下几类:划分方法、层次方法、基于密度的方法、基于网络的方法、基于模型的方法
    ③离群点分析:发现与绝大多数数据的特性或模型不一致的对象(离群点),算法有:基于统计的方法、基于距离的方法、基于偏移的方法
    ④分类与预测:目标是找出描述和区分不同数据类或概念的模型或函数(能够划分的类已知),以便能够使用模型预测数据类型或标记未知的对象
    ⑤演化分析:挖掘随时间变化的数据对象的变化规律和趋势,并建模。分析方法有趋势分析、相似搜索、序列模式挖掘、周期分析

    41、网络安全的一般性指标:可靠性、可用性、保密性、完整性、不可抵赖性、可控性

    42、物联网中的隐私权通常博阔个人信息、身体、财产、自我决定

    43、RFID的主要安全隐患:窃听、中间人攻击、欺骗重放克隆、物理破解、篡改信息、拒绝服务攻击、RFID病毒

    44、物理安全机制,会牺牲标签的部分功能:灭活(杀死标签,使标签失去功能而不会响应攻击者的扫描)、法拉第网罩(屏蔽电磁波)、主动干扰(用户主动广播无线信号来阻止或破坏RFID阅读器的读取)、阻止标签(特殊的标签碰撞算法)

    45、基于密码学的安全机制:哈希锁(提供了初步访问控制,威胁是窃听与跟踪)、随机哈希锁(增强了安全和隐私)、哈希链(前向安全性,威胁是DOS)、同步方法、树形协议

    46、保护位置隐私的手段:制度约束(知情权、参与权、选择权、确保数据准确性和安全性的义务、强制性)、隐私方针(PIDF用户导向型与P3P服务提供商导向型)、身份匿名、数据混淆(模糊范围、声东击西、含糊其辞)

    展开全文
  • 5分钟课程物联网的系统设计 今天我想跟大家分享一下物流网的一个系统架构,也就是说我们平时说的云管端,那互联网里面有经常也说的感知层,网络层应用层这三层里面到底有哪些比较常用到的一些技术,...

    5分钟课程:物联网的系统设计

    今天我想跟大家分享一下物流网的一个系统架构,也就是说我们平时说的云管端,那互联网里面有经常也说的感知层,网络层应用层这三层里面到底有哪些比较常用到的一些技术,那么我们接下来可能从端着一个角度开始先讲。那么大家所知道的就是任何的计算机系统,它的上面需要有个操作系统, Linux mac os这些大家比较熟悉,那么在一个物联网的端上面它也是有操作系统,那么物联网的操作系统和我们的PC的操作系统它有什么样的区别?PC的操作系统启动一个windows,根据你的电脑性能可能需要不到一分钟或者一分钟左右的这样一个时间。那么互联网的微操作系统它是一个非常非常轻量级的一个东西,它首先它需要很省电,因为物联网的终端不像我们的手机,他每天都可以充电,它需要被安装在可能一个户外的一个环境里面,在那边连续工作,连续保持工作的状态,大概可能需要到5到10年,所以的话每一点的电量都是非常宝贵的,所以物联网的操作系统也必须是一个非常低功耗的一个操作系统。

    那么这些操作系统呢应该说首先它都需要有一个社区来支撑它,因为大家开发的时候可能需要一些帮助,那么专门的一个技术题目来维护这样一个一个社区里面的一个活动,还有一个呢就是在他们在这些操作系统上面应该说没有一个什么特别好的特别突出的 5SS two O的这样的一个一个操作系统,而是大家可能更各自所趋的,那么咱们得来投射它,我们主打的是什么来头?可能在更多的应用上面来说,更多的偏向于是他的那个一个轻量化,然后所以就导致我们现在基于我们来ts的我们我们自己的NBLT的这个波帝卡的芯片,它可以在一个芯片里面,然后把把我们的赖特维斯的内核放进去,而是而不需要你。另外在很多的一些操作系统上面,一个射频芯片,你可能会需要一个额外的一个mc又来装载这些协议栈,同时来投S它的在整个的就是那个在物联网的很多设备,它很多时候都是处于一个休眠的状态,然后在休眠的状态之后,他会啊有一些外部的一些低功耗的一些传感器来触发,它让它进入到一个正常的一个工作状态。那么来test它的一个特性,就是说它的这个从睡眠中醒过来的这个时间,他是非常的短,不到一秒钟,那么除了微联网的操操作系统之外,其实传感器技术也是一个非常关键的一个技术,因为传感器技术呢应该是一个非常散的一个一个技术,应该有几十个大类,甚至有上千种更更多的这样一个不同的一个传感器。目前很多的高精度的那个传感器的那个核心技术还是掌握在一些欧美的国家里面。RFID这一块也是物联网里面提到的会比较多的一个技术,就是射频标识技术。射频去礁石技术呢其实最早的时候用在物流里面,但是RFID其实它本身已经基本上也形成一个自己的一个小产业链。那么iPad一里面包含了无缘的标签,有缘的有缘的标签,同时无缘的标签里面还分为了不同的频段。大家现在用的工卡基本上现在就是处于在在hf的这个这样一个频段里面,它的读写距离非常的短,那么在物流里面做一些射频标识的那些标签,可能通常呃工作在U hf的那个频段里面,根据标签的封装的大小,它的天津的设计的话读写距离最长的话,有些设备它可以达到十米的这样一个一个读写距离,这这部分可以也可以给大家了解一下。

    端那块我前面也提到了一个能源管理的一个技术,那么能源管理的技术说的更精确一点的话,可能大家我不知道大家有没有听到过一个环境取电的这样一个概念。其实也就是说在最初的时候,这个就可能更多地扯到后面的跟通信技术的一个结合,以前有一些应用它放在那边,他电池不能用很多,但是它必须要使用 5到10年的一个时间,甚至更长的一个时间,那他怎么办?他会考虑到我是否有可能从我的工作的环境里面获取一些能量。其实说个最直白的话,最大家最经常看到的一个环境曲线,他能把太阳能其实就是一种典型的环境取电的一个一种情况,在一些高速公路上面不太方便取电的地方,大家可以看到很多呃公安用的一些摄像头,他们都是使用大块的太阳能板来给他的那个摄像机供电,然后下面配一个蓄电池来这样的一个一个一个能源管理技术。当然现在外面还有一些包括一些温差取电,其实大家知道这种情况,在一些工业生产企业的,尤其在在华工啊炼钢啊这种这些应用上面有看到,就是说它在监测时候没有办法获取把电池放在一个很高温的,比如说接近一两百度的这样一个炉子旁边,因为电池可能会爆炸,但是他又需要去监控一些炉子旁边的一些生产指标的时候,他怎么办?他用一块化学的片这个这块片呢,它会有一个原理,当你产生一个强烈的温差以后,它当中会产生一个电流,它采用这样一个非常微小的一个电流来驱动它的驱动他的那个那个电路,这就是温差取电。那么还有一种呢就是说它的动能区间,如果有人带机械手表的时候,大家都知道现在都是人工取电,你不需要给它上发条,你带着手上手每天在动的时候都会给它上发条。这种啊这种道理其实是一样的,那么这种环境取电的那个技术呢开前两年的话火了一阵子,但后来是随着随着我们一些低功耗,尤其是像NBLT这种长距离又能实现低功耗的那个技术出现之后,这种技术目前来说逐步的话关注度没有以前这么高了。那么接下来我们讲讲一下管道技术管道,实际上其实也不一定是纯粹的管道,吧我就可能是在是在网络这一层上面所牵涉到的一些技术,那么组网技术大家可能知道,包括这个B呀C楼派啊这些这些技术大家可能都会知道,那么这里就不做特殊的展开。

    那么还有一块,其实我们现在看到在物联网的应用里面用的会比较多的就是说室内定位技术,那么目前来说呢应该说通过这些无线电技术通定位的精度基本上都在一米啊一米到两米的情况下面,而现在目前最好的一个定位技术,大家可能有听说过的就是那个超超宽带 HY板这样一个一个技术。那么这种技术的话,通常来说在室内的环境下面,在一些要求定位精度要求特别高的一些一些区域里面,或者说里面由于遮挡会对你的定位效果能够产生很大影响的时候,可能你需要一个更强的一个定位的那个精准度。那么这种技术目前来说是据我所知哈在使用无线电技术里面目前来说还是是精度最高的,在比较好的一个情况下呢可以达到50公分之内的一个精度。那么还有一个就是管道通讯技术里面最核心的那个就互联网的那个通信技术这块我现在不讲,我在后面会有一个专门的篇章回来回来介绍这一块,尤其是结合到华为一些自有产品。那么在云上面的话,我们有互联网平台,有行业的应用平台,以及云计算和大大数据的这些这些这些应用,都是在一些的关注点,这个在云上面的应用这个展开来说,就有很多的内容,我想今天这里面主要跟大家聊一下那个物联网的平台这一块。

    那么互联网的平台它分哪些层?一些细成我就不说,从总的分类来说,它主要分为连接管理啊应用是能还包括那个设备管理以及在上面再上去的话,那就是跟更多的一些分类的一些提供一些 IT服务的这样一些功能。那么连接管理现在在整个业界做得最大的两块,其实是就是叫cyc和和我们的一个友商,就是爱立信这两家目前来说应该基本上垄断了全球的那些主要的运营商的他们的那个那个物联网的领域,就是在最底层的连接管理平台这个层面上面,因为它最基本的就是因为物联网呃微云商他们做物联网,呢最最开始他们想到的就是对于信用卡的管理基于sim卡,那么现在呢其实包括我们看到呢包括沃达丰包括DT包括一些包括加索尔森,他们现在也逐步在扩展他们的整个的联系管理,平台的一个接入功能。第二块呢就是说应用是能这一块,应用市呢它可能更多的是使得使得你的整个的平台,对外,就是尤其对对外他的客户,那么他的客户是什么?它的客户其实并不是最终的那个企业的那个at CS她可能更多的是面向于给那些企业用户提供解决方案的那些集成商那些那些那些开发商,那么他们在这些平台上面能够有一个更好的一个一个环境,设备管理这一块呢其实更多是由设备厂家,包括我们包括那个DJ啊这些做那个硬件通讯模块,他们都会提供相应的配套的设备管理平台,来让你能够更好的管理他们的设备,更方便的管理设备来减少你的整个的一个开发量。那么在这一块我们公司的包括sd N控制器的团队,包括那个我们公司的A就要看出了这些产品都是属于这样一个物联网平台里面的一个支撑,再上去的话可能就牵涉到一些更专业的就是更细分领域的一些IT的一个服务,那么这些包括一些大数据的挖掘数据库的一个服务,包括一些包括马克的ps,这种就是LT的my place,大家可以更使得整个生态系统,他们能够把一些更多的他们做好了一些插件,一些一些工具,能够放到这个market place上面给你,然后更多人的使用,然后和这些提供平台服务的运营商,啊或者包括像I亚马逊啊这种提供云服务的那个平台公司来进行相应的一个分成。那么应该说整个平台的成功应该是来自于它整个的生态伙伴,一个是对你的一个粘性。大家其实看到就是安卓和苹果它都有自己的那个my place,都有自己的生态系统,很多人在上面开发,怎么样来确保你的年轻人,为什么我们现在看到的有些应用。在安卓上面,在IOS上面开发了很多,但是lucky ball就倒掉了,呢因为他没有生态系统。为什么windows phone他也倒掉了,呢那基本上因为也是他是生态系统,就首先你没有一个用户群,就没有办法使得你这个生态能够很好的发展,你的平台能够持续的保持成功。那么关于这个话题呢我想今天就分享到这里,谢谢大家。

    以上片段摘自华为云学院( https://edu.huaweicloud.com/)

    中的课程:《物联网技术与应用》,欢迎点击学习:

    https://education.huaweicloud.com:8443/courses/course-v1:HuaweiX+CBUCNXT001+Self-paced/about


    来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/31556022/viewspace-2218693/,如需转载,请注明出处,否则将追究法律责任。

    转载于:http://blog.itpub.net/31556022/viewspace-2218693/

    展开全文
  • 项目是大学时期的课程设计 摘要 粤嵌GEC 6818开发板作为系统的网关板,其为系统数据的中枢。启动串口收发,可以接收到ZigBee网络的协调器通过串口发送的数据; lCD屏幕编程,实现传感网的数据实时显示;建立有...

    项目是大学时期的课程设计

    摘要

    粤嵌GEC 6818开发板作为系统的网关板,其为系统数据的中枢。启动串口收发,可以接收到ZigBee网络的协调器通过串口发送的数据; lCD屏幕编程,实现传感网的数据实时显示;建立有MySQL数据库的连接,可以将传感网络的温湿度及门状态信息保存到远端的数据库服务器中;建立有TCP服务器,可以实现与上层应用的通讯;通过串口与NB-IOT模块连接,实现外网通讯数据转发。

    物联网的感知层使用的是ZigBee网络,实现多个终端节点的传感器数据获取,多个终端节点的的设备控制,将数据统一由协调器进行管理;网络层使用的是粤嵌6818开发板,实现多种协议的整合,实现数据的转发与处理;应用端有WEB端数据显示和手机端灯控制。

    关键词: NB-IOT;物联网网关;数据库; TCP/IP;MQTT

    概述

    1.1  课题描述

          相比于互联网时代,物联网的通信协议更加多样,物的碎片化非常严重,网关的重要性也就由此凸显——物联网网关能够把不同的物收集到的信息整合起来,并且把它传输到下一层次,因而信息才能在各部分之间相互传输。物联网网关可以实现感知网络与通信网络,以及不同类型感知网络之间的协议转换;既可以实现广域互联,也可以实现局域互联。

          物联网网关,作为一个新的名词,在未来的物联网时代将会扮演非常重要的角色,它将成为连接感知网络与传统通信网络的纽带。此外物联网网关还需要具备设备管理功能,运营商通过物联网网关设备可以管理底层的各感知节点,了解各节点的相关信息,并实现远程控制。

    1.2  系统目标

          物联网的感知层使用的是ZigBee网络,实现多个终端节点的传感器数据获取,多个终端节点的的设备控制,将数据统一由协调器进行管理;网络层使用的是粤嵌6818开发板,实现多种协议的整合,实现数据的转发与处理;应用端有WEB端数据显示和手机端灯控制。

    1.3  环境

           a) 操作系统:

                   Windows10教育版 64位

                   Linux

            b) 使用软件:

                  安卓开发:Android Studio2.0

                  网页开发:Adobe Dreamweaver CC 2017

                  数据库:MySql

                  文档编写:Microsoft Word 2016

                  串口命令行登入:putty.exe

                  Tftp服务器:tftpd32

            c) 开发语言:

                  Java语言

                  PHP语言

                  C语言

    系统总体设计与详细设计

    2.1   系统总体设计

    2.2 网关板设计:

           物联网网关开发板使用的是粤嵌的6818开发板,GEC6818开发平台,核心板采用10层板工艺设计,确保稳定可靠,可以批量用于平板电脑,车机,学习机,POS 机,游戏机,行业监控等多种领域。该平台搭载三星Cortex-A53系列高性能八核处理器S5P6818,最高主频高达1.4GHz,可应用于嵌入式Linux和Android等操作系统的驱动、应用开发。开发板留有丰富的外设,支持千兆以太网、板载LVDS接口、MIPI接口、USB接口等。

          GEC6818开发平台支持三大操作系统,具备完整的教学资源和教学内容,包括:ARM微处理器系统驱动的实验、嵌入式实时操作系统Linux开发、嵌入式Android系统开发、嵌入式Android应用开发、嵌入式系统项目实战开发等内容。

          GEC6818开发板使用的是嵌入式Linux系统,内部运行有TCP服务器,可以等待TCP客户端连接以提交数据与接收控制指令;内部运行有数据库客户端,可向数据库服务器保存感知层上报的传感器数据;板子集成有800*480的显示屏,可以通过显示屏实现模块状态及传感器数据的显示;板子通过两个串口分别与ZigBee网络感知层的协调器、NB-IOT模块进行通信。实现多协议的集成,数据的收发、处理、转发。

          GEC6818开发板是系统的数据中枢。

    2.3 ZigBee网络感知层:

        系统的感知层使用的是ZigBee网络进行组网数据传输,其有一个协调器和两个终端节。终端节点实现感知与控制,其感知部分分别包括有温湿度传感器、霍尔门控传感器;其控制部分是分布在每个终端上的三色LED灯。

    2.3 ZigBee网络感知层:

        系统的感知层使用的是ZigBee网络进行组网数据传输,其有一个协调器和两个终端节。终端节点实现感知与控制,其感知部分分别包括有温湿度传感器、霍尔门控传感器;其控制部分是分布在每个终端上的三色LED灯。

    2.4 显示控制平台及数据保存:

           显示控制平台是基于网关板面向用户的开发,其将需要将网关的数据经过处理后通过图文等简易方式返回给用户观看与操作,实现数据的快速利用。6818网关板上接有LCD屏幕显示,实现门开关状态的显示、两个终端模块的上下线显示、温湿度的实时显示。TCP显示控制台,是通过连接网关板的TCP服务器实现的,可以通过获取网关板所发送的数据,进行解析后显示模块状态、门状态、温湿度数据,也可通过按钮触发实现控制命令的下发。数据保存是会将网关接收的传感器数据实时保存到数据库,数据库的数据展示将会通过网页进行查询展示。手机端的数据接收与控制指令的发送是通过MQTT协议,而网关板实现MQTT协议是通过NB-IOT模块。

    2.5 NB-IOT模块实现:

     网关通过串口与NB模块进行通信,NB模块通过MQTT应用协议与应用层通信,应用层的实现是手机接收相关传感器数据与发送控灯指令。MQTT服务器是搭建在腾讯云主机上的。

    BC26的特性:

    全网通

    支持AT指令

    支持OpenCPU,可省去外围MCU

    支持高速移动(80km/h~120km/h)

    采用联发科的MT2625芯片

    OpenCPU

    1. OpenCPU是基于移远模块的二次开发方案,用户可以直接在模块里开发集成应用,从而省掉外部主控MCU。OpenCPU已被广泛的用于M2M领域,例如智能家居、智能城市、资产追踪,汽车能源等领域。

    2. OpenCPU与传统方案对比如下图。 在传统方案中,需要一个MCU作为主控制器,控制硬件外设,例如控制路灯的亮或灭,然后使用MCU的UART接口与标准模块进行AT指令通信,上报当前路灯状态,或接收来自远程服务器的开关灯命令。而OpenCPU方案,可以直接在模块中编写程序控制路灯,节约硬件成本,加速应用开发。

    3. OpenCPU核心系统是NB-IoT模块的软硬件结合。它内置ARM Cortex-M4处理器,构建在FreeRTOS操作系统之上,具有微内核、实时性、多任务等特点。

    测试

    3.1    智能控制及网关系统硬件整体:

    图3.1  智能控制及网关系统硬件整体

     

    3.2  粤嵌6818开发板网关显示界面:

    图3.2 粤嵌6818开发板网关显示界面

     

    3.3  两个终端节点

    图3.3 集  两个终端节点

     

    3.4  NB-IOT模块与协调器

    图3.4集  协调器与NB-IOT模块

     

    3.5  模块1下线时网关板上显示

    图3.5模块1下线时网关板上显示

    3.6  TCP客户端显示控制平台

    图3.6  TCP客户端显示控制平台

     

    3.7   网页端数据显示平台

    图3.7   网页端数据显示平台

     

    3.8   通过手机与NB-IOT模块通信实现开关等

    图3.8   通过手机与NB-IOT模块通信实现开关等

     

    课程设计总结或结论

    1    物联网网关的重要性:

    相比于互联网时代,物联网的通信协议更加多样,物的碎片化非常严重,网关的重要性也就由此凸显——物联网网关能够把不同的物收集到的信息整合起来,并且把它传输到下一层次,因而信息才能在各部分之间相互传输。物联网网关可以实现感知网络与通信网络,以及不同类型感知网络之间的协议转换;既可以实现广域互联,也可以实现局域互联。

     

    2    JPEG图片的定点显示问题:

    6818网关板上有800*480的LCD屏,如何在板子上显示图片,可以使用jpeg库。其需要的效果是显示实时的传感层数据,如果想要达到较好的效果是不能直接更换整张图片的,这将要涉及到定点替换图片,实现背景图片的显示和实时数据的替换。

    参考原整张图片替换的函数,修改函数为void jpeg_show(int xx,int yy,char *fullfilename),函数携带X和Y轴的偏移量和图片地址,通过写像素点函数lcd_draw_point(cinfo.output_scanline+yy,i+xx,color);加上偏移量实现定点写图片,定点更换显示的效果。

     

    3    OpenCPU的联想:

    三年来接触过的开发板也算是挺多了吧,ESP8266、ESP32、NB-IOT都是支持AT指令和OPenCPU类的开发,为什么要有OpenCPU呢,之前和移远技术人员通电话他给我的解释是BC26之所以支持OpenCPU就是针对于那些舍不得买个外部MCU的人使用的,一般的都是使用AT加外部MCU开发的。哈哈,此处有点接不上话。

    根据个人开发经验,AT指令方便于测试,OPenCPU类方便于开发。如果将一个自带有IO口的单片机只是实现一些特定的功能或者仅仅是数据转发,而且还要严格按照AT指令的格式进行数据解析,那将是一件和为难自己认知的事情。

    作为物联网工程专业学生,在面对系统开发时应该正确的使用AT与OpenCPU类的开发。

    展开全文
  • TencentOS tiny 为物联网终端厂家提供一站式软件解决方案,方便各种物联网设备快速接入腾讯云,可支撑智慧城市、智能水表、智能家居、智能穿戴、车联网等多种行业应用。 腾讯云大学为大家整理了参与了TencentOS ...

    点击观看完整课程

    腾讯物联网操作系统(TencentOS tiny)是腾讯面向物联网领域开发的实时操作系统,具有低功耗,低资源占用,模块化,可裁剪等特性。TencentOS tiny 为物联网终端厂家提供一站式软件解决方案,方便各种物联网设备快速接入腾讯云,可支撑智慧城市、智能水表、智能家居、智能穿戴、车联网等多种行业应用。

    腾讯云大学为大家整理了参与了TencentOS tiny技术特性规划及开发的「腾讯云高级工程师戴胜冬」老师直播课的内容。课程针对新接触TencentOS tiny的开发者,从宏观角度分解TencentOS tiny的技术架构,让开发者快速了解TencentOS tiny的软件能力栈;针对弱基础的基于RTOS内核的嵌入式开发者,设计了基于TencentOS tiny的嵌入式RTOS开发范式讲解环节,此环节展示基于嵌入式RTOS内核基本能力的开发案例;针对端测最常见的基于模组联网场景,设计了基于TencentOS tiny模组通讯框架的开发讲解环节,此环节展示基于TencentOS tiny AT框架的模组驱动开发范式;最后一个环节,基于TencentOS tiny集成的腾讯云sdk能力,展示一个具体的上云案例开发流程,助力开发者快速构建自己的物联应用。

    一、TencentOS tiny技术架构讲解

    下图是TencentOS tiny github官网首页README中的整体架构图

    这个架构较为笼统,我们通过从TencentOS tiny作为一个端测操作系统的角度对架构进行拆解:

     

    TencentOS tiny底层是一个实时操作系统(RTOS)核心,此核心提供了中断管理、内存管理、异常管理、多任务管理、时间管理、实时调度等最基本的RTOS功能,在此之上提供了信号量、互斥锁、事件、消息队列、完成量、计数锁等多任务通信机制。在内核的基础接口之上,提供了cmsis接口适配层,对于用户来说,可以通过cmsis接口访问内核功能,也可以直接访问内核层的接口。

     

    从硬件抽象能力的角度对架构进行拆解,TencentOS tiny对下支持IoT领域最常见的CPU核心(包括arm v6、v7架构,以及RISC-V架构),集成了最常见的mcu板级开发包(noridc、st、nxp、TI等),以及常见的一些硬件驱动包。在内核与板级开发包之间提供一层硬件抽象层,统一化对硬件的访问。

     

    从组件能力的角度对架构进行拆解,针对IoT场景对系统能力的核心诉求,我们围绕内核构建了高效的文件系统、设备管理组件,硬件自组网能力、极简的功耗管理框架、固件OTA差分升级能力等。

    作为物联网操作系统,“联网”是一个重要的能力方面。

     

    针对最常见的基于AT模组的联网方式,我们提供了极简的AT框架实现,并实现了基于AT框架的常见模组(esp8266、BC26、SIM800)驱动,对上封装成统一的sal接口;针对基于LoRA的联网场景,集成了常见的LoRA芯片板级驱动及LoRA协议栈,对上封装成统一的LoRaWan API;对于基于open模式的联网能力开发,我们集成了常见的芯片板级驱动及常见的IoT协议栈(ble 5.0、wifi等),并积极与芯片厂商合作,对上封装统一的抽象接口;对于基于以太网的联网方式,我们集成了常见的以太网控制器板级驱动以及LwIP协议栈,对上提供统一的socket接口。

    在这些基础联网能力之上,集成TLS/DTLS传输层加密套件以及常见的物联网应用层协议栈(MQTT、CoAP、HTTP)。

     

    二、嵌入式RTOS开发范式讲解

    从上云能力的角度来看,以前面所述的联网能力为基础,我们集成了无缝对接腾讯云的SDK套件,提供端测快速对接云端MQTT、CoAP、OTA、Shadow等能力。

     

    RTOS是实时操作系统(RealTime OperationSystem)的缩写,使用的场景一般是对实时性处理要求较高的、资源受限的设备,可以解决裸机程序下“多任务”之间不可能实时抢占的问题。

     

    我们从三个维度考虑为什么使用RTOS:

    一、你的场景是否是资源受限的?

    二、你的硬件是否带内存管理单元?

    三、你的业务场景是否有实时性诉求?

    再了解了什么是RTOS后,我们该如何使用RTOS呢?多任务的本质就是提供了上下文yield语义,以及高优先级抢占式调度的策略。基于RTOS开发,相较于逻辑程序而言,可以享受一系列多任务间异步同步的机制。

     

    互斥锁主要是解决多任务之间临界区资源的互斥性访问的问题,使用互斥锁可以保证一段临界区资源在任意时刻只会有一个任务在对其进行访问。假设你有一段代码,或者一段数据,当有多个任务并行操作时,会导致结果的不确定性(不可重入性,这段代码或者数据就叫临界区资源)。而你的业务恰恰存在这种情况,并且想得到这种确定性,那么在访问这段代码或这段数据(临界区)前,使用互斥锁来确保一个临界区,在任意时刻,只会有一个任务在对其进行访问。

     

    信号量解决的是“系统可用资源数”信息在多任务间传递的问题,通俗化理解就是,对系统某种资源可用数量进行仲裁、管理的机制,可以用来操作系统中最经典的解决生产者、消费者问题。

     

    事件解决的是多任务之间传递一种“信号类”信息,一个具体的事件就是一个uint32_t中的比特位。

    队列用来解决多任务之间传递带负载的消息。有些RTOS实现中也称之为“邮箱”。“事件”机制是通知一个任务发生了一件什么事,更多具体的信息就没有了。队列提供了传递“额外信息”的机制。

     

    总结一下以上的基本组件之任务间通信:

    1. 互斥锁解决的是不可重入资源的竞争性访问:谁先获得了锁,谁才有权访问资源。

    2. 信号量解决的是系统“可用资源数”这个信息在各任务间同步的问题:生产者、消费者问题。

    3. 事件解决的是任务间某种“事件”是否发生的同步问题。

    4. 队列[邮箱]解决的是带“负载”的消息传递问题。

     

    当需要定时触发一些逻辑时,会使用到软件定时器。软件定时器是不依赖于特定硬件,纯粹用软件实现的定时器。可以实现“任务”的定期执行。

     

    系统在没有用户业务需要处理的时候(进入idle),系统会自动进入低功耗模式(sleep),TencentOS tiny实现了两级功耗管理方案:第一级功耗管理,直接在系统配置文件tos_config.h中使能TOS_CFG_PWR_MGR_EN配置项即可,系统会在没有用户业务需要处理的时候(进入idle)自动进入低功耗模式。第二级功耗管理,提供“非周期性”时钟机制。需要用户在tos_config.h中使能TOS_CFG_TICKLESS_EN配置项,并实现唤醒闹钟机制以及tickless配置接口。

     

    三、模组通信框架开发讲解

    模组通信框架基于AT指令的模组通信方式,使用起来较为繁琐,用户要处理很多与模组之间串口的同步、异步通信流程。模组通信框架,是基于TencentOS tiny对串口的hal抽象接口,以及内核提供的信号量、互斥锁、字符队列等机制,实现的一套AT处理框架,并基于AT框架实现最常见的AT模组驱动,对上提供统一的SAL访问接口,极大简化用户对AT模组的使用流程。

    以下是一个最典型的基于SAL接口及AT框架的模组访问案例:

    首先我们通过串口发送AT+RESTORE的命令让模组复位,第二步把这个模组设置为station模式,再设置多连接模式,并最终发布数据。

    接下来我们谈谈怎么使用模组通信框架。

     

    Void tos at uart write byte 这个接口是用来向AT框架灌入数,一般用于与模组连接的串口中断处理函数中被调用。串口中断中收到数据后(从模组来的),调用此接口将数据灌入AT框架。

     

    AT框架提供了一系列的接口,可以辅助用户编写模组访问的AT驱动。

     

    上图是基于AT框架编写自己的模组驱动的流程:

    1. 编写单板的串口驱动(一直吃的板级包不需要用户自己编写,如果不在我们的vendor bsp范围内,需要用户自己适配hal_uart_init接口)。
    2. 编写连接模组的串口中断服务程序,在中断服务程序中获取串口过来的数据,并调用tos_at_uart_write_byte向AT框架中灌入数据。
    3. 按照sal模组接口标准构造自己的驱动模型。
    4. 编写自己的模组初始化接口。一般是调用tos_at_init初始化AT框架、注册当前模组驱动、初始化当前模组驱动。
    5. 利用AT框架提供的接口实现驱动接口。实现connect、send、recv等基本驱动接口。

     

    在直播课中,戴胜冬老师讲解了几个驱动编写案例。

     

    四、上云案例开发讲解

    TencentOS tiny基于TencentOS tiny开发评估套件及eps8266 AT模组的对接腾讯云mqtt服务的案例:

    TencentOS-tiny\board\TencentOS_tiny_EVB_MX\KEIL\tencent_cloud_sdk_mqtt

    1、qcloud_device_create 创建一个端测设备,接口参数为在云上控制台中返回的设备信息。
    2、qcloud_mqtt_connect_opt_create 创建mqtt连接选项。
    3、qcloud_mqtt_client_create 用创建的设备及mqtt连接选项创建一个mqtt client。
    4、qcloud_mqtt_client_connect 发起mqtt连接。
    5、qcloud_mqtt_client_subscribe 订阅主题。
    6、qcloud_mqtt_client_publish 发布主题。
    7、qcloud_mqtt_client_yield mqtt连接保活。

    TencentOS tiny还提供了小程序框架,可以无缝对接腾讯云openAPI平台,直接在小程序中访问设备状态及设备状态控制。

     

    五、内容总结:

    1. 了解TencentOS tiny组件架构,快速定位自己的诉求。
    2. RTOS开发基本范式讲解,快速入门,开启嵌入式RTOS开发旅程。
    3. 了解模组驱动开发框架,快速适配自己的新模组。
    4. 了解上云开发流程,快速构建自己的上云程序。

     

    除了文中提到的驱动和端侧对接云端的案例外,再直播课中还演示了TencentCloud IoT Hub平台的使用,想具体了解的同学可以观看详细的课程录播视频。


    为了给广大开发者提供最实用、最热门前沿、最干货的视频教程,请让我们听到你的需要,感谢您的时间!点击「问卷 」填写!

     

    腾讯云大学是腾讯云旗下,面向云生态用户的云技术学习平台。腾讯云大学大咖分享每周邀请内部技术大咖,为你提供免费、专业、行业最新技术动态分享。

    展开全文
  • 简介:本系统是基于物联网的新型智能家居控制系统,系统以提升家居的安全性、便利性、舒适性、艺术性为目的,以智能化、人性化、高性价比为原则,在现有智能家居技术上进行创新和设计的。本系统可以通过互联网、GSM...
  • 物联网概论知识点

    2019-06-06 23:17:31
    物联网概论课程知识点整理 主讲教师:宋云胜老师 https://blog.csdn.net/Wjwstruggle/article/details/91051348 目录 物联网概论课程知识点整理 第一章 物联网概述 1、什么是物联网? 2、物联网核心技术 3...
  • 课程通过基于WSN的环境监控系统、基于RFID的智能消费系统、基于IPCamera的视频监控系统、基于GPRS DTU的远程监控系统、智能家居综合应用系统等5个典型的物联网子系统,能够将物联网设备的基本原理与日常生产生活中...
  • 临近毕业了,2017年本科毕业,即将结束我的学习生涯,在这里开一个专题,记录一下自己的毕业设计。这是大学最后一次作业了,不求最美,只求付出最大的努力,把自己本科四年的知识进行总结!  此次的毕业设计,...
  • 物联网智能家居系统

    2020-05-23 18:10:29
    物联网智能家居系统1.需求分析、原理/基础准备1.1实验目的1.2基本功能1.3模块功能描述1.3.1主功能函数模块1.3.2串口通信模块1.3.3电机模块1.3.4时间获取模块1.3.5温湿度光电模块1.3.6烟雾模块1.3.7 PWM调光模块1.3.8...
  • 详细课程链接:【物联网开发】基于STM32的端到端物联网全栈开发 物联网平台是阿里云针对物联网领域开发人员推出的一款设备管理平台。高性能IoT Hub实现设备与云端稳定通信,全球多节点部署有效降低通信延时,多重...
  • 物联网信息安全心得

    2019-04-19 15:43:20
    物联网产业的热潮正在席卷全球,它被誉为继计算机、互联网、移动通信网之后的又一次信息产业浪潮。早在1999年,物联网(The Internet of things)的概念就被提出来,它是指通过射频识别(RFID)、红外感应器、全球...
  • 1.1设计背景 无线传感器网络是目前研究的热门领域,它集成 了多门学科的知识,应用领域广泛,因此深受国际社会 的关注。 在 21 世纪里,无线传感器网络技术是具有 较大影响力技术中的一个热门技术,也是无线通信技 术中...
  • 物联网数据处理技术的基本概念 物联网数据的特点 海量 动态 多态 关联 从无线传感器网络TinyDB数据库结构中可以清晰地看到物联网数据“海量、动态、多态、关联”的特点 物联网中的数据、信息与知识 ...
  • 华为NBIOT物联网系列课程路线图 1.2.物联网的深度理解和最新动态 1.3.半小时了解NBIOT技术全貌 1.4.华为物联网体系全介绍2.NB476开发板核心技术详解 3.NBIOT物联网云管端全系统开发模式 3.1、端侧开发 3.2、...
  • 物联网超详细入门教程免费分享 物联网(Internet of Things,缩写:IoT)是指通过信息传感设备,按约定的协议,将任何物体与网络相连接,物体通过信息传播媒介进行信息交换和通信,以实现智能化识别、定位、跟踪、...
  • 第1阶段 学前准备01 C语言及程序设计快速入门02 嵌入式C语言高级---语法概述03 嵌入式C语言高级---内存空间04 嵌入式C语言高级---函数空间05 电子基础元器件第2阶段 物联网终端开发理论基础01 零基础玩转Cortex-M...
  • 物联网学习总结

    2015-07-02 09:39:14
     物联网洋名叫IOT(Internet of Things),学术点来说是一个基于互联网、传统电信网等信息载体,让所有能够被独立寻址的普通物理对象实现互联互通的网络,白话点来说就是一张万物互联的网。它区别于我们熟悉的...
  • 近年来,智能家居、共享单车、智慧城市等都已应用物联网技术,并呈爆炸式增长。那么什么是物联网物联网分为哪几个层次?在智能社会中生存的我们又该如何追赶上时代技术潮流,拥抱物联网世界?接下来我们将一一解答...
1 2 3 4 5 ... 20
收藏数 990
精华内容 396