- 博客(50)
- 收藏
- 关注
原创 Linux GPIO 应用编程
嵌入式Linux应用开发中,系统经常会通过GPIO接入按键、各种感应开关等传感器,或控制电源开关、继电器等设备。本文说明应用层如何使用GPIO,包括使用sysfs方式和使用API方式。
2023-12-16 13:27:16
1145
原创 解决SecureCRT中make menuconfig界面乱码问题
使用SecureCRT通过SSH连接到服务器,执行kernel或buildroot等编译系统的make menuconfig命令后出现类似下图的乱码界面:网上查到的方法都没能解决问题,经过多次尝试,可以使用以下配置解决:使用linux类型终端配合vt100字体:
2023-03-10 13:58:26
661
原创 [log]Apt(Ubuntu)指定某个软件的首选安装源
使用apt安装软件时,可能某个软件存在于多个源中,此时官方源有更高的优先级,要想固定从某个非官方源安装,可以参考以下方式指定首选安装源
2023-01-30 10:20:12
1993
原创 Let’s Encrypt SSL 证书的申请与使用
Let’s Encrypt 是免费、开放和自动化的证书颁发机构。SSL应用开发者可以免费从 Let’s Encrypt 申请到有效期90天的SSL证书,当然在到期之前也可以更新证书,延长有效期。Let’s Encrypt 支持 ACME 协议,可以自动化的完成SSL证书的申请、更新、吊销等操作。
2023-01-26 00:03:45
4719
1
原创 Ubuntu 20.04 下 部署 SoftEther
本文介绍了 SoftEther VPN 的特点,进一步说明常用的配置命令与简单的部署方法,以及使用中的常见问题,例如无法访问VPN Server本地服务器等。
2023-01-25 11:48:36
9959
原创 screen命令简要说明
screen命令虚拟了一个终端(session),可在终端内运行命令,多次运行screen命令可以虚拟多个不同的终端;每个session可以开启多个窗口,每个窗口有自己的shell,可以在不同的窗口中同时运行多个命令,每个命令都相当于在前台运行,可以与用户交互;
2022-12-28 14:58:27
1825
原创 ROS node命令行参数详解
有三种起作用的ROS参数,他们都以name:=value方式给出ROS内部定义的参数,以"__"开头:__hostname: 本节点所在主机的主机名__ip: 本节点所在主机的IP__tcpros_server_port: 本节点通信端口__name: 节点名__ns: 节点名字空间__log: 日志文件用户定义的节点参数,以"_“开头,不以”__"开头,这些参数被放到参数服务器的节点名字空间下其他名字映射,将一个绝对或相对的名字映射为另外一个绝对或相对的名字。
2022-12-22 14:22:02
1187
原创 [笔记][vscode]调试配置
vscode在工作空间的.vscode目录下launch.json文件中做debug配置,c++的debug配置大致如下,详细内容参考。
2022-11-09 09:06:30
1114
原创 [笔记][socket]特殊监听地址
注意:在windows上,监听::的同时也会监听0.0.0.0;Linux系统待测试。*注:监听::1并不会导致同时监听127.0.0.1,需要单独处理。
2022-11-09 08:33:27
507
原创 kubernetes学习笔记
参考 Cloudman 老师的《每天5分钟玩转Kubernetes》,结合当前 Kubernetes 最新版本1.25.3进行实践,由于版本变化,一些命令也有相应的变化。
2022-10-27 20:50:17
1308
原创 C++ lambda 表达式 原理与应用
C++对lambda表达式的支持是从C++11版本开始,后续版本又有一些增强,本文仅根据C++11标准讨论lambda表达式的原理和应用。
2022-09-21 19:11:24
1116
翻译 Samba配置文件详解
smb.conf 文件是 Samba 套件的配置文件。smb.conf 包含 Samba 程序的运行时配置信息。此处包含文件格式和可能参数的完整描述以供参考。
2022-09-01 12:42:45
8177
原创 OpenSSL中的EVP接口
索引摘要算法(Digest)获取EVP_MDDigest API例子对称加密(Cipher)获取EVP_CIPHERCipher API上下文管理Encrypt APIDecrypt API加解密统一API其他设置例子非对称加密密钥管理公钥算法上下文 EVP_PKEY_CTX生成密钥密钥参数打印密钥的提取和指定密钥的保存和读取使用OSSL_ENCODER和OSSL_DECODER使用EVP_PKEY_todata和EVP_PKEY_fromdata检测私钥是否正确加解密签名和验签摘要算法(Digest)
2022-02-07 00:20:28
5339
原创 OpenSSL之ssl库
sslOpenSSL的SSL/TLS库,实现了SSL(Secur)/TLS(Transport Layer Security)/DTLS(Datagram Transport Layer Security)协议的多个版本。SSL_CTX对象包含证书、算法等信息,用于建立TLS/SSL连接。网络连接建立后可以赋值给SSL对象,然后可以使用SSL对象完成握手操作(SSL_accept或SSL_connect或SSL_do_handshake),握手完成后就可以读写了。关闭网络连接前先调用SSL_shutd
2022-02-06 17:51:43
5312
原创 OpenSSL常用函数分类索引
OpenSSL常用函数分类索引内存管理OPENSSL_malloc(), OPENSSL_realloc(), and OPENSSL_free()OPENSSL_zalloc()OPENSSL_clear_realloc() and OPENSSL_clear_free()OPENSSL_cleanse()OPENSSL_strdup(), OPENSSL_strndup() and OPENSSL_memdup()OPENSSL_strlcpy(), OPENSSL_strlcat()
2022-02-04 17:56:06
2277
2
原创 Qpid C++ 与 Java 互通 注意事项
Qpid C++ 与 Java 互通 注意事项Qpid 对Broker和Client API(以下简称Client)分别提供了C++和Java版本,由于C++和Java版本是独立实现的,存在一些差异,所以互通时也有一些注意事项。先来看看有哪些差异:实现的AMQP版本差异C++的Broker和Client实现了AMQP 0-10和1.0版本Java的Broker和Client实现了AMQP 0-8,0-9,0-10和1.0版本程序结构差异Java Broker下可以有多个Virtu
2021-12-26 23:40:18
611
翻译 Apache Qpid Broker-J 第4章 概念
本文是Qpid的Java Broker官方文档 第4章 概念部分的翻译,说明了Qpid中重要的概念和处理逻辑
2021-12-24 22:47:48
625
原创 Qpid中的一些术语
1. acknowledge, release, rejectacknowledge 确认,收到并争取处理了消息release 释放,将消息放回队列reject 拒绝,丢弃消息2. cluster, federationcluster 高可用性(HA)集群,主备方式( active-passive)工作,热备(hot-standby),同时只有一个主( primary)broker工作,为客户端提供服务,其他备用(backup)broker会主动拒绝连接请求,以确保只有primary bro
2021-12-21 22:30:04
649
原创 Qpid C++ Broker 安装
本文说明Qpid C++ Broker在Ubuntu 18.04系统下的安装过程1. 系统环境硬件平台:x86_64,CPU和内存数量没有硬性要求,我测试的虚拟机配置时1CPU2Core,4G RAM操作系统:Ubuntu Desktop 18.04.3 Minimal安装2. 安装版本Qpid Proton: qpid-proton-0.36.0.tar.gzQpid C++: qpid-cpp-1.39.0.tar.gzQpid Python: qpid-python-1.37.0
2021-12-20 23:08:57
1588
1
原创 阿里云ubuntu系统开启ssh用户名密码登录
出于安全考虑,创建云服务器时因为初始是root用户登录,通常我们选择用密钥方式登录;服务器使用过程中一般会创建普通用户而不直接使用root用户,每个用户都使用密钥方式比较麻烦,特别是在不常用的终端登录时,所以通常还是使用用户名密码方式登录,但阿里云的Ubuntu系统默认禁止了ssh用户名密码登录,需要修改ssh服务端配置,方法如下:编辑/etc/ssh/sshd_config:vi /etc/ssh/sshd_config将PasswordAuthentication no修改为Passwo
2021-12-06 13:43:00
3072
原创 NanoPi M4 Linux开启SPI
NanoPi M4 Linux开启SPI我使用的是NanoPi M4V2版本的硬件,从硬件和内核配置上看,对NanoPi M4同样适用。NanoPi M4/M4V2硬件上支持SPI接口,其通过40PIN GPIO接口引出的是SPI1接口,从PIN脚定义上看,SPI1和UART4复用了收发PIN,而官方提供的Linux系统设备树使能的是UART4(对应设备/dev/ttyS4)而不是SPI1,要使用SPI接口,需要修改设备树配置,禁用UART4,启用SPI1。搭建编译环境参考官方文档:http://
2021-11-17 13:27:24
1144
1
原创 NTRIP相关术语
NTRIP系统结构# 词汇表缩写说明CROSContinuously Operating Reference StationsNTRIPNetworked Transport of RTCM via Internet Protocol,是CORS系统的通讯协议之一NtripSource用来产生GPS差分数据,并把差分数据提交给NtripServerNtripServer负责把GPS差分数据提交给NtripCasterNtripCaster差分数据中心
2021-10-20 11:34:53
194
原创 Linux I2C 应用编程
Linux I2C 应用编程设备文件/dev/i2c-xx是I2C总线号,即一组SCL和SDA,一条总线上可以挂接多个I2C设备,通信时以设备地址区分,不体现在系统设备文件上。对于树莓派,启用I2C功能后,有一条总线,即一个设备:/dev/i2c-1i2c-0被eeprom占用未导出树莓派I2C相关PIN定义参考https://pinout.xyz/pinout/i2c#用户空间设备操作ioctl相关头文件 #include <linux/i2c-dev.h> #inclu
2021-10-10 21:39:40
1731
原创 Linux SPI 应用编程
Linux SPI 应用编程设备文件/dev/spidevx.yx是SPI总线号,即一组SCLK、MOSI、MISOy是SPI设备号,同一条总线上用不同的片选信号区分:CE0、CE1等对于树莓派,启用SPI功能后,有一条总线,两个设备:/dev/spidev0.0/dev/spidev0.1树莓派上还可以通过dtoverlay使能第二条SPI总线,支持三个设备:在config.txt中加入dtoverlay=spi1-3cs树莓派SPI相关PIN定义参考https://pinout.x
2021-09-28 23:56:45
12082
2
原创 使用buildroot构建树莓派4 Linux系统
使用buildroot构建树莓派4 Linux系统host配置使用虚拟机作为编译主机虚拟化软件:VMware 15.5虚拟网络:NAT虚拟硬盘:默认配置20GCPU/RAM:2x2/8G操作系统:Ubuntu 16.04 Desktop安装操作系统后配置国内镜像源加速软件安装安装open-vm-tools-desktop以上都是常规操作,并不需要额外做更多的安装和配置获取buildroot可以下载源码包也可以使用git获取源代码,这里使用gitgit clone git://g
2021-09-02 15:22:53
1261
1
原创 ESP32编程中stat返回的文件属性st_mode
esp-idf中的vfs文件属性定义:参考components/newlib/include/sys/stat.h#define _IFMT 0170000 /* type of file */#define _IFDIR 0040000 /* directory */#define _IFCHR 0020000 /* character special */#define _IFBLK 0060000 /* block special */#defin
2021-01-16 13:12:10
410
原创 openvino INT8 FP16 FP32 数据类型性能对比
先说结论:在CPU上,INT8略快;在GPU上,FP16最快。测试环境:intel core i5 8500应用:human_pose_estimation_demo模型:human-pose-estimation-0001数据:MOT16/test/MOT16-06耗时(ms)CPUGPUFP16-INT8124559179275FP1612878881001.2FP32127422103820日志:root@openpose:/openpo
2020-09-30 17:29:46
3943
原创 ubuntu 16.04 安装 gRPC for C++
gRPC没有提供C++版本的ubuntu 16.04 预编译包,所以需要通过源码自行编译安装。官方git库地址:https://github.com/grpc/grpc由于github上部分较大的库下载很慢,所以我把所有相关的库镜像到国内的gitee上了,地址:https://gitee.com/zch-grpc/grpc下载代码:git clone https://gitee.com/zch-grpc/grpc.gitcd grpc选择要编译的版本,我选择的版本是v1.32.0gi
2020-09-24 16:02:16
1550
1
原创 linux下解压zip文件时中文名乱码的解决办法
在linux下解压在windows下压缩的zip文件时,如果压缩包中的文件名或目录名包含中文,这些就会乱码,晚上很多人说用7zip配合convmv解决,我用Ubuntu 16.04,解压时报错,无法解决。查阅更多文章,发现用unzip -O CP936 xxx.zip可以解决。CP936不便于记忆,经过实验,可以用GBK代替,方便记忆:unzip -O GBK xxx.zip参考:https://www.zhihu.com/question/20523036...
2020-06-04 11:56:08
4243
1
原创 vi常用命令
光标移动上下左右移动一个字符/一行:k, j, h, l上下左右移动#个字符/#行(#代表一个数字):#k, #j, #h, #l上下翻页:CTRL+b, CTRL+f上下翻半页:CTRL+u, CTRL+d移动到文档开始/结束:gg, G移动到上一个/下一个单词开始:b, w移动到上一个/下一个单词结束:, e移动到行首/行尾:^, $编辑命令插入删除查找替换大小写...
2020-05-06 23:26:19
133
原创 git基础
开始使用git从本地开始mkdir p1cd p1git init从服务器开始git clone git使用基本步骤添加文件touch a.txtecho "first line" >>a.txtgit statusgit diffgit add a.txtgit statusgit reset a.txtgit statusgit add a.t...
2020-04-03 10:00:33
126
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人