上拉下拉电阻是何物

18 12月

最近学校做硬件课程设计,又把之前玩玩的 Arduino 搬出来了。有一个一直没搞清楚的问题,为什么按钮通常需要接一个上拉或者下来电阻,否则很容易「失控」。这次认真研究了一下总算搞明白了。

什么是下拉电阻

如图,我们想实现一个很简单的功能,即通过判断1号口的电压来判断按钮(开关)是否接通。当接通时电压为 5v,否则电压为 0v。但是我们在接入到1号口的一段接了一个电阻并接地,这个电阻就叫下拉电阻

下拉电阻的作用是:在确保断路电压为0的情况下避免短路。

如果不接地

看起来也许并没有什么问题。但前提是你认为暴露在空气中电压为0,然而事实不是这样的。如图,开关断开的情况下1号口相当于直接暴露在空中,叫做浮空状态。浮空状态的要尽量避免的,因为它的电压不是0而是未知。由于
空中有错综复杂的电磁波,以及其他各种各样的原因,1号口会收到一串噪声信号,电压像波浪一样持续变化。这样我们就很难准确判断开关的按下。

[……]

>> 接着看呗

NAT 科普与类型提升

18 12月

起因是朋友买了一个迅雷玩客云,但是提示 NAT 类型有问题,导致诸多功能不好用。折腾一番后也进一步搜索了相关资料,深入了解一下。本文旨在用最通俗的语言解释清楚相关问题,在专业性方面可能有缺失。

使用 PS3/Xbox 朋友遇到无法联机或 NAT 类型显示为严格也是类似原因。

什么是 NAT

首先我们得先理解 NAT 的概念。它全称是 Network Address Translation 即网络地址转换。使用 NAT 的原因很多,主要是 IPv4 地址资源枯竭,以及为了网络安全(也便于监管)。我们知道每一个能够上网的设备必然有一个 IP 地址,但是并不是所有设备都拥有「公网IP」。而 NAT 就是把内网 IP 映射成公网 IP,从而使设备可以访问互联网。

这里说 公网IP 并不规范。现在很多运营商已经不分配公网 IP 了。

听起来很高端的技术其实就在我们身边。一般常规的家庭网络拓扑是这样的:

入户光纤 → 猫 → 路由器 → 终端设备

运营商只给我们分配了一个 IP 地址,这个 IP 理所应当被路由器占用着。而我们许多终端设备拿到的是路由器分配的内网地址,一般类似 192.168.x.x。显然这个内网地址是无法和互联网通讯的。因此我们需要 NAT 来建立内网 IP 与 公网 IP 的映射,这样当终端设备访问互联网,将数据交给路由器,然后路由器转交给服务器;服务器返回的数据交给路由器,路由器再根据映射传给终端就OK了。这个过程是 NAT。

什么是 UPnP

UPnP 是通用即插即用协议,英文 Universal Plug and Play。在这里,其目的是更加方便地穿透 NAT。可以理解为有了 UPnP 软件可以根据需求让路由器进行动态地进行端口映射。而不是你去路由器后台一个个手动设置。

下面是我的 UPnP 列表:

可以看到根据请求,路由器自动地把 WAN 10960 端口映射到了 192.168.50.120:10960 上,其实这个是我们家的摄像头,这样就可以从外面直接看到画面了。

[……]

>> 接着看呗