首页 > 电脑 > 远程查看HTPC系统状态

远程查看HTPC系统状态

2009年7月10日 发表评论 阅读评论

最近沉迷于单片机,购物冲动很大,老想着把板子买回来,但是60澳元我可以买不少好东西了;单片机这种东西我原理都懂,买回来无非是验证一下,实用还很远;关键是如果真的出硬件问题我还是没办法解决;当然试验一下也是有好处的,好处就是真的可以做电动玩具耶,顺带做做工业控制。

为了克服不理智的购物冲动,我决定想点不需要花钱也能做的事情。

比如:将BT和ED2K软件的进度上传到网络。

昨天试了一下,BitComet是有WEB管理界面的,至少可查询下载状态;其他电驴,amule,uTorrent都有这个功能,简直是BT和驴子的标准配置。

因此写个Java程序,访问他们的web界面,取状态,生成HTML文件,FTP到我的WEB服务器目录下,yeah,以后可以在办公室查看自己的下载进度了。

HTTP和FTP的库使用Apache的HttpClient,如果他们可以输出RSS就更好了,至少BitComet不是,那么需要解析一下HTML文件,手工解析一下吧。我记得用过这样一个库,不知道是不是Jericho HTML Parser。反正回家翻翻上次那个Java工程的代码即可,我用它取过Mtime所有的图片,很好用。

不知道要花多少时间,FTP部分加上配置环境一小时就搞定了,但还是应该有个界面,可以设置状态刷新间隔的时间。最好是生成XML。

如果有时间的话,还可以顺便把系统的信息折腾上去。其实Web服务器真的作为一个平台,不过是什么地方来的信息,都生成一个XML或HTML到web服务器的目录下,然后第三方软件就可以轻松访问了。Apache起一个中转的作用,不想要Apache的话,也可以直接读取目标文件。

A,如果接入的是Arduino,那么由一个单独的Java程序通过读取串口获得,然后转存文件。
B,如果喜欢获取Windows机器的系统信息,比如内存和CPU的使用情况,就用一个C#程序搞定,转存文件。
C,如果跑的是Linux的机器,可以让DF帮忙写一个,也转存文件。
D,获取BT的传输状态,因为BT软件都有WEB管理页面,
E,检查网络连接情况,估计也要用C#才能检测到了;其实也未必,只要使用HttpClient不停地尝试访问某网页,成功则表明网络连通,否则则失败,结果转存问题。(这里有个矛盾,就是网络如果断了,那就没办法更新外部网页了,所以实际不可行)
F,摄像头的定时拍照,这个也简单,就是把定时拍照的目录设定到Apache的目录里,然后写个PHP,可以根据文件名来取到最新拍摄的一个(如果只希望上传最新的一张的话)。

而发布到外部WEB的程序则是另一个,这样就实现了信息来源和信息处理的分离。

信息处理的东西可以做成配置文件的格式,比如[URL/AUTH, TRIGGER, HANDLER]这样的组合。
TRIGGER可以是定时,每隔五分钟,也可以是任意驱动(比如使用RSS来驱动?RSS其实没啥用,但是Twitter的RSS可以用手机更新,那就是可以随时随地触发这个Trigger)。
Handler除了上传到网页,也可以干任何事情,比如网络断了就用声音提示(半夜则噤声),诸如此类。

用这个方法甚至扩展也方便。任何人需要扩展,只要实现对应的接口,编译成Jar包,放到指定目录下,然后编辑一下配置文件就可以用了;或者禁用掉某些也超容易,不需要修改代码。。。超帅啊。

最后的研究成果相当不错耶。特别是F,很不错耶。

这个帖子的名字也蛮难取的,“把HTPC折腾成数据源”,因为HTPC都是24小时不关机的吗,数据源也描绘出了这个东西的目标,但是数据源这东西貌似是数据库专用。还是改成现在的这个。顺便改改错别字。

原创的话痨如需转载请注明来源:http://blog.chenyi.me/blog/10436;转载的文章我会力所能及地注明来源如有疏漏请留言指正。

文章的脚注信息由WordPress的wp-posturl插件自动生成

分类: 电脑 标签:
  1. 本文目前尚无任何评论.
  1. 本文目前尚无任何 trackbacks 和 pingbacks.