如果找到了对您有用的资料,烦请点击右手边的Google广告支持我继续共享知识,谢谢! http://dengpeng.spaces.live.com/

2008年3月31日星期一

Software conflict between Sun SPOT and BlueSoleil

BlueSoleil is not only a Bluetooth driver, but also the most easy-to-use, innovative, interoperable and widely accepted Bluetooth software. It can help you to easily connect to your Bluetooth devices.

BlueSoleil conflicts with Sun SPOT

But unfortunatly, BlueSoleil conflicts with Sun SPOT.

If you fortunatlly have too things together, you will find that the ANT script will take too long to find Sun SPOT connected from USB port. This problem stacked me and I wast a lot of time to sovle this. The following below is the printout from ANT script:

Buildfile: C:\Program Files\Sun\SunSPOT\sdk\build.xml
-pre-init:
-do-init:
-post-init:
init:
-override-warning-find-spots:
     [echo]
     [echo] WARNING: Using the port specified in the
     [echo] "port" property without any checks.
     [echo]
     [echo] We recommend setting the "spotport" (rather
     [echo] than the "port") property to enable features
     [echo] like interactive selection of another valid
     [echo] port if the specified port is unavailable.
     [echo]    
-prepare-conditions-for-find-spots:
-find-shared-basestation:
-run-spotfinder:
-decide-whether-to-run-spotselector:
-run-spotselector:
-collect-spotselector-result:
-clean-up-spotselector-output-file:
-spotselector-fail:
-decide-whether-to-start-basestation-manager:
-start-new-basestation-manager:
-do-find-spots:
info:
-check-run-spotclient-parameters:
-run-spotclient-once-with-remote-id:
-run-spotclient-multiple-times-with-remote-id:
-run-spotclient-once-locally:
-echo-progress-for-remote-runs:
-echo-progress-for-local-runs:
-run-spotclient-once:
     [java] SPOT Client starting...
(It will take a long time to process to next step!)
     [java] [waiting for reset]
     [java]
     [java] Local Monitor (purple-071018)
     [java] SPOT serial number = 0014.4F01.0000.0E90
     [java]
     [java] Application slot contents:
     [java]    C:\Program Files\Sun\SunSPOT\sdk\upgrade
     [java]    24977 bytes
     [java]    last modified Tue Apr 01 00:22:02 EST 2008
     [java]
     [java] Startup:
     [java]    Squawk startup command line:
     [java]       -flashsuite:10800000
     [java]       -Xboot:268763136
     [java]       -Xmx:478000
     [java]       -Xmxnvm:128
     [java]       -isolateinit:com.sun.spot.peripheral.Spot
     [java]       -dma:1024
     [java]       com.sun.spot.util.DummyApp
     [java]    OTA Command Server is enabled
     [java]    Configured to run the built-in dummy application
     [java]
     [java] Library suite:
     [java]    hash=0xa2fb25
     [java]    Installed library matches current SDK library
     [java]    Installed library matches shipped SDK library
     [java]    Current SDK library matches shipped SDK library
     [java]
     [java] Security:
     [java]    Owner key on device matches key on host
     [java]
     [java] Configuration properties:
     [java]    spot.external.0.firmware.version: 1.9
     [java]    spot.external.0.hardware.rev: 5.0
     [java]    spot.external.0.part.id: EDEMOBOARD_REV_0_2_0_0
     [java]    spot.hardware.rev: 5
     [java]    spot.ota.enable: true
     [java]    spot.powercontroller.firmware.version: PCTRL-1.79
     [java]    spot.sdk.version: purple-071018
     [java]
     [java] Exiting
-run-spotclient-multiple-times-locally:
-run-spotclient:
BUILD SUCCESSFUL
Total time: 2 seconds
(In conflicted environment, it will take more than one minutes to process~~~)
******************************
SPOT Command Completed!
******************************

 

I investigated this problem. I guess too many com ports are used by BlueSoleil. It is very difficult to locate the com port which Sun SPOT connected to. So the solution is Uninstall the damm BlueSoleil :)

2008年3月30日星期日

Run SPOT Host application without ant

Here is the original thread I followed to do steps below: https://www.sunspotworld.com/forums/viewtopic.php?t=1078&highlight=ant

1. Run your target SPOT Host application using ant in command line in Windows:

ant host-run -v

This will cause ant to show you the full arguments it is passing to the java executable, which you can then use yourself.  Like this below:

...
-do-host-run:
     [java] Executing 'C:\Program Files\Java\jdk1.6.0_04\jre\bin\java.exe' with
arguments:
     [java] '-Djava.library.path=C:/Program Files/Sun/SunSPOT/sdk/lib;'
     [java] '-DSERIAL_PORT=COM9'
     [java] '-Dremote.channel=26'
     [java] '-Dremote.pan.id=3'
     [java] '-Dspot.mesh.route.logging=false'
     [java] '-Dspot.log.connections=true'
     [java] '-Dspot.basestation.sharing=false'
     [java] '-Dspotclient.addin.classes=com.sun.spot.client.command.spotworld.Sp
otWorldSpotClientExtension,'
     [java] '-classpath'
     [java] 'D:\Projects\new\Demos\TelemetryDemo\Telemetry-onDesktop\build;C:\Pr
ogram Files\Sun\SunSPOT\sdk\lib\multihoplib_rt.jar;C:\Program Files\Sun\SunSPOT\
sdk\lib\transducerlib_rt.jar;C:\Program Files\Sun\SunSPOT\sdk\lib\spotworldext_r
t.jar;C:\Program Files\Sun\SunSPOT\sdk\lib\spotlib_host.jar;C:\Program Files\Sun
\SunSPOT\sdk\lib\spotlib_common.jar;C:\Program Files\Sun\SunSPOT\sdk\lib\squawk_
classes.jar;C:\Program Files\Sun\SunSPOT\sdk\lib\RXTXcomm.jar;C:\Program Files\S
un\SunSPOT\sdk\lib\spotclient.jar;C:\Program Files\Sun\SunSPOT\sdk\lib\desktop_s
igning.jar;C:\Program Files\Sun\SunSPOT\sdk\lib\spotworldext_spotclient.jar;D:\P
rojects\new\Demos\TelemetryDemo\Telemetry-onDesktop'
     [java] 'org.sunspotworld.demo.TelemetryFrame'
     [java]
     [java] The ' characters around the executable and arguments are
     [java] not part of the command.
     [java] [radiogram] Adding: Server on port 42
     [java] [radiogram]Removing: Server on port 42
     [java] Accelerometer Reader Thread Started ...
     [java] [radiogram] Adding: Broadcast on port 43
     [java] [radiogram]Removing: Broadcast on port 43
     [java] [radiogram] Adding: Server on port 42
     [java] [radiogram] Adding: Broadcast on port 43
     [java] [radiogram]Removing: Broadcast on port 43
     [java] [radiogram] Adding: Broadcast on port 43
     [java] [radiogram]Removing: Broadcast on port 43
     [java] Received request from: 0014.4F01.0000.0E90
     [java] [radiogram]Removing: Server on port 42
     [java] [radiogram] Adding: Output to 0014.4F01.0000.0E90 on port 43
     [java] [radiogram] Adding: Input from 0014.4F01.0000.0E90 on port 43
     [java] Accelerometer scale is set to 2G
     [java] Accelerometer zero offsets:
     [java]   2G: 465.0, 465.0, 465.0
     [java]   6G: 465.0, 465.0, 465.0
     [java] Accelerometer gains:
     [java]   2G: 186.0, 186.0, 186.0
     [java]   6G: 62.0, 62.0, 62.0
     [java] Accelerometer rest offsets:
     [java]   2G: 465.0, 465.0, 651.0
     [java]   6G: 465.0, 465.0, 527.0

-post-host-run:

host-run:

BUILD SUCCESSFUL
Total time: 1 minute 16 seconds
D:\Projects\new\Demos\TelemetryDemo\Telemetry-onDesktop>

2. Extract arguments from printout. In this case, the red lines are arguments used in this application. So I try to grab them out. Here below is the command with arguments thant can be executed without ant:

java -Djava.library.path="C:/Program Files/Sun/SunSPOT/sdk/lib"; -DSERIAL_PORT=COM9 -Dremote.channel=26 -Dremote.pan.id=3 -Dspot.mesh.route.logging=false -Dspot.log.connections=true -Dspot.basestation.sharing=false -Dspotclient.addin.classes=com.sun.spot.client.command.spotworld.SpotWorldSpotClientExtension, -classpath "D:\Projects\new\Demos\TelemetryDemo\Telemetry-onDesktop\build;C:\Program Files\Sun\SunSPOT\sdk\lib\multihoplib_rt.jar;C:\Program Files\Sun\SunSPOT\sdk\lib\transducerlib_rt.jar;C:\Program Files\Sun\SunSPOT\sdk\lib\spotworldext_rt.jar;C:\Program Files\Sun\SunSPOT\sdk\lib\spotlib_host.jar;C:\Program Files\Sun\SunSPOT\sdk\lib\spotlib_common.jar;C:\Program Files\Sun\SunSPOT\sdk\lib\squawk_classes.jar;C:\Program Files\Sun\SunSPOT\sdk\lib\RXTXcomm.jar;C:\Program Files\Sun\SunSPOT\sdk\lib\spotclient.jar;C:\Program Files\Sun\SunSPOT\sdk\lib\desktop_signing.jar;C:\Program Files\Sun\SunSPOT\sdk\lib\spotworldext_spotclient.jar;D:\Projects\new\Demos\TelemetryDemo\Telemetry-onDesktop" org.sunspotworld.demo.TelemetryFrame

3. It works! Enjoy :)

2008年3月29日星期六

CU-HTK 3.4 Windows Binary

CU-htk 3.4 Windows Binary, Compiled by Microsoft Visual Studio 6 + SP 6

http://www.mediafire.com/?c05pvs0mnzh

Digested from web

2008年3月26日星期三

微软推出数据中心节能系统微软推出数据中心节能系统

尽管目前的系统还是一个模型,但实验结果表明该系统能为数据中心节电30%
每个传感器的售价不过5美元到10美元,这些传感器不但能串联使用,还可以通过网络进行集中控制,绝对是数据中心甚至家庭节电不可多得的选择.

混合动力汽车、太阳能电池、环保购物袋,在节能环保观念日益深入人心的今天,任何有浪费能源的死角都难逃一劫.这个时候,人们把目光投向了那些隐藏在办公楼里的数据中心.数据中心承载的巨大功能有目共睹,但是和贡献成正比的是,它的能源消耗也绝对胃口不小.仅在美国,根据环保署上呈国会的报告,2006 年全美数据中心的耗电量达到了610亿千瓦时,约占当年美国全年电量消耗的1.5%.

如何为数据中心节能省电?光是制定一系列错峰用电的计划,能起到的效果恐怕微乎其微,更关键的是技术.本月,在美国华盛顿州中西部城市雷蒙德举行的2008年微软技术节上,微软研究中心的网络嵌入式解决方案研究小组展示了他们最新研发的数据中心节能系统模型.研究小组已经在微软公司的Windows Live Messenger服务器中心进行了系统的节电模拟实验,结果表明该系统能为数据中心节电30%.

该小组负责人赵枫(Feng Zhao)指出,他们改进了系统的算法,让系统的感应器根据数据中心不同区域的不同温度,来决定哪些服务器现在能保持最省电的待机状态,同时来控制空调的运转方式.赵枫说,尽管目前的系统还是一个模型,但是它将成为一个实实在在的科学仪表却是不容置疑的事实.目前,数据中心为了保证室内温度,在空调电费上花费电力不小,几乎占到了数据中心耗电量的“半壁江山”.而每个传感器的售价不过5美元到10美元,这些传感器不但能串联使用,还可以通过网络进行集中控制,绝对是数据中心甚至家庭节电不可多得的选择.

光是温度控制还不足以完全涵盖节电系统的全部内容,更重要系统内的算法设计.在多人在线游戏和IM(instant messaging services)放置服务器的数据中心,要决定哪些服务器必须运作是一个相当复杂的问题,为了确保服务器和客户端的通讯正常,数据中心采取负荷平衡算法.这种以“以防万一”为核心的算法虽然能保证通讯服务,但是却造成了电力的浪费.小组成员林晓(Lin Xiao)负责系统算法设计,与传统数据中心的负荷平衡算法不同,他反其道行之,设计了“负荷预测算法”(load-forecasting algorithms)和“负荷时间差算法”(load-skewing algorithms).负荷预测算法能够估算出在未来几小时内,有多少台服务器必须运作.而负荷时间差算法,通过根据预测,在空闲服务器中分配通讯量.

在劳伦斯·伯克利国家实验室(Lawrence Berkeley National Laboratory)工作的科学家乔纳森·考镁(Jonathan Koomey),关注数据中心的能量消耗已经有很长时间.在发表的几份关于数据中心能量消耗报告中,他指出服务器的平均运算量只达到了最高值的15%,也就是说大量的电力其实都是做了无用功.“数据中心应该更合理地利用他们的资金,而不是把钱用在缴电费上,”他对微软研究小组的节电项目研究,寄予了厚望, “研究成果一旦得以实施,对于数据中心来说又是一个不小的进步.”他认为数据中心的节电不应该只考虑电价问题,还应该综合气候等众多其他因素.而微软的这个节能系统的研发,与他心目中理想的节电方式已经十分接近,从实际应用的角度出发,乔纳森·考镁预见到这种系统的更大规模串联甚至可以协调一个地区的电力供应状态.

2008年3月24日星期一

RSS Filter Provider

I have done at least three projects about RSS, but I never think about these interesting topic like this one.

when you scribe many feeds, it is very hard to find out your topics of interest. This RSS service provide a filter to filte all spams.

Simple but great idea! Love it :)

http://feedsifter.com/

2008年3月22日星期六

Simple Sun SPOTs Environment Monitoring Network

I use Mysql as my backend database. This is version 0.1 code, I plan to modify lots of things later.

BEFORE START:

Download Mysql connector from http://dev.mysql.com/get/Downloads/Connector-J/mysql-connector-java-5.1.6.zip/from/http://mysql.inspire.net.nz/

SPOT SIDE:

/*
* StartApplication.java
*
* Created on March 21, 2008, 12:15 AM
*/


package org.sunspotworld;

import com.sun.spot.peripheral.NoAckException;
import com.sun.spot.peripheral.Spot;
import com.sun.spot.sensorboard.EDemoBoard;
import com.sun.spot.sensorboard.io.ITemperatureInput;
import com.sun.spot.sensorboard.peripheral.IAccelerometer3D;
import com.sun.spot.sensorboard.peripheral.ILightSensor;
import com.sun.spot.sensorboard.peripheral.ITriColorLED;
import com.sun.spot.peripheral.radio.IRadioPolicyManager;
import com.sun.spot.io.j2me.radiostream.*;
import com.sun.spot.io.j2me.radiogram.*;
import com.sun.spot.util.*;
import com.sun.spot.sensorboard.peripheral.LIS3L02AQAccelerometer;

import java.io.*;
import javax.microedition.io.*;
import javax.microedition.midlet.MIDlet;
import javax.microedition.midlet.MIDletStateChangeException;

/**
* The startApp method of this class is called by the VM to start the
* application.
*
* The manifest specifies this class as MIDlet-1, which means it will
* be selected for execution.
*/

public class StartApplication extends MIDlet {
//private IAccelerometer3D accel = EDemoBoard.getInstance().getAccelerometer();
private LIS3L02AQAccelerometer accel = (LIS3L02AQAccelerometer)EDemoBoard.getInstance().getAccelerometer();
private ITemperatureInput tempSensor = EDemoBoard.getInstance().getADCTemperature();
private ILightSensor lightSensor= EDemoBoard.getInstance().getLightSensor();
IEEEAddress ourAddr;
protected void startApp() throws MIDletStateChangeException {

accel.setScale(LIS3L02AQAccelerometer.SCALE_6G);


new BootloaderListener().start(); // monitor the USB (if connected) and recognize commands from host

ourAddr = new IEEEAddress(Spot.getInstance().getRadioPolicyManager().getIEEEAddress());
System.out.println("Our radio address = " + ourAddr.asDottedHex());

while (true) {
try {
Thread.sleep(7500); //pause for 7.5 seconds
} catch (InterruptedException ex) {
ex.printStackTrace();
}
getReading();
}
}

protected void pauseApp() {
// This will never be called by the Squawk VM
}

protected void destroyApp(boolean arg0) throws MIDletStateChangeException {
// Only called if startApp throws any exception other than MIDletStateChangeException
}

private void getReading() {
try {
String msg = String.valueOf(ourAddr.asDottedHex())+";"+
String.valueOf(new java.util.Date(System.currentTimeMillis()))+";"+
String.valueOf(getGForce(accel.getRawX()))+";"+
String.valueOf(getGForce(accel.getRawY()))+";"+
String.valueOf(getGForce(accel.getRawZ())-1)+";"+
String.valueOf(tempSensor.getCelsius())+";"+
String.valueOf(lightSensor.getValue());
sendOut(msg);
try {
Thread.sleep(10);
} catch (InterruptedException ex) {
ex.printStackTrace();
}
} catch (IOException ex) {
ex.printStackTrace();
}
}

private void sendOut(String msg) {
System.out.println(msg);
try{
RadiogramConnection conn =(RadiogramConnection)Connector.open("radiogram://0014.4F01.0000.1455:100"); //base station address
Datagram dg = conn.newDatagram(conn.getMaximumLength());
try{
dg.writeUTF(msg);
conn.send(dg);
}finally{
conn.close();
}
}catch(IOException e){
}
}

private double getGForce(int raw) {
return (raw-465.5)/62;
}
}



HOST SIDE:




/*
* SunSpotHostApplication.java
*
* Created on December 21, 2006, 16:45 PM
*/


package org.sunspotworld;

import com.sun.spot.peripheral.NoAckException;
import com.sun.spot.peripheral.Spot;
import com.sun.spot.peripheral.radio.IRadioPolicyManager;
import com.sun.spot.io.j2me.radiostream.*;
import com.sun.spot.io.j2me.radiogram.*;
import com.sun.spot.util.IEEEAddress;

import java.io.*;
import java.sql.*;
import javax.microedition.io.*;


/**
* Sample Sun SPOT host application
*/

public class SunSpotHostApplication {

/**
* Print out basestation address.
*/

public void run() {
IEEEAddress ourAddr = new IEEEAddress(Spot.getInstance().getRadioPolicyManager().getIEEEAddress());
System.out.println("Our radio address = " + ourAddr.asDottedHex());

while(true){
try{
RadiogramConnection conn = (RadiogramConnection) Connector.open("radiogram://:100");
Datagram dg = conn.newDatagram(conn.getMaximumLength());
try {
conn.receive(dg);
String rawData = dg.readUTF();

insertDB(rawData);
} catch (NoAckException e) {
e.printStackTrace();
} finally {
conn.close();
}
}catch(IOException e){
e.printStackTrace();
}
}
}

/**
* Start up the host application.
*
* @param args any command line arguments
*/

public static void main(String[] args) {
SunSpotHostApplication app = new SunSpotHostApplication();
app.run();
}

private void insertDB(String rawData) {
String dataArray[] = rawData.split(";");
String adr = dataArray[0];
String time = dataArray[1];
double x = Double.parseDouble(dataArray[2]);
double y = Double.parseDouble(dataArray[3]);
double z = Double.parseDouble(dataArray[4]);
double temp = Double.parseDouble(dataArray[5]);
int light = Integer.parseInt(dataArray[6]);

try{
Statement stmt;
ResultSet rs;

Class.forName("com.mysql.jdbc.Driver");
String url="jdbc:mysql://localhost:3306/envMonDB";
java.sql.Connection con = DriverManager.getConnection(url,"root","");
stmt=con.createStatement();

stmt.executeUpdate("INSERT INTO `envMonDB`.`spotsdata` (`adr` ,`time` ,`x` ,`y` ,`z`,`temp`,`light`)VALUES ('"+
adr +"', '"+
time + "', "+
x+", "+
y+", "+
z+", "+
temp+", "+
light+")");

}catch (Exception e){
e.printStackTrace();
}
}
}



BEFORE RUN:



Add Mysql connector to file "build.properties" in host side application project path


user.classpath=C:\Program Files\netbeans-5.0\platform6\modules\ext\swing-layout-1.0.jar:C:\Program Files\netbeans-5.0\ide6\modules\ext\AbsoluteLayout.jar:D:/mysql-connector-java-5.1.6-bin.jar



P.S.



Someone has already built a very cool application to control heater using Sun SPOT: https://greenfire.dev.java.net/


2008年3月8日星期六

看不见的防伪标签

转载自科学美国人中文版2008年3月号

rfid @ sciam 1

rfid @ sciam 2

rfid @ sciam 3

rfid @ sciam 4

Introduction To SPOT

I have updated the slides and posted them to SlideShare. I hope it might be useful to someone. Open Source and Share is GOOD :)

Paul Peng DENG (Mr.) Mobile: +61 402 837 ???

???? Albion Street, Brunswick West VIC 3055, Australia ?????@?????.unimelb.edu.au


I am a student studying Master of Engineering in Distributed Computing at University of Melbourne and I am especially interested in WSN and RFID.

I have studied subjects Sensor Networks and Applications and Mobile Computing Systems Programming which are close related to WSN. And currently, I am studying Distributed Algorithms which will enhance my understanding of different types of algorithms in distributed systems.

I fell in love with Sun SPOT since July 2007 and invited to give speak in lecture. In the lecture, I demonstrated some interesting and eye-catching applications I made myself, like Game Panel Demo. All source code and video clips are available at blog of David G. Simmons and sunspotworld.com.

I cherish this opportunity very much. I hope I can join the development of the revolutionary product to learn more fantastic ideas and share my knowledge with all people as well.


RESEARCH INTERESTS

  • Context-aware Computing

  • Wireless Sensor Networks

  • Human-Computer Interaction

  • Radio-frequency identification (RFID)

  • High Performance Cluster and Grid Computing;

  • Data Stream Management System


EDUCATION

M.Eng. Computer Science and Software Engineering, University of Melbourne, Victoria, Australia, 2006 – present (by coursework)

Advisor: Dr. Lars Kulik

B.Eng. Software Engineering, Southwest Petroleum University, China, 2002 - 2006


HONORS AND AWARDS

3rd Prize, “Challenge Cup” National College Science and Technology Competition, China, 2005

2nd Prize, “ConocoPhillips Cup” Science and Technology Competition, Southwest Petroleum University, 2004

ConocoPhillips (China) Scholarship, Southwest Petroleum University, 2004

Undergraduate Scholarship, Southwest Petroleum University, 2002-2006


MEMBERSHIP AND SERVICES

Invited Speaker, Introduction to SPOT, Mobile Computing Systems Programming, UniMelb, 8 Aug. 2007

Only member of Master by coursework in SUM Research Lab, UniMelb, 2007 – present

Department Open Day Volunteer, University of Melbourne, 2006, 2007

Grid Application Demo Volunteer, University of Melbourne, 26 Aug. 2006

Organizer, Microsoft (China) Tech Days in Campus, Southwest Petroleum University, 2004

Founder of Student Photographer Task Group, Southwest Petroleum University, 2003-2006


PROJECTS SUMMARY

Wireless Sensor Network Environmental Monitor: Use WSN to monitor temperature, light changes in department building. Sensing Ubiquity Mobility (SUM) Research Lab, 2007


It is a simple and traditional sensor network application. I have two goals:

1. Retrieve the temperature data in different places in building. Since many people in ICT building complained about air conditioning system. It is often freezing in one side and hot on the other.

2. To test how efficiency can we deploy a WSN using SunSPOT compare with other platforms (like xbow).

I connected a USB charger to each SPOT. And they did work several days. I got one kit only, so I can not test the scalability.

In next step, my lab ordered 30 kits, which might be used to extend the cover area and to test multi-hop algorithms. I hope I can provide these real time temperature data to optimize air conditioning system to save energy and reduce carbon emission.


Sun SPOT Game Panel: Use 3D accelerometer chip in SPOT to retrieve human gesture data and simulates mouse actions. It works like Nintendo Wii Game Controller. SUM Research Lab, 2007


The basic idea is to use Sun SPOT to simulate a normal pointing device and entertainment device as well.

I demonstrated how to use this cool app to play a cool game (NeverBall) in the lectures I presented in Aug. 2007 and Mar. 2008 at UniMelb. It is really an eye-catching app that most of people interested in and decide to buy one kit later.


Sun SPOT WebSerives (Planning): I plan to build a web service to expose data in Sun SPOT network. Apps can invoke this webservice to discover existing SPOTs and retrieve specific data from specific SPOT(s).

Next step would be automatically retrieve data from SPOTs and stored into DB or Data Stream, then if queries from customers, the service can response based on DB or Data Stream Management System without touching Real SPOTs every time to optimize energy used in nodes and response time.


FeedEx RSS Reader: A speech enabled C# RSS Reader. It works like a radio which only speaks the contents contains keywords defined by user and it also can compress text contents to MP3 files. SWPU, 2006


This is my final project of undergraduate study. Users can define keywords and subscribe to search engine to trace events which related to keywords.

Unlike the common RSS Readers, FeedEx can use English, Chinese and Japanese to talk and compress talks to MP3s using Microsoft Speech SDK and Lame MP3 engine. People can download generated MP3 contents to MP3 players to listen on the go.

In next step, I would like to integrate speech recognition capability and full speech control. I think it might be helpful to some disabled people.


Digital Pen: A small pen like device that can record all vector movements while writing or drawing on any surface and translates recorded data to text or vector image. SWPU, 2005

My idea is to attach a sensor to normal pen. The pen can retrieve the vector movement and change of pressure on the pen point on any surface people write on.

Using these data, computer or other hosts can translate them from hand writing to ASCII characters and vector image as well. Since the pressure while writing is captured which I believe is difficult to imitate, a real digital signature can be generated combined with other data.

But the most difficulty of the project which I can not solve is how to preciously get the absolute position of pen point on surface in changing gesture and environment.


JTelegraphConverter: A natural language processing project to translate telegraph like plain text to friendly readable text based on machine learning. UniMelb, 2007


The basic goal is to use machine learning algorithms to analysis new telegraph like plain text (no punctuations) and predict correct punctuations based on previous provided training materials.


RESEARCH PAPERS

Processing High Volumes of Streaming Data, Sensor Networks and Applications, UniMelb, 2007

Key Management in Wireless Sensor Networks, Software System Security, UniMelb, 2007

A Survey of Requirements Engineering Methods for Pervasive Services, Systems Requirements Engineering, UniMelb, 2007

An Introduction of RFID Applications in Petroleum Industry, SWPU, 2004


SKILLS

Language: Chinese (Native speaker), English

SRA and Documentation: UML, Visio, Rational Rose, LaTex, MS Office, Adobe Acorbat

Implementation: Java, C#, SQL, Python, C; J2ME, .Net, J2EE, LAMP, MPI, OpenMP; HTML, Ajax, Swing, SWT, WPF; Network Socket, CORBA, RPC, RMI, Web Service, REST; ADO.Net, JDBC, ODBC, ADO; XML, MS SQL, MS Access, Mysql, Oracle, PostgreSQL; Apache Tomcat, Apache Axis, IIS; Windows Server System, Linux/Unix; CVS, SVN

Testing: Mercury WinRunner, Apache JMeter

Build and Distribution: Apache Ant, InstallSheild, Nullsoft Scriptable Install System

TRANSCRIPT OF ACADEMIC RESULTS


Year

Sem

Code

Subject Title

Mark

Grade

2006

2

433620

Engineering for Internet Applications

074

H2B

2006

2

433652

Distributed Systems

077

H2A

2006

2

433653

Mobile Computing Systems Programming

078

H2A

2006

2

433661

High Performance Database Systems

083

H1

2007

1

433645

Software System Security

080

H1

2007

1

433654

Sensor Networks and Applications

081

H1

2007

1

433678

Cluster and Grid Computing

076

H2A

2007

2

433646

Systems Requirements Engineering

070

H2B

2007

2

433677

Networks & Parallel Processing

066

H3

2007

2

433684

Machine Learning

077

H2A


1


2008年3月5日星期三

Information Technology Project Management

 

Jack T Marchewka, Information Technology Project Management,Wiley,2003.(ISBN 0 471 39203 0)

http://www.mediafire.com/?swmy9j9zazx

2008年3月2日星期日

全地形机器人足设计

今天和Peter讨论了一下WSN的一些问题,他提到以后WSN中的Gateway节点将有机器人来自动更换电池和维护。我当时就在想,由于地形的限制,这肯定是没法的,但是今晚就看到了这个视频,彻底改变了我的认识。

机器人,并非科幻,是可行的!