Dreamworld Studio Projects
http://www.hesicong.net/myProjects/My%20projects.html
I'm now a graduate student in UESTC, China. My major is Mechatronics Engineering. I have more than 12 years of computer experience since 1995, both in software and hardware. I began my first program on GWBASIC at 1992, and after I had my first computer, I learned computer languages including QuickBasic, Visual Basic, C++, C, C#, Python. Now I use C# most, sometimes use C++/CLI. I have experience in developing Windows programs, PocketPC programs. When I'm sohpomore, I developed GSM applications, please see detail below. I got Microsoft Excellent Intern when I finished my practise from June to August, 2007.
Contents
0. About me
1.1.GSM SMS/EMS PDU Decoder
1.2.IrMC vCard decoder
1.3.IrOBEX protocol
1.4.File Transfer Library
1.5.Remote Serial Tool
1.6.PPT to JPEG convertor
1.7.PPT Quick Viewer
1.8.SST89E564RD Flash Download Tool
2.1.PDA Screen Turn Off
2.2.IP In Your Hand
2.3.PocketPC Earth Quake Record
2.4.PocketPC SMS Sender
1.PC
Language: VB.NET
Date: Before 2007
Assembly: class library DLL and demo EXE
Description:
SMS PDU is the hex value codes of your Short Message. PDU code is encoded according to 3GPP TS 23.040 V6.5.0 Technical Specification. I Implemented major functions, including customization of service center number, support of DefaultAlphabet and Unicode data coding scheme, validity period, and request for status report. EMS messages support encode picture messages, concatenated short message (1 long message split to several normal SMS).
I have published my old source code to CodeProject and a detailed document about my encoder and decoder. You can fetch them by clicking the links below. If you need some help or co-operation, please contact me.
http://www.codeproject.com/vb/net/PDUDecoder.asp
http://www.codeproject.com/vb/net/PDUEncoder.asp
Language: VB.NET
Date: Before 2007
Assembly: Class library DLL
Description:
IrMC stands for Ir Mobile Communications. IrMC specification defined objects between mobile communications, including OBEX protocol (widely used in Bluetooth devices), Synchronization protocol and device infomation, phonebook, calendar, messages, notes exchange protocol, addition with call control, audio protocol. You can get detailed information by reading Infrared Data Association Specifications for Ir Mobile Communications (March 01, 1999).
My vCard decoder is written when I develop my Siemens M55 manage tool. It is used to read the phonebook in my phone's memory. The underlayer transferring protocol is OBEX. I've not published this libaray. If you need this, contact me.
Language: VB.NET
Date: Before 2007
Assembly: Class library DLL
Description:
OBEX is a most important protocol in IR transferring and Bluetooth transferring. OBEX defines a protocol, above transfer layer, to support data exchanges. So not only on IR and Bluetooth, OBEX protocol can be carried by HTTP protocol and so on.
IrOBEX is protocol defined by Infrared Data Association at 1999. This protocol gives you directions if you use IR to transfer objects. My OBEX protocol class is written according to this document. I've successfully used it to manipulate phonebook, notes, and even transfer files to my Siemens M55 phone. And at my latter research about file transferring to Nokia S40 phones, I found OBEX is used above F-BUS protocol.
I wrote a OBEX console program to demostrate how it can transfer files between my Siemens phone and PC.
Language: VB.NET
Date: Before 2007
Assembly: Class library DLL and Demo EXE
Description:
After I achieved SMS sending and receiving technology, someone told me to develop a program to download files to phone using data cable. I did it and I finished coding file transfering to these devices:
1. IrDA device. Huge number of them
2. MotoC650, through data cable.
3. Nokia S40, through data cable above F-BUS protocol.
4. Samsung, through data cable and use its own AT commands
5. SonyEricsson, through data cable and use OBEX protocol.
6. Siemens phone, through data cable and use OBEX protocol.
But the guy cheat me for some business issues, so I stopped developping. After serverl months, I wrote an technology article about these and put my all source code together with a demo at CodeProject. You can find them here: http://www.codeproject.com/smartclient/MobPhoneFileTransfer.asp
I'm very pleased to share my work. Although I finished major phone types, there is still far away to get an stable, less bug version.
Language: VB.NET
Date: Before 2007
Assembly: EXE
Description:
My Remote Serial Tool is a small but very useful tool to debug remote serial application. I wrote this tool when I was developping a class library for a group at Tsinghua. They got a new phone and I helped them to write a library to operate with the phone. My old class couldn't work so I have to debug it. They were 2000km away from me, I have to write a tool!
So my remote serial tool was born, very pleased that it worked very well! See my demo below :) I conneted my "remote" phone (just at my local computer) and operate on the remote serial to get the manufacture and model ID.
You can also download the full source code from HERE
Language: C#
Date: 2007
Assembly: EXE
Description:
Do you have huge PPT templates? It's very hard to find one that is suit for your need. I met this problem when I made graduate report PPT, where to find 1 in thounds of templates?
Convert these PPT to JPEG then use advanced picture browsing tool should much easier to find the one. Just give the templates directory and it automatically convert them to JPEG!
Download source here
Language: C#
Date: 2007
Assembly: EXE
Description:
Small tool to quickly view PPT files. But it may a bit slow when PPT is too large. I use PowerPoint to read PPT and convert them to JPEG to show the result.
Download source here
1.8.SST89E564RD Flash Download Tool
Language: C#
Date: 2007
Assembly: EXE
Description:
I brought a SST MCU when I'm at the trimaster of undergraduate. This MCU is very powerful and has an online debug function. But the offical program download tool is too "stupid", you must click and click and click again to finish the programming!!!! So to ease the "fucky" work, I wrote an flash download tool.
The underlaying protocol is not published by SST. I managed to write this code by analysis the data transferring from PC to MCU by the offical programmer. You can use HDD-software SerialMonitor tool to do this.
2.PocketPC
Language: VB.NET
Date: Before 2007
Assembly: EXE
Description:
It's sometimes useful to turn off the PDA screen to save power while your application is running in the background, e.g., if you design a music player, the user may want to turn off the screen for longer play time. Unfortunately, there are few articles on this topic. One C++ program I have found is on MSDN. And thank one's lucky stars, I also found another C# program from OpenNET CF. Then I rewrote it and tested for VB.NET.
See my article and download source code & demo here: http://www.codeproject.com/netcf/TurnOffPDAScreenNetCF.asp
Language: C#
Date: Before 2007
Assembly: EXE
Description:
A great tool for search the location of the IP. Much of the software and web pages are built to do this. But do you think you can do this just in your hand? Or even you have no PC around. This tool saves you. It use CZ IP database to search, I have done plenty of optimization to speed up the search. Now the software is collected by HuaJun software the biggest software download site in China.
Here is the I'm designing the software. NOTE the domain is still www.hesicong.com, I lost the domain last year. I also lost some dynamic demo pictures, so I put a static picture here.
2.3.PocketPC Earth Quake Record
Language: C#
Date: 2007
Assembly: EXE
Description:
This is one program of Earth Quake Record software. One program is based on PC, another important program is based on PocketPC which to record the earth quake damage. When data is collected, PC program do analyst on them.
The most challange thing on mobile device program is the low CPU performance and low memory, low storage. When Microsoft release its first .NET Compact Framework, I tried to write some applications, but the performance is not so satisfied. .NET Compact Framework 2.0 is more mature than before, with great powerful functions and high performance. The only need is to port your PC application develop experience to PocketPC.
The Earth Quake Record PocketPC program has a complex user interface, thounds of controls needed, but most of the layout is repeating. That's not possible to drag and drop them to build the program. So I choose to use XML files to describe the UI. The XML files have detail about the layout of the controls (actually it's my user-control). My work to do is to parse the XML files and build them.
Very successful design. And later I had to improve the performance, because user will feel too long to wait after every new window. So I built the windows in one time to compress the wait time for each window all together.
Finally, I finished the data transferring to PC and built a installion program to work around the "cabwiz.exe" Unicode-not-support problem.
On the whole, my PocketPC program full filled the need of user, with high user experience and high performance.
Language: VB.NET
Date: Before 2007
Assembly: EXE
Description:
This is PocketPC version of my SMS/EMS encoder and decoder. I rewrote some part of the code to get higher performance, and fix some compile error. If you're interested in this code, please contact me.