CSK.Blog--个人原创Weblog

DIY snowman...

可能是我生下来见到的最大的雪天了,今天体验了下童年... 看了别笑...

恩,造型很另类...

基本是1:1高度的了

 

面部特写...

 

远景

申明:本人不受理任何网站设计或制作的任务

一直有人询问我能不能帮忙制作网站这类的事情,所以一不高兴一一回答了。在此统一答复:

近期(1-3年内),我原则上不受理任何网站设计或者制作的事情。无论有多高的报酬

但对于一些特殊情况,我可以无偿帮助制作(但应该不会有)

TODO List

已经觉得空虚了, 那么这个寒假就别闲着好了。

下面列出一些我寒假计划要做的事,还有一些就不便透露了。

1.智能化家庭系统 Phase#1

前一段时间虽忙着考G/T,随后又是申请,不过还是做了些其他的事。比如为了实现职能家庭系统购买的服务器。

目前服务器可以通过home.csksoft.net访问到,运行的是Debain r4。不过目前没有多少实现维护,开放的服务只有SSH、web、bt/emule下载、http代理。

其实买这个服务器最核心的目的就是让它其他中央服务器的作用。

智能化家庭系统是我很早就好TonyHuang商量的项目,不过一直没机会和他合作。而且我实行的方案可能比较封闭(暂时考虑我家情况)。

下面是Phase #1的目标和一些实施想法,希望有经验的朋友能提供帮助

1). 智能摄像监控设备

    这个是应老爸要求,同时考虑小区的安全情况,所以把它作为第一考虑要素。需要实现的功能是在家的周围安装摄像头若干。要求智能系统能对采集的画面作实施图像识别,至少需要能实现仅对画面中有运动物体的时刻进行录像监控,而对陌生人、动物、家人的情况加以识别和报告。

    目前采取的方案是购买基于VHF波段的无线摄像头,因为不需要很高的清晰度,同时模拟信号还能被家里的电视机接收到。这种摄像头在taobao上大约¥150一个,采用9V电池供电

    在服务器上通过VHF接受终端将视频采集通过usb传输至linux, 识别模块为了加快效率采用OpenCV

 

2).通讯网络

    因为不可能为了设置这套系统重新敲墙啥的,所以我一直把电力线传输和无线传输放在首位。不过考虑目前自己的实力有限,而现成的电力线传输模块单块需要¥300,就考虑采用市面上的无线模块了。虽然很简陋,传输速率只有10kbps,不过单片模块只需要¥10左右,绝对可以接受。

    基于无线模块的通讯网络可以用以组建家庭环境的控制和感知网络,比如简单的将各类插座、开关的控制通过web界面来管理。今后在外面通过登陆家里网站管理空调温度啥的还是很不错的。

    其次我也考虑设置基于GSM的通讯网络,家里有不少闲置且过时的手机,如果能查到GSM模块的datasheet就可以加以利用。当然实现一个短信发送还是相当容易的。这个可以实现目标1中当探头捕获可疑画面时候能通过短信联系我们。

 

3).供电系统

   这个主要是针对终端控制设备的供电,以前计划采用电力线通讯的时候这个问题不算是问题,但如果采用无线的话就必须要考虑。我目前的计划是

  a). 无线探头和一些弱点开关采用蓄电池+太阳能/AC混合供电模式,这样同时还能实现一个走道应急照明系统。考虑到摄像头会安装在室外,我想光照应该不成问题。

  b). 强电开关部分,按照我家的情况,强电的控制应该就在AC电源附近,那么直接用变压器吧...

 

4).和电话交换网络的互动

  这部分目前主要想实现自动语音应答(就是“要xx功能请按1”这样),这部分只需要modem配合目前现成的软件即可实现。至于电话交换机我觉得目前还没有必要。这部分的功能是实现除了web管理接口外,能通过电话进行管理

 

5).局域网络

  就是计算机网络,这部分需要实现的功能有,家庭的档案管理接口和软件仓库以及下载服务器。其实下载服务器采用mldonkey已经足够了,对于家庭的档案管理接口我计划Phase#1就是用一个SVN或者SMB做一个很简单的文档管理即可。软件仓库是考虑到今后家里电脑需要重装,只需要登录对应界面,服务器会为目标机器配置安装程序自动安装。这个主要为了我春节后去北京实习,如果家里网络或计算机故障父母可以自己着手解决。(我家网络拓扑结构还算有点复杂了...)

 

6).交互接口

  目前首要考虑的还是web界面,主要是这样可以通过手机也能访问。而增加终端机我暂时就不考虑了。目前没这个能力制作...不过可以考虑将服务器作为一个大型机顶盒来用。不过要实现语音识别交互目前还是很容易做到的。不知道linux下有没有什么优秀的TTS系统。

 

上面就是我Phase#1的计划,目前纯属YY。而且作为一名CSer,好久没有基础电子方面的东西了。就算是圆我童年的梦吧。或许当初选专业让我现在再选择一次的话,我会选择电子方向。无论我再累,看到PCB板和芯片我总能提起精神,但现在让我看VS2008,我只想关掉。不过毕竟不是自己专业,如果有在行的朋友希望能给点建议阿。

 

2. ETH_SENSOR

   由于没有完成,就用codename称呼好了。我想在1周内将它完工。我也不指望这个程序将来会被多少人使用,仅仅作为我接触linux开发、涉足开源界的第一步吧(其实我很多东西都开源了)

 

3. 学习数学

   觉得自己数学年年退步,都不配做学计算机的人了... 所以这个寒假要恶补,没什么说的

 

4. 玩

   要逼自己玩,虽然看了上面的计划,我已经不想玩了...

-----------------------------

和以前一样,有时一片雄心勃勃的计划书,就看执行情况了。

假期开始

虽然这周三已经考完了本学期所有的考试,同时也标志这本科课程全部结束。不过严格的说今天才是校历上“法定”的寒假开始。

回想自己3年半走过的路,大一整个寒假我用来开发Stereoic,暑假学开车和作ReformCore以及计协网站。大二的寒假用来读新东方以及兼职。暑假前期用来完成兼职和ReforeCore,后半部分学校开学完成了EZ-UML。大三寒假完成第二版网站,暑假用来考GRE和实习。平时除了大一时候的放纵自己以及大二忙于协会事务外。几乎都是在coding中度过的(这学期是申请)。

现在大四的寒假开始了,或许我能够好好休息一阵了。

展望未来,虽然申请结果还不明朗,但春节以后应该说是相当明确的:去MSRA实习同时作为毕业设计。回忆自己走过的这3年半,我想我可以问心无愧的说我的本科没有白读,不是混出来的

长时间过着紧张的日子,现在还真不习惯。昨天下载了魔兽世界客户端,尝试着玩一回。唉,现在的时光是幸福的。

记得我曾和gf开玩笑说“现在大好时光都用来读书了,多浪费。等老了青春都没了”,不过那终究是玩笑话。我想与其让我过着安逸但空虚的生活,还不如现在好好拼搏一下。曾记得有为长者对我说过,现在每天省出点睡眠时间用来做事,这样日积月累,时间长了你领先别人的差距是人家根本无法追上的。我也不指望能领先别人,但他的话至少激励了我,希望今后还能保持现在的状态。

Codename: ETH-SENSOR[Ver 0.1]

其实原本打算推迟发布的时间,不过既然有言在先,就先放出目前的版本。

我先把一些事情交待了(我有一个习惯,不会对那些已经在网站或blog上明确给出答案的问题给与回复。这次也是一样):

1.我目前还是对这个项目很不满意,因为它的完成度还是很低,从等会我列出的功能列表上就能看出。所以目前这个版本可用性不是很强,我已经打算在寒假放出一个我自己认为合格的版本。

2.这是我第一次接触GTK编程,甚至也是我第一次接触linux下的程序开发(之前只是编译过单文件的module)。所以一些不符合开源界规范的事情就请各位多多包涵。

3.整个工程从创建到提交只有5天时间(01/12/2008 - 01/16/2008),期间还有2天时间用于出国申请和考试复习(其间有2门考试),所以代码质量有一定影响,同时在后期(这是我网络课的大作业)临近作业检查时候也作了一些妥协。所以在寒假中会对那些缩水的部分加以改善

4.对于程序中尚未完成的部分或者会存在问题的部分,已经用"TODO"和"FIXME"标出了

5.本程序使用GTK+库和glade库,同时必然也使用了libpcap

6.不提供可执行版本,请自行编译(这个没啥好说的)。今后在完善后可能会考虑出rpm或者deb包

7.暂时不考虑为windows移植

8.采用的许可证是GPL

9.我开发的环境是Ubuntu 7.10, Anjuta IDE 2.3.0(unstable)

----------------------------------------------------

目前具有的功能:

1.完全图形化界面

2.基本的截包功能

3.包过滤(Layer II/III的协议过滤、端口过滤、ip地址过滤)

4.包数据察看

5.包的Decoder(采用树形结构表示,目前实现的是ethernet MAC, ARP/RARP, ICMP, IGMP, IP, UDP, TCP

6.包的保存(tcpdump兼容格式)

7.监听网卡选择

 

距离我满意还缺少的功能

1.包数据的重组

2.应用层协议的decoder

3.更完善的Filter

4.可配置的包decoder引擎

 

程序运行效果:


点击察看原始尺寸

 

再附上些开发的环境,其实用glade还是很方便的:


点击察看原始尺寸


点击察看原始尺寸

 

源代码下载:

http://www.csksoft.net/data/legacyftp/Products/code_and_lib/code_eth-sensor_src_0.01.rar

 

编译和安装

1. 使用Anjuta IDE编译

2. 采用常用的编译安装流程:

./configure

make

make install

 

 

最后再补充下,这个程序和那些商业软件或者目前常用的tcpdump还是不具有可比性的,我也不打算在功能上有所超越。不过可能今后打算做一个可配置、扩充的包解析引擎。我希望实现的效果是:改善目前linux下GUI程序缺乏的情况,毕竟就我个人而言,不是所有时候都喜欢开命令行操作的,很多时候点点按钮还是很省力的事情。

 

其实开发这个项目效率很低,就完成的功能来说,换成windows,我可能2天内就能做完,但是linux下就不同了,很多时间都浪费在研究GTK+的使用上,GTK+是个很优秀的GUI库,或许有足够好的IDE作为支撑,windows下那些都是小儿科。

 

这个项目如果将来做的好,我的计划是发布在SourceForge.net, 不过将来肯定是没时间维护的了

the lost part

[2007.2.26 .... 2008.1.16]

还算看得过去,我的CG实践作业及代码

(略文,请点标题进入) 告别了2007,好安心做点正事了。不过恐怕还是安心不下来,因为近期需要完成的任务太多太紧,我有点担心自己的能力了。CG作业已经完成了,我花了3天时间写完了光照渲染、2天时间写掉了光栅图形生成的Demo。虽然不是特别快,但长时间的身心疲惫,能有这样的结果我已很满足了。可能是自己喜欢追求完美,对接下来的网络作业我坚持要做到自己满意,所以还是要坚持在linux下开发sniffer。(或许有人认为我是自讨苦吃,让他们说去吧)。 好了,来说说这个作业吧。发布它的原因不是我觉得做得好,是因为 1. 这些都是Demo性质的作业,今后不会有什么特别应用,不过如果刚学习CG可以当作参考 2. 程序构架上我还是花了不少精力的,特别一些代码片断,比如仿造Photoshop的色彩选择器、演示光栅绘图的框架代码、基于PS2.0 ASM的渲染框架,这些今后如果各位需要作类似的东西,不妨拿去直接用。一些手法也可以作为参考(当然我保留版权)。

------------ 1.光照模型的实现 2.光栅图形生成
分页:[«]1[»]

Copyright Shikai Chen 2000-2012. Powered By Z-Blog(CSK Modified)