WSN_1 介绍;部分应用介绍
学习自书籍:Fundamentals of Wireless Sensor Networks.
WSN 介绍
传感器
从基础角度说,传感器观测采集现实世界的一些数据。
另一个名称是 transducer 换能器,指传感器将一些形式的信号转换为其他形式的信号,如光敏传感器 光→电信号。
传感器还可以调整信号,如去除特定频率中的噪声,进行 AD 转换等。
有的传感器还包括执行器,可以控制物理世界,如检测水位过低时打开闸门注水。
WSN
无线传感器网络里众多传感器一同检测物理环境,彼此之间可以相互通信,与基站可以通信以便将数据发送到更远的地方,而且传感器节点自己有一定数据处理能力,可以分析、聚合多个传感器的数据。
WSN 的通信
IEEE 802.11 是早期 WSN 常用的通信方式。它让具体不同协议在不同的频段下工作。但是 WSN 要求低功耗,与 IEEE 802.11 不合,促进了其他更低功耗协议的发展。

当所有传感器节点的传输范围足够大,且可以将数据直接传输到基站时,可以形成左图所示的星型拓扑。但是这样全部采用单挑,功耗2还是不太合适。
因此,离得比较近的传感器节点可以作为多跳的中继节点,诞生了这样的网状结构。而且当其承载的其他多跳节点数量多到一定程度时,可以考虑利用这个结点对收集到的数据进行分析处理,减轻控制中心的负担。
WSN 的挑战
energy
众多的传感器,其能源供给是个问题。电池可否充电 ?如何充电?一般根据具体应用例子来决定。比如要采集几年以上的冰川数据,这种传感器最好是可以充电而且在该环境中便于充电的;而临时测一次的数据,可能用一次性用完即丢的传感器更划算。
能源的管控不只限制于硬件的开发,也需要网络协议、操作系统的良好设计。
自我管理能力
在极端环境下运行的一些传感器,我们希望其抗压能力比较强,以及遇到故障等的处理能力强。这方面一般对自组织网络能力要求较高。如,飞机空投的传感器机器人,可能绝对位置要求不高,我们需要其落地后迅速查找周围存活的节点并构建起通信网络。
Wireless Networking
信号在传输过程中会逐渐衰减。特别是还可能遇到一些障碍物的情况。
我们要考虑结点与基站之间的距离的问题,要考虑结点与中继路由之间距离的问题。有些网络采用占空比来节约能量,即不是所有结点一直开着的,用的时候打开,这样的网络我们还要考虑需要传输数据时开启哪些结点路径等问题。
分散管理
由于能耗和容量等问题,我们知道信号都发到中心基站处理不太好。
我们可以让部分结点自己分而治之,自己做出自己的路由决策。
这样的决策不一定是全局来看最佳的决策,但是一定是最节能的。
设计约束
硬件、操作系统、网络协议、中间件等众多制约因素。
安全
结点可能遭受攻击、数据窃取,还要设计算法和一定的算力来尽可能保护结点。
总结
相较于一般网络,WSN 更多的是专门为某种特定目的而设计的网络。其也会因需求而微调自己的设计,如低延迟需求、高存储多硬件需求等。
应用
本章节主要讨论 WSN 的一些应用及其实现。
结构健康检测
如桥梁结构,我们知道桥梁一旦崩塌后果不堪设想。
以往人力如何监测桥梁健康?
道路维修员每天巡视,专家等会来进行仔细检查。道路维修员费人力,而且监测效果不一定好;专业检查员则需要耗费大量财力物力时间,比较繁琐。
检测技术一般分为两种:仔细些的局部监测,和全局监测。局部检测可以探测出一些难以察觉的裂缝,需要超声波、x光等技术,但是比较影响桥梁的正常运行;全局监测则是通过一些如骑车驶过桥面时桥面的形变量变化监测的,也可以强行施加一些外力,如拿锤子砸。
优势有以下几点:传感器结点可以到达一些大型测量设备无法到达的结构;多个节点之间可以汇总定位出出问题的结构的具体位置;传感器节点测试更少停止桥梁的正常通行。
交通控制
随着私家车越来越多,拥堵和事故也出现的越来越多。可以通过 WSN 输入街道状况,并计算向司机告知最佳道路的建议。
医疗健康
可以检测身体状态,应对很多人没有时间和钱财去医院检查治疗的问题,并及时提供救治。
管道检测
检测最好能持续的检测,但我们知道这不方便。WSN 也可以一定程度地解决这个问题。
精准农业
可以检测气候、虫害、土壤状况等,甚至包括一些农民伯伯自己仅凭人力很难检测的指标。
活火山检测
这个属于是比较危险,还挺需要检测的例子。可以用很多廉价些的 sensor 结点,对网络的需求也没那么高;等。
地下开采
旷工采矿,以及一些地下救援活动,不仅可以较精确定位,还可以探测气体泄漏等危险。
相关文章:
WSN_1 介绍;部分应用介绍
学习自书籍:Fundamentals of Wireless Sensor Networks. WSN 介绍 传感器 从基础角度说,传感器观测采集现实世界的一些数据。 另一个名称是 transducer 换能器,指传感器将一些形式的信号转换为其他形式的信号,如光敏传感器 光…...
linux常用命令介绍 05 篇——实际应用篇(用 cut、uniq等统计文档里每个关键词出现的次数)
linux常用命令介绍 05 篇——实际应用篇(用 cut、uniq等统计文档里每个关键词出现的次数)1. 先导文章——关于行过滤 和 列截取2. 关于单个统计单词个数2.1 grep2.2 wc3. 统计文档中每个关键词出现的次数3.1 先看文档内容 需求3.1.1 文档内容3.1.2 需求…...
大数据处理学习笔记1.7 Scala类与对象
文章目录零、本节学习目标一、类(一)类的定义(二)类的实例化二、单例对象(一)单例对象概念(二)案例演示三、伴生对象(一)伴生对象概念(二…...
Feign踩坑源码分析 -- 请求参数分号变逗号
一.案例 1.1.Post请求: http://localhost:8250/xx/task/test json格式参数: {"string": "a;b;c;d" } 1.2.controller代码: AutowiredDataSourceClientService dataSourceClientService;RequestMapping("/test"…...
nginx通用history模式刷新
注:1.通用配置只支持二段路由,二段及以上依然需要单独进行配置 2.所有location后面的路径,都需要使用通配符进行配置 location ^~ /phdp/ {try_files $uri $uri/ /phdp/index.html;index ruoyi.html index.html index.htm;}location ^~ /phdp-api/ {client_max_body_size 20m;p…...
Linux系统安装:Zookeeper
目录 Zookeeper的安装 1、环境准备 2、上传 3、解压文件到opt/zookeeper目下 4、安装完后进入zookeeper,找到conf目录 5、复制zoo_sample.cfg 6、编辑zoo.cfg 7、复制一份会话,进入zookeeper安装目录,创建一个文件夹zkdata࿰…...
cocos2dx+lua学习笔记:UIPageView的使用
前言 本篇在讲什么 本篇简单介绍Lua篇cocos2dx中UIPageView的相关内容 仅介绍简单的应用,仅供参考 本篇适合什么 适合初学Cocos2dX的小白 适合想要在Cocos2dx-lua中使用UIPageView的人 本篇需要什么 对Lua语法有简单认知 对Cocos2dx-Lua有简单认知 Cocos2…...
MyBatis常见面试题汇总(超详细回答)
目录 1.什么是Mybatis? 2.Mybatis的优缺点? 3.#{} 和 ${} 的区别是什么? 4.xml 映射文件中有哪些标签? 5.模糊查询 like 语句该怎么写? 6.Mapper 接口的工作原理是什么?Mapper 接口里的方法,参数不同…...
Jvm调优实战笔记
一、基础命令jps 查看所有java进程jinfo 进程号 查看该线程相关信息3、jstat 统计信息(数据跟踪信息)jstat -gc 进程号 查看该线程在内存中每一块占用的大小jstat -gc 进程号 时间(毫秒) 更新频率4、jstack 跟踪线程jstack 进程号…...
JVM 全面了解
JVM包含两个子系统和两个组件,两个子系统为Class loader(类装载器)、Execution engine(执行引擎);两个组件为Runtime data area(运行时数据区)、Native Interface(本地接口)。 方法区:存储已被虚拟机加载的类元数据信息(元空间) 堆…...
阿里开源自研高性能核心搜索引擎 Havenask
去年12月,阿里开源了自研的大规模分布式搜索引擎 Havenask(内部代号 HA3)。  Havenask 是阿里巴巴内部广泛使用的大规模分布式检索系统,支持了淘宝、天猫、菜鸟、优酷、高德、饿了么等在内整个阿里的搜索业务&#…...
nginx日志服务之敏感信息脱敏
1. 创建实验资源 开始实验之前,您需要先创建实验相关资源。 日志服务之敏感信息脱敏与审计 2. 创建原始数据 本步骤将指导您如何创建NGINX模拟数据。 双击打开虚拟桌面的Firefox ESR浏览器。 在RAM用户登录框中单击下一步,并复制粘贴页面左上角的子…...
【uni-app教程】一、UniAPP 介绍
一、UniAPP 介绍 (1) 什么是 UniAPP? uni-app 是一个使用 Vue.js 开发所有前端应用的框架,开发者编写一套代码,可发布到 iOS,Android,HS,以及各种小程序(微信/支付宝/百度/头条/QQ/钉钉》等多个平台&#…...
Splunk Real-time Search 的研究
最近客户想搞清Splunk real-time search 和related search 有啥区别,想两个都试试,看看效果。 为了更好的说明什么是real-time search, 先看一下: With real-time searches and reports, you can search events before they are indexed and preview reports as the event…...
SWM181 串口功能使用介绍
SWM181 串口功能使用介绍📌SDK固件包:https://www.synwit.cn/kuhanshu_amp_licheng/✨注意新手谨慎选择作为入门单片机学习。🌼开发板如下图: 📋SWM181描述上写了有4个串口,在数据手册上,将引脚…...
Stochastic Approximation 随机近似方法的详解之(三)Dvoretzky’s convergence theorem
定理内容 Theorem 6.2 (Dvoretzky’s Theorem). Consider a stochastic process wk1(1−αk)wkβkηkw_{k1}\left(1-\alpha_k\right) w_k\beta_k \eta_kwk1(1−αk)wkβkηk, 其中{αk}k1∞,{βk}k1∞,{ηk}k1∞\{\alpha_k\}^\infty_{k1},\{\beta_k\}^\infty_{k1},\…...
7个ES6解构技巧让代码更简洁
您是否厌倦了编写臃肿且难以阅读的代码?想要提升您的编码技能并使您的代码更具可读性和简洁性? 从解构对象和数组到使用默认值和展开运算符,我们将涵盖所有内容,现在,我们将准备好掌握干净简洁的编码艺术。 1.解构对…...
曾经被人们看成是异想天开的产业互联网,或许终将会实现
一波还未平息,一波又起。元宇宙的热度还未彻底散去,ChatGPT已经成为了名符其实的新风口。如果用一个概念来定义现在这样一个热点和风口频出的时代的话,我想,用产业互联网或许是再合适不过的了。对此,可能有人并不认同。…...
log4j控制台不打印日志的故障解决方案
前言 接管了别的项目组的一个代码,在IDAE调试程序的过程中,发现log4j日志居然没有打印在控制台上,日志相关代码也没有问题。 在网上搜索了一圈,总结了一下个人解决这个问题的流程。 流程 1. 判断用了什么配置文件 不知道是出…...
C# 序列化时“检测到循环引用”错误的彻底解决方案
目录 一,问题表现 二、没有技术含量的解决方案 三、本人彻底的解决方案 简要说明 贴代码 思路解析 思路 一,问题表现 示例代码如下: [Serializable] public class NodeTest {public NodeTest (){new List<NodeTest> ();}p…...
Vue记事本应用实现教程
文章目录 1. 项目介绍2. 开发环境准备3. 设计应用界面4. 创建Vue实例和数据模型5. 实现记事本功能5.1 添加新记事项5.2 删除记事项5.3 清空所有记事 6. 添加样式7. 功能扩展:显示创建时间8. 功能扩展:记事项搜索9. 完整代码10. Vue知识点解析10.1 数据绑…...
多模态2025:技术路线“神仙打架”,视频生成冲上云霄
文|魏琳华 编|王一粟 一场大会,聚集了中国多模态大模型的“半壁江山”。 智源大会2025为期两天的论坛中,汇集了学界、创业公司和大厂等三方的热门选手,关于多模态的集中讨论达到了前所未有的热度。其中,…...
Mac软件卸载指南,简单易懂!
刚和Adobe分手,它却总在Library里给你写"回忆录"?卸载的Final Cut Pro像电子幽灵般阴魂不散?总是会有残留文件,别慌!这份Mac软件卸载指南,将用最硬核的方式教你"数字分手术"࿰…...
用docker来安装部署freeswitch记录
今天刚才测试一个callcenter的项目,所以尝试安装freeswitch 1、使用轩辕镜像 - 中国开发者首选的专业 Docker 镜像加速服务平台 编辑下面/etc/docker/daemon.json文件为 {"registry-mirrors": ["https://docker.xuanyuan.me"] }同时可以进入轩…...
项目部署到Linux上时遇到的错误(Redis,MySQL,无法正确连接,地址占用问题)
Redis无法正确连接 在运行jar包时出现了这样的错误 查询得知问题核心在于Redis连接失败,具体原因是客户端发送了密码认证请求,但Redis服务器未设置密码 1.为Redis设置密码(匹配客户端配置) 步骤: 1).修…...
在web-view 加载的本地及远程HTML中调用uniapp的API及网页和vue页面是如何通讯的?
uni-app 中 Web-view 与 Vue 页面的通讯机制详解 一、Web-view 简介 Web-view 是 uni-app 提供的一个重要组件,用于在原生应用中加载 HTML 页面: 支持加载本地 HTML 文件支持加载远程 HTML 页面实现 Web 与原生的双向通讯可用于嵌入第三方网页或 H5 应…...
VM虚拟机网络配置(ubuntu24桥接模式):配置静态IP
编辑-虚拟网络编辑器-更改设置 选择桥接模式,然后找到相应的网卡(可以查看自己本机的网络连接) windows连接的网络点击查看属性 编辑虚拟机设置更改网络配置,选择刚才配置的桥接模式 静态ip设置: 我用的ubuntu24桌…...
Python Ovito统计金刚石结构数量
大家好,我是小马老师。 本文介绍python ovito方法统计金刚石结构的方法。 Ovito Identify diamond structure命令可以识别和统计金刚石结构,但是无法直接输出结构的变化情况。 本文使用python调用ovito包的方法,可以持续统计各步的金刚石结构,具体代码如下: from ovito…...
并发编程 - go版
1.并发编程基础概念 进程和线程 A. 进程是程序在操作系统中的一次执行过程,系统进行资源分配和调度的一个独立单位。B. 线程是进程的一个执行实体,是CPU调度和分派的基本单位,它是比进程更小的能独立运行的基本单位。C.一个进程可以创建和撤销多个线程;同一个进程中…...
4. TypeScript 类型推断与类型组合
一、类型推断 (一) 什么是类型推断 TypeScript 的类型推断会根据变量、函数返回值、对象和数组的赋值和使用方式,自动确定它们的类型。 这一特性减少了显式类型注解的需要,在保持类型安全的同时简化了代码。通过分析上下文和初始值,TypeSc…...
