什么是M1卡?
MifareClassic1K卡简称M1卡,属于非接触式射频卡,而与射频卡进行通讯的技术,叫做近场通讯技术,简称NFC。Mifareclassic1K卡,普通IC卡,0扇区不可修改,其他扇区可以反复擦写,通常使用的门禁卡、电梯卡都是M1卡。
什么是M1卡?
MifareClassic1K卡简称M1卡,属于非接触式射频卡,而与射频卡进行通讯的技术,叫做近场通讯技术,简称NFC。Mifareclassic1K卡,普通IC卡,0扇区不可修改,其他扇区可以反复擦写,通常使用的门禁卡、电梯卡都是M1卡。
数据库密码
/usr/local/directadmin/conf/mysql.conf
CSF防火墙
如何在 CentOS 8 上安装和配置服务器防火墙 (CSF)?
编辑配置文件 vi /etc/csf/csf.conf 重启CSF防火墙 csf -r
Redis
编辑配置文件 vi /etc/redis.conf 使用配置文件启动 redis redis-server /etc/redis.conf &
项目地址:https://github.com/isilent-me/MQTT
参考项目:https://github.com/brandonbai/mqtt-spring-boot
订阅
mosquitto_sub -h localhost -t "test/#" -u hanmeimei -P 123456 -i "client1"
发布
mosquitto_pub -h localhost -t "test/abc" -u lilei -P 123456 -i "client3" -m "How are you?"
MQTT的定义相信很多人都能讲的头头是道,本文章也不讨论什么高大上的东西,旨在用最简单直观的方式让每一位刚接触的同行们可以最快的应用起来
先从使用MQTT需要什么开始分析:
根据上面列举的这三点,我们大概可以了解到, MQTT最适合的场景是消息做为系统的重要组成部分,且参与着系统关键业务逻辑的情形
既然决定使用它,我们首先要研究的是如何让MQTT正常工作,毕竟它不是简单的在maven里加入个依赖就完事的
我们总共需要干如下两件事:
<dependency> <groupId>org.springframework.integration</groupId> <artifactId>spring-integration-mqtt</artifactId> <version>5.3.2.RELEASE</version> </dependency>
完成上面两步后, 启动EMQX服务器, 正式进入我们的MQTT旅途
在Spring Boot中使用MQTT的代码, 笔者总结了如下两种方式:
第一种会产生一定程度的心智负担,但在笔者成功搭配(抄袭+造轮子)自动注册后, 比后者要方便许多
在介绍具体代码之前, 我们先简单整理下使用中最常见的概念:
其实, MQTT的使用流程就是: 生产者给主题发消息->broker进行消息的传递->订阅该主题的消费者拿到消息并进行相应的业务逻辑
公司业务需要,用到modbus协议,本质上很简单,只是第一次接触,被这些词语搞得云里雾里的。这里整理一下,方便以后查询:
0x01: 读线圈寄存器
0x02: 读离散输入寄存器
0x03: 读保持寄存器
0x04: 读输入寄存器
0x05: 写单个线圈寄存器
0x06: 写单个保持寄存器
0x0f: 写多个线圈寄存器
0x10: 写多个保持寄存器
如上所示一共8种功能码。这其中有涉及到线圈、离散输入、保持、输入四种寄存器。
线圈寄存器:实际上就可以类比为开关量(继电器状态),每一个bit对应一个信号的开关状态。所以一个byte就可以同时控制8路的信号。比如控制外部8路io的高低。 线圈寄存器支持读也支持写,写在功能码里面又分为写单个线圈寄存器和写多个线圈寄存器。对应上面的功能码也就是:0x01 0x05 0x0f
离散输入寄存器:如果线圈寄存器理解了这个自然也明白了。离散输入寄存器就相当于线圈寄存器的只读模式,他也是每个bit表示一个开关量,而他的开关量只能读取输入的开关信号,是不能够写的。比如我读取外部按键的按下还是松开。所以功能码也简单就一个读的 0x02
保持寄存器:这个寄存器的单位不再是bit而是两个byte,也就是可以存放具体的数据量的,并且是可读写的。一般对应参数设置,比如我我设置时间年月日,不但可以写也可以读出来现在的时间。写也分为单个写和多个写,所以功能码有对应的三个:0x03 0x06 0x10
输入寄存器:这个和保持寄存器类似,但是也是只支持读而不能写,一般是读取各种实时数据。一个寄存器也是占据两个byte的空间。类比我我通过读取输入寄存器获取现在的AD采集值。对应的功能码也就一个 0x04
1.启动root模式
adb root
2.重新挂载文件系统
adb remount
3.拷贝文件
adb pull /system/build.prop
1.修改硬件屏幕方向
ro.sf.hwrotation=0
2.修改屏幕分辨率
persist.sys.framebuffer.main=1920×1080
3.隐藏虚拟按键
qemu.hw.mainkeys=1
1.覆盖文件
adb push build.prop /system
参考链接: