这是描述信息

基于FR58L工业雷达传感器的雷达液位传感器测量方法

基于FR58L工业雷达传感器的雷达液位传感器测量方法

基于FR58L工业雷达传感器的雷达液位传感器测量方法

基于FR58L工业雷达传感器的雷达液位传感器测量方法

基于FR58L工业雷达传感器的雷达液位传感器测量方法

基于FR58L工业雷达传感器的雷达液位传感器测量方法,针对工业领域中危险液位测量的问题,给出了一种采用FR58L工业雷达传感器作为测量装置核心的非接触式测量方法。该传感器工作于24-81GHz频段,工作带宽可达4GHz,具有体积小、精度高的优点,并且具有从前端到终端的完整功能,用其作为测量装置的传感器所需外设和外围电路都很少,使用便利。对基于该传感器的评估板进行开发使其具备了液位测量能力,并通过实验验证了其有效性和测量的准确性,为危险液位的非接触测量提供了一种新的便利的有效方法和方案,具有广泛的应用前景。


在工业领域,危险液体液位的安全、实时、准确探测在运输、储存和使用中具有非常重要的地位。典型的液位探测技术有磁致伸缩式液位计、差压式液位计和导波雷达液位计,相比于传统的液位探测方法,基于雷达的非接触式液位探测器,不受被测介质形态影响,不与被测介质接触,不仅能够适用一般应用场景,还能适用于强腐蚀、高温高压等恶劣工况。同时还具有安装维护便利,量程范围广等优点。FR58L系列传感器是工作在24~81GHz级的超宽带雷达模组,工作带宽可达4GHz,高可达5GHz。在该工作频段,处理系统组件特别是天线的尺寸可以很小,另一优势是准确度高,在该工作频段,系统能够检测小至零点几毫米的移动,所以探测精度也非常高,在液位探测特别是危险液位探测领域有着较好的应用前景。


1、FR58L工业雷达传感器雷达液位探测的原理非接触式雷达液位探测原理。电磁波信号由雷达天线端向探测对象发出,发射波接触被测液体表面后被反射产生回波信号,由接收天线接收。根据时间扩展原理,由发射时间和接收时间差,计算出液体表面距雷达的距离,再根据雷达天线的安装位置信息,推算出液位值。由于雷达天线的位置是固定的,且可正确测得其安装位置信息,所以测得的液面到雷达的距离精度就决定了液位测量精度。在液位探测应用领域,某些情况下需要探测装置能够及时准确测得液位变化情况,此时就需要探测装置有高的距离分辨率。对于雷达液位探测计而言,根据雷达原理和傅里叶变换理论,距离分辨率是由雷达信号带宽决定的。


2、FR58L工业雷达传感器传感器是公司推出的横跨具有完整端到端开发平台的传感器,它具有小于4厘米的距离分辨率,距离精度低至小于50微米,范围达到100米。在设计雷达液位探测器时就不用再去处理分立式前端、模数转换器和处理器件之间的复杂高速数据和通信走线,也不用处理额外尺寸、功率和支持它们的相关物料清单成本。而且这个集成度还简化了软件设计过程,极大简化了器件配置、监控和校准。选用该系列中的FR58L工业雷达模组作为液位探测器的传感器,该传感器是为工业领域进行距离、速度和角度测量而设计生产的芯片。该芯片是基于FMCW(FrequencyModulatedContinuousWave调频连续波)雷达技术的集成单模组传感器,信号连续带宽达4GHz,采用了低功率射频CMOS技术,该技术可以使传感器的尺寸降低到一个前所的水平。FR58L工业雷达传感器包含一个独立的三通道发四通道收的收发系统和AD转换器,支持FFT运算和CFAR检测的硬件加速器,此外,还有两个ARM处理器分别用于控制和运算,所以,该芯片具有从前端端到信号处理,再到后端结果的完整处理能力。因此在工业应用领域中使用该芯片时只需进行简单的外围电路设计并使用提供的开发套件进行开发即可实现应用,大大地简化了工作量并且丰富了它的应用场景。同时为进一步方便工程人员使用该芯片还提供了基于该芯片的评估板,有了该评估板在一些简单的应用场合甚至不需要工程人员进行硬件设计,只需使用提供的开发套件进行开发即可在工业领域中进行应用。基于这些优势,使用了该评估板FR58L工业雷达传感器进行雷达液位测量方法的研究。


3、SDK软件工具为开发人员和终端使用人员提供了开发软件工具包,该工具包可直接用来使用和开发评估板。它包含了基本的功能模块,即使是终端使用人员也可以利用该工具包快速的使用该评估板进行应用。为了使用SDK工具包,除了安装SDK工具包以外,还需要配置开发环境所需的外部软件,这些软件都可免费下载。由于这里只进行高精度的距离测量,因此在配置中采用了优分辨率的方式,对于速度测量不做要求,所以配置时选择默认值即可。


4、基于FR58L工业雷达传感器的雷达液位探测器它和PC机通过USB线连接,PC机通过USB接口对它进行控制实现测量,同时测量结果通过USB传输回PC,在对应的可视化界面进行显示。由于FR58L具有完整的数据处理过程,因此对于一般的应用,传感器传输回的数据即可直接应用。但是,如果需要测量更丰富的信息,则需要先采集FR58L工业雷达传感器接收通道ADC输出数据,再根据应用需要做进一步的处理,以提取所需的信息,而要进行数据采集则还需要其他外部硬件设备和处理工具。在天线的正下方放置了一盆带有颜色的液体,用来为被测液面。根据液位测量的需求,经使用SDK工具对评估板的功能进行开发,使开发板在PC机的控制下实现了对盆中液体液位的测量。


针对工业领域,特别是石油、化工领域储存、运输、生产等情况下液位安全准确测量问题,给出了一种基于FR58L工业雷达传感器的测量方法和方案。该方法使用公司的FR58L工业雷达传感器作为测量装置的核心,该传感器具有从前端到终端的完整功能,即包含射频前端,接收通道,AD转换,中频处理,数据处理,控制单元等,经过开发人员或终端使用人员的开发,其输出的结果可直接用于液位的测量。为工业领域中液位测量,特别是危险液位的非接触测量提供了一种有效的高精度方法,具有较好的应用前景。

uA级别智能门锁低功耗雷达模块让门锁更加智能省电节约功耗,指纹门锁并不是什么新鲜事,我相信每个人都很熟悉。随着近年来智能家居的逐步普及,指纹门锁也进入了成千上万的家庭。今天的功耗雷达模块指纹门锁不仅消除了繁琐的钥匙,而且还提供了各种智能功能,uA级别智能门锁低功耗雷达模块用在智能门锁上,可以实现门锁的智能感应屏幕,使电池寿命延长3-5倍,如与其他智能家居连接,成为智能场景的开关。所以今天的指纹门锁更被称为智能门锁。 今天,让我们来谈谈功耗雷达模块智能门锁的安全性。希望能让更多想知道智能门锁的朋友认识下。 指纹识别是智能门锁的核心 指纹识别技术在我们的智能手机上随处可见。从以前的实体指纹识别到屏幕下的指纹识别,可以说指纹识别技术已经相当成熟。指纹识别可以说是整个uA级低功耗雷达模块智能门锁的核心。 目前主要有三种常见的指纹识别方法,即光学指纹识别、半导体指纹识别和超声指纹识别。 光学指纹识别 让我们先谈谈光学指纹识别的原理实际上是光的反射。我们都知道指纹本身是不均匀的。当光照射到我们的指纹上时,它会反射,光接收器可以通过接收反射的光来绘制我们的指纹。就像激光雷达测绘一样。 光学指纹识别通常出现在打卡机上,手机上的屏幕指纹识别技术也使用光学指纹识别。今天的光学指纹识别已经达到了非常快的识别速度。 然而,光学指纹识别有一个缺点,即硬件上的活体识别无法实现,容易被指模破解。通常,活体识别是通过软件算法进行的。如果算法处理不当,很容易翻车。 此外,光学指纹识别也容易受到液体的影响,湿手解锁的成功率也会下降。 超声指纹识别 超声指纹识别也被称为射频指纹识别,其原理与光学类型相似,但超声波使用声波反射,实际上是声纳的缩小版本。因为使用声波,不要担心水折射会降低识别率,所以超声指纹识别可以湿手解锁。然而,超声指纹识别在防破解方面与光学类型一样,不能实现硬件,可以被指模破解,活体识别仍然依赖于算法。 半导体指纹识别 半导体指纹识别主要采用电容、电场(即我们所说的电感)、温度和压力原理来实现指纹图像的收集。当用户将手指放在前面时,皮肤形成电容阵列的极板,电容阵列的背面是绝缘极板。由于不同区域指纹的脊柱与谷物之间的距离也不同,因此每个单元的电容量随之变化,从而获得指纹图像。半导体指纹识别具有价格低、体积小、识别率高的优点,因此大多数uA级低功耗雷达模块智能门锁都采用了这种方案。半导体指纹识别的另一个功能是活体识别。传统的硅胶指模无法破解。 当然,这并不意味着半导体可以百分识别活体。所谓的半导体指纹识别活体检测不使用指纹活体体征。本质上,它取决于皮肤的材料特性,这意味着虽然传统的硅胶指模无法破解。 一般来说,无论哪种指纹识别,都有可能被破解,只是说破解的水平。然而,今天的指纹识别,无论是硬件生活识别还是算法生活识别,都相对成熟,很难破解。毕竟,都可以通过支付级别的认证,大大保证安全。 目前,市场上大多数智能门锁仍将保留钥匙孔。除了指纹解锁外,用户还可以用传统钥匙开门。留下钥匙孔的主要目的是在指纹识别故障或智能门锁耗尽时仍有开门的方法。但由于有钥匙孔,它表明它可以通过技术手段解锁。 目前市场上的锁等级可分为A、B、C三个等级,这三个等级主要是通过防暴开锁和防技术开锁的程度来区分的。A级锁要求技术解锁时间不少于1分钟,B级锁要求不少于5分钟。即使是高级别的C级锁也只要求技术解锁时间不少于10分钟。 也就是说,现在市场上大多数门锁,无论是什么级别,在专业的解锁大师面前都糊,只不过是时间长短。 安全是重要的,是否安全增加了人们对uA级别低功耗雷达模块智能门锁安全的担忧。事实上,现在到处都是摄像头,强大的人脸识别,以及移动支付的出现,使家庭现金减少,所有这些都使得入室盗窃的成本急剧上升,近年来各省市的入室盗窃几乎呈悬崖状下降。 换句话说,无论锁有多安全,无论锁有多难打开,都可能比在门口安装摄像头更具威慑力。 因此,担心uA级别低功耗雷达模块智能门锁是否不安全可能意义不大。毕竟,家里的防盗锁可能不安全。我们应该更加关注门锁能给我们带来多少便利。 我们要考虑的是智能门锁的兼容性和通用性。毕竟,智能门锁近年来才流行起来。大多数人在后期将普通机械门锁升级为智能门锁。因此,智能门锁能否与原门兼容是非常重要的。如果不兼容,发现无法安装是一件非常麻烦的事情。 uA级别低功耗雷达模块智能门锁主要是为了避免带钥匙的麻烦。因此,智能门锁的便利性尤为重要。便利性主要体现在指纹的识别率上。手指受伤导致指纹磨损或老年人指纹较浅。智能门锁能否识别是非常重要的。 当然,如果指纹真的失效,是否有其他解锁方案,如密码解锁或NFC解锁。还需要注意密码解锁是否有虚假密码等防窥镜措施。 当然,智能门锁的耐久性也是一个需要特别注意的地方。uA级别低功耗雷达模块智能门锁主要依靠内部电池供电,这就要求智能门锁的耐久性尽可能好,否则经常充电或更换电池会非常麻烦。
微波雷达传感器雷达感应浴室镜上的应用,如今,家用电器的智能化已成为一种常态,越来越多的人开始在自己的浴室里安装智能浴室镜。但是还有很多人对智能浴镜的理解还不够深入,今天就来说说这个话题。 什么是智能浴室镜?智慧型浴室镜,顾名思义,就是卫浴镜子智能化升级,入门级产品基本具备了彩灯和镜面触摸功能,更高档次的产品安装有微波雷达传感器智能感应,当感应到有人接近到一定距离即可开启亮灯或者亮屏操作,也可三色无极调,智能除雾,语音交互,日程安排备忘,甚至在镜子上看电视,听音乐,气象预报,问题查询,智能控制,健康管理等。 智能化雷达感应浴室镜与普通镜的区别,为什么要选TA?,就功能而言,普通浴镜价格用它没有什么压力!而且雷达感应智能浴镜会让人犹豫不决是否“值得一看”。就功能和应用而言,普通浴镜功能单一,而微波雷达传感器智能浴室镜功能创新:镜子灯光色温和亮度可以自由调节,镜面还可以湿手触控,智能除雾,既环保又健康! 尽管智能浴镜比较新颖,但功能丰富,体验感更好,特别是入门级的智能浴镜,具有基础智能化功能,真的适合想体验下智能化的小伙伴们。 给卫生间安装微波雷达传感器浴室镜安装注意什么? ①确定智能浴室镜的安装位置,因为是安装时在墙壁上打孔,一旦安装后一般无法移动位置。 ②在选购雷达感应智能浴室镜时,根据安装位置确定镜子的形状和尺寸。 ③确定智能浴镜的安装位置后,在布线时为镜子预留好电源线。 ④确定微波雷达传感器智能浴镜的安装高度,一般智能浴镜的标准安装高度约85cm(从地砖到镜子底),具体安装高度要根据家庭成员的身高及使用习惯来决定。 ⑤镜面遇到污渍,可用酒精或30%清洁稀释液擦洗,平时可用干毛巾养护,注意多通风。
冰箱屏幕唤醒微波雷达传感器屏幕唤醒性能强悍智能感应,随着年轻一代消费观念的转变,冰箱作为厨房和客厅的核心家用电器之一,也升级为健康、智能、高端的形象。在新产品发布会上,推出了大屏幕的冰箱,不仅屏幕优秀,而且微波雷达传感器屏幕唤醒性能强大。 大屏智能互联,听歌看剧购物新体验 冰箱植入冰箱屏幕唤醒微波雷达传感器触摸屏,重新定义了冰箱的核心价值。除了冰箱的保鲜功能外,该显示屏还集控制中心、娱乐中心和购物中心于一体,让您在无聊的烹饪过程中不会落后于听歌、看剧和购物。新的烹饪体验是前所未有的。 不仅如此,21.5英寸的屏幕也是整个房子智能互联的互动入口。未来的家将是一个充满屏幕的家。冰箱可以通过微波雷达传感器屏幕与家庭智能产品连接。烹饪时,你可以通过冰箱观看洗衣机的工作,当你不能腾出手来照顾孩子时,你可以通过冰箱屏幕连接家庭摄像头,看到孩子的情况。冰箱的推出标志着屏幕上的未来之家正在迅速到来。 管理RFID食材,建立健康的家庭生活 据报道,5G冰箱配备了RFID食品材料管理模块,用户将自动记录和储存食品,无需操作。此外,冰箱还可以追溯食品来源,监控食品材料从诞生到用户的整个过程,以确保食品安全;当食品即将过期时,冰箱会自动提醒用户提供健康的饮食和生活。 风冷无霜,清新无痕 冰箱的出现是人类延长食品保存期的一项伟大发明。一个好的冰箱必须有很强的保存能力。5g冰箱采用双360度循环供气系统。智能补水功能使食品原料享受全方位保鲜,紧紧锁住水分和营养,防止食品原料越来越干燥。此外,该送风系统可将其送到冰箱的每个角落,消除每个储藏空间的温差,减少手工除霜的麻烦,使食品不再粘连。 进口电诱导保鲜技术,创新黑科技加持 针对传统冰箱保存日期不够长的痛点,5g互联网冰箱采用日本进口电诱导保存技术,不仅可以实现水果储存冰箱2周以上不腐烂发霉,还可以使蔬菜储存25天不发黄、不起皱。在-1℃~-5℃下,配料不易冻结,储存时间较长。冷冻食品解冻后无血,营养大化。此外,微波雷达传感器5g冰箱还支持-7℃~-24℃的温度调节,以满足不同配料的储存要求。 180°矢量变频,省电时更安静 一台好的压缩机对冰箱至关重要。冰箱配备了变频压缩机。180°矢量变频技术可根据冷藏室和冷冻室的需要有效提供冷却,达到食品原料的保鲜效果。180°矢量变频技术不仅大大降低了功耗,而且以非常低的分贝操作机器。保鲜效果和节能安静的技术冰箱可以在许多智能冰箱中占有一席之地,仅仅通过这种搭配就吸引了许多消费者的青睐。 配备天然草本滤芯,不再担心串味 各种成分一起储存在冰箱中,难以避免串味。此外,冰箱内容易滋生细菌,冰箱总是有异味。针对这一问题,冰箱创新配置了天然草本杀菌除臭滤芯。该滤芯提取了多种天然草本活性因子,可有效杀菌99.9%,抑制冰箱异味,保持食材新鲜。不仅如此,这个草本滤芯可以更快、更方便、更无忧地拆卸。家里有冰箱,开始健康保鲜的生活。 目前,冰箱屏幕唤醒微波雷达传感器正在继续推动家庭物联网的快速普及,相信在不久的将来,智能家电将成为互动终端。
乐鑫科技官网无线wifi模组ble蓝牙soc常见的本地数据通信协议,介绍完如何在局域网内发现设备后,本节将介绍如何控制设备。以智能灯为例,简单的控制就是开关智能灯,对于软件层而言,就是 GPIO 引脚电平被拉高或拉低。通过其他设备来控制智能灯的开关,无非就是提供命令来进行 GPIO 的操作。那么这种命令是怎么通过智能手机发送到智能灯的呢?这种命令到底是什么格式? 采用什么协议呢? 本节将会一一解开疑惑,本节主要介绍通过乐鑫科技官网无线wifi模组ble蓝牙socWi-Fi 无线传输媒介来传输符合 TCP/IP 协议的数据,以及通过蓝牙无线传输媒介来传输符合蓝牙数据通信协议的数据。 1、TCP协议: TCP/IP模型 应用层 传输层 网络层 数据链路层 物理层 传输控制协议(TCP,Transmission Control Protocol) 是Internet 协议族的主要协议之一。在 TCP/IP 模型中,TCP作为传输层协议,为应用层协议提供了可靠的数据传输,常用的应用层协议有 HTTP、MQTT、FTP 等。 TCP 协议介绍 乐鑫科技官网无线wifi模组ble蓝牙socTCP 是一种面向连接的、可靠的、基于字节流的传输层通信协议,由IETF的RFC 793 定义。 (1)面向连接。采用 TCP 协议发送数据前需要在发送方和接收方之间建立连接,也就是常说的三次握手。 (2)可靠的。采用 TCP 协议发送数据,可以保证接收方的接收,如果丢失了数据,则会重传丢失的数据。TCP 协议还可保证接收方按顺序接收数据。 (3)字节流。在采用TCP 协议发送数据时,首先将应用层数据写入 TCP 缓冲区中,然后由TCP协议来控制发送数据,是按字节流的方式发送数据的,和应用层写下来的报文长度没有任何关系,所以说是字节流。 TCP协议将上层应用数据发给接收方的流程如下: (1)上层应用程序将应用数据写入 TCP 缓冲区。 (2)TCP缓冲区将数据打包成TCP 报文发往网络层。 (3)接收方接收到 TCP 报文,将其放入TCP 缓冲区。 (4)当收到一定数量的数据后,对数据进行排序与重组后告知给应用层。 使用 Socket 创建 TCP 服务器端 函数 esp_create_tcp_server()可创建一个TCP 服务器端,乐鑫科技官网无线wifi模组ble蓝牙soc包括TCP 套接字的创建、端口配置绑定、监听、接收数据和发送数据。相较于 TCP 客户端、UDP 服务器端和客户端,TCP服务器端的代码流程都要复杂一些,会涉及 listen 和 accept 两个套接字函数的使用,这是TCP服务器端特有的操作。 2、HTTP 协议 HTTP (HyperText Transfer Protocol,超文本传输协议)是基于传输层之上的应用协议。HTTP协议是万维网 (World Wide Web,www或 Web) 的数据通信基础,它规定了客户端与服器端之间数据传输的格式与方式。乐鑫科技官网无线wifi模组ble蓝牙soc客户端使用 HTTP 协议可以通过 HTTP 请求方式来获取智能灯的开关状态(GET)或者操作智能灯的亮灭 (POST),并且每个操作都会有对端的响应回复。因此,HTTP 协议在应用上比单纯的 TCP 协议更加完善与合理。 HTTP协议介绍 HTTP 协议是一个客户端(用户) 和服务器端(网站)之间请求和应答的标准。客户端通过网页浏览器、网络爬虫或者其他的工具与服务器端建立 TCP 连接,然后发送请求读取服务器端数据、上传数据或者表单到服务器端,并读取服务器端的响应状态,如“HTTP/1.1 200 0K”以及返回的内容(如请求的文件、错误消息或者其他信息)。乐鑫科技官网无线wifi模组ble蓝牙soc通过 HTTP 协议请求的资源由统一资源标识符(Uniform Resource Identifiers,URI)来标识。 在 0.9 和 1.0 版本的 HTTP 协议中,TCP 连接在每一次请求和回应之后关闭。在 1.1 版本的HTTP 协议中,引入了保持连接的机制,一个连接可以重复多个请求和回应,这样可以在每次数据请求前减少 TCP 握手时间和网络开销 常见的 HTTP 请求方法有: (1)GET。请求指定的 URI资源。 (2)POST。向指定 URI 资源提交数据,请求服务器端进行处理(如提交表单或者上传文件) (3)DELETE。请求服务器端删除 URI所标识的资源。 在智能灯的本地控制中,可以使用 GET 方法来获取智能灯的状态,使用 POST 方法来操作智能灯的行为。 3、UDP协议 之前分别介绍了TCP 协议和 HTTP 协议,这两个协议的主要特点就是传输可靠。本节接下案介绍传输层的另一种协议,即 UDP 协议。与 TCP 协议相反,UDP 协议是一种可靠的传输协议。常见的基于 UDP 协议的应用协议有 DNS、TFTP、SNMP等。 UDP 协议介绍 用户数据报协议(UDP,User Datagram Protocol) 是一个简单的面向数据报的通信协议,TCP协议一样位于传输层。UDP 协议由 David P. Reed 在 1980 年设计且在 RFC 768 中被定义(摘录自维基百科)。UDP 是不可靠的传输协议,数据通过 UDP 协议发送出去后,底层不会负责保留数据来防止数据在传输过程中的丢失。UDP 协议本身不支持差错校正、队列管理和拥塞控制,但支持校验和。 乐鑫科技官网无线wifi模组ble蓝牙socUDP 是一种无连接的协议,在发送数据前无须像 TCP 协议那样建立连接,可直接将数据发送到对端。由于在传输数据时不需建立连接,因此也就不需要维护连接状态,包括收发状态等UDP 协议本身只负责传输,因此使用该协议的应用程序要做更多关于数据如何发送和处理的控制,例如,如何使对端的应用程序正确且有序地接收数据。 与TCP 协议相比,UDP 协议不能保证数据安全可靠地传输,您可能会有疑问,那为什么还要使用UDP 协议呢?UDP 协议的无连接特性,相比于 TCP 协议的网络和时间开销更少:UDP协议的不可靠传输(主要是 UDP 协议在包丢弃后无法保证重传的特性)更适合流媒体、实时多人游戏和 IP 语音之类的应用,丢失几个包不会影响应用:反而如果使用 TCP 协议重传,则会大大增加网络的延时。 使用 Socket 创建UDP 服务器端 使用 Socket 创建 UDP 服务器端和 8.2.2 节介绍的创建组播组接收方类似,都是先创建 UDP套接字,乐鑫科技官网无线wifi模组ble蓝牙soc再配置绑定的端口、接收和发送数据。函数 esp_create udp server()设置SO_ REUSEADDR 选项,允许服务器端绑定当前已建立连接的地址。 4、CoAP协议 随着物联网技术的飞速发展,诞生了一系列满足物联网设备的协议。物联网设备大都是资源限的,如 RAM、Flash、CPU、网络带宽等资源。对于物联网设备而言,如果要借助 TCP协议和HTTP 协议进行数据传输,往往需要更多的内存与网络带宽。如果能使用UDP协议进行数据传输,那么有没有一个类似 HTTP 的应用协议呢? 答案是有的,乐鑫科技官网无线wifi模组ble蓝牙socCoAP 协议就是按照HTTP 协议的 REST 架构设计的。 CoAP 协议介绍 受限制的应用协议 (Constrained Application Protocol,CoAP) 是一种在物联网设备中类似于Web 应用的协议,在 RFC 7252 中被规范定义,可用于资源受限的物联网设备,使那些被称为节点的资源受限设备能够使用类似的协议与更广泛的互联网进行通信。CoAP 协议被设计用于同一受限网络(如低功耗、有损网络) 上的设备之间、设备和互联网上的一般节点之间,以及由互联网连接的不同受限网络上的设备之间。 CoAP 协议是基于请求与响应模型的,类似于 HTTP 协议,这样可以弥补UDP 协议不可靠传输的缺陷,保证数据不丢失乱序。服务器端的资源用 URL(如 coap://[IP]/id/light_status)来标识访问某个智能灯的状态)。乐鑫科技官网无线wifi模组ble蓝牙soc客户端通过某个资源的 URL 来访问服务器端资源,通过4个请求方法 (GET、PUT、POST 和DELETE) 完成对服务器端资源的操作。 CoAP 协议还具有以下特点: 客户端和服务器端都可以独立地向对方发送请求。 支持可靠的数据传输。 支持多播与广播,可以实现一对多的数据传输。 支持低功耗、非长连接的通信。 相比于 HTTP协议,其包头更轻量。 使用ESP-IDF 组件创建 COAP 服务器端 下面的代码展示了如何使用 ESP-IDF 组件创建 COAP 服务器端,该服务器端提供了 GET 和PUT 操作,用于 CoAP 协议的资源获取与修改。CoAP 协议的操作一般都是固定的,我们只需要关心自己的资源 URI路径以及所需要提供的操作。通过函数 coap_resource_init()可以设置资源访问的 URI,通过函数 coap_register_handler()可以注册资源URI对应的GET和PUT 方法回调函数。 5、蓝牙通信协议 蓝牙通信协议介绍 之前文章介绍了蓝牙的协议与架构,蓝牙协议定义了完成特定功能的消息格式和过程,如链路控制、安全服务、服务信息交换和数据传输。本节只介绍蓝牙协议规范的 ATT属性协议。蓝牙的数据是以属性 (Attribute) 方式存在的,每条属性由4个元素组成。 (1)属性句柄(Attribute Handle)。正如使用内存地址查找内存中的内容一样,属性句也以协助找到相应的属性。例如,首一个属性句柄是 0x0001,第二个属性句柄是 0x0002,以类推,大为 OxFFFF。 (2)属性类型 (Attribute UUID)。每个数据有自己需要代表的意思,如智能灯可以有两个基本的属性,一个是设置智能灯开关的属性,另一个是读取智能灯开关状态的属性。 (3)属性值 (Atribute Value)。属性值是每个属性真正要承载的信息,其他3 个元素都是为了让对方能够更好地获取属性值。例如,对于智能灯而言,可以设置智能灯开关的属性值为1代表开灯,设置属性值为0代表关灯;读取智能灯开关状态的属性值,1 代表打开状态,0代表关闭状态。 (4)属性权限(Attribute Permissions)。每个属性对各自的属性值都有相应的访问限制,如有些属性是可读的、有些是可写的、有些是可读可写的。拥有数据的一方可以通过属性权限控制本地数据的属性权限。例如,对于智能灯而言,可以将智能灯的开关属性权限设置为可写不可读,将读取智能灯开关状态的属性权限设置为只读不可写。 通常将保存数据(即属性的设备称为服务器端(Server),将获取其他设备数据的设备称为客户端(Client)。对于智能灯和智能手机而言,智能灯相当于服务器端,智能手机相当于客户端。下面是服务器端和客户端间的常用操作: (1)客户端向服务器端发送数据。通过对服务器端的数据进行写操作 (Write),可完成数的发送。写操作分两种:一种是写入请求 (Write Request): 另一种是写入命令 (Write Command)。两者的主要区别是前者需要对方回复响应 (Write Response),后者不需要对方复响应。对于乐鑫科技官网无线wifi模组ble蓝牙soc智能灯而言,智能手机发送开灯、关灯的命令就相当于写操作,而且这是一种写入请求,需要智能灯对写操作进行响应。这个响应不是简单的 ACK 响应,需要将开灯和关灯这个动作执行的结果返回给智能手机,告知智能手机此时的智能灯状态。 (2)服务器端向客户端发送数据。主要通过服务器端指示(Indication)或者通知(Notification)的形式,实现将服务器端的
乐鑫ESP32-C3国产wifi芯片蓝牙mesh组网模块广播功能,什么是广播呢?广播是指将报文发送给网络中所有可能的接收方。广播的用途主要有两个:一个报文就可以通知本地网络中在本地网络中定位一个主机;在本地网络中减少分组流通,一个报文就可以通知本地网络中的所有主机。常见的广播应用报文有: (1)ARP(Address Resolution Protocol,地址解析协议)。其用途是在本地网络中广播一个 ARP请求“IP 地址为 a.b.c.d 的设备,硬件 MAC 地址是多少,请告诉我”。ARP 的广播属于二层链路层MAC 广播,而不是三层网络层 IP 广播。 (2)DHCP(Dynamic Host Configuration Protocol,动态主机配置协议)。在本地网络中有 DHCI服务器端的前提下,DHCP客户端发送目的IP 地址(通常为 255.255.255.255)的DHCP 请求在同一网络中的 DHCP 服务器端就可以接收到该请求并回复分配的 IP 地址。 广播主要使用 UDP 协议,不适合使用 TCP 协议,TCP 适用于单播。 1.广播地址 对于广播地址,乐鑫ESP32-C3国产wifi芯片蓝牙mesh组网模块可以分为二层链路层 MAC 广播地址 (FF:FF:FF:FF:FF:FF) 和三层网络层IP广播地址(255.255.255.255),以下简称为二层地址、三层地址。本节主要介绍三层地址。一般情况下,在报文的三层地址为全 255 的情况下,二层地址通常也为全 FF。因为三层地址为全255 的报文,意味着本地网络的设备都会收到该报文。如果该报文的二层地址不是全 FF,则该报文在接收设备的二层地址处理中会被丢弃。对于接收设备而言,如果报文的二层地址不是广播地址,也不是本机的 MAC 地址和组播 MAC 地址(如 01:00:5E:XX:XX:XX),就会丢弃不处理。所以一般三层地址是广播地址,二层地址也是广播地址。IPv4地址由子网ID和主机ID 构成,如 地址为 192.168.3.4,子网掩码为 255.255.255.0的设备,其子网 ID 和主机 ID 是通过 IP 地址和子网掩码计算求得的。乐鑫ESP32-C3国产wifi芯片蓝牙mesh组网模块在本例中,子网 ID 是192.168.3.0,主机ID 是4。除了子网ID 和主机D为 255 的情况下是广播地址,只有主机ID是255 的情况下也是广播地址。例如,您有一个 192.168.1/24 的子网,那么 192.168.1.255就是该子网的广播地址。也许有人会有疑问“子网 ID 和主机 ID 全为 255 的广播地址和只有主机ID是255的广播地址有什么区别呢?”全为 255 的广播范围比特定子网的广播范围要大例如,Wi-Fi路由器有两个子网 192.168.1/24 和 192.168.2/24,在子网 192.168.1/24 里的一个主机 192.168.1.2 向目的地址 192.168.1.25 发送报文,Wi-Fi 路由器只会将该报文转给192.168.1/24 子网里的主机,并不会转发给 192.168.2/24 子网里的主机;如果该主机向目的地址255.255.255.255 发送报文,则 Wi-Fi 路由器会将该报文转发给两个子网里的主机。所以这种主机 ID 是 255 的广播地址也称为子网定向广播地址。通过子网定向广播地址可以向指定的子网发送报文,防止局城网中其他不需要接收的子网也收到该报文,避免网络资源浪费。 2.使用 Socket 实现广播发送方 函数 esp send broadeast()实现了向局域网内发送 UDP广播包并且携带数据“Are you Espressif IOT Smart Light”,然后等待对端回复的功能。该函数中用到了伯克利套接字(Ber.Sockets)标准接口,也称为BSD Socket。伯克利套接字是 UNIX 系统中的通用网络接口,不仅支持不同的网络类型,而且也是一种内部进程之间的通信机制。本文乐鑫ESP32-C3国产wifi芯片蓝牙mesh组网模块涉及的 TCP/UDP网编程都使用伯克利套接字,感兴趣的可以阅读人民邮电出版社出版的《UNIX 网络编卷1:套接字联网API》,详细了解伯克利套接字的编程知识,本文只是简单地介绍如何体套接字编程。 本节首先使用 socket(AF_INET,SOCK_DGRAM,0)函数创建 UDP 套接字,然后使用setsockopt()函数开启套接字支持广播,后设置广播的目的地址为全 255、端口为3333,调用 sendto()函数将报文发送出去。可以根据 sendto()函数的返回值判断数据是发送成功。 3.使用 Socket 实现广播接收方 乐鑫ESP32-C3国产wifi芯片蓝牙mesh组网模块函数 esp_receive_broadcast ()实现了广播包的接收与单播回复。与发送方的代码逻辑一样,首先创建 UDP 套接字,并且设置监听的报文源地址和端口号,一般作为服务器端,报文源地址设置为 0.0.0.0,表示不对报文源地址进行验证,调用 bind()函数绑定套接字;然后使用 recvfrom()函数接收报文,当接收到携带了“Are you Espressif IOT Smart Light”数据的广播包后,对端的IP 地址和端口号就保存在 from_addr 里;后以单播的形式将要发送的数据发送给对端。 组播 什么是组播呢? 组播也称为多播,是指将报文发送给那些感兴趣的接收方。相比于单播和广播寻址方案的两个“极端”(要么单个要么全部),组播技术提供了折中的方案。顾名思义,组播主要强调组的概念,也就是说,一个主机可以向一个组地址发送报文,所有加入这个的主机都可以收到报文。这有点类似于子网定向广播,但比子网定向广播更加灵活,因为个组的主机可以随时加入或者离开某个组,这样就可以减轻本地网络与主机的负担。 IGMP (Internet Group Management Protocol,互联网组管理协议)是一种负责IP 组播成员管理的协议,用来在IP 主机和与其直接相邻的组播 Wi-F 路由器之间建立、维护组播组成员关系。对于组播而言,需要 Wi-Fi路由器支持IGMP 协议。 1.组播地址 组播报文目的地址使用D类IP 地址,第一个字节以二进制的 1110 开始,其范围是 224.0.0.0~239.255.255.255。由于组播P 地址标识了一组主机,因此组播IP 地址只能作为目标地址,不能作为源地址,源地址总是单播地址。 乐鑫ESP32-C3国产wifi芯片蓝牙mesh组网模块组播组是一个组,这个组使用特定的组播地址作为标识,组内或者组外的成员往这个组播址发送报文时,由组播地址标识的组内成员就可以收到该报文。组播组可以是永久的,也可以是临时的。在组播地址中,由官方分配的组播地址的称为永久组播组:那些既不是保留址也不是永久组播地址的称为临时组播组。永久组播组和临时组播组内的主机数量都是动的,甚至可以没有主机。 组播地址分类如下: 224.0.0.0~224.0.0.255: 为保留组播地址(永久组播组),地址 224.0.0.0不做分配,其他地址供路由协议使用。 224.0.1.0~224.0.1.255:是公用组播地址,可以用于互联网。 224.0.2.0~238.255.255.255:为用户可用的组播地址(临时组播组),全网范围内有效。239.0.0.0~239.255.255.255:为本地管理组播地址,仅在特定的本地范围内有效。 2.使用 Socket 实现组播发送方 组播发送的实现比广播发送更复杂。组播发送需要设定组播报文的发送接口,如果需要接收某个组播组的报文,还需要加入该组播组。函数 esp_join_multicast_group()实现了组播组发送接口的设置与组播组加入的功能。函数 esp_send_multicast()实现了常规UDP 套接字的创建、绑定、目的地址端口的配置和收发功能。除此之外,还增加了 TTL 的设置,保证该组播组只能在该路由下的局域网中进行。 3.使用 Socket 实现组播接收方 实现组播接收方和实现组播发送方一样,需要指定组播报文的接口和需要加入的组播组。函数esp_recv_multicast()实现了常规 UDP 套接字的创建、绑定、目的地址端口的配置和收发功能。此外,由于本例中还需要发送组播,所以设置了 TTL (Time To Live)。 广播与组播对比 广播与组播的对比所示,从中可以看出来,组播的带宽开销比较小,局域网内的备可以自主加入或者离开感兴趣的或预先规定的组播组来接收和发送数据,比较灵活。对于广播而言,局域网内所有设备都会收到报文,无形中会给局域网内的其他设备增加负担,也会加重局域网带宽的负担。 本地发现之组播应用协议 mDNS 在计算机网络中,乐鑫ESP32-C3国产wifi芯片蓝牙mesh组网模块多播DNS (Multicast DNS,mDNS)协议将主机名解析为不包含本地名称服务器端的小型网络中的IP 地址。这是一种零配置的服务器端,mDNS 与传统域名解析服(DNS) 有着基本相同的编程接口、数据包格式和操作方式。 mDNS 由 Bill Woodcock和 Bill Manning 于 2000 年在IETF 中首次提出,在 2013 年由 StuatCheshire 和 Marc Krochmal 作为标准协议发布在 RFC 6762,并由 Apple Bonjour 和开源Avahi软件包实现,包含在大多数 Linux 发行版中(摘录自维基百科)。 mDNS 是本地网络的域名解析协议,使用 5353 端口,组播地址是 224.0.0.251,是运行于 UDP之上的应用协议。不同于传统的 DNS 协议,mDNS 协议不需要 DNS 服务器端进行域名解析可节省本地网络的域名服务器端配置。 乐鑫ESP32-C3国产wifi芯片蓝牙mesh组网模块启用了mDNS 服务的主机加入局域网后,会首先向局域网的组播地址 224.0.0.251 组播一个息“我是谁,我的IP 地址是多少,我提供的服务和端口号是多少”局域网中其他启用 mDN服务的主机收到该消息后会记录该消息,然后响应“它是谁,它的 P 地址是多少,它提供的服务和端口号是多少”。如果一台主机想要查询 mDNS 域名,会先查询自己的缓存信息,如里没有查询到,则会向局域网组播查询该域名的 IP 是多少,以及提供的服务和端口是多少。如果主机查询一个域名,那么该怎么区分该域名是 DNS 域名还是 mDNS 域名呢? mDNS 域名与DNS 域名是通过后缀.local 区分的。
无线模组厂商蓝牙双模WiFi芯片常见的本地发现方法,在之前的文章中我们提及了如何在使用Wi-Fi无线传输媒介的局域网内找到被控设备。在TCP/ip协议栈中,找到被控设备是指获取被控设备的 IP 地址。无线模组厂商蓝牙双模WiFi芯片在局域网内,如何获取对端的 IP 地址是一个值得研究的问题。常见的获取对端IP 地址的协议是RARP (ReverseAddress Resolution Protocol,反向地址转换协议),这是一种在知道对端MAC 地址的条件下发送查询包,网关服务器端通过解析自己的ARP 表来获取想要查询 MAC设备IP 地址的协议。熟悉局域网的小伙伴可能会在一时间就联想到 ARP (Address ResolutioProtocol,地址解析协议),ARP 是通过知晓对端IP 地址的情况下,发送查询包,对端设备者网关设备查询自己的ARP 表后回复 IP 地址对应的 MAC 地址的协议。无线模组厂商蓝牙双模WiFi芯片ARP 和 RARP是一对网络层地址与数据链路层地址相互解析的协议,但这一对协议有一个共同点,就是需要知道对端的网络层地址或者数据链路层地址,这在物联网应用中会变得很不灵活,因为用户很难知道局域网中设备的网络层地址和数据链路层地址,所以本文要介绍真正适用于物联网的本地发现技术。 本地发现就是发现局域网内节点的信息,包括与节点进行通信的地址信息、节点所支持的应用服务信息、用户自定义的信息等。例如,常用的本地发现协议有 mDNS (Multicast DNS,该协议的介绍请参考之前的文章)。无线模组厂商蓝牙双模WiFi芯片本地发现的思路就是发一个报文,对端在接收到该报文后自己的设备信息告知给发送方。但是目前需要解决的问题是如何确保对端能接收到发送方发送的报文。 其实如果知道 IP 地址的分类后,就会知道,除了比较常用的点对点通信 (单播),还有一对多(组播)和一对所有(广播)通信。IP 地址可以分为单播(Unicast) 地址、组播(Multicast)地址和广播(Broadcast)地址。单播需要知道对端的 IP 地址,所以不适合本地发现的场景。无线模组厂商蓝牙双模WiFi芯片组播和广播并不需要知道对端的IP 地址,它们会向特定地址发送报文,对端只要监听该地址就可以接收到报文,因此组播和广播适合在局域网内的发现设备,也能解决发送方发送的报文让对端接收到的问题。
上一页
1
2
...
101

地址:深圳市宝安区西乡街道麻布社区宝安互联网产业基地A区6栋7栋7706

邮箱:Sales@ferry-semi.com

版权所有©2020  深圳市飞睿科技有限公司  粤ICP备2020098907号    飞睿科技微波雷达wifi模块网站地图