自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(49)
  • 收藏
  • 关注

原创 linux文件系统、文件系统结构、虚拟文件系统

文件系统概述学术定义文件系统种类什么是分区文件系统结构虚拟文件系统(Virtual File System)(VFS)是什么?有什么作用?从系统编程,从上层到底层来看

2022-09-20 00:21:08 908 2

原创 linux内核结构介绍

一、Linux内核结构框图二、图解linux系统架构三、驱动认知3.1 为什么要学习写驱动3.2 文件名与设备号3.3 open函数打通上层到底层硬件的详细过程四、shellshell脚本

2022-09-20 00:06:44 4309

原创 基于TCP协议的简易FTP云盘

基于TCP协议的简易FTP云盘

2022-09-14 18:38:24 658

原创 智能家居(8) —— 香橙派摄像头加入设备工厂

智能家居 (8) —— 香橙派摄像头加入设备工厂香橙派usb摄像头,翔云人工智能平台人脸对比这里的摄像头只是当作一个设备去用,目前实现通过串口指令然后system()进行拍照。然后翔云平台进行人脸对比,未实现自动人脸检测(不会py)。所以摄像头没有另创线程。但是做视频监控可以另创线程。使用fswebcam进行拍照

2022-09-12 03:05:19 1600

原创 智能家居(7) —— 人脸识别 & 翔云平台编程使用(编译openSSL支持libcurl的https访问、安装SSL依赖库openSSL)

智能家居 (6) —— 人脸识别 & 翔云平台编程使用(编译openSSL支持libcurl的https访问、安装SSL依赖库openSSL)一、祥云人工智能开放平台二、编译openSSL支持libcurl的https访问安装SSL依赖库openSSL(使用工具wget)curl库重新配置,编译,安装三、编程实现人脸识别翔云人脸识别API文档加入图片base64编码人脸识别完整代码

2022-09-11 22:48:00 1507

原创 智能家居(6) —— 香橙派摄像头安装实现监控功能

智能家居 (6) —— 香橙派摄像头安装实现监控功能一、USB摄像头安装及测试二、face_recognition 人脸识别库的安装和测试方法三、face_recognition 的测试方法定位人脸,人脸识别,识别单张图片中人脸的关键点,识别人脸并使用方框标注,比较两个人脸是否属于一个人,识别未知图片中的人脸是谁,来识别 USB 摄像头中的人脸,使用 Web 服务上传图片运行人脸识别,face_detection 命令测试示例

2022-09-11 00:39:37 4781 1

原创 网络编程知识预备(6) ——libcurl库简介及其编程访问百度首页

libcurl库简介及其编程访问百度首页一、Libcurl库简介二、Libcurl等三方库的通用编译方法。库的配置、编译、安装三、调用libcurl编程访问百度主页编译(编译时链接库、头文件路径)运行(运行需添加动态库为环境变量)四、libcurl函数库常用字段解读吗,libcurl的使用及函数简介

2022-09-10 20:54:38 950

原创 网络编程知识预备(5) —— 了解应用层的HTTP协议与HTTPS协议

网络编程知识预备(5) —— 了解应用层的HTTP协议与HTTPS协议一、HTTP协议http协议的特性、请求请求行、请求头、请求主体、响应GET请求、POST 请求(人脸识别方案)、两个请求的区别响应行、响应头、响应主体二、HTTPS协议1、简介与原理2、密码学基础明文与密文、密钥对称加密(私钥+私钥)、非对称加密(公钥+私钥)三、HTTPS相对于HTTP优缺点优点:正确率更高,安全性更强缺点:效率低,成本高

2022-09-10 02:29:27 1685

原创 网络编程知识预备(4) —— SOCKET、TCP、HTTP之间的区别与联系

网络编程知识预备(4) — SOCKET、TCP、HTTP之间的区一、什么是socket、为什么需要socket、建立socket连接二、HTTP的概念、HTTP连接的特点一次连接 短连接 (socket是长连接)三、TCP/IP协议簇四、HTTP、Socket、TCP的联系和区别长连接与短连接、保持数据的实时同步什么时候用长连接,短连接什么时候该用HTTP,什么时候该用socket ?浏览器在与服务器建立了一个 TCP 连接后是否会在一个 HTTP 请求完成后断开?什么情况下会断开?

2022-09-10 00:02:05 2083

原创 网络编程知识预备(3) —— TCP流量控制(滑动窗口)、拥塞控制

网络编程知识预备(3) ——TCP流量控制(滑动窗口)、拥塞控制一、TCP流量控制(滑动窗口)二、TCP拥塞控制TCP的四种拥塞控制算法1.慢开始2.拥塞避免3.快重传

2022-09-09 22:09:24 927

原创 网络编程知识预备(2) —— 三次握手与四次挥手、半连接状态、2MSL

网络编程知识预备(2) ——三次握手与四次挥手、半连接状态、2MSL一、三次握手什么是三次握手?三次握手图解三次握手过程解析(1)第一次握手(2)第二次握手(3)第三次握手二、四次挥手什么是四次挥手?四次挥手图解四次挥手过程解析(1)第一次挥手(2)第二次挥手(半连接)(3)第三次挥手(4)第四次挥手三、2MSL作用四、 常见问题1、为什么连接是三次握手,关闭却要四次挥手(半连接)?2、连接中途客户端突然故障怎么办(保活计时器、探测报文段、心跳包)?

2022-09-09 21:54:24 821

原创 网络编程知识预备(1) —— 7层OSI网络模型

网络编程知识预备(1) ——7层OSI网络模型OSI模型(1)应用层(2)表示层(3)会话层(4)传输层(5)网络层(6)网络链路层(7)物理层TCP/IP分层模型(1)第一层:网络接口层(2)第二层:网间层(3)第三层:传输层(4)第四层:应用层

2022-09-08 18:55:22 734

原创 智能家居 (5) ——智能家居项目整合(语音控制线程,网络控制线程、烟雾报警线程)

智能家居 (5) ——智能家居项目整合(语音控制线程,网络控制线程、烟雾报警线程)香橙派全志H616总结问题1:三线程同时运行,有时候无法正常进行开关灯操作。问题2:在前几篇文章中,在open\close操作前都有Init操作问题3: int (*changeStatus)(int status),记住设备的状态

2022-09-08 15:08:15 1806

原创 智能家居(4) —— 网络服务器线程控制

【代码】智能家居(3) —— Linux网络服务器线程控制。全志H616网络线程控制代码及测试结果

2022-09-07 19:59:48 634 1

原创 智能家居(3) —— 串口通信(语音识别)线程控制

【代码】智能家居(3) —— Linux串口通信(语音识别)线程控制。一、串口通信线程控制代码测试结果二、语音控制部分

2022-09-07 19:04:53 1550 1

原创 智能家居(2) —— 工厂模式实现烟雾报警

智能家居(2) —— 工厂模式实现烟雾报警Linux工厂模式实现烟雾报警系统mainPro.c(主函数)controlDevice.h(设备类)smokeAlarm.c(烟雾报警器)buzzer.c(蜂鸣器)运行结果智能家居目录

2022-09-06 19:55:59 1419

原创 智能家居(1) —— 工厂模式引入&工厂模式实现继电器控制

1、什么是设计模式设计模式是一套被反复使用的、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了重用代码、让代码更容易被他人理解、保证代码可靠性。2、类和对象类是一种用户定义的引用数据类型(结构体),类的实例称为对象。3、工厂模式在工厂模式中,我们在创建对象时不会对客户端暴露创建逻辑,并且是通过使用一个共同的接口来指向新创建的对象。工厂模式的实现及验证四、工厂模式实现继电器控制

2022-09-03 17:03:09 1431 3

原创 交叉编译是什么,为什么要交叉编译

一、交叉编译是什么,为什么要交叉编译二、交叉编译工具链的安装 OrangePi_Zero2交叉编译工具链安装 树莓派交叉编译工具链安装echo $PATH 获得当前环境变量的值,配置环境变量三、交叉编译四、带wiringPi库的交叉编译如何进行

2022-09-03 16:19:43 3702

原创 Linux库之动态库静态库

Linux库之动态库静态库一、什么是库二、库的分类1. 静态库2. 动态库三、库源文件四、静态库的生成和制作(1)命名规则(2)制作步骤(3)库的使用五、动态库的生成和制作(1)命名规则(2)制作步骤(3)动态库的使用...

2022-08-31 15:21:53 877 1

原创 嵌入式数据库SQLite | 增删改查

嵌入式数据库SQLite | 增删改查一、SQLite简介二、SQLite数据库安装三、SQLite的命令用法1、创建一个数据库2、创建一张表格3、插入一条记录4、查看数据库的记录5、删除一条记录6、更改一条记录7、删除一张表8、增加一列三、SQLite的编程操作1、打开/创建数据库的C接口2、创建表的C接口 C代码执行SQL语句 * C代码建表和插入数据 *3、插入数据的C接口四、选择SELECT 操作五、更新UPDATE 操作............

2022-08-25 20:56:23 854

原创 Linux的热拔插UDEV机制 / 守护进程

Linux的热拔插UDEV机制 / 守护进程一、Udev作用概述二、守护进程三、守护进程开发方式直接借助damon()函数完成四、守护进程应用1、编写判断某进程是否在运行的程序2、守护进程不让控制程序退出五、设置进程开机自启动六、udev的rules编写七、自动挂载U盘...

2022-08-25 19:37:23 939 1

原创 【Orangepi Zero2 全志H616】语音刷抖音 / 手机连接Linux热拔插相关

【Orangepi Zero2 全志H616】语音刷抖音 / 手机连接Linux热拔插相关一、手机连接Linux步骤二、adb控制指令用shell指令来操作手机屏幕,模拟手动滑屏幕,下滑、上滑、双击、锁屏三、基于Linux串口实现语音刷抖音1、语音模块SU-03T控制详情2、代码实现...

2022-08-24 17:55:45 880

原创 【Orangepi Zero2 全志H616】Linux串口开发

【Orangepi Zero2 全志H616】Linux串口开发一、wiringPi示例代码二、基于wiringPi的串口开发三、自实现串口通信uartTool.cuartTool.huartTest.c编译运行结果

2022-08-22 18:18:50 1099

原创 【Orangepi Zero2 全志H616】OLED屏应用/IIC协议

【Orangepi Zero2 全志H616】OLED屏应用/IIC协议安装 i2c-tools、查看i2c地址 、OLED开发

2022-08-20 16:53:14 878

原创 【Orangepi Zero2 全志H616】SG90舵机控制/Linux定时器

【Orangepi Zero2 全志H616】SG90舵机控制/Linux定时器Linux定时器编程实现:1s后开启定时器,然后每隔1s向终端打印helloSG90编程实现:键盘输入不同的值,让舵机转动,软件PWM实现

2022-08-19 19:07:41 251

原创 【Orangepi Zero2 全志H616】超声波模块测距/时间函数

【Orangepi Zero2 全志H616】超声波模块测距linux时间函数 原型 测试代码超声波代码实现

2022-08-19 17:36:54 253

原创 【Orangepi Zero2 全志H616】普通IO操作

【Orangepi Zero2 全志H616】普通IO操作IO控制蜂鸣器创建shell脚本脚本加运行权限编译

2022-08-19 16:19:11 544

原创 【Orangepi Zero2 全志H616】wiringPi外设SDK安装

【Orangepi Zero2 全志H616】wiringPi外设SDK安装

2022-08-19 14:38:08 529

原创 【Linux系统编程】网络编程

【Linux系统编程】网络编程一、概述1、TCP/UDP对比2、端口号作用二、字节序1、字节序是什么2、如何理解字节序3、字节序转换api三、socket编程1、流程2、socket函数3、socket服务端代码实现(无连接客户端)4、socket服务端/客户端四、实现双方聊天五、服务端自动回复......

2022-08-10 18:49:16 479

原创 【Linux系统编程】线程

【Linux系统编程】线程一、Linux线程介绍1、进程与线程2、使用线程的理由3、Linux上线程开发API概要二、与线程自身相关API1. 线程创建2. 线程退出3. 线程等待4. 线程脱离5. 线程ID获取及比较三、与互斥锁相关API四、与条件变量相关API......

2022-07-21 17:46:16 552

原创 【Linux系统编程】进程间通信

【Linux系统编程】进程间通信进程间通信(IPC,InterProcess Communication)是指在不同进程之间传播或交换信息。IPC 的方式通常有管道(包括无名管道和命名管道)、消息队列、信号量、共享存储、Socket、Streams 等。其中 Socket 和 Streams 支持不同主机上的两个进程 IPC。目录一、管道二、FIFO三、消息队列四、共享内存五、信号六、信号量七、总结demo......

2022-07-21 03:28:54 415

原创 【Linux系统编程】进程编程

【Linux系统编程】进程编程一、创建进程函数fork二、vfork函数fork有什么区别1、fork2、vfork三、 进程退出四、等待子进程1、 僵尸进程2、wait等待子进程3、waitpid等待子进程4、孤儿进程五、exec族函数1、为什么要用exec族函数,有什么作用2、exec配合fork使用六、system函数七、popen函数......

2022-07-17 02:38:46 499

原创 【Linux系统编程】文件编程

【Linux系统编程】文件编程一、Linux系统下一系列的API1、API2、创建文件creat函数3、计算文件大小二、文件描述符三、应用1、实现Linux cp命令的代码2、修改程序的配置文件四、写入一个整型数到文件五、写结构体数组到文件六、总结open和fopen的区别七、标准C库对文件操作的引入1、fopen、fwrite、fseek、fread、fclose2、写入结构体到文件3、fgetc、fputc、feof...............

2022-07-14 20:29:45 480

原创 【51单片机STC89C52】DHT11温湿度传感器的使用

【51单片机STC89C52】DHT11温湿度传感器的使用DHT11模块一次完整的数据传输为40bit,高位在前 检测模块是否存在,功能是否正常,读取温湿度数据,串口打印

2022-07-06 13:53:04 6173

原创 【51单片机STC89C52】LCD1602液晶屏的使用

【51单片机STC89C52】LCD1602液晶屏的使用

2022-06-16 20:13:25 4709 1

原创 【51单片机STC89C52】ESP8266 ESP-01S模块使用

【51单片机STC89C52】ESP8266 ESP-01S模块使用编程实现设备模式接入路由器配置ESP-01S AP(路由)模式

2022-06-16 01:16:35 3700

原创 【51单片机STC89C52】串口通信(蓝牙)

【51单片机STC89C52】串口通信(蓝牙)串行口相关寄存器、串口初始化编程实现、PC串口中断控制LED、字符串型指令控制、static关键字、串口通信所谓的协议:波特率、起始位(0)、数据位、停止位(1)蓝牙HC-08控制LED.........

2022-06-09 20:54:59 14273 4

原创 【51单片机STC89C52】舵机控制综合篇

【51单片机STC89C52】感应开关盖垃圾桶超声波模块,震动传感器,按键控制SG90舵机SG90舵机使用资源:定时器/计数器、定时器中断、IO口模拟PWM信号控制、外部中断

2022-06-09 00:19:45 8945 1

原创 【51单片机STC89C52】HC-SR04超声波模块测距

【51单片机STC89C52】HC-SR04超声波模块GPIO模式测距

2022-06-08 19:36:36 8610 12

原创 【51单片机STC89C52】IO口模拟PWM控制SG90舵机

【51单片机STC89C52】STC89C52通过IO口软件模拟PWM控制SG90舵机定时器需要定时20ms, 单位为0.5ms,初值0.5ms,cnt++,通过计数cnt=40个的0.5ms即为20ms......

2022-06-08 17:37:55 5477 1

空空如也

空空如也

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

TA关注的人

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