自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(37)
  • 资源 (12)
  • 收藏
  • 关注

原创 Linux-视频监控系统(13)-BUG统计及修复

经过大量的实验后,发现了如下几个BUG:1、客户机的关闭导致服务器崩溃,出现断错误2、当服务器段错误出现后,再次开启服务器无法再次进行视频编码,移除视频文件后正常3、打开多个客户端时帧率下降很快4、打开多个客户端时会发生死机现象BUG1首先这个问题和客户机有关,我们把代码定位在net.c函数中。在仔细分析,问题应该在处理客户机连接的线程里面,我们使用gdb调试,...

2017-08-31 20:27:29 726

原创 Linux-IIC驱动(4)-自编IIC设备驱动程序

在分析驱动程序之前我们再来分析一下IIC子系统的模型。IIC的设备驱动中有2中方式,一种是通过通用驱动来编写用户驱动。另一种就是直接在IIC子系统中添加一个IIC的设备驱动,比如说针对AT24C02的驱动程序。接下来我们来学习怎么编写一个IIC设备驱动。1、驱动程序分析我们先在Linux内核代码中打开一个叫做At24.c的文件,只要是属于AT24开头的设备都可以使用这个驱动。我们接...

2017-08-31 11:41:26 1457 1

原创 Linux-IIC驱动(3)-IIC用户态驱动程序设计

之前已经说过,有2种i2c驱动程序的设计,比如说针对EEPROM的驱动程序。我们可以专门编写一个针对EEPROM的驱动程序。另一种方式就是通过i2c-dev,即通过i2c通用通用驱动,来编写一个应用程序,来完成对设备的控制。我们现在就来实现i2c用户态驱动程序的设计。通用设备驱动分析首先需要分析i2c-dev,先打开i2c-dev.c这个文件,找到i2c_dev_init函...

2017-08-29 21:16:54 1751

原创 Linux-IIC驱动(2)-Linux下IIC子系统的介绍

IIC子系统架构Linux下IIC的架构模型大概可以分为3层:第一层是IIC的从设备驱动,他包含图中的device driver和i2c-dev。device driver需要用户编写,i2c-dev由内核实现,包含了IIC设备的通用方法,但是用户不能直接使用这个驱动,需要编写一个用户层驱动,它们2个合起来才可以实现一个驱动程序。第二层总线驱动,他又叫做控制器驱动...

2017-08-29 15:32:52 447

原创 Linux-IIC驱动(1)-IIC总线介绍

IIC我在很久之前就接触并使用过了,现在来回顾一下它的硬件结构和时序硬件结构I2C(Inter-Integrated Circuit)总线是由PHILIPS公司开发的两线式串行总线,用于连接微控制器及其外围设备。硬件结构如下:I2C总线只有两根双向信号线。SDA: Serial Data Line-数据线SCL :Serial Clock-时钟线I2C总线...

2017-08-28 15:45:22 418

转载 树莓派 Raspberry Pi SD卡系统备份与还原

近半年时间用来监控陆龟的树莓派 Raspberry Pi  还算稳定,可到了冬天龟箱里的加热灯长时间加热导致树莓派温度很高,时不时的自动重启。如果每次都能正常起来也就罢了,可偶尔会挂不上SD卡的文件系统直接宕了,还得用备份还原SD卡(如果没备份那就悲催了)。买树莓派的时候只想到存储空间大能多存的东西于是买了个16GB的SD卡,可实际用了2G空间不到。最开始备份树莓派SD卡是用windwos

2017-08-27 22:35:58 3794

原创 Linux-视频监控系统(12)-移植到树莓派中

由于之前的代码编写及测试工作在Linux PC上都已经完成,现在只需要移植到树莓派中即可。在这里我们有2项任务要做首先需要修改源代码的编译工具,把gcc修改成arm-linux-gcc(具体的工具要参考你的机器)然后需要在树莓派中安装ffmpeg包,具体可以参考我的博客:http://blog.csdn.net/u013181595/article/details/7...

2017-08-27 20:57:05 825

原创 ffmpeg的安装(for X86 and ARM)

本以为ffmpeg在ARM下的安装挺简单的,想不到还是有点麻烦和复杂。首先下载ffmpeg的安装包,官网上都有。然后解压:#tar -xvzf  ffmpeg*****然后进入到解压目录中。对于X86系统,比较简单,先在/usr/local/目录下创建ffmpeg文件夹:#./configure   --prefix=/usr/local/ffmpeg  

2017-08-27 18:11:49 3033

原创 Linux-视频监控系统(11)-监控系统初步完善

代码写了这么久,期间也碰到了各种各样的问题,解决方法都记录在了我的博客里面。这里面记录一下自己开发的思路和方法。现在项目在原来的基础上又增加了以下功能:1、创建了线程池,支持多个客户机的访问2、可以保存捕捉到的视频和图片,并存储在当前路径上注意:如果要运行这个代码需要安装ffmpeg为了开发方便,目前安装的是ffmpeg for X86,接下来需要运行在开发板上,所以...

2017-08-27 10:20:54 1209

转载 Linux线程同步之读写锁(rwlock)

读写锁和互斥量(互斥锁)很类似,是另一种线程同步机制,但不属于POSIX标准,可以用来同步同一进程中的各个线程。当然如果一个读写锁存放在多个进程共享的某个内存区中,那么还可以用来进行进程间的同步,和互斥量不同的是:互斥量会把试图进入已保护的临界区的线程都阻塞;然而读写锁会视当前进入临界区的线程和请求进入临界区的线程的属性来判断是否允许线程进入。相对互斥量只有加锁和不加锁两种状态,读写锁有三...

2017-08-27 08:43:04 634

原创 在linux下使用socket通信,accept调用产生accept error:Invalid argument

accept error :Invalid argument顾名思义,就是accept错误,非法变量。这是accept的函数:          int accept(int sockfd, void *addr, int *addrlen);     accept()函数的参数意义如下:      sockfd 是正在 listen() 的一个套接字描

2017-08-26 17:27:05 5048

原创 GDB调试时候的问题

写了一个工程,有好几个文件,出了一点问题,找不到原因,只能调试,但是在调试的时候也碰到了各种问题,现在记录在这篇博客里面,也为后面的人带来更多的帮助。首先是这个问题:Missing separate debuginfos, use: debuginfo-install glibc-2.12-1gdb调试提示:Missing separate debuginfos, use:

2017-08-23 21:32:04 640

原创 树莓派3在无屏幕无路由器无串口情况下的使用

在做一个项目,打算移植到树莓派3中,连接并控制树莓派一般都会使用Putty这个软件,但是需要提前知道树莓派的IP地址。网上的方法大都是连接路由器后通过路由器查看,但是我的路由器是无线的,没有接口了。同时又没有屏幕,也没有串口,只有一根网线,怎么办呢? 如果大家熟悉网络协议的话应该接触过很多抓包工具,比如说wireshark。先下载这个软件并安装。另外安利一下这个软件很不错,是分析各种网络协...

2017-08-23 14:52:34 3314

原创 Linux-视频监控系统(10)-对USB摄像头的YUV图片压缩成视频

需要把图片压缩成摄像头,需要一个工具,就是大名鼎鼎的ffmpeg。ffmpeg的功能实在在太强大了,源代码也比较复杂,同时需要掌握很多音视频压缩的相关知识,我也是初次接触ffmpeg,了解的东西还不是很多,如果需要进一步了解的同学可以参考[总结]FFMPEG视音频编解码零基础学习方法我在这里呢,总结一下我在开发过程中碰到的问题,以及贴出经过自己理解后的代码。问题总结首先是这...

2017-08-16 22:08:32 1594

原创 Linux-视频监控系统(9)-移植到树莓派中的计划

关于树莓派的的使用方法我就不说好了。由于树莓派硬件平台完善,内核软件也更新比较快,因此我打算把这个项目移植到树莓派3中,之前是在mini2440中实现的。需要移植的部分就是服务器代码了,由于服务器的代码属于应用层的,和硬件不相关,因此可以直接把可执行文件拷贝到树莓派3中运行。之前的硬件平台是:mini2440开发板,摄像头是中星微ZC301的摄像头,比较老旧,并且没有麦克...

2017-08-15 22:03:25 921

转载 ffmpeg 静态库使用,undefined reference错误

form: http://blog.csdn.net/chinazjn/article/details/7954984ffmpeg移植到dm365上,遇到undefined reference错误:GA/gabin/lib/libavformat.a(allformats.o): In function `av_register_all':/GA/ffmpeg-0.10/lib

2017-08-15 10:18:51 2520 2

转载 树莓派3-搭建SAMBA服务器

转自:http://www.ncnynl.com/archives/201608/738.html这是一个非常好的学习网站,建议大家学习!http://www.ncnynl.com/搭建SAMBA服务器安装sambasudo apt-get updatesudo apt-get install samba samba-common-bin配置文件smb.con...

2017-08-13 22:14:34 16596 1

转载 解决USB连接时,出现usb 1-1: device descriptor read/64的解决方法

插入USB设备,如U盘,读卡器等时出现:[root@Nision=W]#usb 1-1: new full speed USB device usings3c2410-ohci and address 2usb 1-1: device descriptor read/64, error -62usb 1-1: device descriptor read/64, error

2017-08-13 21:12:48 40711 1

原创 Linux-USB驱动(6)-USB下载线驱动设计

在裸机代码中通常需要使用USB来下载u-boot代码。当然下载内核代码使用usb下载也是可以的。接下来我们要完成的就是DNW的USB下载器模块设计。框架首先完成模块代码的初始化函数和退出函数。struct usb_driver dnw_driver = { .name = "dnw", /* 驱动名 */ .probe = dnw_probe, /* 捕获函数 */...

2017-08-13 15:18:47 448

原创 Linux-USB驱动(5)-USB驱动程序设计

这节内容我们分4个小块来学习,分别是USB驱动模型、URB、HID协议、鼠标驱动程序分析等。USB驱动模型USB设备包括配置(configuration)、接口(interface)和端点(endpoint),一个USB设备驱动程序对应一个USB接口,而非整个USB设备。比如说一个MP4的播放设备,他可以播放视频、也可以播放声音,这2个功能称为一个接口,而每一个驱动只能驱动一个接...

2017-08-13 11:11:00 542

原创 Linux-USB驱动(4)-LinuxUSB系统架构

Linux下的USB系统架构我们分3小节来学习:1、软件系统架构2、MassStorage驱动体验,mass storage 是USB协议中的一部分, 是大容量存储器或者海量存储器的意思。我们的U盘就是利用的这个协议开发和制作的。3、RNDIS驱动体验,rndis既是RemoteNDIS,既是远程网络驱动接口规范。Remote Network Driver Interface Spec...

2017-08-12 20:21:17 896

转载 Linux-USB驱动(3)-USB协议深入分析

0. 基本概念 一个【传输】(控制、批量、中断、等时):由多个【事务】组成; 一个【事务】(IN、OUT、SETUP):由一多个【Packet】组成。 USB数据在【主机软件】与【USB设备特定的端点】间被传输。【主机软件】与【USB设备特定的端点】间的关联叫做【pipes】。一个USB设备可以有多个管道(pipes)。1. 包(Packet)...

2017-08-12 15:11:47 515

原创 Linux-USB驱动(2)-USB协议分析

USB设备逻辑结构在USB设备的逻辑组织中,包含设备、配置、接口和端点4个层次。设备通常有一个或多个配置,配置通常有一个或多个接口,接口有零或多个端点。每个USB设备都可以包含一个或多个配置,不同的配置使设备表现出不同的功能组合,配置由多个接口组成。在USB协议中,接口代表一个基本的功能,一个功能复杂的USB设备可以具有多个接口,而接口是端点的汇集。比如说一个USB播放器带有...

2017-08-12 15:09:25 706

原创 Linux-USB驱动(1)-USB总线介绍

USB发展史USB(Universal Serial Bus ),通用串行总线,是一种外部总线标准,用于规范电脑与外部设备的连接和通讯。USB是在1994年底由英特尔、康柏、IBM、Microsoft等多家公司联合提出的,自1996年推出后,已成功替代串口和并口,成为当今个人电脑和大量智能设备的必配接口之一。•USB 1.0出现在1996年的,速度只有1.5Mb/s1998年升级为U...

2017-08-12 11:24:52 406

原创 Linux-视频监控系统(8)-项目小结

关键技术在这个项目中,涉及到的关键技术有这些:1、Epoll框架的设计与实现2、网络传输协议的定义与实现3、基于GTK的视频播放器设计4、网络传输协议在播放器中的移植下面我们将总结并回顾这几个关键技术Epoll框架的设计与实现Epoll是实现阻塞性IO和多路复用的一种技术,它能够同时监控许多文件是否可以读或者写,如果不能它将会进入阻塞,如果可以它将会唤醒...

2017-08-12 10:19:44 3316

原创 Linux-视频监控系统(7)-播放器子系统2

分析上一节我们完成了GTK图像框架的diamante编写,现在需要把网络子系统加入到这个框架中。再这个框架中我们需要添加2个功能,一个是建立和服务器的连接,另一个是显示当前的图像。这2个功能分别和2个窗口对于,在登录窗口实现和服务器的连接,在主窗口实现图像的显示。实现建立服务器的连接在connect_handler函数中通过调用tcp_init_net函数来实现,tcp_init...

2017-08-11 21:52:37 484

转载 Python 编写ORM时的重难点掌握

前言: 最近才狠下心来 准备做一个自己的博客 原先FuckBlog项目由于后端小伙伴加班而搁置,因此 作为团队PM的我自己也要开始做技术方面了,准备自己先写一个博客看看。 备注- ORM全称:object related mapping 对象关系映射0x00 为什么需要写一个ORM首先,我觉得数据库操作不封装是很傻比的。原来我写了一个数据库导入工具,全篇导出...

2017-08-10 10:16:43 2124 1

转载 Python异步编程2-协程任务的调度

我们知道协程是异步进行的,碰到IO阻塞型操作时需要调度其他任务,那么这个调度规则或者是算法是怎样的呢?现在有以下几个疑问:1、多个任务准备好,需要运行时,优先执行哪一个?2、一个任务运行时,如果别的任务准备好了,是否需要中断当前任务呢?在网上找了很多资料,也无法找到相关的资料,于是编写了几个简单的程序,查看任务的执行过程。根据Python的asyncio我们可以...

2017-08-09 11:20:20 995

转载 Python异步编程1-协程

协程介绍协程,又称微线程或纤程,是一个比进程和线程更加轻量级的解决方案,现代编程语言基本上都支持。首先要明确,线程和进程都是系统帮咱们开辟的,不管是thread还是process他内部都是调用的系统的API,而对于协程来说它和系统毫无关系,因此操作系统感知不到协程的存在,它是存在用户空间的。协程不同于线程的是,线程是抢占式的调度,而协程是协同式的调度,也就是说,协程需要自己做调度。...

2017-08-09 10:48:22 336

原创 Linux-视频监控系统(6)-播放器子系统

播放器功能及设计思路播放子系统需要实现和服务器的连接,以及接收并显示图像等功能。主要的界面有2个,一个是连接界面,由用户输入IP地址和端口后连接服务器,另一个是播放界面,显示接收过来的图像,并且显示图像格式,帧率、大小等信息。根据这些要求我们开始设计播放子系统,播放子系统的界面采用GTK来编写。由于一次性难以实现全部功能,这里分为2部分来实现。第一步先把播放界面设计好,第二步在界面的基础上实现...

2017-08-07 21:46:55 901

转载 GTK学习(4)-主循环(main loop)的工作原理

GTK+主循环(main loop)的工作原理我们知道GUI应用程序都是事件驱动的。这些事件大部分都来自于用户,比如键盘事件、鼠标事件或笔点事件。还有一些事件来自于系统内部,比如定时事件、socket事件和其它文件事件等等。在没有任何事件的情况下,应用程序处于睡眠状态。因为这种事件驱动机制,GUI应用程序都毫无例外的需要一个主循环(main loop)。主循环(main loop)控...

2017-08-07 15:45:24 10527

转载 GTK学习(3)-Lable、pixbuf、single、GtkEntry

添加标签标签主要是显示文本信息,用作标志。标签的创建:GtkWidget *gtk_label_new(const gchar *str);str:文本内容返回值:标签指针设置标签的内容:void gtk_label_set_text (GtkLabel *label,const gchar *str);label:操作的标...

2017-08-07 14:15:11 946 1

转载 GTK学习(2)-布局管理

GTK+中用于管理各种构件布局的是一类特殊的构件,称作布局容器(Layout Containers),这类构件不可见,并且有很多种,常用的有以下几种:GtkHBox:水平组装盒GtkVBox:垂直组装盒GtkTable:表组装GtkAlignment:可以控制子构件的对其方式和大小GtkHBox和GtkVBoxGtkHBox可以将它的子构件横向排列,GtkVBox可以...

2017-08-07 13:53:32 597

转载 GTK学习(1)-常用控件之窗口( GtkWindow )

转自http://blog.csdn.net/lianghe_work/article/details/47087109项目中需要用到GTK,在这里整理几个经常用到的知识点。窗口的创建:GtkWidget *gtk_window_new(GtkWindowType type);GtkWindowType是一个枚举,有两种情况:GTK_WINDOW_TO...

2017-08-07 13:45:29 1116

转载 SQLAlchemy 和其他的 ORM 框架

Python ORM 概览作为一个美妙的语言,Python 除了SQLAlchemy外还有很多ORM库。在这篇文章里,我们将来看看几个流行的可选ORM库,以此更好地窥探到Python ORM 境况。通过写一段脚本来读写2个表 ,person和address 到一个简单的数据库,我们能更好地理解每个ORM库的优缺点。SQLObjectSQLObject是一个介于...

2017-08-04 11:13:25 454

转载 Python下安装MySQL驱动出错

Python中安装MySQL时:pip install mysql-connector出现下面的报错 Unable to find Protobuf include directory. ----------------------------------------Command "d:\python\python.exe -u -c "import ...

2017-08-03 14:27:29 2168

原创 Windows下修改MySQL编码为utf8

转自:http://www.jianshu.com/p/f4a564179107ProblemWindows下安装MySQL(mysql-installer-community-5.7.17.0.msi)后,默认编码不全是gbk。mysql> show variables like '%char%';+--------------------------+--------

2017-08-03 14:13:35 2934 2

IJCAI-2018 数据集

IJCAI-2018 数据集,包括初赛及复赛的数据。

2019-11-14

ESP8266工具及资料.7z

文件包含ESP8266烧录固件的工具(windows 64位),PX4 wifi的固件,以及串口调试助手,文档资料等等

2019-05-18

天池OGeek初赛数据

这是天池OGeek比赛的数据,包含训练集,验证集和测试集A榜的数据,有需要的朋友可以看

2018-12-09

Flightplot.jar

查看PX4的日志信息。可以读取PX4的.log或者.px4log的日志文件,在界面上显示数据曲线,并进行一些初始计算

2018-12-05

天池精准医疗大赛数据

天池精准医疗大赛——人工智能辅助糖尿病遗传风险预测的数据

2018-06-13

OpenSSL源代码

openssl-1.0.0s.tar.gz

2017-06-27

ffmpeg-0.5.1源代码

ffmpeg-0.5.1源代码

2017-06-26

Motion源代码

这是Linux下的移动物体监控系统开源代码,具有抓拍移动物体图片,视频,并保存到数据库的功能

2017-06-26

C Coding Standard.pdf

C Coding Standard.pdf

2017-04-03

基于STM32的DMP方式读取欧拉角

这是通过STM32F103芯片来读取6050的程序,此程序通过DMP库函数来读取欧拉角。

2015-01-23

基于STM32的TFT显示图片

用STM32在TFT显示一幅320*240的图片,图片是BMP格式的,可以用一个图片转换文件转换软件转换

2014-10-17

STM32f103的DS18B20温度读取

基于STM32f107,用DS18B20温度读取

2014-07-05

空空如也

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

TA关注的人

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