左手倒影,右手年华

talk is cheap,show me the code...

jemalloc疑似内存泄漏分析

最近项目中有使用到jemalloc作为内存分配器,但是使用后发现应用所占用的内存在不断飙高,而且无下降的趋势。经过阅读源码和进行实验逐步发现jemalloc隐藏的使用风险——脏页释放规则。 jemalloc简介 jemalloc是一款很优秀的内存分配器,按照他们wiki的说法,已经被Redis...

2019-05-18 15:59:22

阅读数 18

评论数 2

万能遥控器小制作(五)

1.物联网云平台 为了先树立物联网平台通信过程的意识,为之后自己编写物联网云平台提供借鉴,我们该篇教程中使用的物联网云平台是阿里云的物联网套件(现已更名物联网平台)。阿里云收费规则是每月前100万条消息数免费赠送,所以这对于我们个人使用已绰绰有余。 如何开启阿里云物联网平台服务以及基础配置可参...

2018-08-04 09:55:15

阅读数 480

评论数 0

万能遥控器小制作(四)

前面的文章中我们已经知道如何获取遥控器的红外编码,以及通过单片机重放红外信号,来遥控空调。但是这样是远远不够的,要想让家电智能起来,我们需要把模块接入一些高级点的系统中,比如树莓派,然后通过Linux系统来控制红外发射。下面我们将介绍如何使用Linux与红外模块交互。 1.通信协议的制定 ...

2018-07-03 08:10:25

阅读数 612

评论数 0

万能遥控器小制作(三)

在上一篇文章中,我们已经知道遥控器红外的编码基本规范,但是每个键值是什么编码我们还不得而知。其实,每个键值是按照什么规则编码我们并不care,我们只需要将键值记录下重放即可。 1.记录键值 记录键值很简单,只需要根据文章(二)中的时间统计程序,把信号中每个位的时间记录下,然后根据位的编码规...

2018-07-03 08:09:51

阅读数 561

评论数 0

万能遥控器小制作(二)

1.想法 我的整体想法是通过红外接收头对遥控器发射的信号波形进行记录,然后使用的时候只要根据记录的数据发射就可以了。 现在手头上的模块包括以下三个部分组成。 所以,可以通过单片机对接收到的信号进行记录,因为没有示波器,所以整个过程中对信号的分析只能通过串口上传给电脑人工分析了。 2...

2018-07-03 08:09:19

阅读数 660

评论数 3

万能遥控器小制作(一)

六月这段时间一直在学车,所谓“学车苦,学车累,司机一滴酒,亲人两行泪”…还好在毕业时分拿到了驾照,感谢苍天。时值夏日,租的房子电价贼贵,不分峰谷电,不敢整夜开空调,但是早上老是会被热醒,作为一名新时代的程序猿:-),决定做一个定时开启空调的小系统,在早上的时候自动打开空调,以解我热醒之急。 ...

2018-07-03 08:08:17

阅读数 2945

评论数 1

uthash实现分析

uthash简介详见http://troydhanson.github.io/uthash/userguide.html,因为毕业论文中对其作了介绍,为避免查重率上升,这里不再作说明。 uthash全部使用了宏对一些函数作了实现。下面对其涉及的数据结构以及增、删、查找与遍历的流程作出介绍...

2018-04-26 16:31:58

阅读数 344

评论数 0

libwebsockets(四)增加ssl支持

libwebsockets增加ssl支持很简单,只需要在创建服务器时增加必要的信息就可以了。关于ssl参见http://www.iotshare.org/archives/121.html 一般来说只需要增加以下几行即可 struct lws_context_creation_in...

2018-03-17 14:34:22

阅读数 1254

评论数 3

libwebsockets(三)实现简易websocket服务器

实现websocket服务器本身也是libwebsockets库的初衷,本篇博客将介绍如何利用libwebsockets库来实现一个简单的ws服务器。 1、添加websocket协议 这里创建服务器句柄的流程与http一致,需要修改的地方只有在创建服务器时传入的协议数组,即 ...

2018-03-08 20:05:43

阅读数 5413

评论数 0

libwebsockets(二)实现简易http服务器

根据官方的说明来看,从2.0版本起,http协议的服务器已经自动集成在库中,不需要我们自己去实现。下面介绍如何使用库去实现http服务器。 1、填充服务器创建需要的参数 lws_context_creation_info是创建服务器句柄时用来定制服务器信息的结构体,所以我们首先需要填充该结...

2018-03-08 20:05:09

阅读数 3218

评论数 0

libwebsockets(一)简介

libwebsockets是一款轻量级用来开发服务器和客户端的C库。按照官方(https://libwebsockets.org/)给出的介绍来看,它不仅支持ws,wss还同时支持http与https,可以轻轻松松结合openssl等库来实现ssl加密。OK,本篇博客将介绍如何下载使用功能这么强大...

2018-03-08 20:04:23

阅读数 5924

评论数 0

I/O多路复用(二)epoll的内核实现简述

本篇主要简述epoll的内核实现,以及结合之前select与poll的实现分析作出它与这两者间的区别。 一、epoll简介 使用过epoll的同学都知道我们要使用epoll主要使用三个函数,epoll_create,epoll_ctl与epoll_wait。在man手册中给出的ep...

2018-03-02 13:36:11

阅读数 149

评论数 0

select的文件描述符集合 : fd_set

在使用select时我们必定会使用到fd_set,那么fd_set究竟是什么呢? 一、fd_set的相关介绍 在网络编程中,经常用到selec系统调用来判断套接字上是否存在数据可读,或者能否向一个套接字写入数据。其原型为:   int select(int nfds, fd_se...

2018-03-01 16:27:21

阅读数 485

评论数 0

I/O多路复用(一)select与poll的内核实现简述

select与poll是比较常用的多路IO复用,在处理高并发情况下使用的更多的是epoll。这篇文章主要介绍select与poll的内核实现,而epoll将在下一次的文章中介绍。 一、先谈谈文件操作函数与IO多路复用的驱动实现 1、文件操作函数 我们知道在linux(unix...

2018-02-28 12:55:45

阅读数 136

评论数 0

MQTT Broker Mosquitto(二)数据结构

本文主要介绍一下Mosquitto中用到的比较重要的数据结构,为之后的流程处理讲解奠定基础。为了清晰,结构体展示时只保留重要成员。 一、mosquitto_db struct mosquitto_db{ /*主题树的根结点*/ struct _mosquitto_s...

2018-02-07 14:29:26

阅读数 846

评论数 0

MQTT Broker Mosquitto(一)简介

写这个系列文章其实出发点有很多。一方面是很早之前看到了一个开源物联网云平台项目,叫做iotgo,有兴趣的同学可以去搜索后了解一下。iotgo使用的是node.js语言编写,是一个物理网设备管理的平台。我抽出了十一假期研究了一下它的源码:它使用angular做前端,前端通过websocket实时从后...

2018-02-07 14:27:26

阅读数 619

评论数 0

谈谈嵌入式linux设备启动

本文主要介绍嵌入式linux设备从裸板到加载bootloader,到启动linux内核和文件系统的大致过程。 先谈谈单片机的启动 接触过硬件知识的同学大概都用过51单片机、stm32等等。但是为什么我们把程序下载进去,然后接通电源程序就可以运行起来?我想这个过程需要我们来思考下。 我们在P...

2018-01-04 17:35:03

阅读数 269

评论数 0

新装树莓派raspbian系统无法通过ssh访问

表示手头上的学霸赠的树莓派用的都是好几年前的系统,今天心血来潮给它换个新系统,latest。但是死活却都不能使用ssh进行连接了,一开始以为是sshd服务没有安装(Ubuntu系统确有此坑),看了下server是有安装的。然后又去手动在rc.local中加了自启命令,死活都不行。到官网http:/...

2018-01-02 11:15:47

阅读数 826

评论数 0

微信跳一跳自动执行代码剖析

感谢学霸提供了这一途径,感谢原作者无私奉献。原作者代码参见https://github.com/wangshub/wechat_jump_game,给作者一个star。 手动版的这里不多说,图像识别,坐标计算跳跃,要想得高分会点的手疼。这里主要剖析下自动版的,介于本穷屌丝只有安卓机,这里仅介绍安卓...

2018-01-01 13:10:55

阅读数 9851

评论数 0

Typecho使用百度对象存储

百度对象存储前几年的时候用过几次,后来转战用了阿里的对象存储,不过阿里的越来越用不起了,回头看看百度的BOS,那个叫便宜啊。 本来想自己动手根据百度的SDK为博客写插件的,在github上搜了搜已经有现成的了,于是拿过来改了改,还是可以用的,这里就不多介绍了。需要修改的地方只有一处,在BosSer...

2017-11-07 22:22:27

阅读数 285

评论数 0

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