首页
关于
备忘
接口
搜索
生活
工作
杂记
Linux
docker
php
springboot
备忘录
首页
登录
搜索
灰太猫
一个不从事IT职业的IT人
累计撰写
33
篇文章
累计收到
4
条评论
首页
栏目
生活
工作
杂记
Linux
docker
php
springboot
备忘录
首页
页面
首页
关于
备忘
接口
作者 【1】 的文章
置顶
明
2024年-1月-13日
45 阅读
0 评论
生活
置顶
可爱的我
2024年-1月-12日
39 阅读
0 评论
生活
置顶
水果全家福
2024年-1月-12日
38 阅读
0 评论
生活
置顶
我爱新家幼儿园
2024年-1月-12日
51 阅读
0 评论
生活
置顶
元旦
2024年-1月-12日
37 阅读
0 评论
生活
置顶
WiFi6\WiFi7
WiFi7 在中国,终于是落地了。 小米、华为、 TPLink 等品牌都纷纷开始为新款 WiFi7 路由器和手机造势。 但又有谁能想到,有些刚上市的千元机连现在主流的 WiFi6 都不支持,还只支持 WiFi5 。。。 使用旧技术,真的没啥代价吗? 其实是有的。 不过,它的代价,反而是被使用先进技术的用户承担。。。 除了每一代升级都会有的最大速度提升, WiFi6 最大的卖点是多了几个全新的特性,能让无线网络变得更高效。 但是,这些优化只对 WiFi6 或者未来更先进的 WiFi 设备起作用。 相反的,网络中每连接进一个 WiFi5 设备,这些优化效果还会削弱几分。。。 其中最容易受到影响的是一个 “ 拼车 ” 特性,学名叫 OFDMA ( 正交频分多址 )。 在 WiFi6 之前, WiFi 就像传统出租车,只要上了人,即使车里还有位置空着,也不能再顺路接人了; 旧式 WiFi 设备,总是独享专车的 moment 。 而 WiFi6 则是开通了拼车服务的顺风车,只要车上有座,就能继续顺路塞进其他用户; WiFi6 高效的一面,就体现在它的 “ 空座率 ” 低。 那么,如果繁忙的 WiFi6 网络里,混进了一些 WiFi5 设备,会发生什么? 想象一个场景: 在人挤人的火车站出租车等候区,各种设备一个一个在排队,并且大家都支持拼车,总是试图把每一辆出租车塞满; 直到排到了一个 WiFi5 设备,它大手一挥,拦住了其他试图拼车的设备:嘿嘿,没想到吧,我不支持拼车。 接下来还在排队的设备,只能看着明明有空座位的车开走。。。 只要有 WiFi5 设备出现在繁忙的 WiFi6 网络里,就会因为 “ 不支持拼车 ” ,让 WiFi6 网络损失效率; 然而,这些使用过时技术的设备,本身不需要付出任何代价,反而是不受影响的。。。 是不是拳头硬了? 还有让你拳头更硬的。 从 WiFi5 开始,路由器开始使用一种同时向多个设备发送数据的技术,叫做 DL MU-MIMO ( 下行多用户多路输入输出 )。 有了这个技术,路由器就可以同时向多个手机发送不同的数据,极大的提高了 WiFi 网络的容量; 但是, WiFi5 时代的这项技术只解决了一半的问题。 路由器可以群发了,但手机对路由器发送信息的时候,还是得一对一。 这就导致在同一个 WiFi 下有太多设备时,上传必须轮流进行。 这不仅提高了网络延迟,还拉低了网络带宽。 为了解决这个问题, WiFi6 引入了相对应的 UL MU-MIMO ( 上行多用户多路输入输出 ),能同时接收多个设备发送的信息。 现在,多个手机只要用一种特别的 “ 语法 ” 开口,就能同时向路由器上传数据! 但是啊但是,大家应该猜得到。。。 WiFi5 设备由于不懂这种 WiFi6 才有的 “ 语法 ” ,只要它一开口,其他共用同一个通道的 WiFi6 设备就只能闭嘴,停下来等它。。。 设备又一次因为不够先进,拿到了独享的 moment ,顺手拉低了 WiFi6 网络的效率。。。 WiFi 5 除了拒绝拼车、不懂语法外,在某些情况下,它还自带一个更大范围的 “ 禁言术 ” 。 WiFi6 为了提高 WiFi 网络的设备接入数量,它给展会会场、体育场这类 WiFi 设备密集的场景,专门设计了一种叫做 BSS 染色的技术。 由于它的技术细节涉及到了 WiFi 的基本原理,我们就不介绍了。 不过,整个技术的作用倒是挺简单。 按照传统的 WiFi “ 发言 ” 原则,只要检测到同频道上的其他信号,就应该继续等待,直到信号结束。 但 BSS 染色技术能通过特定的标记,让设备判断这个信号会不会影响通信。 如果 WiFi6 设备读取了标记,判断为 “ 不影响 ” ,它就会直接开始通信,从而减少了等待时间,事实上提高了无线网的速度和可靠性。 这是一个很好的改进,但,还是同样的问题: WiFi5 设备完全不吃这一套,它根本不会在自己发射的信号里带标记。。。 周边所有的设备,都没法从没有标记的信号里确定这个信号会不会影响自己。 唯一的办法是闭嘴,把时间交给这个不懂规矩的旧设备。 在这种情况下,只要 WiFi5 设备一开口,就有一批本来可以开口的 WiFi6 、 WiFi7 设备被闭嘴了。。。 总而言之, WiFi5 是真的有些老了,老到了它已经会影响新的网络性能的程度。 但它的问题在于,又不是老的不能用,所以很难被自然淘汰。 WiFi4 和更老的 WiFi 技术因为主要支持 2.4GHz ,而且非常慢,所以除了不少免费白送的情况,基本早就不见了。 而 WiFi5 够快,即使在先进设备的兼容下,仍然有不错的表现。
2024年-1月-9日
94 阅读
0 评论
杂记
置顶
Flash相关
nor flash 特点 NOR的特点是芯片内执行(XIP, eXecute In Place),这样应用程序可以直接在flash 闪存内运行,不必再把代码读到系统RAM中。 容量一般为几百k~几百Mbit,128M bit(16M Byte)价格才几块,很便宜。他的SPI读写速度比FRAM还要快,可达133M以上,而且不仅支持标准SPI,还支持双、四线的SPI,相当于又变相提高了SPI的数据吞吐速度。典型型号W25Q。 读操作:和EEPROM、FRAM一样,所以驱动程序很简单。这也就表明了,nor flash每一个字节都有唯一的地址,这一特性使得他支持XIP功能(eXecute In Place,程序就地执行),STM32的flash单片机就是这种。显然EEPROM和FRAM也具备XIP功能,只是同等容量下,nor价格更低,所以现在的单片机基本都选了nor flash来做存储。 写操作:有一个缺点和EEPROM一样,SPI的读写速度>存储烧写速度,所以,他里面也有一个高速RAM缓冲区,容量一般也是256字节,写操作的回环特性与EEPROM一模一样。数据从256字节缓存烧写进flash,耗时约为0.7~5ms之间。SPI发送完数据以后,必须切换任务、或线程、或状态机,来等待数据真正烧写完成,最终要通过查询状态寄存器的busy标志位来验证。 除了以上烧写延迟之外,他比eeprom还多了一个缺点:就是写入前,必须要通过SPI给芯片发命令,先擦除,擦完以后才能写入。这个缺点是由FLASH的特性决定得,flash在烧写时,二进制位只能由1变0,而不能由0变1,所以由0变1的过程,只能由擦除命令来做。 擦除方式有3种:按扇区擦sector、按块擦block、芯片全擦chip。 扇区大小一般为4KB,块一般为32K/64K,下图是经典型号W25Q的烧写时间和擦除时间表: 上表中的4种擦除方式,分别对应一个不同的SPI擦除命令。 nand flash 不支持就地执行,因为nand里面,没有字节地址,要想执行nand里存储的程序,必须把程序复制到RAM,RAM的每一个字节都有地址,然后CPU就可以从RAM中取指,执行代码了。 nand flash容量都很大,一般为128M~4G,它只有块地址,读写都必须按块进行。所以它适用于大容量存储。 寿命 norFlash:至少10万次 EEPROM 100万次 FRAM 写入寿命为10~100亿次以上,约等于无限寿命
2024年-1月-9日
140 阅读
3 评论
未分类
2024-1-8
防火墙UFW操作
查看状态: root@ubuntu:~# ufw status - 解决ufw与docker连接的问题 如果希望允许外部网络访问 Docker 容器提供的服务,比如有一个容器的服务端口是 80。那就可以用以下命令来允许外部网络访问这个服务: ufw route allow proto tcp from any to any port 80 ufw allow proto tcp from any to any port 80 - 删除: ufw delete allow from 172.18.0.0 查看规则--带序号 root@qddx-nqi:~/snap1/mindoc# ufw status numbered 状态: 激活 至 动作 来自 [ 1] 3389/tcp ALLOW IN Anywhere [ 2] 53/tcp ALLOW IN Anywhere [ 3] 443/tcp ALLOW IN Anywhere [ 4] 22/tcp ALLOW IN Anywhere [ 5] 9090 ALLOW IN Anywhere [ 6] 8181 ALLOW IN Anywhere [ 7] 8080 ALLOW IN Anywhere [ 8] 80/tcp ALLOW FWD Anywhere [ 9] 8181/tcp ALLOW FWD Anywhere [10] 3389/tcp (v6) ALLOW IN Anywhere (v6) [11] 53/tcp (v6) ALLOW IN Anywhere (v6) [12] 443/tcp (v6) ALLOW IN Anywhere (v6) [13] 22/tcp (v6) ALLOW IN Anywhere (v6) [14] 9090 (v6) ALLOW IN Anywhere (v6) [15] 8181 (v6) ALLOW IN Anywhere (v6) [16] 8080 (v6) ALLOW IN Anywhere (v6) [17] 80/tcp (v6) ALLOW FWD Anywhere (v6) [18] 8181/tcp (v6) ALLOW FWD Anywhere (v6) - 按序号删除 ufw delete 18 状态: 激活 至 动作 来自 3389/tcp ALLOW Anywhere 53/tcp ALLOW Anywhere 443/tcp ALLOW Anywhere 22/tcp ALLOW Anywhere 9090 ALLOW Anywhere 8181 ALLOW Anywhere 8080 ALLOW Anywhere 3308 ALLOW Anywhere Anywhere ALLOW 172.17.0.0 Anywhere ALLOW 172.18.0.1 3389/tcp (v6) ALLOW Anywhere (v6) 53/tcp (v6) ALLOW Anywhere (v6) 443/tcp (v6) ALLOW Anywhere (v6) 22/tcp (v6) ALLOW Anywhere (v6) 9090 (v6) ALLOW Anywhere (v6) 8181 (v6) ALLOW Anywhere (v6) 8080 (v6) ALLOW Anywhere (v6) 3308 (v6) ALLOW Anywhere (v6) 80/tcp ALLOW FWD Anywhere 8181/tcp ALLOW FWD Anywhere 3308/tcp ALLOW FWD Anywhere 3306/tcp ALLOW FWD Anywhere 80/tcp (v6) ALLOW FWD Anywhere (v6) 8181/tcp (v6) ALLOW FWD Anywhere (v6) 3308/tcp (v6) ALLOW FWD Anywhere (v6) 3306/tcp (v6) ALLOW FWD Anywhere (v6)
2024年-1月-8日
150 阅读
0 评论
Linux
2024-1-8
docker调试
docker 操作 - 查看运行的容器 docker ps - 运行docker-compose.yml文件 docker-compose up -d - 查看报错 docker logs xxxname - 查看配置 docker inspect - 进入容器: docker exec -it xxxname /bin/bash
2024年-1月-8日
141 阅读
0 评论
docker
置顶
元旦快乐
2024年-1月-3日
198 阅读
0 评论
生活
1
2
3