天泉证道

世事洞穿而寡言,名利看淡而重学

  • 博客(356)
  • 资源 (1)
  • 收藏
  • 关注

原创 mingw64怎么写make(已实现)

一个linux程序员心血来潮,因为工作原因,又玩window下的linux编程。1,怎么安装离线版本的mingw(即mingw64,在线版本的习惯被叫做mingw.org),这么不详细说,自行搜索。2,我先个测试小例子。3,我的makefile,这个makefile的写法还和linux上的不同,有点像goto语句,函数。4,make编译,执行。...

2020-08-26 22:38:17 2520

原创 (mqtt学习6)python实现遗嘱,拔网线之后,可以发出遗嘱消息

import paho.mqtt.client as mqttHOST = "192.168.1.202"PORT = 1883def on_connect(client, userdata, flags, rc): print("successfully connected with result code "+str(rc))def Test(): client = mqtt.Client() client.on_connect = on_connect c.

2020-08-12 09:00:47 1721

翻译 (mqtt学习3)mqtt的用paho库自动重连设置

至于怎么连接,订阅,发布的,这里就不重复说了,网上很多,详细看官方文档,https://www.eclipse.org/paho/files/mqttdoc/MQTTAsync/html/struct_m_q_t_t_async__connect_options.html#a7902ce4d11b96d8b19582bdd1f82b630 1,特别说明,重连...

2020-03-28 15:34:02 4352 13

原创 debian9.9(linux)使用docker方式使用微信和QQ(简单先进)

在linux上使用微信和QQ并不算什么新鲜事,之前采用wine,github,crossover,snap等的方式都安装过,其中最方便的还是github上的下载,然后双击运行,就可以了,但是它貌似已经不维护了,github上的更新时间是2年前,而且我觉得现在使用docker的方式也比那个好一点。docker客户端给docker守护进程发送命令,docker守护进程从远端的仓库中获取镜像,使用镜...

2019-07-06 16:50:32 11840 15

原创 python学习36:给IDLE添加行号(采用IDLEX的LineNumbers.py)python3.8也可以用(亲测有效)

1,下载这个链接我在360安全浏览器上有时打不开,我用ctrl+f5就可以打开了。链接是:http://idlex.sourceforge.net/extensions.html2,解压说明,如果谁喜欢用IDELX的话,就直接双击解压文件下的idlex文件就好,如下:如果喜欢IDLEX的话,直接用就是了,以下的内容不需要再阅读,但是我不喜欢这个界面,所以在py...

2019-03-22 18:59:14 15473 37

原创 vim F7添加作者信息,文件修改完更改最后时间

必须是vim,不能是vi。再更新,使用函数():set nuset nocpset tabstop=4set softtabstop=4set shiftwidth=4set noexpandtabsyntax onfunction FileHead_C() call append( 0,"/***************************************...

2018-07-21 18:49:42 1518 2

原创 在ubuntu20.04上安装ros2

6,将ROS2加载到系统环境变量中。2,增加ROS2仓库配置。1,更新系统并安装依赖。

2025-04-17 16:14:24 510

翻译 Cyclone DDS介绍

我用的是Cyclone DDS 0.10.5版本,但0.10.5版本的python工具有一些bug,使用起来不大方便,我后面都是自己用c实现了这些工具,后面不知道是在哪里看到说,这些bug在0.11.0版本解决了,但我刚刚去看了下,最新的release版本还是0.10.5。Cyclone DDS的核心是C语言实现的,在此基础上,被封装出来的还有C++\python\c#版本,使用时务必注意,尤其是C和C++,源码都不大一样。上的文档,如果有不对的,请大家及时指出,愿意讨论里面底层技术的,也欢迎。

2025-03-17 21:55:55 150

原创 初探ethercat IGH协议栈(交叉编译)

当然,如果你的是通用网卡,这个问题就不存在,并且DEVICE_MODULES="generic",具体是不是通用网卡,在etc/ethercat.conf里面有说明,如果不是通用的,就要在configure时支持它,比如我的就是要加--enable-igb。对于我的环境,网卡驱动应该是用igb的,如我上面配置的DEVICE_MODULES="igb",但是我目前选用的内核版本太高了,当前我使用的IGH可支持的igb驱动是6.1,4)内核版本不要太低,也不要太高,否则可能出现网卡不支持的情况;

2024-07-09 19:06:14 1029 2

原创 windows ssh客户端mobaxterm密码登录到debian12 openssh服务器

Session settings->Advanced SSH settings->勾选Use private key 并选择上面第2步中的秘钥文件,选择OK后,就可以免密登录了。说是openssh认为rsa不安全,默认就不支持,上一步生成的其实是openssh的秘钥。4,再加个权限,不然可能访问不了(忽略路径头,这个根据实际情况配置就好,主要是.ssh)~/.ssh/id_rsa.pub 是公钥,放在debian12本地就好了,~/.ssh/id_rsa 是秘钥,要放到windows的(

2024-05-22 20:48:38 572

原创 debian12启动telnetd

三、启动xinted。

2024-02-06 17:37:50 598

转载 在debian系统上制作initrd

可以换成自己的目录。

2023-08-29 11:52:31 1705

原创 使用命令行把debian变成实时系统

1,搜索guoyanzhang@debian:~$ apt-cache search linux-image-rtlinux-image-rt-amd64 - Linux for 64-bit PCs (meta-package), PREEMPT_RTlinux-image-rt-amd64-dbg - Debugging symbols for Linux rt-amd64 configuration (meta-package)2,安装sudo apt-get install li

2021-12-04 20:31:02 2947

原创 在自己本地原有的镜像基础上用dockerfile加一下库进去

1,首先我本地已经安装了docker,且本地有一个制作好的镜像2,写dockerfileFROM huawei-ec-iot/osc-sdk:2.0.0COPY ./my_lib/* /usr/local/lib/RUN ldconfigCOPY ./sources.list /etc/apt/sources.listRUN apt-get updateRUN apt-get upgrade | 'bin/echo' -e "\ny\n"最后一行的作用是输入y,但是好像没什么作

2021-05-17 17:06:04 2129

原创 用pandas新建excel并设置表头

代码如下:import pandas#创建一个名字为excel_file_name的excel文件#这里把表头设置为(姓名name,年龄age,性别gender,城市city,技能skill) def create_form(excel_file_name): form_header = ['姓名name', '年龄age', '性别gender', '城市city', '技能skill'] df = pandas.DataFrame(columns=form_heade.

2021-02-17 17:53:04 11516 1

原创 python中关于__new__和__init__的个人理解

先看段代码:class Student: def __new__(cls, name): print(cls) return super().__new__(cls) def __init__(self, name): self.name = names = Student("Rui")print(s.name)运行结果:<class '__main__.Student'>Rui看到了什么?1,c.

2021-02-04 11:29:41 515 1

原创 python中关于object和type的个人理解

python里面一切都是对象,说到对象,那每个对象都有自己的类型,那既然说一起都是对象,那实例化对象的类型也是对象,即:看讨论type和object之间的关系:1,先看看它们的类型是什么?>>> object.__class__<class 'type'>>>> type.__class__<class 'type'>可以看到它们都是type类的,对应上图的关系,实例化对象是object,实例化对象的类型是type,那t

2021-02-04 11:06:10 596 1

原创 debian10将系统软件包和docker的软件源改成国内源

用如下命令更新系统包时,发现特别慢,是因为系统默认使用国外源,现在改成国内的sudo apt-get update && sudo apt-get dist-upgrade修改/etc/apt/sources.list文件为如下内容:deb http://mirrors.tuna.tsinghua.edu.cn/debian/ buster maindeb-src http://mirrors.tuna.tsinghua.edu.cn/debian/ buster m...

2021-02-02 09:08:22 1545

原创 python3连接到sql server数据库,检查是否存在某个数据库,没有则创建

代码已经测试过了,成功!import pymssql #引入pymssql模块 def conn(): ret = pymssql.connect(host='DESKTOP-4CDQOMR', user = 'sa', password = '123456') #服务器名,账户,密码 if ret: print("连接到数据库成功!") else: print("连接到数据库失败!") return ret .

2021-01-24 22:36:41 1205

原创 debian10上安装samba服务器

1,安装sudo apt-get install samba2,配置## Sample configuration file for the Samba suite for Debian GNU/Linux.### This is the main Samba configuration file. You should read the# smb.conf(5) manual page in order to understand the options listed# he

2021-01-20 10:24:30 1731

原创 同时使用动态库和静态库时怎么写makefile

项目经验。关键语句: $(CC) -L $(LIB_FOR_SRS) -o $(OUTPUT_DIR)/$(TARGET) $(OBJS) -Wl,-Bstatic -lssl -lcrypto \ -Wl,-Bdynamic $(DYNAMIC_LINK_OPTION) $(STATIC_LINK_OPTION)也可以换成(链接): $(LD) -L $(LIB_FOR_SRS) -o $(OUTPUT_DIR)/$(TARGET) $(OBJS) -Wl...

2021-01-19 10:33:02 901

原创 linux环境使用c语言获取当前目录下有哪些文件,并打印它们的名字

代码:#include <sys/types.h>#include <dirent.h>#include <unistd.h>#include <stdio.h>#include <string.h>#include <stdlib.h>#include <math.h>#include <time.h>void ReadDir(void){ DIR *dir; str.

2021-01-13 15:32:25 1758

原创 linux环境使用c语言获取系统时间,并拼接成字符串

代码: void GetLocalTime(void) { time_t rawtime; struct tm *timeInfo; char newFileName[30] = {0}; memset(newFileName, 0, sizeof(newFileName)); time(&rawtime); timeInfo = localtime(&rawtime); sprintf(newFileNam.

2021-01-13 15:27:42 917

原创 使用fopen/fwrite/fread/fseek/fclose对文件从头读写整型数

#include <stdio.h> #include <stdlib.h> #include <errno.h> int main(void) { FILE *fp = fopen("./index", "w+"); int t = 3; int ret = 0; int r = 0; fseek(fp, 0, SEEK_SET); ret = fwrite(&t, sizeof(int..

2021-01-13 15:19:17 1032

原创 用ssms建sql server数据库和python连接到数据库

本文内容:1,用ssms建sql server数据库2,用pthon连接到新建的数据库一、用ssms建数据库1,ssms是什么?SQL Server Management Studio (SSMS) 是一种集成环境,用于管理从 SQL Server到 Azure SQL数据库的任何 SQL基础结构。桌面图标如下;2,打开ssms,登录,用Sql Server Authentication的方式登录,记住Server name、login、password,等一下要用。3,

2021-01-10 21:51:20 1581

原创 python3修改pip执行环境和安装软件源

pip是 Python包管理工具,该工具提供了对Python包的查找、下载、安装、卸载的功能。Powershell是运行在windows机器上实现系统和应用程序管理自动化的命令行脚本环境。1,到Python的安装目录下,进入到Scripts,发现有如下几个.exe,windows可执行文件,我们这里暂时只关注pip3.exe.2,键盘shift+鼠标右击,可以出现"此处打开Powershell窗口"3,进入到powershell中4,用pip3安装easygui模块,执行..

2021-01-09 09:48:41 967

原创 python3入门部分知识点理解

1,IDLE是什么?# IDLE is Python’s Integrated Development and Learning Environment.# IDLE是Python的集成开发和学习环境,可以利用它方便地创建、运行、测试# 和调试Python程序。2,#是什么?为什么后面跟的内容没有出现在运行结果里面?#是单行注释。注释是为了解释该部分代码是做什么的,辅助理解,并不参与运行3,那我要是多行注释怎么办?'''用3个单引号,注意是英文的单引号,不是中文的最前面

2021-01-08 16:47:19 389

原创 在windows10上写自己的第一个python代码

第一步:有的人安装python的时候,没有选择生成桌面快捷方式,可以在桌面左下角开始的位置打开第二步:在开始的所有程序里面找到python的IDLE,拖拽到桌面第三步:双击桌面的idle开始写自己的第一个python代码注意这里是单引号,代码解释:打印“我是小仙女张瑞”。第四步:保存运行保存:ctrl+s保存也可以,左上角的file里面有save也可以保存,保存到自己指定的目录中,我这里保存为:F:\zhangrui中,文件命名为first_code,文件默认后缀名为.p

2021-01-08 11:00:27 990

原创 关于“W: Possible missing firmware /lib/firmware/rtl_nic/rtl8168d-1.fw for module r8169”问题的解决

我的系统是:guoyanzhang@debian:/lib/firmware$ lsb_release -aNo LSB modules are available.Distributor ID: DebianDescription: Debian GNU/Linux 10 (buster)Release: 10Codename: buster出现问题:W: Possible missing firmware /lib/firmware/rtl_.

2020-10-26 09:16:24 2169 1

原创 关于linux的日志管理学习

我主要是玩debian系列,所以全篇以debian为主,其它linux系统不确定是否可以适用。本文涉及到三个主要的东西:cron,rsyslog,logrotate。一,cron、rsyslog、logrotate的介绍1,cron的介绍2,rsyslog的介绍3,logrotate的介绍二,cron、rsyslog、logrotate的安装1,cron的安装2,rsyslog的安装3,logrotate的安装三,cron、rsyslog、logrotate的使用

2020-10-24 10:04:47 423

原创 (C语言进阶1)main函数传递整数

main函数也可以传递参数的,大家都清楚,但是argv[][]这个是字符串,我们有时候要传递整数怎么办?答:把字符串转换成整形。比如下文代码中,关键代码: else if ((argc == 2) && (argv[1][0] == '1')),执行的命令行是:./a.out 1.即就是2个参数,argv[0] 是./a.out,argv[1]是“1”,那argv[1][0]就是'1',注意这里的单双引号,是指字符串和字符。依次类推,如果执行的命令行是./a.out 1234,即..

2020-10-23 15:14:10 1138

原创 linux关于ftp使用的问题总结

1,登陆到ftp服务器,get时发现:ftp: open file handle failed的问题。原因是:下载的文件在本地有一份,即同名,但是格式不同,所以不能覆盖下载。

2020-09-25 09:36:29 481

原创 关于vsftpd服务器搭建的若干问题总结

每次搭建都出问题,改一下也出问题,我都要炸了,这里把觉得写个长期更新的大总结。1,我现在的配置(这个配置是可以登陆进去看的,但是不能上传)root@debian:~# cat /etc/vsftpd.conf#begin my configurationslisten=YESlisten_address=192.168.1.108connect_from_port_20=YESanonymous_enable=NOuse_localtime=YESlocal_enable=YESl

2020-08-06 10:13:52 702

原创 (debian10)No manual entry for pthread_mutex_lock问题的解决

我的操作和系统信息如下:gyz@debian:~$ man pthread_mutex_lockNo manual entry for pthread_mutex_lockgyz@debian:~$ sudo apt-get install manpages-posix-devReading package lists... DoneBuilding dependency treeReading state information... DoneE: Unable to locate p

2020-07-10 18:24:04 703 1

原创 git学习1:配置下载自己的github代码

我已经在github上建了项目了,这里不在重复,换了个电脑,我要下载下来修改下。1,生成密钥ssh-keygen -t rsa -C "[email protected]"2,把公钥放到github上去 cat ~/.ssh/id_rsa.pub3,就可以下载了git clone [email protected]:guoyanzhang0817/playMQTTing.git4,修改提交代码前的配置:git config --global..

2020-06-12 17:29:55 383

原创 解决curl: (25) Failed FTP upload: 553的问题

把一个文件上传到ftp服务器时,发现curl: (25) Failed FTP upload: 553的问题,后来发现是服务器上那个文件夹权限导致的,换了个文件夹就好了。

2020-05-28 10:39:31 2262

转载 (sqlite3学习2)sqlite中的限制:数据库大小、表数、列数、行数、参数个数、连接数等

一、参考网址SQLite中的限制(官网):https://sqlite.org/limits.html运行时限制类别(官网):https://sqlite.org/c3ref/c_limit_attached.html#sqlitelimitcolumn二、详解1、查看、设置sqlite限制命令.limitsqlite> .limit // 显示或设置数据库限制信息:SQLITE_LIMIT length 1000000000 // 字符串或BLOB...

2020-05-26 09:55:23 12332

原创 (json-c学习11)解析嵌套的数组

其它什么头文件,编译什么的看前面的部分就好。代码如下:661 void ParsingTest(void)662 {663 int fatherLen = 0;664 int sonLen = 0;665 const char *str = "[{\"gp\":1,\"body\":[{\"ln\":1,\"sd\":2},{\"ln\":2,\"sd\":3}]},{\"gp\":3,\"body\":[{\"ln\":6,\"sd\":7},{\"ln\":8.

2020-05-22 17:42:50 1011

原创 (mqtt学习2)编译安装paho

1,源码下载:https://github.com/eclipse/paho.mqtt.c解压:guoyanzhang@debian:~/test$ unzip paho.mqtt.c-master.zip2,安装编译用的库guoyanzhang@debian:~/test/paho.mqtt.c-master$ sudo apt-get install build-essential gcc make cmake cmake-gui cmake-curses-guiguoyan

2020-05-21 15:57:20 993

原创 (mqtt学习1)安装mosquitto代理者和客户端

1,介绍mqtt是个网络协议,mosquitto是一个开源的mqtt broker,当然了它也有它的客户端,命令行和API都有,但是一般用它的命令行,而客户端API用paho的,paho是一个开源的mqtt client。mosquitto 源码链接:https://github.com/eclipse/mosquittopaho 源码链接 :https://github.com/eclipse/paho.mqtt.c2,安装代理者和客户端我这里是debian10.guoyan..

2020-05-21 14:55:17 484

Linux串口读写配置,包括232和485.txt

因为网上很多linux串口配置都没有用,结果让我饶了很大的弯,所以我这里记下来,让大家使用,防止大家和我一样走弯路。。配置都是测试过的,包括mark和space校验。

2020-04-14

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除