物联网(IoT)详解

物联网(IoT)详解

  • 1. IoT定义简介
  • 2. IoT工作原理
  • 3. IoT关键技术
  • 4. 物联网与互联网区别
  • 5. IoT使用场景
  • 6. 开源物联网平台
  • 7. 参考资料

1. IoT定义简介

首先第一个问题,什么是物联网(IoT)?
物联网(英文:Internet of Things,缩写:IoT) 起源于传媒领域,是信息科技产业的第三次革命。 物联网是指通过信息传感设备,按约定的协议,将任何物体与网络相连接,物体通过信息传播媒介进行信息交换和通信,以实现智能化识别、定位、跟踪、监管等功能。

物联网(Internet of Things,简称 IoT) 是指通过互联网连接和通信的物理设备和对象的网络。它是一个由传感器、软件和通信设备组成的系统,可以使各种设备和物品相互连接,并通过数据交换和分析来提供更智能、高效和自动化的功能。
物联网的主要目标是将真实世界的物体与互联网相连,使其具备感知、交互和通信的能力。通过物联网,可以实现智能家居、智慧城市、工业自动化、农业监测、智能交通等应用。

上述给出两种定义,其中第一个是百度百科定义,感觉太官方,如果不是专业相关很难理解,第二个解释会更好些。
总结一句话,物联网就是通过互联网实现与现实世界物理设备连接的网络。

概念清楚了,知道什么是物联网了,那么第二个问题来了,为什么需要物联网(IoT)?
物联网的出现主要是为了解决日常生活和工作中的一些实际问题。例如,在智能家居中,可以通过物联网连接家中的各种设备,如智能灯泡、智能插座、智能门锁等,从而实现远程控制、自动化调节和能源管理,提高家居的舒适度和能源利用效率。

此外,物联网在工业领域也发挥着重要作用。传统的工业生产过程通常需要大量的人力和物力投入,而物联网可以通过连接和监控各种设备和环境参数,实现生产过程的自动化和优化,提高生产效率和产品质量。例如在石油行业,可以利用物联网技术来监测阀门的状态和运行情况。通过安装传感器和执行器在阀门上,可以实时监测阀门的开启、关闭状态、温度、压力等数据。这些数据可以通过物联网平台进行收集、分析和处理,从而实现远程监控和智能化管理,提高阀门的运行效率,预测维护,减少故障发生,保证石油生产和输送的安全可靠性。

总结一句话就是能给生活带来便利,给工业带来自动化。

第三个问题,物联网有哪些优势?
1.实时数据
通过物联网,可以实时收集和分析各种传感器和设备生成的数据。这些数据可以帮助用户更好地了解设备和环境的状况,及时发现问题并做出相应的调整和决策。

2.自动化和智能化
物联网可以实现设备和系统的自动化控制和智能决策。通过对数据的分析和学习,物联网可以根据设定的规则和算法自动执行操作,提高工作效率和生产力。

3.降低成本和能源消耗
物联网可以帮助优化资源和能源的使用,减少浪费和成本。通过实时监测和控制,可以更好地管理能源消耗,减少资源浪费。

4.提供个性化的服务和体验
物联网可以通过收集和分析用户的数据,为用户提供个性化的服务和体验。例如,在智能家居中,可以根据用户的习惯和喜好,自动调节温度、照明和音乐等设备,提供更舒适和便捷的居住环境。

2. IoT工作原理

简要工作原理,设备到云服务(物联网平台IoT)到终端APP。如下图所示(比较简要,主要为了说明流程)。
------图

看过简要流程大概都能明白,不知道大家是否有一个疑问,为什么需要云服务器作为app与设备连接的中转,不采用app直接连接设备的方式?比如直接通过app连接电灯来控制亮度或者开关?想了下总结内容如下:

  1. 可靠性和稳定性
    连接管理:云服务器可以管理大量的连接,即使设备频繁上下线也能保证服务的连续性和稳定性。
    负载均衡:云服务器可以部署多个实例,通过负载均衡技术分发请求,提高系统的响应速度和可用性。

  2. 数据管理和分析
    数据持久化:云服务器可以存储设备的状态信息、历史数据等,方便后续的数据分析和应用。
    数据分析:云平台通常提供强大的数据分析能力,帮助开发者更好地理解设备行为和用户习惯,从而优化产品和服务。

  3. 安全性
    身份验证:云服务器可以集中管理用户身份验证和授权,确保只有合法用户能够控制设备。
    数据加密:云平台可以统一管理数据加密和解密,保护敏感信息不被未授权访问。
    设备认证:确保只有经过认证的设备才能接入网络,防止非法设备接入。

  4. 可扩展性
    设备管理:云服务器可以轻松地增加或减少设备数量,无需修改APP或设备端代码。
    服务扩展:云平台支持水平扩展,可以根据用户量的增长动态调整资源。

  5. 多平台兼容
    跨平台支持:云服务器作为中间层,可以同时支持不同类型的设备和操作系统,比如Android、iOS、Windows等。

  6. 降低复杂性
    简化通信:APP与设备之间的通信可以通过简单的API调用完成,降低了APP开发的复杂度。
    错误处理:云服务器可以集中处理各种错误和异常情况,减轻APP和设备端的负担。

  7. 网络兼容性
    穿透防火墙:直接连接可能会遇到防火墙、NAT穿越等问题,而通过云服务器可以更容易地解决这些问题。
    全球访问:云服务器通常在全球范围内都有节点,可以提供更快的响应速度和更好的用户体验。

  8. 维护成本
    更新维护:云服务器上的服务可以随时更新,而不需要用户更新他们的设备或APP。
    故障恢复:云平台通常具有高可用性架构,能够快速从故障中恢复。

  9. 动态 IP 问题
    动态 IP 地址:许多IoT设备连接的家庭或企业网络中,其公网IP地址可能是由ISP动态分配的。这意味着设备的公网IP地址可能会不定期改变,导致直接连接变得不可行。
    固定服务器地址:通过使用云服务器,设备只需要知道服务器的固定地址即可。即使设备的本地IP地址发生变化,也不影响与云服务器的通信。
    云服务器的作用:云服务器充当了一个稳定的通信中心,无论设备的IP地址如何变化,设备都可以通过固定的云服务器地址进行通信。

  10. 软件更新和配置管理
    集中管理:通过云服务器,开发者可以集中管理所有设备的软件版本和配置设置。
    远程更新:当有新的软件版本发布时,可以通过云服务器将更新推送到所有连接的设备上,而不需要用户手动操作。
    安全补丁:同样,当发现安全漏洞时,可以通过云服务器推送安全补丁,确保设备安全。

  11. 负载均衡
    并发请求处理:当大量APP同时请求控制同一设备时,直接连接可能会使设备不堪重负,导致响应延迟或失败。
    云服务器的负载均衡:云服务器可以部署多个实例,并通过负载均衡技术将请求分散到不同的服务器上,确保每个请求都能得到及时响应。
    资源优化:负载均衡还可以根据当前的请求负载动态调整资源分配,优化服务器性能。

综上所述,通过这些特点可以看出,云服务器不仅解决了技术难题,还提升了用户体验和系统的整体稳定性。因此,在设计IoT系统时,使用云服务器作为APP与设备之间的中转是非常重要的。虽然直接让APP与设备建立连接在某些特定场景下也是可行的,但考虑到系统的复杂性、安全性、可靠性和可维护性等因素,使用云服务器作为中转站通常是更好的选择。云平台不仅能够提供强大的后台支持,还能够帮助企业快速开发和部署物联网解决方案,提升用户体验。

看完简要工作原理大致流程相信都能明白了,再看下相对详细工作原理,如下图所示。
------图

使用物联网平台实现设备完整的通信链接,需要您自行完成设备端的设备开发、云端服务器的开发(云端SDK的配置)、数据库的创建、手机App的开发。在设备和服务器开发中,您需完成设备消息的定义和处理逻辑。

设备通过物联网平台上下行通信说明如下。
------图

物联网的工作原理是通过连接物理设备和对象,使它们能够感知环境、收集数据、通信和执行操作。数据通过通信技术传输到云端,经过处理和分析后,可以实现智能决策和自动化控制。物联网的工作原理涉及传感器、通信技术、云计算、边缘计算、数据分析和应用交互等多个方面的技术和组件。

1.物联网设备:物联网的核心是物联网设备,它们可以是传感器、执行器、智能设备等。这些设备通过嵌入式计算和通信能力,能够感知环境、收集数据、执行操作并与其他设备进行通信。

2.传感器和数据收集:物联网设备中通常包含各种传感器,例如温度传感器、湿度传感器、压力传感器等。这些传感器可以感知和测量环境参数,并将收集到的数据转化为数字信号。

3.数据传输和通信:物联网设备通过通信技术将收集到的数据传输到云端或其他设备。常用的通信技术包括无线传感网(WSN)、蓝牙、Wi-Fi、GSM、Zigbee等。这些通信技术可以实现设备之间的数据传输和通信。

4.云端平台和边缘计算:传输到云端的数据可以存储在云端服务器中,并通过云计算平台进行处理和分析。云计算提供了强大的计算和存储能力,可以对大规模的物联网数据进行处理和分析。此外,边缘计算是一种将计算能力推送到设备附近的技术,可以实现更低延迟和更高可靠性的物联网应用。

5.数据分析和决策:在云端进行数据分析和处理后,可以提取有用的信息和见解。通过机器学习和人工智能算法,可以对数据进行深入分析,并做出智能决策和预测。这些决策可以传输回物联网设备,从而实现自动化操作和控制。

6.应用和交互:通过物联网,可以实现各种应用和交互方式。例如,智能家居中的设备可以根据用户的习惯自动调节温度、照明和音乐等。智慧城市中,可以通过物联网监测交通流量、垃圾桶状态等,并提供智能化的城市服务。

3. IoT关键技术

1.射频识别技术
谈到物联网,就不得不提到物联网发展中备受关注的射频识别技术(Radio Frequency Identification,简称RFID)。RFID是一种简单的无线系统,由一个询问器(或阅读器)和很多应答器(或标签)组成。标签由耦合元件及芯片组成,每个标签具有扩展词条唯一的电子编码,附着在物体上标志目标对象,它通过天线将射频信息传递给阅读器,阅读器就是读取信息的设备。RFID技术让物品能够“开口说话”。这就赋予了物联网一个特性即可跟踪性。就是说人们可以随时掌握物品的准确位置及其周边环境。据Sanford C. Bernstein公司的零售业分析师估计,关于物联网RFID带来的这一特性,可使沃尔玛每年节省83.5亿美元,其中大部分是因为不需要人工查看进货的条码而节省的劳动力成本。RFID帮助零售业解决了商品断货和损耗(因盗窃和供应链被搅乱而损失的产品)两大难题,仅盗窃一项,沃尔玛一年的损失就达近20亿美元。 [5]

2.传感网
MEMS是微机电系统( Micro - Electro - Mechanical Systems)的英文缩写。它是由微传感器、微执行器、信号处理和控制电路、通讯接口和电源等部件组成的一体化的微型器件系统。其目标是把信息的获取、处理和执行集成在一起,组成具有多功能的微型系统,集成于大尺寸系统中,从而大幅度地提高系统的自动化、智能化和可靠性水平。它是比较通用的传感器。因为MEMS,赋予了普通物体新的生命,它们有了属于自己的数据传输通路、有了存储功能、操作系统和专门的应用程序,从而形成一个庞大的传感网。这让物联网能够通过物品来实现对人的监控与保护。 遇到酒后驾车的情况,如果在汽车和汽车点火钥匙上都植入微型感应器,那么当喝了酒的司机掏出汽车钥匙时,钥匙能透过气味感应器察觉到一股酒气,就通过无线信号立即通知汽车 “暂停发动”,汽车便会处于休息状态。同时“命令”司机的手 机给他的亲朋好友发短信,告知司机所在位置,提醒亲友尽快来处理。不仅如此,未来衣服可以“告诉”洗衣机放多少水和洗衣粉最经济;文件夹会“检查”忘带了什么重要文件;食品蔬菜的标签会向顾客的手机介绍“自己”是否真正“绿色安全”。这就是物联网世界中被“物”化的结果 [5]。

3.M2M系统框架
M2M是Machine-to-Machine/Man的简称,是一种以机器终端智能交互为核心的、网络化的应用与服务。它将使对象实现智能化的控制。M2M技术涉及5个重要的技术部分:机器、M2M硬件、通信网络、中间件、应用。基于云计算平台和智能网络,可以依据传感器网络获取的数据进行决策,改变对象的行为进行控制和反馈。拿智能停车场来说,当该车辆驶入或离开天线通信区时,天线以微波通讯的方式与电子识别卡进行双向数据交换,从电子车卡上读取车辆的相关信息,在司机卡上读取司机的相关信息,自动识别电子车卡和司机卡,并判断车卡是否有效和司机卡的合法性,核对车道控制电脑显示与该电子车卡和司机卡一一对应的车牌号码及驾驶员等资料信息;车道控制电脑自动将通过时间、车辆和驾驶员的有关信息存入数据库中,车道控制电脑根据读到的数据判断是正常卡、未授权卡、无卡还是非法卡,据此作出相应的回应和提示。另外,家中老人戴上嵌入智能传感器的手表,在外地的子女可以随时通过手机查询父母的血压、心跳是否稳定;智能化的住宅在主人上班时,传感器自动关闭水电气和门窗,定时向主人的手机发送消息,汇报安全情况。 [5]

4.云计算
云计算旨在通过网络把多个成本相对较低的计算实体整合成一个具有强大计算能力的完美系统,并借助先进的商业 模式让终端用户可以得到这些强大计算能力的服务。如果将 计算能力比作发电能力,那么从古老的单机发电模式转向现代电厂集中供电的模式,就好比大家习惯的单机计算模式转向云计算模式,而“云”就好比发电厂,具有单机所不 能比拟的强大计算能力。这意味着计算能力也可以作为一种商品进行流通,就像煤气、水、电一样,取用方便、费用低廉,以至于用户无需自己配备。与电力是通过电网传输不同,计算能力是通过各种有线、无线网络传输的。因此,云计算的一个核心理念就是通过不断提高“云”的处理能力,不断减少用户终端的处理负担,最终使其简化成一个单纯的输入输出设备,并能按需享受“云”强大的计算处理能力。物联网感知层获取大量数据信息,在经过网络层传输以后,放到一个标准平台上,再利用高性能的云计算对其进行处理,赋予这些数据智能,才能最终转换成对终端用户有用的信息。

4. 物联网与互联网区别

物联网和互联网是两个不同概念的技术领域,它们的主要区别表现在范围、对象、数据类型和应用场景等方面。
在这里插入图片描述

5. IoT使用场景

物联网的应用场景非常广泛,以下是其中一些主要的应用领域:

1.智能家居
通过物联网连接家庭设备和家庭网络,实现智能化和自动化控制,提高家居的舒适性、安全性和能源效率。

2.智慧城市
通过物联网连接城市中的各种设施和基础设施,实现城市的智能化管理和优化,提供更高效、环保和便捷的城市服务。

3.工业自动化
通过物联网连接和监控工业设备,实现生产过程的自动化和优化,提高生产效率和产品质量。

4.农业监测
通过物联网连接农田中的传感器和设备,实时监测土壤湿度、气温、光照等参数,提供精准的农业管理和决策支持。

5.智能交通
通过物联网连接交通设施和车辆,实现智能交通管理和优化,提高交通流畅性和安全性。

6. 开源物联网平台

Kaa IoT Platform
https://www.kaaproject.org/
它是功能丰富的开放和高效的物联网云平台。 任何物联网公司,物联网系统集成商或个人都可以免费实现其智能产品概念。 通过提供服务器和端点SDK组件,Kaa可以为连接的对象和后端基础架构提供数据管理。

SiteWhere: Open Platform for the Internet of Things
http://www.sitewhere.org/
Sitewhere的工作架构和整合的东西,它是提供设备数据的摄取,存储,处理和集成的另一个开源IoT平台。 SiteWhere运行在Apache Tomcat提供的核心服务器上。 它提供高度调整的MongoDB和HBase实现。 它可以轻松与黑客板集成。

ThingSpeak: An open IoT platform with MATLAB analytics
https://thingspeak.com/
ThingSpeak是物联网(IoT)平台,可让您在不从Mathworks购买许可证的情况下分析和可视化MATLAB中的数据。 IT允许您收集和存储传感器数据并开发物联网应用程序。 它适用于Arduino,Particle Photon和Electron,ESP8266 Wifi模块,BeagleBone Black,Raspberry Pi,移动和网络应用,Twitter,Twilio和MATLAB,以将传感器数据传到ThingSpeak。 ThingSpeak主要关注传感器记录,位置跟踪,触发和警报以及分析

DeviceHive: IoT Made Easy
https://www.devicehive.com/
DeviceHive是另一种功能丰富的开源IoT平台,它在Apache 2.0许可下分发。 DeviceHive可以自由使用和更改。它提供了Docker和Kubernetes部署选项。您可以下载并使用公共云和私有云,也可以将单个虚拟机扩展到企业级群集。它可以通过REST API,WebSockets或MQTT连接到任何设备或黑客板。你甚至可以连接ESP8266这样的低端Wi-Fi设备。

Zetta: API-First Internet of Things Platform
http://www.zettajs.org/
Zetta是一个基于Node.js构建的面向服务器的开源IoT平台。 Zetta结合了REST API,WebSockets和反应式编程。 它可以在单板计算机,个人电脑或云上运行,并且能够将诸如Linux,BeagleBones,Raspberry Pis,Arduino开发板和PC等不同平台与Heroku等云平台连接在一起,以创建地理分布式网络。 您还可以将数据传输到Splunk等机器分析平台。

DSA: Open Source Platform & “Toolkit” for Internet Of Things Devices
http://www.iot-dsa.org/
分布式服务体系结构(DSA)是一个开源的物联网平台,它将结构化和实时数据模型中的各个设备,服务和应用程序统一起来。

Thingsboard.io Open-source IoT Platform
https://thingsboard.io/
Thingsboard是100%开源的IoT平台,可以作为SaaS或PaaS解决方案托管它。 IT为您的物联网项目提供设备管理,数据收集,处理和可视化。 它支持提供设备连接的标准协议是MQTT,CoAP和HTTP,并支持云和本地部署。 它提供了30多个可自定义的小部件,允许您为大多数物联网用例构建最终用户自定义仪表板。

Thinger.io: The Opensource Platform for Internet of things
https://thinger.io/
Thinger.io是IoT的开源平台,可为连接设备或物品提供可扩展的云基础架构。 您可以使用管理控制台轻松控制它们,或使用其REST API将它们集成到项目逻辑中。 IT支持所有类型的黑客板,如Arduino,ESP8266,Raspberry Pi,Intel Edison。

WSo2- Open source platform for Internet of Things and mobile projects
https://wso2.com/iot
WSo2 Build允许公开API来为移动应用提供支持,允许用户监控和控制他们的设备。 您可以将其与现有的身份系统集成,或使用他们的身份系统。 该物联网平台还支持几乎所有已知的开发板设备,如Raspberry Pi,Arduino Uno等。边缘计算由WSO2 Siddhi提供支持。

7. 参考资料

https://www.aliyun.com/getting-started/what-is/what-is-iot
https://cloud.tencent.com/developer/techpedia/1586
https://cloud.tencent.com/product/iot-class
https://iot.mi.com/v2/new/doc/home
https://support.huaweicloud.com/iot/index.html
https://baike.baidu.com/item/%E7%89%A9%E8%81%94%E7%BD%91/7306589
https://blog.csdn.net/shnbiot/article/details/80432017

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/404418.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

LabVIEW光纤水听器闭环系统

开发了一种利用LabVIEW软件开发的干涉型光纤水听器闭环工作点控制系统。该系统通过调节光源频率和非平衡干涉仪的光程差,实现了工作点的精确控制,从而提高系统的稳定性和检测精度,避免了使用压电陶瓷,使操作更加简便。 项目背景 …

thinkphp5实现弹出框(下拉框选项动态赋值)

效果图 原理 先执行接口获取动态数据,然后在 layer.open的success回调函数中动态添加html代码片段,通过如下方法,将动态生成的代码插入指定的div中,实现动态赋值的效果。 // 动态获取的数据 var data ......;// 弹出框配置 lay…

【BUU】[NewStarCTF 2023 公开赛道]Final -CP读取文件内容

漏洞检测 访问首页发现是ThinkPHP5 的站点 用工具扫描一下,发现存在ThinkPHP5.0.23 RCE漏洞 访问验证,写入shell 成功写入shell. 根目录发现flag,但是权限不足 提权获取flag 准备提权,这里一开始尝试了find,但是find权限不足 尝试采用cp命令,移动到web目录,发现访问还是…

基于web的物流管理系统--论文pf

TOC springboot473基于web的物流管理系统--论文pf 第1章 绪论 1.1 课题背景 二十一世纪互联网的出现,改变了几千年以来人们的生活,不仅仅是生活物资的丰富,还有精神层次的丰富。在互联网诞生之前,地域位置往往是人们思想上不可…

基于深度学习的图像特征优化识别复杂环境中的果蔬【多种模型切换】

文章目录 有需要本项目的代码或文档以及全部资源,或者部署调试可以私信博主项目介绍图像特征优化方法模型原理及实验对比模型训练每文一语 有需要本项目的代码或文档以及全部资源,或者部署调试可以私信博主 项目介绍 基于深度学习的图像识别技术广泛应…

清影智能开源版CogVideox:开源文本到视频生成模型的探索

人工智能(AI)领域的创新一直在不断推进,而下一个前沿领域,很可能就是文本到视频生成模型。在不久的将来,我们将会看到许多中小型公司推出自己的文本到视频生成模型,这一技术将会迅速发展。而这正是为什么当…

Java | Leetcode Java题解之第350题两个数组的交集II

题目: 题解: class Solution {public int[] intersect(int[] nums1, int[] nums2) {Arrays.sort(nums1);Arrays.sort(nums2);int length1 nums1.length, length2 nums2.length;int[] intersection new int[Math.min(length1, length2)];int index1 …

建筑工程项目管理系统-计算机毕设Java|springboot实战项目

🍊作者:计算机毕设匠心工作室 🍊简介:毕业后就一直专业从事计算机软件程序开发,至今也有8年工作经验。擅长Java、Python、微信小程序、安卓、大数据、PHP、.NET|C#、Golang等。 擅长:按照需求定制化开发项目…

Java——反射(4/4):反射的作用、应用场景(案例需求、实现步骤、代码实现)

目录 作用 应用场景 案例需求 实现步骤 代码实现 作用 基本作用:可以得到一个类的全部成分然后操作。可以破坏封装性。最重要的用途是:适合做Java的框架,基本上,主流的框架都会基于反射设计出一些通用的功能。 通过反射能够…

JVisualVM 基础知识与配置详解(图文界面)

目录 前言1. 基本知识2. 下载配置3. 测试 前言 对于Java的基本知识,推荐阅读: java框架 零基础从入门到精通的学习路线 附开源项目面经等(超全)【Java项目】实战CRUD的功能整理(持续更新) 1. 基本知识 …

[Meachines] [Easy] Bastion SMB未授权访问+VHD虚拟硬盘挂载+注册表获取NTLM哈希+mRemoteNG远程管理工具权限提升

信息收集 IP AddressOpening Ports10.10.10.134TCP:22, 135, 139, 445, 5985, 47001, 49664, 49665, 49666, 49667, 49668, 49669, 49670 $ nmap -p- 10.10.10.134 --min-rate 1000 -sC -sV PORT STATE SERVICE VERSION 22/tcp open ssh OpenSSH fo…

multimodel ocr dataset

InternLM-XComposer2-4KHD InternLM-XComposer2-4KHD a light-weight Vision Encoder OpenAI ViT-Large/14Large Language Model InternLM2-7B, 这篇论文采用的是一种动态分辨率的输入; 全图有一个global view,resize到336*336; 然后把图片resize再pad…

Kubernetes群集部署

Kubernetes概述 是一个开源的Docker容器编排技术 源自于google的borg2015年7月kubernetesv1.0正式发布调度计算集群节点,动态管理节点上的作业使用[labels]和[pods]概念,将应用按逻辑单元分组 主要用途 自动化部署、扩展和管理容器应用资源调度部署管理…

计算机毕业设计pyspark+django+scrapy租房推荐系统 租房大屏可视化 租房爬虫 hadoop 58同城租房爬虫 房源推荐系统

用到的技术: 1. python 2. django后端框架 3. django-simpleui,Django后台 4. vue前端 5. element-plus,vue的前端组件库 6. echarts前端可视化库 7. scrapy爬虫框架 基于大数据的租房信息推荐系统包括以下功能&#xff1a…

Windows下串口编程与单片机串口设备通信(win32-API)

一、前言 串行通信接口,通常简称为“串口”,是一种数据传输方式,其中信息以连续的比特流形式发送,每个比特在不同的时间点被传输。这与并行通信形成对比,在并行通信中,多个比特同时通过多个线路传输。串口…

学习笔记 韩顺平 零基础30天学会Java(2024.8.15)

P512 ArrayList底层源码2 P513 Vector注意事项 最近有点懈怠,要去新的环境上学了,有点焦虑,调整状态ing,准备开始研一,希望能继续本科的荣耀!! PS:本科应该算是荣耀的吧哈哈哈哈哈

html 首行缩进2字符

1. html 首行缩进2字符 1.1. 场景 在Html开发中让一段文字(富文本等)首行缩进两个文字,可能在前面加上8个“ ”,因为过去对CSS不熟悉,这种方法实现虽然比较直接,但是文字多的时候会有很多“ ”充斥在代码中…

深度学习设计模式之外观模式

文章目录 前言一、介绍二、特点三、详细分析1.核心组成2.代码示例3.优缺点优点缺点 4.使用场景 总结 前言 外观模式是结构型设计模式,定义一个高层接口,用来访问子系统中的众多接口,使系统更加容易使用。 一、介绍 外观设计模式&#xff08…

机器学习第十二章-计算学习理论

目录 12.1基础知识 12.2 PAC学习 12.3有限假设空间 12.3.1可分情形 12.3.2不可分情形 12.4VC维 12.5 Rademacher复杂度 12.1基础知识 计算学习理论研究的是关于通过"计算"来进行"学习"的理论,即关于机器学习的理论基础,其目的…

encoding with ‘idna‘ codec failed (UnicodeError: label empty or too long)

今天在使用Flask连接mysql的时候,遇到了一个报错:encoding with ‘idna’ codec failed (UnicodeError: label empty or too long) 网上查了一下说是字符集的问题,然后尝试修改了一下字符集,结果还是不行。 最后去翻阅SQLAlchemy…