首页
关于
README
Search
1
如何配置终端现代化Neovim
629 阅读
2
mdk3工具使用
463 阅读
3
关于C语言
463 阅读
4
Windows11pro 下载体验
445 阅读
5
关于Docker容器--0×01
375 阅读
默认分类
网络技术
渗透测试
编程语言
C语言
Python
Linux
搞机技巧
Termux
golang
数学
Search
标签搜索
printf
mach
sin cos tan
Toanle
累计撰写
40
篇文章
累计收到
1
条评论
首页
栏目
默认分类
网络技术
渗透测试
编程语言
C语言
Python
Linux
搞机技巧
Termux
golang
数学
页面
关于
README
搜索到
9
篇与
默认分类
的结果
2024-11-17
Linux Ubuntu 系统在开机后自动启动
方法:使用 Systemd 创建服务文件创建服务文件 打开终端,创建一个新的 frpc 服务文件:sudo nano /etc/systemd/system/frpc.service编辑服务文件 在文件中输入以下内容,并根据你的实际路径进行修改:[Unit] Description=FRP Client Service After=network.target [Service] Type=simple ExecStart=/home/kevim/frp/frpc -c /home/kevim/frp/frpc.toml Restart=on-failure User=kevim [Install] WantedBy=multi-user.target保存并退出(按 Ctrl+O,回车,按 Ctrl+X 退出)。设置服务文件权限 确保服务文件权限正确:sudo chmod 644 /etc/systemd/system/frpc.service测试服务文件 重新加载 Systemd 配置,启动服务并检查状态:sudo systemctl daemon-reload sudo systemctl start frpc.service sudo systemctl status frpc.service如果服务启动正常,状态应显示为 active (running)。设置开机自启 启用服务的开机自启功能:sudo systemctl enable frpc.service验证开机启动 通过重启系统来验证服务是否正常启动:sudo reboot其他注意事项确保 /home/kevim/frp/frpc 文件具有可执行权限:chmod +x /home/kevim/frp/frpc确认 frpc.toml 文件的配置正确。如果需要查看 frpc 的运行日志,可以使用以下命令:journalctl -u frpc.service完成以上步骤后,frpc 应该会在系统启动时自动运行。
2024年11月17日
5 阅读
0 评论
0 点赞
2024-11-15
mysql命令行设置密码
在最新版本中:SET PASSWORD FOR root = 'elephant7'
2024年11月15日
6 阅读
0 评论
0 点赞
2024-06-05
Ubuntu修改时区和更新时间
1.先查看当前系统时间root@ubuntu:/# date -R 查看时间是否正确2.运行tzselectroot@ubuntu:/# tzselect在这里我们选择亚洲 Asia,确认之后选择中国(China),最后选择北京(Beijing)3.复制文件到/etc目录下root@ubuntu:/# cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime4.再次查看时间date -R,已经修改为北京时间
2024年06月05日
102 阅读
0 评论
0 点赞
2023-06-19
在Linux上使用I2c
什么是I2c? 在“Inter-Integrated Circuit” 中,“Inter-” 表示“在……之间,相互”的意思;“Integrated Circuit” 简称“IC”,表示“集成电路”的意思。 “Inter-Integrated Circuit”,直接翻译过来就是内部集成电路(DeepL翻译为互联电路,微软翻译为内部集成电路,百度翻译为内置集成电路)。德力威尔王术平认为,应该把“Inter-Integrated Circuit”翻译为集成电路互连或者芯片互连,更符合国人习惯,更为贴切。在中国正式的书面场合,全称写作Inter-Integrated Circuit,简写Inter-IC或者I2C(数字“2”书写为上标,,英文读作“I squared C”,中文读作“I平方C”)。在非正式场合或者数字“2”无法书写为上标时,有人就书写为“IIC”或者“I2C”,把“IIC”读作“I-I-C”,把“I2C”读作“I-two-C”或“I二C”。这些书写方式或叫法,其实没有对错,只是不同习惯而已,就像普通话和地方话一样。但是,我们在严谨的正式场合,还是要统一标准,规范书写为“I2C”(数字“2”书写为上标),规范读作“I平方C”。在本文中,德力威尔王术平对相关术语的中文解释做出如下约定:I2C:读作“I平方C”(尽量不读作“I方C”,避免和I3C混淆)。I2C:集成电路互连。I2C Bus:I2C总线或集成电路互连总线。I2C Specification:I2C规范或集成电路互连规范。I2C Communication Interface:I2C通信接口或集成电路互连通信接口。I2C Communication Protocol:I2C通信协议或集成电路互连通信协议。I2C:在无法书写上标数字“2”时,可书写为“IIC”或“I2C”。计算机中Bus术语的定义在计算体系结构中, 总线(Bus)是计算机内部组件之间或计算机之间传送信息的公共通信干线,它是由导线组成的传输路径。总线(Bus)是一种电路,它是cpu、RAM、ROM、输入、输出等设备传递信息的公用通道,充当数据在计算机内传输的高速公路按照计算机所传输的信息种类,计算机的总线可以划分为数据总线、地址总线和控制总线,分别用来传输数据信息、地址信息和控制信号。首先,我们需要安装工具包。sudo apt install i2c-toolsi2c-tools是一个用于 Linux 与 软件/硬件 I2C 总线通信的实用工具集,其中包括了查看和修改 I2C 总线设备信息的工具。以下是一些常见的使用示例:列出I2C总线上的设备:sudo i2cdetect -y 1这将会显示以16进制格式列出I2C总线地址范围内所有已经探测到的设备。其中,第一个参数-y表示以非交互模式运行,第二个参数1表示使用1号I2C总线(对于一些系统可能是2号I2C总线)。这个命令可以帮助我们快速看到哪些设备设备与I2C总线通信连接,以及它们的I2C地址。读写设备寄存器:sudo i2cget -y 1 0x48 0x00这个命令表示从I2C地址为0x48的设备中读取寄存器地址为0x00的寄存器的值。如果想要写入一个新的值,我们可以用i2cset命令,例 如:sudo i2cset -y 1 0x48 0x00 0x10这个命令表示往I2C地址为0x48的设备中写入寄存器地址为0x00的寄存器的值为0x10。使用i2cdump命令读取设备的寄存器:sudo i2cdump -y 1 0x48如果我们想要快速查看一个设备的所有寄存器的值,我们可以使用i2cdump命令。这个命令表示从I2C地址为0x48的设备中读取所有的寄存器的值(通常有16个)。编写自定义的I2C工具:除了常用的i2cget和i2cset命令之外,我们还可以使用i2c-tools提供的APIs创建自定义的I2C工具。例如,下面是一个简单的C程序,通 过I2C通信从 EEPROM (I2C地址为0x57) 中读取两个字节的数据:#include <fcntl.h> #include <unistd.h> #include <linux/i2c-dev.h> // for I2C_SLAVE macro #include <stdio.h> #include <stdlib.h> int main(int argc, char** argv){ int fd; if ((fd = open("/dev/i2c-1", O_RDWR)) < 0){ // open I2C bus perror("open"); exit(1); } if (ioctl(fd, I2C_SLAVE, 0x57) < 0){ // select EEPROM device perror("ioctl"); exit(1); } char buffer[2]; int ret; if ((ret = read(fd, buffer, 2)) != 2){ // read 2 bytes from memory address 0x00 perror("read"); exit(1); } printf("Read: %#02x %#02x\n", buffer[0], buffer[1]); close(fd); return 0; }以上就是i2c-tools常用的几个使用示例,我们可以根据自己的需求修改。package main import ( "fmt" "log" "time" "golang.org/x/exp/io/i2c" ) func main() { // 打开I2C总线 bus, err := i2c.Open(&i2c.Devfs{Dev: "/dev/i2c-1"}, 0x57) if err != nil { log.Fatal(err) } defer bus.Close() // 模拟I2C设备地址为0x00,读取2字节数据 buffer := make([]byte, 2) if err := bus.ReadRegBytes(0x00, buffer); err != nil { log.Fatal(err) } fmt.Printf("Read: %#02x %#02x\n", buffer[0], buffer[1]) time.Sleep(time.Second) }这个程序使用了golang.org/x/exp/io/i2c包来打开I2C总线并创建I2C设备。我们可以通过调整0x57参数来改变设备的I2C地址。代码中的ReadRegBytes()方法可以使我们直接从指定设备的指定寄存器中读取数据。这个程序会读取从0x00寄存器中读取2字节的数据并在控制台 中输出。最后,代码中的time.Sleep()函数用于防止Go程序在数据读取完成后立刻退出。
2023年06月19日
67 阅读
0 评论
0 点赞
2023-02-12
Linux在命令行下拍照和录像
需要准备如下软件安装:1.sudo apt install fswebcam2.sudo apt install ffmpegffmpegffmpeg -t 20 -s 1920x1080 -r 25 -b:v 1500K -c:v libx264 -i /dev/video0 out.avi设定参数:-t 10 录制10秒:-s 1920x1080 设定分辨率-r 30 设定帧率-b:v 设定视频比特率-b:a 设定视频比特率-c:v libx264 设定视频编码器【等效 -vcodec libx264】-f video4linux2是指定框架-i 摄像头的设备节点ffmpeg -f video4linux2 -s 1280x720 -i /dev/vide--no-bannero0 test.mp4ffmpeg -codecs 可以显示ffmpeg所支持编码格式ffmpeg -f alsa -ac 2 -ar 44100 -i default out.wav参数介绍:-i 指定声卡设备名称。这里default表示选择默认声卡。out.wav 捕获的音频数据保存的文件名称-f 是指定音频驱动类型。alsa是linux下音频驱动框架。oss是另外一种音频框架。-ar <freq> 设置音频采样率,以HZ为单位-ac <channels> 设置音频通道数(单声道、双声道)(2)# ffmpeg -f alsa -ac 1 -ar 44100 -i default -t 30 out.wav参数介绍:-t 30 表示录制30秒就自动停止(3)# ffmpeg -f alsa -ac 1 -ar 16000 -i hw:0 -t 10 out.wav参数介绍:这里的hw:0 也表示选择默认的声卡设备录音。 arecord -L (列出声卡设备数量) 使用arecord -L命令列出了声卡名字之后,就可以选择指定声卡录制声音,其中front:CARD=,DEV=0 ,就是声卡的名字。# ffmpeg --help音频选项:-aframes number 设置要输出的音频帧数 -aq quality 设置音频质量(特定于编解码器) -ar rate 设置音频采样率(以Hz为单位) -ac channel 设置音频通道数 -an 禁用音频 -acodec codec 强制音频编解码器复制到流 -vol volume 更改音频音量(256=正常) -af filter_graph 设置音频过滤器 fswebcamfswebcam -d /dev/video0 -S 10 --no-banner -r 1920x1080./test.jpg设定参数:-r 设定分辨率-S 有的时候用fswebcam拍照的时候会出现黑屏,-S 10 可以改善这种现象(默认为0)--no-banner 不显示其他无用信息
2023年02月12日
89 阅读
0 评论
0 点赞
1
2