CRC快速添加
最近有对文件添加CRC的需要,简单写了一个python脚本处理 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455# -*- coding:utf-8 -*-import binasciiimport hashlibimport osimport sysimport shutildef crc2hex_LSB(crc): res='' for i in range(4): t=crc & 0xFF crc >>= 8 res='%s%02X' % (res, t) return reswhile True: while True: file = input("\n输入文件路径:") if (not os.path.isfile(file)): ...
S5P6818开发布置
WSL安装官方安装教程(很详细):https://docs.microsoft.com/zh-cn/windows/wsl/install-manual 管理员身份打开 PowerShell 1dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart 重启电脑后,选择发行版,点击获取并安装 https://docs.microsoft.com/zh-cn/windows/wsl/install-manual#step-6---install-your-linux-distribution-of-choice WSL 1安装完毕 建议安装 WSL1 版本即可,无需升级到版本 2 WSL1 与 WSL2 区别:https://docs.microsoft.com/zh-cn/windows/wsl/compare-versions 其他命令WSL 版本查询 1wsl --list --verbose 缩写: 1wsl -l -v ...
uni-app微信小程序MQTT未知原因的坑
前言MQTT.js npm包安装 1npm install mqtt --save 版本 4.2.8 导入方式 1import mqtt from "mqtt" 1234567891011// #ifdef H5 this.hosts = 'wss://' + this.basehost + ':8084/mqtt'// #endif// #ifdef MP-WEIXIN this.hosts = 'wxs://' + this.basehost + ':8084/mqtt'//#endif// #ifdef APP-PLUS this.hosts = 'wx://' + this.basehost + ':8083/mqtt'//#endif 遇到的问题uni-app 导入此包后微信小程序并不能正常连接服务器,但 H5 正常。 调试 翻看 EMQX 文档 时无意发现,微信小程序接入需要使用 TLS/443 端 ...
MQTT 系列(六)MQTT报文
本文 MQTT 报文适用于 v3.1.1 和 v5.0 版本,请注意版本 MQTT 报文结构固定报头 Fix Header + 可变报头 Variable Header + 有效载荷 Playload Fix HeaderFix Header 指每一种 MQTT 报文类型都必包含的报头,最小值为 2 字节(Byte),最大值为 5 字节(Byte)。目前 MQTT(v5.0)有13 种报文,reserved:该数值未有对应报文类型,暂时保留。 Byte 1 Bit 7-4 记录该报文类型,对应上图的值。 Remaining LengthRemaining Length 存储可变报头+有效负载的内容大小,不包括存储长度的 Byte!(可变报头/有效负载中有些 Byte 用于存储内容长度) Remaining Length 长度为 1-4 Byte,根据内容大小变化。Bit 0-6 用于保存长度,Bit 7 (最高位)作为标志位,值为 1 时值未结束,需要在下一 Byte 继续读取。Byte 5 Bit 7 不能为 1,因为最大为 4 Byte,发送错误 ...
青年大学习全自动签到
前言QNDXX 一周一次,每周一凌晨一点后刷新,周日下午六点截止。但是每到周一就开始催观看以及发截图,一直催到最后一天,十分让人反感。开始自动签到,拒绝焦虑,拒绝被@,每周一自动打卡,不用再为打卡而烦恼。 抓包与分析微信通过 青年之声 公众号进入到团员主页,点击 开始学习 将链接发送到电脑端发现没有提示未登录,可以正常点击按钮以及观看视频 观察链接地址,发现只传入了一个 sign 参数,将此参数删除提示未登录(无痕浏览) 初步判断页面根据 sign 值判断账号 1https://youthstudy.12355.net/h5/#/?sign=xxx%xxxx%xxx 抓包工具使用的是 Fiddler ,此页面中找到一个有效的数据包,先记录保存 12345678910111213141516POST https://youthstudy.12355.net/apih5/api/user/get HTTP/1.1Host: youthstudy.12355.netUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; ...
MQTT 系列(五)MQTT库
前言为使得大家能够快速开发应用,不少组织或个人都编写了优秀的 MQTT 库供大家使用,使用这些库你无需从 MQTT 协议底层入手,你只需要关注应用。 MQTT 库列表,在这个列表中你基本能找到主流编程语言的 MQTT 库。关于库的下载,你可以在此 找到你的编程语言然后点击你需要的库,跳转到库的网站。当你掌握一种库的使用,在不同的编程语言上使用方法大致相同。所以下面我推荐 Eclipse Paho 的库,原因是它涵盖了 JAVA、Python、JS、C、C++… Eclipse PahoEclipse Paho 是 Eclipse 的一个 MQTT 开源客户端库项目 ,目前(1.4)支持的编程语言以及对应的功能如下图 ![Eclipse Paho对比图](MQTT(五)/Eclipse Paho对比图.png) 支持得比较好的暂时有 Java、C 和 C++,但是对于嵌入式来说一般用不上全部功能,或受限于内存,可能需要对库文件进行精简或选择其他精简的满足需求的库。 留意途中最后一行,Eclipse Paho 提供了适用于嵌入式的精简库 每一种语言 Eclipse Paho ...
MQTT 系列(四)MQTT v5.0 新特性
MQTT 系列(四)MQTT v5.0 新特性为什么MQTT v3、v3.1.1 之后变成 v5.0,而没有 v4 ?MQTT 协议数据包的固定头中含协议版本,协议版本只占一个字节位置。在v3.1.1版本中就使用了 ‘4’ 这个值,所以为了这个值与版本名称的同步,此版本 MQTT 命名为 v5.0,使用值 ‘5’ 表示此版本。 Clean StartMQTT v3.1.1 Clean Session VS MQTT v5.0 Clean Start Clean Start 与 Clean Session 一样是一个标志。Clean Start 为 1 时,客户端和服务端必须丢弃任何已存在的会话,并开始一个新的会话,与 Clean Session 类似。Clean Start 为 0 时,并且存在一个关联此客户端标识符的会话,服务端必须基于此会话的状态恢复与客户端的通信。如果不存在任何关联此客户端标识符的会话,服务端必须创建一个新的会话。 Clean Start 简化了会话处理,比 Clean Session 更容易实现。除非会话过期时间为 0 ,否则所有会话仍是持续的。会话 ...
MQTT 系列(三)使用EMQ搭建自己的MQTT服务
EMQ X Broker EMQ X Broker 是 EMQ 系列产品的开源物联网 MQTT 消息件(MQTT Broker),基于高并发的 Erlang/OTP 语言开发,支持百万级连接和分布式集群架构,支持多平台使用。我们将消息发送到服务器时,MQTT Broker 帮助我们对消息进行鉴权、过滤、存储等操作,并能根据数据反馈相关消息给终端设备。 ![MQTT Broker 图](MQTT(三)/MQTT Broker 图.png) Ubuntu 下安装演示安装过程完全参考官方文档,为保证安装成功请查看最新的 官方文档 进行安装,这里只做演示,建议 [跳过安装教程](#EMQ X Dashboard) 。 演示环境如下 WSL Ubuntu 20.04.2 LTS 安装依赖包 123456sudo apt update && sudo apt install -y \ apt-transport-https \ ca-certificates \ curl \ gnupg-agent \ software-properti ...