• [技术干货] 雾计算和边缘计算的区别【转】
    随着物联网的发展,经常听到「雾计算」和「边缘计算」这样的单词。  雾计算这个词相对来说是最近出现的一个词。因为和云相比位置上更接近设备,所以表示为雾,它是作为实现IoT的结构为Cisco等提倡,旨在为全球范围所采用。另一方面,边缘计算这个术语,早就用于表示云和设备的边界。  为什么现在,经常听到这两个词呢。这是和「云计算」的界限有很大的关系。  在云里,如果任何时候都可以保证连接到在数据处理后能够发送到终端设备的服务器上,云计算就可以说是伟大的解决方案。  但是,比如说IoT设备要求具备可靠性来保证在出现服务故障的情况下也能执行任务,具备本地的处理和存储能力在今后也变得越来越重要。这里出场的就是雾/边缘计算。这两个单词行业总是一起被使用,但是也存在一些重要的差异。(当然视角不同观点也不一样)  为了说明这些方法是如何不同,以智能吸尘器为例来考虑一下。这个例子的话,给该吸尘器分配了一个任务,在它发现垃圾后马上就收拾,在家里遍布的传感器检测到垃圾的瞬间开始启动。雾计算  雾计算(Fog Computing),在该模式中数据、(数据)处理和应用程序集中在网络边缘的设备中,而不是几乎全部保存在云中,是云计算(Cloud Computing)的延伸概念,由思科(Cisco)提出的。这个因“云”而“雾”的命名源自“雾是更贴近地面的云”这一名句。  雾计算和云计算一样,十分形象。云在天空飘浮,高高在上,遥不可及,刻意抽象;而雾却现实可及,贴近地面,就在你我身边。雾计算并非由性能强大的服务器组成,而是由性能较弱、更为分散的各类功能计算机组成,渗入工厂、汽车、电器、街灯及人们物质生活中的各类用品。边缘计算  边缘计算是指在靠近物或数据源头的一侧,采用网络、计算、存储、应用核心能力为一体的开放平台,就近提供最近端服务。其应用程序在边缘侧发起,产生更快的网络服务响应,满足行业在实时业务、应用智能、安全与隐私保护等方面的基本需求。边缘计算处于物理实体和工业连接之间,或处于物理实体的顶端。而云端计算,仍然可以访问边缘计算的历史数据。  边缘计算并非是一个新鲜词。作为一家内容分发网络CDN和云服务的提供商AKAMAI,早在2003年就与IBM合作“边缘计算”。作为世界上最大的分布式计算服务商之一,当时它承担了全球15-30%的网络流量。在其一份内部研究项目中即提出“边缘计算”的目的和解决问题,并通过AKAMAI与IBM在其WebSphere上提供基于边缘Edge的服务。雾计算与边缘计算区别比较  首先说说「雾计算」,处理能力放在包括 IoT设备的LAN里面。这个网络内的IoT网关,或者说是雾节点用于数据收集,处理,存储。多种来源的信息收集到网关里,处理后的数据发送回需要该数据的设备。  雾计算的特点是处理能力强的单个设备接收多个端点来的信息,处理后的信息发回需要的地方。和云计算相比延迟更短。  和边缘计算相比较的话,雾计算更具备可扩展性。具有集中处理的设备,设想的网络是从多个端点发送数据的大的网络。  雾计算不需要精确划分处理能力的有无。根据设备的能力也可以执行某些受限处理,但是更复杂的处理实施的话需要积极的连接。  以吸尘器为例说明,集中化的雾节点(或者IoT网关)继续从家中的传感器收集信息,检测到垃圾的话就启动吸尘器。  边缘计算,进一步推进了雾计算的「LAN内的处理能力」的理念,处理能力更靠近数据源。不是在中央服务器里整理后实施处理,而是在网络内的各设备实施处理。  这样,通过把传感器连接到可编程自动控制器(PAC)上,使处理和通信的把握成为可能。  和雾计算相比的优点,根据它的性质单一的故障点比较少。各自的设备独立动作,可以判断什么数据保存在本地,什么数据发到云端。  以吸尘器为例说明,边缘计算的解决方案里传感器各自判断有没有垃圾,来发送启动吸尘器的信号。  虽然这2个解决方案带来的东西有点相似,但是数据的收集,处理,通信的方法确实是不同的。都有各自的长处和短处,在各种情况下也会出现适合或不适合。IoT在我们的生活中越来越广泛,将来接触的机会也会更多,只记录数据的传感器已经是明日黄花了。原文地址:cid:link_0
  • [技术干货] Wi-Fi HaLow:推动智慧城市的发展【转】
    Wi-Fi HaLow是传统Wi-Fi的演变,专为满足物联网应用的需求而设计。它结合了IEEE802.11ah标准,于2021年11月作为Wi-Fi联盟的新认证发布。全球智慧城市运动代表着城市环境设计、体验和导航方式的重大转变。这一巨大变化在一定程度上是由数字化转型和物联网(IoT)技术推动的,这些技术正在将城市基础设施和城市景观重塑为智能连接中心。这一趋势的核心是满足智慧城市独特需求的先进无线技术的出现。在这些新兴技术中,Wi-Fi认证的HaLowTM作为智慧城市连接的理想无线协议脱颖而出。Wi-Fi HaLow是传统Wi-Fi的演变,专为满足物联网应用的需求而设计。它结合了IEEE802.11ah标准,于2021年11月作为Wi-Fi联盟的新认证发布。Wi-FiHaLow在sub-GHz频段运行,在范围、覆盖范围和功率效率方面超过了2.4、5和6GHz频段的传统Wi-Fi,重新定义了智慧城市和物联网应用的无线连接边界。Wi-Fi HaLow能够从单个接入点连接8,000多个设备,提供超过1公里的长距离连接、低功耗、先进的Wi-Fi认证WPA3TM安全性和庞大的网络密度-正是智慧城市所需要的属性。基于IEEE802.11ah标准的优势,Morse Micro正在开发下一代Wi-Fi HaLow解决方案,该解决方案的延伸距离是传统Wi-Fi网络的10倍,覆盖范围是传统Wi-Fi网络的100倍。这些进步进一步推动了智慧城市应用开发商的目标,促进远程连接、自动化城市服务并促进环境可持续性。这项创新的一个典型例子是Wi-Fi HaLow网络对智慧城市交通系统的潜在影响。由于扩展有线网络的高成本和复杂性,传统网络基础设施升级经常遇到瓶颈,这凸显了对新型远程无线技术的需求。在此类场景中,Wi-Fi HaLow卓越的覆盖范围、穿透力和性能提供了一种革命性的解决方案,远远超越了2.4、5和6GHz频段传统Wi-Fi的范围限制,同时优于低功率宽带的低数据速率。Wi-Fi HaLow的多功能性使其能够将不同的楼宇自动化系统组合成一个统一的连接平台,提供速度和范围的最佳平衡,并允许将视频与传感器相结合的创新物联网应用。它提供实时运营数据与管理智能建筑、数据中心、工业流程和其他城市公用事业的人员和系统之间的无缝连接。其扩展的范围和先进的安全性使其成为连接大量子系统的理想选择,从暖通空调和智能照明到微电网和边缘人工智能摄像头。通过使用基于标准的Wi-Fi HaLow,智慧城市部署和管理网络服务的总成本低于其他无线解决方案。Wi-Fi HaLow在其运行中使用免许可无线电频谱,支持Wi-Fi HaLow的设备可以从多个OEM采购。与收取网络使用费的蜂窝服务提供商不同,使用Wi-Fi HaLow连接无需产生经常性费用。了解Wi-Fi技术的专家人员很多,可以使用完善的方法来操作和维护Wi-Fi HaLow网络。这些经济效益有助于降低智慧城市的运营成本,而节省的成本可以惠及城市居民。在企业层面,Wi-Fi HaLow增强了广泛的智慧城市应用,包括安保和安全系统、能源管理、维护、住户服务、公用事业计费、需求管理、室内空气质量(IAQ)监测器和合规系统。凭借其在范围、能效、网络容量和安全性方面的独特优势,Wi-Fi HaLow可以为这些应用提供处理大量物联网设备连接的能力,从而显著增强智慧城市内的运营和服务。Wi-Fi HaLow独特地融合了长距离、低功耗、先进的安全性和高密度连接,正在改变智慧城市应用。无论是支持自动化交通系统、简化的建筑运营还是增强的企业应用,Wi-Fi HaLow都是一个强大的协议,能够满足智慧城市的无数需求。它能够在广阔的城市景观中连接数千个物联网设备,从而实现高效的数据共享和自动化,从而推动城市服务的改善、环境的可持续性以及居民更高的生活质量。随着世界各地的城市向智能互联环境过渡,Wi-Fi HaLow等先进无线协议已成为技术创新的关键推动者。通过提供针对物联网应用的独特要求量身定制的连接解决方案,Wi-Fi HaLow不仅为智慧城市的发展做出了贡献,而且还设定了更高的无线通信标准。Wi-Fi HaLow不断增长的市场势头代表着向更智能、更安全、更互联的未来的重大飞跃,重塑着我们的城市景观。原文地址:cid:link_0
  • [技术干货] 产品的规格说明
    规格/指标项具体规格/指标描述基础功能规格操作系统的进程管理、内存管理和文件系统管理应满足台区操作系统规范要求。支持运行容器个数 不少于6个 性能规格在最小系统运行、系统空载条件下满足如下性能指标:进程创建平均时长应小于1ms;进程删除平均时长应小于1ms;上电正常运行平均时长应小于90s;管道本地通信平均延时应小于80ms;信号量平均延时应小于300us;内存连续读写平均延时应小于300ns;内存随机访问平均延时应小于500ns;安装容器平均时长应小于30s;卸载容器平均时长应小于10s;安装微应用平均时长应小于30s;卸载微应用平均时长应小于10s;驱动支持满足《台区智能融合终端操作系统技术规范 第2部分:硬件抽象层》规范要求的设备节点,和对外接口定义安全规格操作系统提供日志审计功能;关闭不使用或不在访问控制范围内的端口及服务;可信启动机制满足规范要求。对终端启动过程中操作系统引导程序、操作系统内核、关键系统文件做完整性校验并形成审计记录;操作系统版本安全升级。支持校验升级包的来源和完整性。
  • [技术干货] 产品的操作系统功能域介绍
       基于台区SCU操作系统规范要求,使用国产操作系统RTOS和轻量化容器引擎isulad,满足了嵌入式轻量化、资源占用少的要求,为应用层提供稳定的基础服务平台。主要定制特性如下:基于RTOS基础能力实现进程管理、内存管理和文件系统管理等基础功能和性能规格要求。适配电力行业安全标准,满足安全启动、可信启动要求。使用国产轻量化容器isula实现容器功能。基于台区规范要求,增加了命令行、设备管理等基础管理功能。操作系统板级外设驱动适配。功能名称功能简述日志管理对日志大小、转存等进行管理;日志压缩等用户管理添加、删除用户;用户权限控制;用户密码修改等网络管理对网络IP、路由等进行配置4G上网 提供4G上网功能  设备管理  提供容器管理  安全加固  安全启动、权限控制,用户隔离  驱动适配  支持载波、交采、串口管理、4G上网、以太网 表1 操作系统功能域简述表   
  • [问题求助] IOT平台 边缘节点注册 可以注册在windows系统上吗 我目前安装好了docker环境 但是执行不了安装命令
    求助大家,我怎么执行安装命令呢
  • [技术干货] 物联网和边缘市场不断变化,焦点转向工业和建筑智能【转】
    在物联网和边缘市场中,解决方案开发的两个顶级细分市场仍然是工业自动化,在最新调查中,有33%的开发人员提到工业自动化,这一比例高于一年前的22%。农业应用也有所增长,增幅为29%,高于2022年的23%。集和存储的最常见的物联网数据类型是设备信息、时间序列数据和上下文数据。在过去的一年里,物联网和边缘开发在所有领域都有所增长,其中工业自动化成为最受关注的领域。为智能建筑和城市设计解决方案的开发人员活动有所增加。在物联网和边缘市场中,解决方案开发的两个顶级细分市场仍然是工业自动化,在最新调查中,有33%的开发人员提到工业自动化,这一比例高于一年前的22%。农业应用也有所增长,增幅为29%,高于2022年的23%。开发人员还报告称,开发智能建筑和城市解决方案的活动有所增加。24%的开发商报告称,在过去的12个月里,他们专注于建筑自动化、能源管理和智慧城市。建筑自动化、互联和智能城市、能源管理、交通和公用事业之间的联系不容忽视。智能制造在汽车领域的价值收集和存储的最常见的IoT数据类型是设备信息(44%)、时间序列数据(36%)和上下文数据(35%)。调查还显示,虽然围绕人工智能的炒作并不少见,但在物联网和边缘开发领域,控制逻辑(40%)超过人工智能(37%),成为最常见的边缘计算工作负载。至少26%的人正在开发数据交换功能。商业物联网和边缘市场正处于高度变化的状态。一些物联网中间件提供商在2022年退出了该市场,使该领域处于开放状态。调查显示,5G技术也正在加速工业物联网领域的发展。自2022年以来,工业环境中的蜂窝技术采用率翻了一番(2022年为44%,2022年为22%),这主要归功于5G的普及。网络化生产系统的其他可行选择包括WiFi(38%,2022年为36%)、以太网(38%,2022年为29%)和蓝牙/智能蓝牙(23%,2022年为20%)。IIoT通信还广泛采用消息队列遥测传输协议。近一半的开发者(49%)表示MQTT是他们首选的IIoT通信协议,其中MQTT+Sparkplug的比例为8%。原文地址:cid:link_0
  • [技术干货] 物联网之能源预测性管理【转】
    能源预测性管理是一种基于数据分析和预测模型的管理方法,旨在提高能源使用效率、降低成本并减少对环境的影响。通过实施能源预测性管理,企业可以更加高效地利用能源资源,降低成本,并减少对环境的影响。同时,这也有助于提高企业的竞争力和可持续发展能力。能源预测性管理是一种基于数据分析和预测模型的管理方法,旨在提高能源使用效率、降低成本并减少对环境的影响。以下是一些关于能源预测性管理的关键概念和步骤:数据收集与整合:首先,需要收集各种与能源使用相关的数据。这可能包括历史能源消耗数据、设备性能数据、生产数据、环境参数等。这些数据可以从企业的能源管理系统、生产设备、传感器等各种来源获取,并进行整合和标准化处理,以便进行后续的分析和建模。数据分析与特征提取:在收集到数据后,需要对其进行深入的分析,以识别出能源使用的模式和趋势。这可能涉及到时间序列分析、统计分析、机器学习等方法。通过这些分析,可以提取出与能源使用相关的关键特征,如能源消耗量的周期性变化、设备性能对能源消耗的影响等。建立预测模型:基于提取的特征,可以利用各种预测模型对未来一段时间内的能源需求进行预测。这些模型可能包括线性回归、支持向量机、神经网络、深度学习等。模型的训练和优化可以利用历史数据进行,通过调整模型参数和结构,以提高预测的准确性和稳定性。能源计划制定:根据预测结果,可以制定相应的能源计划。这可能包括能源生产计划、能源需求计划、能源采购计划等。在制定计划时,需要考虑各种因素,如生产计划、设备维护计划、能源价格波动等。通过合理的能源计划,可以确保企业的能源供应稳定且成本最优。实时监控与调整:在实施能源计划的过程中,需要实时监控能源使用数据,并与预测结果进行比较。如果发现实际能源消耗与预测结果存在较大差异,需要及时进行调整和优化。这可能涉及到调整设备运行参数、优化生产流程、实施节能措施等。持续改进与优化:最后,需要定期评估能源预测性管理的效果,并根据反馈进行持续改进和优化。这可能包括更新预测模型、优化管理策略、引入新的技术和方法等。通过持续的改进和优化,可以不断提高能源预测性管理的准确性和有效性,为企业带来更大的经济效益和环境效益。能源预测性管理是一个复杂而重要的过程,涉及到数据收集与处理、特征提取与建模、预测与决策等多个环节。通过合理的实施和应用,可以帮助企业更加高效地利用能源资源,降低成本并减少对环境的影响。在建立能源预测模型时,需要考虑以下几个因素。首先,需要选择合适的预测算法,如时间序列分析、回归分析等。其次,需要选择合适的特征变量,即影响能源需求和供应的因素,如经济增长率、人口增长率等。最后,需要对模型进行验证和优化,以提高预测的准确性和可靠性。智能电网中的电力需求分析与预测:传统的电力系统往往以固定的方式建设和运营,对于电力需求变化的响应能力有限。在智能电力技术的应用下,通过收集和处理大量的电力使用数据,智能电网可以准确预测电力需求,并根据实际情况进行动态调整,以最优的方式分配和利用能源。例如,一家大型制造企业可以根据每个时段的电力需求情况,通过智能电网技术合理安排生产计划,避免电力供应紧张或浪费现象的发生。这不仅提高了电力系统的稳定性和可靠性,还为企业节约了大量的能源成本。智能建筑的能源分析与预测:在城市可持续发展的背景下,智能建筑作为一种能源高效利用的新兴方式,正逐渐得到广泛应用。通过集成各种传感器和智能控制系统,智能建筑能够实时监测和分析能源使用情况,并进行精确的预测。例如,在一个智能办公楼中,建筑物管理系统可以根据人员活动、室内温度、光照等因素,智能调整空调和照明设备的运行状态,实现能源的最优化利用。此外,智能建筑还可以结合能源储存技术,将多余的能源储存起来,以备不时之需。通过这种智能化的能源管理方式,智能建筑能够显著降低能源消耗,提高能源利用率。原文:cid:link_0
  • [技术干货] EnOcean与LoRaWAN:哪种IoT协议更适合智能建筑?【转】
    本文列出了关键注意事项,以便了解低功耗无线物联网协议EnOcean和LoRaWAN之间的主要区别。从通信范围和传感器类型,到数据传输和能耗,选择物联网(IoT)协议时需要考虑很多因素。本文列出了关键注意事项,以便了解低功耗无线物联网协议EnOcean和LoRaWAN之间的主要区别。什么是物联网协议?当安装无线传感器时,其需要将数据发送到网络。物联网协议是一种将信息从传感器传输到网络的通信系统。协议允许传感器和接收器用同一种语言相互“交谈”。当多个设备通过协议连接时,这就形成了一个“物联网网络”。EnOcean与LoRaWAN的三大区别EnOceanLoRaWAN能源消耗超低功耗无线和能量收集。超低功耗无线电池。通信范围短程,室内视线范围为30-100英尺。(使用战略性放置的网关可以最大限度地提高这一点。)远程(2-3公里)。数据速率和传输数据速率为124kbps,数据发送到网关,网关可以将其直接发送到云。数据速率为50kbps,数据传输到LoRaWAN网络服务器(通常是物联网),然后传输到应用服务器/云。EnOcean:短程、能量收集且免维护EnOcean通过创建世界上第一个无线协议来彻底改变物联网,该协议能够基于自然能量收集原理消耗少量能量,因此即使是电池也会过时。对于物联网设备制造商而言,EnOcean是一个非常受欢迎的选择。因为其提供了制造商所寻求的所有关键功能,如连接性、范围、安全性,并且作为开放行业标准,其允许高度互操作性。(1) 能源消耗:能源消耗是决策中的一个重要因素,EnOcean在这方面处于领先地位,因为其面向超低功耗的无线传感器。这些是能量收集,从周围环境中汲取能量,例如运动、光线或温差。EnOcean协议仅需要约0.12μW,即可在室内30-100英尺的距离内安全传输1比特信息。一个由电动力发电机供电的传统无线收音机,其驱动力是EnOcean开关的100倍,而客厅里的传统无线传感器则需要100倍大小的太阳能电池。这一原理使电子控制系统免维护。(2) 通信范围:1GHz以下的EnOcean无线标准针对建筑物内的使用进行了优化,因为在室内可以实现30m的无线电范围。其特别适合设备位于较小区域的办公应用。对于许多安装来说,一些最佳协议都位于低于1 GHz的频段。这意味着该协议使用频率小于1 GHz的无线电波传输数据。这些波将穿透得更远,在建筑物中的反射率低于2.4 GHz信号。这对于物联网设备特别有用。EnOcean使用的频段之一868 MHz频段就属于这一类别,因此通常可以提供更可靠的信号传输。(3) 数据传输:数据发送到网关,网关可以将其直接发送到云端,从而免除任何数据传输费用,并确保更好的数据治理。LoRaWAN:专有、远程、低功耗LoRaWAN(“Long Range”的缩写)是一项专有技术、开放式全球标准,由非盈利组织LoRa联盟定义和控制。主要区别之一是,EnOcean是一种短程物联网协议,旨在连接多个近距离设备,而LoRaWAN则专注于广域网。(1) 超低功耗:虽然LoRaWAN是超低功耗,但其确实需要传感器安装电池,并且不像EnOcean那样进行能量收集,因此在某些时候需要维护。(2) 通信范围:虽然LoRaWAN的通信范围非常长,但LoRaWAN会将数据发送到网络服务器,这可能会增加访问数据的订阅费用。尽管这个值往往很低,但数据将首先进入其他人的云。由于其远程,LoRaWAN是智慧城市中远距离部署大量传感器的首选。其使用未经许可的无线电,使其成为全市环境传感器、路灯控制和监测、农场基本控制单元和小物体监测的完美选择。(3) 数据传输:数据首先发送到LoRaWAN网络服务器,这可能会增加访问数据的订阅费用。尽管这个值往往很低,但数据将首先进入其他人的云——这可能意味着潜在的数据治理问题。原文地址:cid:link_0
  • [技术干货] 基于STM32的指纹识别控制系统
    前言在现代科技飞速发展的时代,指纹识别技术已经广泛应用于各种场合,从手机解锁到公司考勤,甚至是家庭安防。一、系统概述本指纹识别控制系统主要由STM32微控制器、指纹识别模块、LCD显示模块和电源模块等组成。STM32微控制器是系统的核心,负责数据处理和逻辑控制;指纹识别模块用于采集指纹信息和比对;LCD显示模块用于显示识别结果和其他相关信息;电源模块为整个系统提供稳定的工作电压。二、硬件设计STM32微控制器:选用STM32F103C8T6作为主控制器,这是一款基于ARM Cortex-M3内核的32位微控制器,具有丰富的外设接口和强大的处理能力。 指纹识别模块:采用AS608光学指纹识别模块,具有高精度、高速度和易用性等特点。该模块通过UART接口与STM32通信。 LCD显示模块:选用1.8寸SPI接口TFT液晶屏,用于显示指纹图像、识别结果等信息。 电源模块:采用5V直流电源供电,并通过AMS1117-3.3V稳压芯片为STM32和指纹识别模块提供稳定的3.3V工作电压。三、软件设计软件设计主要包括指纹数据采集、指纹图像处理、特征提取、指纹比对和结果显示等部分。下面是代码示例及其详解。#include "stm32f10x.h" #include "fingerprint.h" #include "lcd.h" int main(void) { uint8_t fingerprintData[FINGERPRINT_SIZE]; // 存储指纹数据的数组 FingerprintStatus status; // 指纹状态:成功、失败或未识别 char resultMessage[50]; // 存储结果显示消息的字符数组 // 初始化硬件 HAL_Init(); SystemClock_Config(); MX_GPIO_Init(); MX_USART_UART_Init(); // 初始化UART用于与指纹识别模块通信 MX_SPI_Init(); // 初始化SPI用于LCD显示模块通信 LCD_Init(); // 初始化LCD显示模块 Fingerprint_Init(); // 初始化指纹识别模块 while (1) { // 获取指纹数据 status = Fingerprint_GetData(fingerprintData); if (status == FINGERPRINT_SUCCESS) { // 在这里可以添加指纹比对逻辑,与预先存储的指纹数据进行比对 // 假设比对成功 sprintf(resultMessage, "指纹匹配成功!"); } else if (status == FINGERPRINT_FAIL) { sprintf(resultMessage, "指纹匹配失败!"); } else { sprintf(resultMessage, "请正确放置手指!"); } // 显示结果信息 LCD_DisplayMessage(resultMessage); HAL_Delay(2000); // 延时2秒,等待下一次指纹采集 } }代码详解:库文件包含:代码首先包含了STM32标准外设库和相关的指纹识别模块和LCD显示模块的库文件。这些库文件提供了对STM32微控制器、指纹识别模块和LCD显示模块的基本函数和特性访问。变量声明:代码声明了用于存储指纹数据的数组fingerprintData,用于表示指纹状态的枚举变量status,以及用于存储结果显示消息的字符数组resultMessage。这些变量将在后续的代码中用于处理指纹数据、判断指纹状态以及显示结果信息。硬件初始化:在main函数中,首先进行了硬件的初始化操作。这包括STM32微控制器的初始化(通过HAL_Init和SystemClock_Config函数),GPIO的初始化(通过MX_GPIO_Init函数),UART通信的初始化(通过MX_USART_UART_Init函数),SPI通信的初始化(通过MX_SPI_Init函数),以及LCD显示模块的初始化(通过LCD_Init函数)。这些初始化操作确保了硬件的正常工作,为后续的指纹识别和结果显示提供了必要的硬件支持。主循环:在硬件初始化完成后,程序进入一个无限循环。在这个循环中,代码通过调用Fingerprint_GetData函数获取指纹数据。根据获取到的指纹数据的状态,代码进行相应的判断和处理。如果指纹数据成功获取并且比对成功,则将结果显示消息设置为“指纹匹配成功”;如果比对失败,则将结果显示消息设置为“指纹匹配失败”;如果未能成功获取指纹数据,则将结果显示消息设置为“请正确放置手指”。然后,通过调用LCD_DisplayMessage函数将结果显示消息显示在LCD屏幕上。最后,延时2秒,等待下一次指纹采集。这个循环将不断重复执行,直到系统被关闭或重新启动。函数调用和数据处理:代码中调用了多个库函数来执行不同的任务。例如,HAL_Init和SystemClock_Config函数用于初始化STM32微控制器;MX_GPIO_Init、MX_USART_UART_Init和MX_SPI_Init函数用于初始化外设接口;LCD_Init函数用于初始化LCD显示模块;而Fingerprint_GetData函数则用于获取指纹数据。这些函数通过调用相应的底层硬件接口和驱动程序来实现其功能。同时,代码还对获取到的指纹数据进行处理和判断,根据不同的状态执行相应的逻辑。例如,如果比对成功,则显示匹配成功的消息;如果比对失败或未能成功获取数据,则提示用户正确的操作方式。四、总结本文介绍了一个基于STM32的指纹识别控制系统的设计思路与简单实现过程。通过该设计,我们能够实现一个稳定可靠、易于扩展的指纹识别系统。在智能家居、安防监控等领域有广泛的应用前景。
  • [专题汇总] 12月IOT问题总结合集
    以下是12月份有关IOT问题的总结。【1】LPWAN 技术的相关应用都有什么?cid:link_0【2】物联网安全的技术都有什么?cid:link_4【2】如何快速识别设备下线cid:link_5【3】物联网协议选择cid:link_6【4】华为云iot可以对接网关么?有文档么?cid:link_7【5】物联网的底层数据传输协议有哪些?cid:link_8【6】小熊派和鸿蒙开发的手册有么?cid:link_9【7】设备连上ioT,需要写脚本插件,我直接在encode里写上返回值数组,但是返回乱码cid:link_1【8】使用华为云IoT平台的设备,能否不通过后台,在设备之间进行局域网内的数据交换?cid:link_10【9】设备在平台的鉴权失败 Authentication failed. The device secret does not matchcid:link_11【10】MQTT QoS 0,1,2 我应该如何选择,我的场景是大规模物联设备(点位在3000左右,5秒传输一次)传感器传输温度、湿度cid:link_12【11】基于openHarmony的智能可穿戴户外定位系统cid:link_13【12】小熊派BearPi物联网开发板 和 小熊派鸿蒙开发板NanoHarmonyOS,两者都能刷鸿蒙系统吗?还是只有鸿蒙开发板能装鸿蒙?cid:link_14【13】小熊派的物联网开发板和鸿蒙开发板,在功能上有区别吗?还是仅仅是系统不同?cid:link_15【14】华为云IOT平台,如何主动检测设备的安全威胁?cid:link_16【15】华为云IOT平台, 如何上传和下载证书?cid:link_17【16】如何在IoT物联网平台注册私有CA证书,来实现X.509方式设备身份认证?cid:link_18【17】华为云的Iot平台能否监控设备电量,当设备快要没电时,推送消息到管理员邮箱?cid:link_19【18】是否能监控到每台设备CPU、内存、硬盘、电池的使用情况?cid:link_20【19】如何查看当前在线的设备总数,以及哪些设备在线?cid:link_21【20】使用华为云的IoT平台,设备日志保存在哪里?cid:link_22【21】华为云IOT平台如何实现 订阅推送功能?cid:link_23【22】怎么理解 ”双向消息透传“ 这个名词的概念?cid:link_24【23】使用华为云IoT平台,能否批量对多个设备执行同一命令?cid:link_25【24】如何使用华为云IoT平台,对设备进行批量固件升级 ?cid:link_26【25】如何使用华为云IoT平台,批量创建设备?cid:link_27【26】Iot的设备如果要上传文件,是上传到OBS好,还是上传到数据库好?cid:link_28【27】OTA是什么?怎么使用OTA对设备进行升级?能否以小熊派为例进行说明?cid:link_29【28】设备不在线时,能否查询到设备属性?该怎么操作?cid:link_2【29】设备影子上的desired区和reported区分别是用来做什么的?cid:link_30【30】设备影子是什么?有什么用?cid:link_31【31】设备的物理模型和产品模型,这两者有什么区别?cid:link_32【32】对设备分组,一般是用来做什么?cid:link_33【33】接入华为云Iot平台的设备支持哪几种鉴权协议?cid:link_34【34】设备接入华为云Iot平台的SDK在哪里下载?cid:link_35【35】物联网平台既然能支持终端设备直接接入,为什么还要多一层网关?网关有什么用?cid:link_3【36】IoT 中 LWM2M/CoAP、MQTT、HTTPS协议,这几种协议分别适用什么场景?cid:link_36【37】IoT 中 什么场景下使用 4G、Wifi,什么场景下使用 NB-IoT 最好?cid:link_37【38】设备接入方式除了有4G、wif 还有NB-IoT,请问 NB-loT 是什么?cid:link_38【39】小熊派和树莓派有什么区别?为什么华为云用小熊派做例子,而不用树莓派cid:link_39【40】使用esp01s发送数据到华为云,数据上不去,串口也打印错误cid:link_40
  • [问题求助] vscode的lotlink环境搭建
    在网上下载sdk安装包拖进用户西面的.olink文件夹里面的sdk但是重启vscode一直显示安装iotlink依赖环境
  • 数据结构和操作系统知识在openHarmony源码分析中学习!【转】
    数据结构中列表的定义和实现 C++hljs-cent谁是鸿蒙内核最重要的结构体 ? 一定是: LOS_DL_LIST(双向链表), 它长这样。linux 中是 list_head, 很简单,只有两个指向自己的指针,但因为太简单,所以不简单。站长更愿意将它比喻成人的左右手,其意义是通过寄生在宿主结构体上来体现,可想象成在宿主结构体装上一对对勤劳的双手,它真的很会来事,超级活跃分子,为宿主到处拉朋友,建圈子LITE_OS_SEC_ALW_INLINE STATIC INLINE VOID LOS_ListInit(LOS_DL_LIST *list) { list->pstNext = list; list->pstPrev = list; } //将指定节点挂到双向链表头部 LITE_OS_SEC_ALW_INLINE STATIC INLINE VOID LOS_ListAdd(LOS_DL_LIST *list, LOS_DL_LIST *node) { node->pstNext = list->pstNext; node->pstPrev = list; list->pstNext->pstPrev = node; list->pstNext = node; } //将指定节点从链表中删除,自己把自己摘掉 LITE_OS_SEC_ALW_INLINE STATIC INLINE VOID LOS_ListDelete(LOS_DL_LIST *node) { node->pstNext->pstPrev = node->pstPrev; node->pstPrev->pstNext = node->pstNext; node->pstNext = NULL; node->pstPrev = NULL; } //将指定节点从链表中删除,并使用该节点初始化链表 LITE_OS_SEC_ALW_INLINE STATIC INLINE VOID LOS_ListDelInit(LOS_DL_LIST *list) { list->pstNext->pstPrev = list->pstPrev; list->pstPrev->pstNext = list->pstNext; LOS_ListInit(list); }强大的宏除了内联函数,对双向链表的初始化,偏移定位,遍历 等等操作提供了更强大的宏支持。使内核以极其简洁高效的代码实现复杂逻辑的处理#define LOS_DL_LIST_HEAD(list) LOS_DL_LIST list = { &(list), &(list) } //获取指定结构体内的成员相对于结构体起始地址的偏移量 #define LOS_OFF_SET_OF(type, member) ((UINTPTR)&((type *)0)->member) //获取包含链表的结构体地址,接口的第一个入参表示的是链表中的某个节点,第二个入参是要获取的结构体名称,第三个入参是链表在该结构体中的名称 #define LOS_DL_LIST_ENTRY(item, type, member) \ ((type *)(VOID *)((CHAR *)(item) - LOS_OFF_SET_OF(type, member))) //遍历双向链表 #define LOS_DL_LIST_FOR_EACH(item, list) \ for (item = (list)->pstNext; \ (item) != (list); \ item = (item)->pstNext) //遍历指定双向链表,获取包含该链表节点的结构体地址,并存储包含当前节点的后继节点的结构体地址 #define LOS_DL_LIST_FOR_EACH_ENTRY_SAFE(item, next, list, type, member) \ for (item = LOS_DL_LIST_ENTRY((list)->pstNext, type, member), \ next = LOS_DL_LIST_ENTRY((item)->member.pstNext, type, member); \ &(item)->member != (list); \ item = next, next = LOS_DL_LIST_ENTRY((item)->member.pstNext, type, member)) //遍历指定双向链表,获取包含该链表节点的结构体地址 #define LOS_DL_LIST_FOR_EACH_ENTRY(item, list, type, member) \ for (item = LOS_DL_LIST_ENTRY((list)->pstNext, type, member); \ &(item)->member != (list); \ item = LOS_DL_LIST_ENTRY((item)->member.pstNext, type, member))LOS_OFF_SET_OF 和 LOS_DL_LIST_ENTRY这里要重点说下 LOS_OFF_SET_OF和LOS_DL_LIST_ENTRY两个宏,个人认为它们是链表操作中最关键,最重要的宏。在读内核源码的过程会发现LOS_DL_LIST_ENTRY高频的出现,它们解决了通过结构体的任意一个成员变量来找到结构体的入口地址。 这个意义重大,因为在运行过程中,往往只能提供成员变量的地址,那它是如何做到通过个人找到组织的呢?LOS_OFF_SET_OF 用于找到成员变量在结构体中的相对偏移位置, 在系列篇 (用栈方式篇) 中 已说过 鸿蒙采用的是递减满栈的方式。而使用 ((type *)0)->member 是获取 struct 成员偏移量的技巧,需要编译器的支持,这种方法背后的想法是让编译器假设结构起始地址位于零并计算成员的地址。 以ProcessCB 结构体举例 // ... LOS_DL_LIST pendList; /**< Block list to which the process belongs | 进程所在的阻塞列表,进程因阻塞挂入相应的链表.*/ LOS_DL_LIST childrenList; /**< Children process list | 孩子进程都挂到这里,形成双循环链表*/ LOS_DL_LIST exitChildList; /**< Exit children process list | 要退出的孩子进程链表,白发人要送黑发人.*/ LOS_DL_LIST siblingList; /**< Linkage in parent's children list | 兄弟进程链表, 56个民族是一家,来自同一个父进程.*/ LOS_DL_LIST subordinateGroupList; /**< Linkage in group list | 进程组员链表*/ LOS_DL_LIST threadSiblingList; /**< List of threads under this process | 进程的线程(任务)列表 */ LOS_DL_LIST waitList; /**< The process holds the waitLits to support wait/waitpid | 父进程通过进程等待的方式,回收子进程资源,获取子进程退出信息*/ } LosProcessCB;原文地址:cid:link_0
  • [问题求助] LPWAN 技术的相关应用都有什么?
    在日常物联网技术中, LPWAN 技术在实现关键资产监控方面发挥着关键作用,那么他的技术实例都有什么?
  • [技术干货] 物联网小知识:开关量、数字量、模拟量、离散量和脉冲量它们之间有什么区别?【转】
    开关量、数字量、模拟量、离散量和脉冲量是电子测量和控制系统中经常遇到的不同类型的数据。它们在定义、特性和应用方面存在差异。开关量、数字量、模拟量、离散量和脉冲量是电子测量和控制系统中经常遇到的不同类型的数据。它们在定义、特性和应用方面存在差异。在电子测量和控制系统设计中,根据实际需求选择合适的数据类型是至关重要的。定义与特点 1.开关量(Switching Quantity)开关量是一种只有两种状态的数据类型,通常表示设备的开或关、高或低等状态。这种数据类型通常用于表示设备的状态,例如一个开关是否被按下,或者一个灯是否亮着。开关量的优点在于其简单、可靠,并且容易进行信号处理。例如,你可以通过逻辑运算(AND、OR、NOT等)来处理开关量的数据。例子:一个房间里有多个灯,每个灯都可以通过一个开关控制。开关量的数据类型可以用来表示每个灯的状态,例如灯是否亮着。2.数字量(Digital Quantity)数字量是一种离散的数据类型,可以表示整数或实数。数字量的取值范围是有限的,并且每个值都对应一个二进制代码。数字量的精度取决于其编码方式和位数。数字量的优点在于其精度高、抗干扰能力强,并且可以进行复杂的运算和处理。例子:一个数字温度计可以测量温度并将温度值以数字量的形式显示出来。数字量的数据类型可以用来表示这个温度值,例如30摄氏度。3.模拟量(Analog Quantity)模拟量是一种连续的数据类型,可以表示任何实数。模拟量的取值范围是无限的,并且每个值都对应一个电压或电流信号。模拟量的优点在于其能够表示真实世界的连续变化,但在数字处理方面比较困难。例子:一个模拟水位传感器可以检测水位并将水位值以模拟量的形式输出。模拟量的数据类型可以用来表示这个水位值,例如1.5米。4.离散量(Discrete quantity)在物联网(Internet of Things, IoT)中是指一种在时间或空间上离散取值的数据。离散量通常用于表示只有特定几个取值状态的现象或事物,如开关状态、分类数据等。与连续量(如温度、湿度等模拟量)不同,离散量是分散的、不连续的。例子:工业自动化:在工业自动化领域,机器的状态(如运行状态、故障状态等)通常用离散量表示。例如,一台机器的运行状态可以用离散量表示,取值可以为“运行中”、“停机”、“故障”等。智能家居系统:在智能家居系统中,各种设备(如灯光、空调、电视等)的状态通常用离散量表示。例如,灯光的开关状态可以用离散量表示,取值可以为“开”或“关”。5.脉冲量(Pulse Quantity)脉冲量是一种特殊的数据类型,它通常用于表示一段时间内的脉冲数量或时间间隔。这种数据类型可以用于测量频率、周期、时间间隔等。与开关量类似,脉冲量的取值范围也是有限的,通常是一个整数。脉冲量的优点在于其能够表示一段时间内的变化,并且可以进行高精度的测量。例子:一个速度传感器可以检测车速并将车速值以脉冲量的形式输出。脉冲量的数据类型可以用来表示这个车速值,例如每分钟60转。原文地址:cid:link_0
  • [技术干货] 网络边缘如何对物联网进行合法拦截?【转】
    物联网(IoT)应用和智能设备的日益普及,导致4G和5G网络共存。移动网络运营商(MNO)通过整合各自的合法拦截解决方案,提高了效率,并节省了成本。这些解决方案是日益复杂的执法任务的众多来源之一,同时还有大量不同的设备连接到互联网。调查的潜在信息来源的范围对合法的情报收集提出了独特的挑战。多用途物联网设备有消费、商业和工业用途等,每种用途都提供了不同的有用拦截机会。即使在消费领域,物联网应用也从人工智能助手和智能家电到自动驾驶的安全关键系统。为了在这些用途中提供快速响应,移动网络运营商将计算机处理能力放置在靠近数据生成点的网络边缘。这是多访问边缘计算(MEC)的基础,是物联网的核心推动者。在支持云的网络拓扑中,边缘网络服务是根据需要动态创建和消除的,与具有可预测结构的旧静态网络相比,这使拦截变得复杂。此外,在边缘创建和使用的数据不会返回到网络核心。因此,这种流量的拦截必须在边缘完成,这需要对不断变化的网络拓扑进行每分钟的响应。自定义网络执行5G网络工作负载的服务,例如用户平面功能(UPF)和虚拟无线接入网络(vRAN),基于虚拟网络功能(VNF),在网络边缘复制核心网元。这些虚拟功能被构建为连接在一起以实现更复杂的功能,可以在网络上的任何边缘位置按需实例化和终止。例如,当UPF实例在网络边缘位置启动以进行数据包传送时,平台会启动通信内容数据包聚合器(CCPAG)。其提供X3接口,用于将本地拦截的流量传输到集中中介实体,或直接传输到请求机构。这些动态架构往往很复杂且快速变化,使得软件定义网络(包括用于维持网络性能的高速发现和路由表更新)对其功能发挥重要作用。信息中心网络信息中心网络(ICN)可以在动态定义的网络中实现网络发现和可见性的自动化。例如,如果在边缘建立了UPF的本地中断,并在那里创建了文件缓存,ICN服务可以识别合法情报机构的变化,提供对本地网络环境的最新了解。网络切片是5G网络的另一项关键技术,能够在通用网络内提供差异化的服务级别。从网络流量的角度来看,切片是一种逻辑网络覆盖,允许按服务类别对流量进行优先级排序。这使得具有低延迟和安全要求的关键流具有高优先级,例如紧急呼叫。网络流量的这些特征是中介平台所需的完整画面的一部分。统一拦截4G和5G从4G到5G网络的过渡往往是渐进且不平衡的。一方面,许多运营商正在通过其4G核心提供5G服务。另一方面,许多人正在使用与5G相同的分布式云原生架构来部署4G服务。然而,ETSI将CCPAG定义为5G技术,这在MNO网络由4G和5G技术的各种组合(包括网络边缘)组成的世界中是一个重大限制。而内容数据包聚合器(XCPAG),以独特方式将CCPAG功能扩展到5G网络之外,以包含4G流量。XCPAG支持拦截5G和4G数据,同时保持CCPAG行业标准的保真度,使其能够通过云就绪架构与跨供应商的现有CCPAG实现进行互操作。XCPAG能够以低延迟响应网络拓扑的变化,包括新VNF的实例化。网络需求激增,如重大体育赛事,可能会导致许多VNF在特定网络边缘站点上启动。除了在需要的地方发现和共同放置XCPAG实例之外,平台还维护安全功能和证书,以快速建立和维护与每个按需4G和5G网络元素的安全连接,从而使第一响应者能够做出响应有效率的。随着越来越多的物联网设备连接到4G和5G网络,跨网络统一基本合法情报功能的能力对于公共安全至关重要。原文地址:cid:link_0