CAN
CANCAN(Controller Area Network)是一种用于实时数据通信的总线协议,最初由博世公司于1980年代开发,广泛应用于汽车电子系统、工业自动化、医疗设备和其他嵌入式系统。CAN协议具有高效、可靠和低成本等特点,尤其适合高噪声环境中的短消息通信。
一、CAN协议概述CAN是一种多主设备的串行通信总线,允许多个控制器或设备在同一总线上无冲突地发送和接收消息。每个设备都可以在任意时刻主动发起通信,而不需要中央控制器。CAN支持不同优先级的消息,通过仲裁机制来决定总线上不同设备的访问顺序。
1. 全局性与多主性:
所有连接在CAN总线上的节点共享一条通信总线,任何一个节点都可以发送和接收消息,具有去中心化的特性。
2. 消息优先级与仲裁机制:
每个消息都有一个唯一的标识符(ID),用于表示消息的优先级。当多个节点同时尝试发送数据时,CAN总线通过位级仲裁机制确保优先级最高的消息占用总线而不发生冲突。
3. 实时性与可靠性:
CAN非常适合需要实时数据传输的应用,因为它能够在节点繁忙的情况下,确保高优先级的消息得以传输。
二、CAN协议的技术特点
高抗干扰能力:
C ...
LoRa
LoRaLoRa(Long Range)是一种基于扩频调制技术的低功耗广域网(LPWAN)通信技术,专为长距离、低功耗的物联网(IoT)应用设计。LoRa主要用于需要低数据速率、长距离传输的应用场景,例如智能城市、农业监控、环境监测等。LoRa技术由Semtech公司开发,作为物理层的调制技术,LoRa通常与LoRaWAN协议一起使用,用于更高层的网络管理和通信控制。
一、LoRa的技术特点
长距离传输:
LoRa技术支持长距离通信,在视距条件下可以达到15公里甚至更远。在实际应用中,城市环境中的通信距离通常为2-5公里,农村或空旷地区可达10公里以上。
低功耗:
LoRa设备具有非常低的功耗,适合电池供电的物联网设备,典型的电池寿命可以长达数年。LoRa协议通过间歇性通信和低数据传输速率来降低设备能耗。
低数据速率:
LoRa传输的速率较低,通常在0.3kbps至50kbps之间。虽然速率低,但它足以应对大多数传感器数据、状态报告等物联网应用的需求。
抗干扰能力强:
LoRa使用扩频技术,通过在多个频率上散布信号增强抗干扰能力。即使在噪声较大的环境中,它也能保持稳 ...
MQTT
MQTTMQTT(Message Queuing Telemetry Transport)是一种轻量级的发布/订阅消息传输协议,设计用于低带宽、不稳定或高延迟的网络环境。它特别适合物联网(IoT)设备的通信。MQTT通过其简单的架构和低开销,使其在资源受限的设备之间进行消息传递成为理想选择。
一、MQTT的基本概念
发布/订阅模型:
发布者:向某个主题(Topic)发送消息的设备或应用程序。
订阅者:订阅某个主题以接收消息的设备或应用程序。
主题(Topic):消息的类别或通道。它是一种分层的路径结构,用于消息的分类和过滤。
消息代理(Broker):负责接收发布者的消息,并将它们发送给所有订阅该消息主题的订阅者。
这种模型解耦了消息发送者和接收者,发布者和订阅者并不直接通信,而是通过消息代理中介通信。
消息的质量等级(QoS):MQTT提供了三种消息传递的服务质量(QoS)等级,以确保消息的可靠传输:
QoS 0:消息发送时不保证到达,可能会丢失。称为“尽力而为”。
QoS 1:消息至少到达一次。消息可能会重复接收。
QoS 2:消息确保到达一次且仅到达一 ...
Modbus
ModbusModbus是一种用于工业自动化和监控系统的通信协议,最初由施耐德电气(Schneider Electric)在1979年开发。它是一种开放的协议,广泛应用于工业控制系统、可编程逻辑控制器(PLC)、人机界面(HMI)、仪表和传感器之间的通信。Modbus的设计简单且易于实现,特别适合在多种工业环境中进行数据交换。
一、Modbus协议的基本概念Modbus是一种主从(Master-Slave)通信协议,通常用于串行通信。它有三种常见的通信方式:Modbus RTU、Modbus ASCII 和 Modbus TCP。
Modbus RTU(Remote Terminal Unit):
这是最常见的Modbus通信方式,使用二进制编码的帧结构,数据紧凑,通信效率高。
通信介质一般为RS232、RS485或RS422。
帧结构:Modbus RTU使用CRC(循环冗余校验)进行错误检测,帧由设备地址、功能码、数据和校验码组成。
典型应用:PLC、变频器、传感器等设备之间的数据传输。
Modbus ASCII:
Modbus ASCII使用ASCII字符编码,相比RT ...
NB-IoT
NB-IoTNB-IoT(Narrowband Internet of Things,窄带物联网)是一种专为物联网(IoT)设计的低功耗广域网(LPWAN)通信技术。它基于蜂窝网络,提供广泛覆盖和低功耗的物联网连接,适用于各种低带宽、长待机时间的应用场景,如智能抄表、环境监测、资产追踪等。
一、NB-IoT的技术特点
低功耗(Low Power Consumption):
NB-IoT的功耗非常低,设备可以在电池供电的情况下持续工作数年。它通过周期性睡眠(PSM)和扩展不活动时间(eDRX)等节能机制,延长电池寿命。
广覆盖(Wide Coverage):
NB-IoT能够实现广域覆盖,支持深度室内或地下环境中的通信。其覆盖范围比传统蜂窝网络增强了20dB左右,可覆盖到更偏远的地区。
低成本(Low Cost):
NB-IoT模块的设计相对简单,不需要复杂的天线和功率放大器,因此硬件成本较低。此外,由于其通信频谱窄,运营商也能够以较低的成本部署。
大量连接(Massive Connectivity):
NB-IoT支持海量设备接入,能够在同一基站下支持数万个设备的连 ...
关于冯·诺依曼和哈佛体系架构
关于冯·诺依曼和哈佛体系架构 冯·诺依曼架构(Von Neumann architecture)和哈佛架构(Harvard architecture)是两种不同的计算机系统架构,它们在处理器如何访问存储器方面有着本质的区别。下面详细介绍这两种架构及其区别:
1. 冯·诺依曼架构
概念:冯·诺依曼架构由数学家约翰·冯·诺依曼在20世纪40年代提出。它是最早被广泛应用的计算机体系结构之一。
特点:
统一存储器:程序指令和数据存储在同一个内存空间中。代码和数据共享同一个地址空间和存储器。
单一总线系统:处理器通过同一条总线(即冯·诺依曼总线)来访问程序指令和数据。这意味着在一个时间点上,处理器只能访问一个字节或一个指令,要么是从内存读取指令,要么是访问数据。
顺序执行:程序指令按顺序存储在内存中,处理器按顺序从内存中读取指令并执行。
优点:
设计简单:因为程序和数据共享同一个存储器,架构相对简单。
存储器利用率高:只需要一个存储器模块,用于存储程序和数据。
缺点:
瓶颈问题:因为程序和数据共享一条总线,所以在执行过程中,指令获取和数据访问可能会相互干扰,导致“冯·诺依曼瓶颈”。这种 ...
Git工作流常用命令
配置基本用户信息:12git config --global user.name <你的用户名>git config --global user.email <你的邮箱地址>
创建一个新仓库:1git init
从远程服务器克隆一个仓库:1git clone <远程仓库URL>
显示当前工作目录下的文件提交状态:1git status
将指定文件Stage(放入暂存区):12git add <文件路径> //放入单个文件git add . //放入所有变化的文件
将指定文件Unstage(移出暂存区):1git reset <文件路径>
创建一个提交到本地仓库并提供提交信息:1git commit -m "提交说明信息"
显示提交历史:1git log
向远程仓库推送:1git push
从远程仓库拉取:1git pull
Google Browser GPU渲染配置
症状: 使用Google浏览器看视频和直播不定时卡顿,查询一番,原来Chrome 浏览器默认开启了“GPU 渲染”的特性,当开启了硬件加速选项之后,所有的 Web 网页内容都会使用显卡 GPU 来进行解析渲染
解决步骤:1.先将 Chrome 升级到最新的版本,并将硬件驱动/显卡驱动升级到最新版,打开 Chrome 谷歌浏览器,进入“设置 → 高级 → 系统”,将 使用硬件加速模式 的选项关闭掉,重启浏览器。如果设置后卡顿已有明显改善,那么就此搞定,不然继续第二步。
2.在地址栏上输入:chrome://flags/ 回车,在顶部搜索栏中搜索 gpu,列表中找到:“GPU rasterization”(GPU 渲染) 以及 “Accelerated 2D canvas”(2D 图形加速) 两项,将它们都设为Disabled禁用即可。点击右下角的ReLaunch重启浏览器。
wireshark抓包分析dns、http协议
一、实验目的 通过WireShark工具抓取数据包并分析,从而更深刻的理解TCP/IP网络从底层到顶层的一个封包过程,以及一些HTTP、DNS、POP3、SMTP等常见协议的通讯过程。并可以通过这些工具进行日常的网络诊断。
二、实验环境 Windows 10,wireshark
三、实验内容1、 WireShark软件的安装
2、 HTTP数据包的抓取,并分析其请求包和响应包的五元组信息
<流:源端口号、目的端口号、协议号、源IP、目的IP>
3、 DNS协议数据包的抓取,了解DNS协议的工程流程以及常见DNS资源记录的格式,学会使用nslookup来进行DNS查询,记录DNS请求包和响应包的信息
<流:源端口号、目的端口号、协议号、源IP、目的IP>
四、实验知识点、原理
HTTP数据包格式:
DNS数据包格式:
五、 实验步骤
安装wireshark抓包工具,选择当前使用网卡
先过滤http数据包,任意选择一个http数据包,左边会显示一组箭头,朝右的箭头表示请求数据包,朝左的箭头表示响应数据包,任选一组http数据包分析
对于dn ...
常用命令
测试三网回程:1curl https://raw.githubusercontent.com/zhanghanyun/backtrace/main/install.sh -sSf | sh
测试vps性能:12sudo -iwget -q0- --no-check-certificate https://raw.githubusercontent.com/oooldking/script/master/superbench.sh | bash
申请证书:12345678910111213#安装证书工具:curl https://get.acme.sh | sh; apt install socat -y || yum install socat -y; ~/.acme.sh/acme.sh --set-default-ca --server letsencrypt#三种方式任选其中一种,申请失败则更换方式#申请证书方式1: ~/.acme.sh/acme.sh --issue -d 199-195-253-12.nip.io --standalone -k ec-256 --fo ...