万能遥控器小制作(三)

在上一篇文章中,我们已经知道遥控器红外的编码基本规范,但是每个键值是什么编码我们还不得而知。其实,每个键值是按照什么规则编码我们并不care,我们只需要将键值记录下重放即可。1.记录键值记录键值很简单,只需要根据文章(二)中的时间统计程序,把信号中每个位的时间记录下,然后根据位的编码规则就可以反推出这个位的含义。下面是我记录下的开空调(制冷26度)和关空调的编码,使用时需要加上起始位与结束位。开空

- 阅读全文 -

万能遥控器小制作(二)

1.想法我的整体想法是通过红外接收头对遥控器发射的信号波形进行记录,然后使用的时候只要根据记录的数据发射就可以了。现在手头上的模块包括以下三个部分组成。所以,可以通过单片机对接收到的信号进行记录,因为没有示波器,所以整个过程中对信号的分析只能通过串口上传给电脑人工分析了。2.困境在作出想法过后便遇到了困境,那就是单片机资源不足的问题。目前板上的单片机为stc11f02e,具有256字节的内部ram

- 阅读全文 -

万能遥控器小制作(一)

六月这段时间一直在学车,所谓“学车苦,学车累,司机一杯酒,亲人两行泪”...还好在毕业时分拿到了驾照,感谢苍天。时值夏日,租的房子电价贼贵,不分峰谷电,不敢整夜开空调,但是早上老是会被热醒,作为一名新时代的程序猿:-),决定做一个定时开启空调的小系统,在早上的时候自动打开空调,以解我热醒之急。1.准备材料树莓派 x 1(非必须)安卓手机 x 1 (非必须)红外对管 x 151单片机 x 1(非必须

- 阅读全文 -

外部排序

以前电话面试曾经被问到一个题目,如果只有4G内存,但是需要对200G数据进行排序,应该怎么操作。当时的反应就是进行外部排序,但是具体怎么外部排序我却说的不明不白。觉得知识有些时候还是需要拿出来晒一晒,不然发霉了就不好了。1.问题提出有4个G内存,需要对磁盘上200G数据进行排序,如何进行?2.采用归并排序思想将所有数据一起加载进内存进行排序是显然是不可能的,所有需要分段进行排序。(1)将200G的

- 阅读全文 -

三层转发基本原理

1.网络层定义网络层位于OSI模型的第三层,介于运输层与数据链路层之间,提供发信端到目标端之间的信息传输服务。网络层的数据以IP数据报的形式传输。2.IP协议IP提供了不可靠,无连接的数据报传送服务。它定义了在互联网上传输数据的具体格式。IP实现两个基本功能:寻址及分片。IP地址由网络号和主机号两部分组成,网络号标识互联网中的一个特定网络,主机号标识在该网络中的一台特定主机,最常用的地址表示方法是

- 阅读全文 -

二层转发基本原理

1.二层转发基础这里的二层指的是计算机网络七层模型中的二层,从第一层到第七层分别是物理层、数据链路层、网络层、运输层、会话层、表示层和应用层。还有一种说法是4层(或者是5层)网络模型,分别是数据链路层、网络层、运输层和应用层,如果按照5层的说法还要加上物理层。这里的二层指的是数据链路层,经常被简称为L2。以太网基础以太网冲突检测CSMA/CD:载波侦听与冲突检测,主机在发送数据包时,先检测线路是否

- 阅读全文 -

Ubuntu搭建git服务器

最近在开发项目的时候,代码的开发环境是在Windows上,代码的运行调试环境在Ubuntu Linux上,为了便于代码管理和版本回溯(其实就我一个人做着玩的项目),觉得在Ubuntu上搭建个git服务器是个不错的选择。1.安装git软件sudo apt-get install git-core2.安装openssh软件openssh的作用是对用户进行鉴权、传输的过程进行加密。一般Ubuntu都会自

- 阅读全文 -