Showing posts with label Điện Tử Viễn Thông. Show all posts
Showing posts with label Điện Tử Viễn Thông. Show all posts

Jul 16, 2010

Cách tính can giờ qua can ngày 14:15 | 22/03/2010

Bảng tra can giờ qua can ngày

11-1
giờ
1-3
giờ
3-5
giờ
5-7
giờ
7-9
giờ
9-11
giờ
11-13
giờ

13-15
giờ
15-17
giờ

17-19
giờ
19-21
giờ

21-23
giờ
Sửu Dần Mão Thìn Tỵ Ngọ Mùi Thân Dậu Tuất Hợi
Giáp,
Kỷ
Giáp
Ất
Sửu
Bính
Dần
Đinh
Mão
Mậu
Thìn
Kỷ
Tỵ
Canh
Nọ
Tân
Mùi
Nhâm
Thân
Quý
Dậu
Giáp
Tuất
Ất
Hợi
Ất,
Canh
Bính
Đinh
Sửu
Mậu
Dần
Kỷ
Mão
Canh
Thìn
Tân
Tỵ
Nhâm
Ngọ
Quý
Mùi
Giáp
Thân
Ất
Dậu
Bính
Tuất
Đinh
Hợi
Bính,
Tân
Mậu
Kỷ
Sửu
Canh
Dần
Tân
Mão
Nhâm
Thìn
Quý
Tỵ
Giáp
Ngo
Ất
Mùi
Bính
Thân
Đinh
Dậu
Mậu
Tuất
Kỷ
Hợi
Đinh,
Nhâm
Canh
Tân
Sửu
Nhâm
Dần
Quý
Mão
Giáp
Thìn
Ất
Tỵ
Bính
Ngọ
Đinh
Mùi
Mậu
Thân
Kỷ
Dậu
Canh
Tuất
Tân
Hợi
Mậu,
Quý
Nhâm
Quý
Sửu
Giáp
Dần
Ất
Mão
Bính
Thìn
Đinh
Tỵ
Mậu
ngọ
Kỷ
Mùi
Canh
Thân
Tân
Dậu
Nhâm
Tuất
Quý
Hợi

Theo bảng trên, nếu bạn sinh vào khoảng thời gian từ 5-7 giờ (tức giờ Mão) và thuộc ngày có hàng can là Giáp thì trụ giờ của bạn sẽ là Đinh Mão. Tương tự, nếu bạn sinh vào khoảng thời gian từ 11-13 giờ ngày đó thì trụ giờ của bạn là Canh Ngọ. Nếu sinh vào khoảng thời gian từ 5-7 giờ của ngày có hàng can là Ất hoặc Canh thì giờ sinh của bạn là Kỷ Mão.

(Theo Tử Bình nhập môn)
Đọc tiếp →
-->đọc tiếp...

Jun 15, 2010

Digital Processing of Speech Signal



Digital Processing of Speech Signal
Download1
Download2
Đọc tiếp →
-->đọc tiếp...

A Digital Signal Processing Primer: With Applications to Digital Audio and Computer Music


A Digital Signal Processing Primer: With Applications to Digital Audio and Computer Music
Download
Đọc tiếp →
-->đọc tiếp...

Apr 21, 2010

Top site learn english

http://esl.about.com Đọc tiếp →
-->đọc tiếp...

Nov 12, 2009

Yahoo's YMSG Protocol v16

Yahoo's YMSG Protocol v16

This is my findings on version 16 of Yahoo's YMSG protocol.

Servers

cs101.msg.sp1.yahoo.com - cs130.msg.sp1.yahoo.com
cs101.msg.ac4.yahoo.com - cs130.msg.ac4.yahoo.com

Login

First we send the usual empty packet type 4C just to tell the server we are about to login

Next we send packet type 57 which only contains field type 1 containing our username

Yahoo's reply to this is packet type 57 which contains the following fields

  1  - Our username
13 - Something to do with our status. Should be set to 2 in this reply
94 - The challenge string
We then take the challenge string and use it to retrieve this url
  https://login.yahoo.com/config/pwtoken_get?src=ymsgr&ts=&login=USERNAME&passwd=PASSWORD&chal=CHALLENGESTRING
The reply to this will depend on if we have the correct information or not. The first line of the response will always be an integer indicating various things.
If the integer is 0 then the information we have supplied is correct.
100 - if username or password is missing.
1013 - username contains @yahoo.com or similar which needs removing.
1212 - is the username or password is incorrect.
1213 - is a security lock from to many failed login attempts
1214 - is a security lock
1218 - if the account has been deactivated by Yahoo
1235 - if the username does not exist.
1236 - locked due to to many login attempts
Seems to work just as well without the challenge string though.
Anyway if the username and password is correct the second line of the reply will be our token as such
  ymsgr=OURTOKEN
It has a third line as well but this serves no purpose to us.

Once we have our token we use it to retrieve this url
  https://login.yahoo.com/config/pwtoken_login?src=ymsgr&ts=&token=OURTOKEN
Again the first line of the reply is an intger to indicate the status with 0 being good and 100 meaning something is wrong.
Line 2 is our crumb as
  crumb=OURCRUMB
The next two lines contain our Y= cookie and T= cookie respectively. The last line is the life of the cookie.

Now we return back to normal YMSG

First we need to get a hash using the crumb and the challenge string. It just uses the standard Yahoo Base64 variation.
  Function for hashing the crumb

Public Function ProcessAuth16(ByVal Crumb As String, ByVal Challenge As String)
Dim Crypt As String = String.Join(String.Empty, New String() {Crumb, Challenge})
Dim Hash As Byte() = HashAlgorithm.Create("MD5").ComputeHash(Encoding.[Default].GetBytes(Crypt))
Dim Auth As String = Convert.ToBase64String(Hash).Replace("+", ".").Replace("/", "_").Replace("=", "-")
Return Auth.ToString
End Function
Here is the function as used in Pidgin
  /* This is the y64 alphabet... it's like base64, but has a . and a _ */
static const char base64digits[] = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789._";

/* This is taken from Sylpheed by Hiroyuki Yamamoto. We have our own tobase64 function
* in util.c, but it has a bug I don't feel like finding right now ;) */
static void to_y64(char *out, const unsigned char *in, gsize inlen)
/* raw bytes in quasi-big-endian order to base 64 string (NUL-terminated) */
{
for (; inlen >= 3; inlen -= 3)
{
*out++ = base64digits[in[0] >> 2];
*out++ = base64digits[((in[0] <<>> 4)];
*out++ = base64digits[((in[1] <<>> 6)];
*out++ = base64digits[in[2] & 0x3f];
in += 3;
}
if (inlen > 0)
{
unsigned char fragment;

*out++ = base64digits[in[0] >> 2];
fragment = (in[0] << 4) & 0x30;
if (inlen > 1)
fragment |= in[1] >> 4;
*out++ = base64digits[fragment];
*out++ = (inlen < 2) ? '-' : base64digits[(in[1] << 2) & 0x3c];
*out++ = '-';
}
*out = '\0';
}
We now send packet type 54 to our server with the following fields:
  1   - username
0 - username
277 - The Y cookie not including the Y= part
278 - The T cookie not including the T= part
307 - Our hash created using the Y64 function
244 - Rekkanoryo says this is internal build number. I just use 2097087
2 - username
2 - Not sure why we use 2 again but this one just contains the character 1
98 - Country but best just use us
135 - Messenger version number. Currently I use 9.0.0.1389
And that's it. We have successfully logged in using YMSG version 16.
Đọc tiếp →
-->đọc tiếp...

Nov 11, 2009

Defect Management Process ( DMS) like Fsoft

-->đọc tiếp...

Oct 29, 2009

Dich

3.1 Introduction

A microstrip patch antenna consists of a very thin metallic patch (usually gold or
copper) placed a small fraction of a wavelength above a conducting ground plane,
separated by a dielectric substrate. Microstrip antennas have numerous advantages, they
are light weight, they can be designed to operate over a large range of frequencies (1-
40GHz), they can easily be combined to form linear or planar arrays, and they can
generate linear, dual, and circular polarizations. These antennas are inexpensive to
fabricate using printed circuit board etching, which makes them very useful for integrated
active antennas in which circuit functions are integrated with the antenna to produce
compact transceivers. Microstrip antennas can be in various shapes and configurations
but for the purpose of this project only rectangular microstrip antennas are of interest.
This chapter includes an overview of microstrip antennas radiation mechanism, modeling,
design, and feeding techniques. The material covered in this chapter known as microstrip
antenna theory is from numerous books and articles ([1]-[3], [12]-[24]).
3.2 Rectangular Microstrip Antennas
Rectangular and square patches are the most commonly used type of microstrip
antennas. They can be used in numerous types of applications including circular
polarization, beam scanning, radiation pattern control and multiple frequency operation.
The basic antenna element is a thin conductor of dimensions L × W on a dielectric
substrate of permittivity e
r and thickness h backed by a conducting ground plane. This
configuration is shown below:
Figure 3.1: Rectangular Microstrip antenna configuration
3.2.1 Radiation Mechanism
Radiation from a microstrip antenna is determined from the field distribution
between the patch and the ground plane. This can also be described as the surface current
distribution on the patch. A patch, which is connected to a microwave source, has a
charge distribution on the upper and lower surface of the patch as well as the ground
plane. The patch is half wavelength long at the dominant mode, which creates the
positive and negative charge distribution shown in Figure 3.2 [11].
The repulsive nature of like charges on the bottom surface of the patch, pushes
some charges around the side to the top causing current densities Jb and Js. The ratio h/W
is small, therefore the strong attractive forces between the charges cause most of the
current and charge concentration remains underneath the patch. But also the repulsive
force between positive charges creates a large charge density around the edges. The
fringing fields caused by these charges are responsible for radiation. In order to achieve
better radiation efficiency, thick substrates with lower permittivity are better suited for
these types of antennas. Figure 3.3 shows the fringing fields in a microstrip patch [12].
3.3 Microstrip Antenna Analytical Models
There are various ways to model a microstrip patch. This modeling is used to
predict characteristics of a microstrip patch such as resonant frequency, bandwidth,
radiation pattern, etc. In this section the transmission line model and the cavity model are
presented. These models are based on some assumptions, which simplify the calculations
at the cost of less accuracy. There are other models that provide more accuracy such as
the full-wave model but are also more complicated to analyze.
3.3.1 Transmission Line Model
This is the simplest model and is restricted to rectangular microstrip antennas.
This model considers the patch as a transmission line of width W with two radiating slots
on each end. For a desired frequency f0, the width W can be estimated using [12]:
1
2
2
0
+
=
r
W
e
l
(Eqn. 3.1)
In this model the input impedance of a patch is the same as that of a transmission
line with length L and admittance Yc. Each slot has an admittance of Ys = Gs + jBs where
the values for conductance Gs and susceptance Bs are given by:



=  - 2
0
0
( )
24
1
1
120
k h
W
Gs l
(Eqn. 3.2)
(1 0.636ln( ))
120 0
0
k h
W
Bs = -
l
(Eqn. 3.3)
Đọc tiếp →
-->đọc tiếp...

Oct 21, 2009

Thuat toan Kruskal

#include

#define MAX 100

class kruskal
{
private : struct edge_info
{
int u, v, weight;
} edge[MAX];
int tree[MAX][2], set[MAX];
int n;
public : int readedges();
void makeset();
int find(int);
void join(int, int);
void arrange_edges(int);
int spanningtree(int);
void display(int);
};

int kruskal :: readedges()
{
int i, j, k, cost;

k = 1;
cout << "\nEnter the number of Vertices in the Graph : ";
cin >> n;
cout << endl;
for (i = 1; i <= n; i++)
for (j = 1; j < i; j++)
{
cout << "weight[" << i << "][" << j << "] : ";
cin >> cost;
if (cost != 999)
{
edge[k].u = i;
edge[k].v = j;
edge[k++].weight = cost;
}
}
return (k - 1);
}

void kruskal :: makeset()
{
int i;
for (i = 1; i <= n; i++)
set[i] = i;
}

int kruskal :: find(int vertex)
{
return (set[vertex]);
}

void kruskal :: join(int v1, int v2)
{
int i, j;
if (v1 < v2)
set[v2] = v1;
else
set[v1] = v2;
}

void kruskal :: arrange_edges(int k)
{
int i, j;
struct edge_info temp;
for (i = 1; i < k; i++)
for (j = 1; j <= k - i; j++)
if (edge[j].weight > edge[j + 1].weight)
{
temp = edge[j];
edge[j] = edge[j + 1];
edge[j + 1] = temp;
}
}

int kruskal :: spanningtree(int k)
{
int i, t, sum;
arrange_edges(k);
t = 1;
sum = 0;
for (i=1;i<=k;i++)
cout< for (i = 1; i <= k; i++)
if (find (edge[i].u) != find (edge[i].v))
{
tree[t][1] = edge[i].u;
tree[t][2] = edge[i].v;
sum += edge[i].weight;
join (edge[t].u, edge[t].v);
t++;
}
return sum;
}

void kruskal :: display(int cost)
{
int i;
cout << "\nThe Edges of the Minimum Spanning Tree are\n\n";
for (i = 1; i < n; i++)
cout << tree[i][1] << " - " << tree[i][2] << endl;
cout << "\nThe Cost of the Minimum Spanning Tree is : " << cost;
}

int main()
{
int ecount, totalcost;
kruskal k;
ecount = k.readedges();
k.makeset();
totalcost = k.spanningtree(ecount);
k.display(totalcost);
return 0;
}

Đọc tiếp →
-->đọc tiếp...

Oct 9, 2009

Sử dụng lại tần số

Sử dụng lại tần số là việc cấp phát cùng một nhóm
tần số vô tuyến tại các vị trí địa lý khác nhau trong
mạng mà không làm ảnh hưởng đến chất lượng
kết nối tại giao diện vô tuyến do nhiễu đồng kênh
và nhiễu kênh lân cận gây nên.
Đọc tiếp →
-->đọc tiếp...

Oct 2, 2009

Phân Tích về Y!M Protocol [Toàn tập]

Giới thiệu chủ đề

Ta đã biết Instance Message là một nguồn thu lợi nhuận khổng lồ trong lĩnh vực Information & Communication Technology (ICT). Bên cạnh đó Yahoo Messenger là chương trình phổ biến ở Việt Nam cũng như trên toàn thế giới.

Bài viết này sẽ tìm hiểu Protocol của Y!M, nhằm phục vụ cho việc thiết kế các chương trình có khả năng tuỳ biến nội dung chat (Ví dụ: Center Tra cứu thông tin, các công cụ tinh chỉnh, ngăn quảng cáo phiền phức, hoặc dựa vào đó để viết ứng dụng trên nền mobile J2ME. …).
Các tài liệu liên quan hiện có từ nguồn Internet đều thuộc dạng “Không chính quy” (Unofficial documentation) do những nhóm người đi đầu trong việc “mổ xẻ” Yahoo biên soạn (Yahoo! chỉ chính thức phát hành các tài liệu cho việc thiết kế plugin đi kèm sản phẩm Y!M của họ). Dĩ nhiên Yahoo không hề mong chờ kiểu tài liệu unofficial này- một điều rất dễ hiểu là các ứng dụng “không chính quy” đã không hiển thị các hợp đồng quảng cáo của Yahoo!Inc, mà còn làm điều ngược lại: tự quảng cáo bằng hình tức tin nhắn quảng bá (spam – broadcast msgs).

image003

YMSG Protocol

Yahoo Messenger Protocol (YMSG) là một Protocol tầng Application chạy trên nền TCP, hoặc HTTP, SOCKS. (Tham khảo thêm các định nghĩa về TCP, HTTP, SOCKS nếu muốn tìm hiểu thêm)

Với YMSG Protocol, Yahoo có 3 kiểu kết nối chính đến server:

- Kết nối trực tiếp (Direct connection)
- Kết nối qua Http
- Kết nối qua Socks (Socks 4, Socks 5)

Chúng ta sẽ tìm hiểu kiểu kết nối trực tiếp (Direct connection) đến server csc.msg.yahoo.com [port 5050] – sẽ trình bày chi tiết ở các phần sau.

Mô hình phân tích & Công cụ:

+ Một máy client sử dụng modem ADSL, default config, nghĩa là kết nối được Internet :)

+ Yahoo Messenger version 8.x (Thời điểm mình bắt đầu thực hiện thì bản mới nhất là 9.0 chỉ đang là thử nghiệm- beta test)

+ Wireshark version 1.0.2 (Dùng để bắt gói tin)

I) GIỚI THIỆU CHUNG

1. YMSG Packet

Qua quá trình capture Y!M packets từ phía client, ta thấy được YMSG luôn có cấu trúc gói tin (Packet) như sau:
[ YMSG || Version || Packet Length || Service || Status || Session ID || Content ]

Trong đó:
YMSG:

Độ dài: 4 bytes (2 words)
Giá trị: Tên của protocol, luôn có ở đầu mọi Packets liên lạc giữa server-client (SC)

Version:

Độ dài: 4 bytes
Giá trị: Chỉ rõ version của giao thức kết nối
Ví dụ: version 15 là: 0×00, 0×0f, 0×00, 0×00 (thường thấy với bản client 8.x) Các bye 00 chỉ là các byte đệm.

Packet Length:

Độ dài: 2 bytes
Giá trị: Chỉ rõ số bytes của section Content gửi đi. Về lý thuyết giá trị tối đa là 0xffff = 65535 (2 bytes long) nhưng thực tế độ dài các gói tin chỉ nhỏ hơn 1000.

Service:

Độ dài: 2 bytes
Giá trị: Nói rõ cho SC biết dịch vụ nào cần được request/respond

Status:

Độ dài: 4 bytes
Giá trị: Chỉ rõ mã trạng thái của dịch vụ đang thực hiện (success/ failure/ ack/ etc..)

Session ID:

Độ dài: 4 bytes
Giá trị: Cho biết mã hiệu của kết nối SC đang thực hiện, giá trị do server khởi tạo, và đôi lúc có sự thay đổi trong 1 phiên làm việc (hiếm gặp), lúc đó client cũng phải thay đổi session ID theo giá trị mới này.
(Giá trị này cho thấy 1 server phục vụ được tối đa 0xff ff ff ff lượt truy cập)

Content

Độ dài: Bằng độ dài được chỉ rõ ở section Packet Length
Giá trị: Đây là một chuỗi các giá trị đi theo cặp như kiểu vertor (key/value). Key có định dạng String, Value có các kí tự thuộc kiểu ASCII, đôi lúc có giá trị là null. VD: 1 == 0×31; 21 == 0×32 0×31;
Các cặp trong trường Content này được phân cách nhau bởi cặp dấu “phẩy” theo chuẩn Yahoo {0×30 0xc080}

Ví dụ 1 đoạn Packet đã Decoded ra mã text (ASCII):

Version: 15

Packet Length: 12

Service: Authentication (87)

Status: Default (0)

Session ID: 0xb9f54600

Content: 1300200viet_vq300200

Kết luận:

+ Tổng độ dài phần header của 1 đoạn Packet luôn là 20bytes

+ Giá trị version luôn là 15 (0×0F) cho Y!M 8.x

  • ViệtQ

Phần 2

2. Quy trình giao dịch
Sơ đồ giao dịch giữa SC có dạng như hình dưới, trong đó các kết nối có kí hiệu “*” có thể tồn tại hoặc không.

ymsg_hsh

1) Bước đầu tiên, Verify:

Nhằm xác thực một kết nối đến Yahoo server, bước này cho biết hệ thống mạng đang hoạt động bình thường.
- Service: Verify (76)
- Status: Default (0)
- Content: Null

2) Authorization:

Xin quyền xác thực tài khoản
- Service: Auth (13)
- Status: Default (0)
- Content: Username

Server sẽ phải tiếp nhận và đáp ứng lại một khoá chứng thực, theo kiểu challenging response (Xem thêm slide An toàn mạng), nếu quá trình chứng thực thành công, Username sẽ được thiết lập một flag Available (Online)

3) Buddies List:

Tiếp tục quá trình đăng nhập, trao đổi danh sách bạn bè, trạng thái
- Service: List (85) / (241)
- Status: Default (0)

4) Ping

Xem xét các nick online và status của nó.

5) Thực hiện chatting và các tuỳ chọn nâng cao khác (Chatroom, đổi giao diện chat, webcam….)

—————————————
II) VẬN HÀNH (Progressing)

1) Sign In

Đây là bước quan trọng và phức tạp nhất trong mọi ứng dụng Messessger Protocol, cũng là chủ đề chính của các bài viết này. Bước này đòi hỏi sự đồng nhất giữa SC với chuẩn mã hoá tuân theo quy tắc riêng của mỗi ứng dụng tin nhắn.

Thiết lập socket tới csc.msg.yahoo.com:5050

csc.msg.yahoo.com chỉ là địa chỉ CNAME (Canonical name for an alias), DNS server sẽ xác định host cho csc.msg.yahoo.com và trả về các gói tin chứa thông tin cho biết máy chủ sẽ kết nối đến – Host Address (Cho thấy Yahoo có rất nhiều máy chủ phân tán).

scsc.msg.yahoo.com: type A, class IN, addr 66.163.181.167
scsc.msg.yahoo.com: type A, class IN, addr 66.163.181.168
….
scsc.msg.yahoo.com: type A, class IN, addr 66.163.181.193
….

ymsg_quer

Host có thời gian đáp ứng tốt nhất sẽ được chọn (Lúc đó là Addr: 66.163.181.167)

Client gửi string Username cho Server

0000 3a fb 20 00 18 00 08 00 0f 00 00 00 08 00 45 00 :. ….. ……E.
0010 00 48 28 7a 40 00 80 06 a8 8a 0a 10 27 51 42 a3 .H(z@… ….’QB.
0020 b5 a7 0b b1 13 ba ce 6c 9a 63 9b cc e8 02 50 18 …….l .c….P.
0030 70 1c 9f e5 00 00 59 4d 53 47 00 0f 00 00 00 0c p…..YM SG……
0040 00 57 00 00 00 00 00 46 f5 b9 31 c0 80 76 69 65 .W…..F ..1..vie
0050 74 5f 76 71 c0 80 t_vq..

59 4d 53 47 – YMSG : standard header
00 0f - .. : Version 15, với 2 bytes đệm ở sau là 00 00
00 0c - .. : Packet Length, là độ dài của Content (12 bytes)
00 57 – .W : Service, chữ W (57) ra hiệu cho server trả về kí tự xác nhận (challenge command)
00 00 00 00 – …. : Status
00 46 f5 b9 – .F.. : 4 bytes Session, luôn thay đổi ở mỗi lần giao dịch
31 c0 80 76 69 65 74 5f 76 71 c0 80 – 1..viet_vq.. : 12 bytes nội dung. Mỗi phần tử nội dung (Key, Value) được ngăn cách bởi 2 byte c0 80.
31 là mã ASCII trả về chuỗi (String) 1
c0 80
76 69 65 74 5f 76 71 mã ASCII trả về chuỗi viet_vq
c0 80

Server Response to:
0000 08 00 0f 00 00 00 3a fb 20 00 18 00 08 00 45 00 ……:. …..E.
0010 00 a0 3a b5 40 00 31 06 e4 f7 42 a3 b5 a7 0a 10 ..:.@.1. ..B…..
0020 27 51 13 ba 0b b1 9b cc e8 02 ce 6c 9a 83 50 18 ‘Q…… …l..P.
0030 ff ff 57 02 00 00 59 4d 53 47 00 0f 00 00 00 64 ..W…YM SG…..d
0040 00 57 00 00 00 01 00 5a a9 a7 31 c0 80 76 69 65 .W…..Z ..1..vie
0050 74 5f 76 71 c0 80 39 34 c0 80 77 5e 28 6f 26 34 t_vq..94 ..w^(o&4
0060 5e 28 6f 7c 28 34 2f 6b 25 31 2a 35 2f 75 2d 61 ^(o|(4/k %1*5/u-a
0070 2f 71 2a 68 2d 6f 25 33 2a 70 26 61 2b 6f 7c 76 /q*h-o%3 *p&a+o|v
0080 5e 33 26 28 78 2f 6f 26 64 2d 69 26 6a 26 28 6c ^3&(x/o& d-i&j&(l
0090 2a 71 2a 77 2f 67 5e 6a 2f 6a 29 7c 28 72 2d 61 *q*w/g^j /j)|(r-a
00a0 29 29 29 29 29 c0 80 31 33 c0 80 32 c0 80 )))))..1 3..2..

Để ý đến một cặp khoá mới được server trả về với key 94 là

w^(o&4^(o|(4/k%1*5/u-a/q*h-o%3*p&a+o|v^3&(x/o&d-i&j&(l*q*w/g^j/j)|(r-a)))))

Nhận xét:

- Cố tình thử lại nhiều lần, kể cả cung cấp thông tin login sai cho server, thấy rằng chuỗi kí tự này luôn luôn xuất hiện và thay đổi trong từng session một.
- Mã trả về luôn có số tags đóng bằng số tags mở, các kí tự $, ^, +, %, *, / có vẻ như các phép toán => chuỗi được biểu thị như một biểu thức đại số.
- Đây chắc chắn là một mã hash (token) chứng thực (authetication).

  • ViệtQ

Phần 3

Ta đã nói về chuỗi challenge được gửi trả về w^(o&4^(o|(4/k%1*5… và nghĩ nó như một phép toán số học.

Nhưng thực tế thì không phải là như vậy, các dấu ngoặc ( ) chỉ có mục đích duy nhất là “rắc rối hoá” chuỗi challenge string, trông như một biểu thức phức tạp…

Công việc tạo mã Response sẽ tạo một chuỗi bốc tách từ chữ, số và các “phép toán” của challenge string. Sau đó chúng được biến đổi tiếp bằng các công đoạn dịch bits rất lằng nhằng và phức tạp (trong khuôn khổ 1 bài phân tích Protocol, bài viết không đào sâu vào chi tiết thuật toán). Bên cạnh đó, thuật toán tiếp tục sinh thêm 2 chuỗi mới, 1 chuỗi encoded bằng cách lấy mã YahooBase64 (YB64) của mã MD5 của chuỗi Password; và chuỗi thứ 2 cũng được encoded bằng YB64 của thuật toán MD5 trộn với 1 mã Salt có giá trị “$1$_2S43d5f” (Do Yahoo quy ước)

String regular = YahooBase64(md5(password));
String crypted = YahooBase64(md5(md5Crypt(password, “$1$_2S43d5f”)));

[YahooBase64 là chuẩn format của YMSG (unofficial named). Còn có tài liệu gọi là Mac64. Chuẩn này chỉ khác so với Base64 thông thường ở 3 kí tự "." ,"_" & "-" ứng với "+" , "\" & "=" ở Base64.]

Trong nhiều ứng dụng bảo mật, khi mã hoá MD5 thường kèm theo salt, salt là chuỗi sinh ngẫu nhiên kèm với lần tạo password đầu tiên, và salt hay được lưu trữ ở máy chủ để tránh hacker nếu sniff được đoạn mã MD5 thì cũng không thể fake được vì thiếu mã salt…

Tiếp tục với 2 chuỗi vừa tạo ra, lần lượt mỗi chuỗi kết hợp với chuỗi đầu tiên, dùng các thuật toán SHA-1, gom nhóm bits, dịch bits (mã hoá 2 bytes (== 16bits) bằng 3 chars), và thêm các kí tự “,” “;” ở cuối và “=” ở giữa đoạn string cuối cùng để trông đoạn code như phép gán… 2 chuỗi sau khi encoded có dạng:
(Tham khảo thêm trong các mã nguồn kèm theo bài này)

D=Ci;F=do;m=8C;Y=3a,S=DC;p=21,N=29;S=jn;L=Dj;Y=CB;
O=kA,w=g4,V=a3;L=jC,h=Ej,h=Fa,V=na,E=b3;R=p9,S=jj,

OK, bây giờ client gửi lại giá trị này với key 6 và 96 (service 84), kèm với các vectors:

0: ID
2: ID
2: 1
244: 2097087
148: 180
135: CLIENT_VERSION
1: ID

  • Khi các thông tin đã chính xác, quá trình đăng nhập thành công! (Nick của bạn sẽ phát sáng trên máy người khác)

Nhờ các công đoạn lằng nhằng (monkey around) trên, Yahoo đã không ít lần khiến các 3nd party phải lao đao khi muốn tái hiện lại đoạn code chanllenge của hãng để tích hợp Y!M trong các ứng dụng của họ.

Thử lùi thời gian lại để có cái nhìn rõ hơn về quá trình lao lực với Chanllenge Reponse này của Yahoo!Inc, trong những phiên bản đầu tiên của mình, Yahoo sử dụng đường Http Proxy để tiếp nhận thông tin đăng nhập từ client, tuy nhiên các thông tin gửi đến server đều ở dạng clear text nên rất dễ bị thất lạc thông tin. Sau đó Yahoo! cải tiến bằng cách trước khi password được gửi, nó sẽ bị mã hoá bằng thuật toán MD5 (Dịch vụ webmail trước đó còn sử dụng Java-Script để mã hoá MD5 ngay tại browser). Mặc dù MD5 là thuật toán mã hoá mà đến nay chưa thể decoded nhưng có thể thấy các thông tin gửi lên server sẽ luôn là một hằng số nếu sử dụng theo phương thức này. Mặc dù ngay sau đó, Yahoo! áp dụng trộn thêm chuỗi Salt sinh bởi client trong các lần đăng nhập để giá trị encoded cuối cùng luôn được thay đổi nhưng xem ra thuật toán vẫn rất dễ bị nắm bắt và khai thác.

Ngày 24/6/2004, hãng Trillian tạo ra một ứng dụng 3nd party để kết nối với accounts Y!M, không hỗ trợ các kiểu quảng cáo của Yahoo!. Ngay lập tức bị Yahoo! phản kháng. Từ đó, nhiều cuộc tranh cãi đã nổ ra giữa Yahoo!Inc với các hãng 3nd party khai thác dịch vụ của Yahoo. Và rồi Yahoo quyết tâm thay đổi thuật toán mãnh liệt nhằm ngăn cản công việc nghiên cứu đến từ các tổ chức bên ngoài. Giải thuật mới (đã giới thiệu ở trên) thật sự phức tạp mà đến nay vẫn được Yahoo sử dụng cùng với phiên bản Y!M 9.0 mới nhất. Tuy đã ngăn cản được Trillian trong một thời gian nhất định nhưng cuối cùng, thuật toán đó cũng đã bị cracked và rò rỉ qua mạng Internet cho đến ngày nay. :D

Sau khi đoạn mã hash chính xác đáp trả lại server, quá trình đăng nhập đã thành công mà không cần thêm bất cứ một thông tin nào. Lúc này server sẽ trả về thông tin thêm về tài khoản (Full name, Sex, Virtual IDs, Friends list, Denied list, Unread email…) trong một gói tin bao gồm nhiều YMSG Packets (multiple packets), client cần bóc tách và xử lí từng đoạn phù hợp.

2) Khái quát các dịch vụ khác (Send msg, Status…)
- Mỗi dịch vụ được quy chuẩn bởi Yahoo, ở version 15 có các tags của dịch vụ thông thường sau:

• 0×06 MESSAGE

Format 1 : (status = 0×00000001) Online message
5 : to (yahoo id)
4 : from (yahoo id)
14 : message text
[optional extension]
63 : imvironment name or “;0″
64 : “0″
97 : utf8 encode true/false
Format 2 : (status = 0×00000005) Offline message(s)
31 : “6″ ——–+
32 : “6″ |
5 : to (yahoo id) |
4 : from (yahoo id) | Repeat for each message
15 : Unix timestamp |
14 : message text |
97 : “1″ ——–+
Cài đặt thêm các cặp giá trị (63,0) (64,0) (206,0) với các accounts của hotmail liên thông.

• 0×55 / 0xF1
LIST

89 : Virtual ID
3 : Primier ID
216, 254: Alias ID (First name, Last name)
59 : HTTP cookie Y
59 : HTTP cookie T
59 : HTTP cookie C
3 : yahoo id
100 : “0″
101 : “”
102 : “”
93 : “86400″
149 : base64 style encoded binary
150 : base64 style encoded binary
151 : base64 style encoded binary
65 : Group name
7 : friend ID
(241 : 2) hotmail user
301 : 319
300 : 319
(301 : 319) ignored friends list
(300 : 319) ignored friends list

• 0xF0 UNKNOWN SERVICE (Online + Status ID)

13 : 1 Availble
19: Custom status

• 0×02 LOGOFF

0: ID

nguon: http://vietfov.net

Đọc tiếp →
-->đọc tiếp...

Sep 4, 2009

http://www.winprog.org/tutorial/

http://www.winprog.org/tutorial/
Đọc tiếp →
-->đọc tiếp...

Bộ tài liệu lập trình 6 video VC++ 6.0 MFC

Code:
Level 1
————————————————� �———
Introduction to C++
Overview
Building a Simple Project
Creating a Win32 Console Application
Creating Header Files

Major Components
Build Process
Resources
Visual C++ Compiler
Linker
Source Code Editor
Visual C++ Debugger

Object Oriented Interfaces
Message Handling
Basic MFC Application

________________________________________

Level 2
————————————————� �———
Adding Message Handlers
Overview
Using Support Macros
Analyzing Events
Using the Class Wizard
Applying Drawing Logic
Using the Power of the View Model
Mapping Modes
Creating a Message Handler Using the Class Wizard
Summary of Mapping Modes
Summary of KeyPoints
________________________________________

Level 3
————————————————� �———
Dialogs
Steps in Using
Using the Control Toolbar to Create a Dialog
Using the Class Wizard
Dialog Execution Sequence
Hooking the Info to a Real Program Structure
Looking at Changes to Start Building Data for the Application
Miscellaneous Dialog Features
More Advanced Dialog Controls
Common Dialogs
________________________________________

Level 4
————————————————� �———
Modeless Dialogs
Creating a Modeless Dialog
Extracting Information from a Dialog
Adding a Menu
Adding a Toolbar
Keeping the User Interface in Synch

Single Document Interface
Overview
Building a Single Document Interface
Collection Classes
Modifying the Destructor of the Document Object
________________________________________

Level 5
————————————————� �———
More SDI
Lists Boxes
Serialization
Cleaning up the View
Multiple Views
Init Instance Function
Changing Views
Modifying View Specifications
Creating a Splitter Window
Altering the Split Arrangement
Understanding the Editor
Applications Based on the RichEditView
________________________________________

Level 6
————————————————� �———
Using MFC (1 hr)
Multiple Document Interfaces
Adapting SDI’s to MDI’s
Manipulating the Interface
Introducing Views

ActiveX
The Calendar Control
The Web Browser Control
Building & Using an ActiveX Component
Building Property Pages
CD1

Code:
http://rapidshare.com/files/162284120/KS_VC___6.0_CD1.part1.rar
http://rapidshare.com/files/162284144/KS_VC___6.0_CD1.part2.rar
http://rapidshare.com/files/162284090/KS_VC___6.0_CD1.part3.rar
CD2


Code:
http://rapidshare.com/files/162284101/KS_VC_6.0_CD2.part1.rar
http://rapidshare.com/files/162284131/KS_VC_6.0_CD2.part2.rar
http://rapidshare.com/files/162284054/KS_VC_6.0_CD2.part3.rar
CD3
Code:
http://rapidshare.com/files/162284132/KS_VC_6.0_CD3.part1.rar
http://rapidshare.com/files/162284163/KS_VC_6.0_CD3.part2.rar
http://rapidshare.com/files/162284047/KS_VC_6.0_CD3.part3.rar
CD 4


Code:
http://rapidshare.com/files/162284111/KS_VC_6.0_CD4.part1.rar
http://rapidshare.com/files/162284128/KS_VC_6.0_CD4.part2.rar
http://rapidshare.com/files/162284018/KS_VC_6.0_CD4.part3.rar
CD5
Code:
http://rapidshare.com/files/162284135/KS_VC_6.0_CD5.part1.rar
http://rapidshare.com/files/162284096/KS_VC_6.0_CD5.part2.rar
http://rapidshare.com/files/162283998/KS_VC_6.0_CD5.part3.rar
CD6

Code:
http://rapidshare.com/files/162284117/KS_VC_6.0_CD6.part1.rar
http://rapidshare.com/files/162284099/KS_VC_6.0_CD6.part2.rar
http://rapidshare.com/files/162284003/KS_VC_6.0_CD6.part3.rar

Code:
CD1
http://www.mediafire.com/?xjimcjyzebw
http://www.mediafire.com/?ow2lsmbvmzi
http://www.mediafire.com/?bwyzds59si9
CD2
http://www.mediafire.com/?o4nd1mw2bs0
http://www.mediafire.com/?yjn12ydkadu
http://www.mediafire.com/?21h5mjd2mjy
CD3
http://www.mediafire.com/?gwwbhjyd1tb
http://www.mediafire.com/?s002hf511zr
http://www.mediafire.com/?gyhadydjiox
CD4
http://www.mediafire.com/?zygib1wlmjy
http://www.mediafire.com/?dssc3bmjxsj
http://www.mediafire.com/?nw4cdj2swen

CD5
http://www.mediafire.com/?udsmzwpxguy
http://www.mediafire.com/?dgxjhubain1
http://www.mediafire.com/?itxljzs4t23

CD6
http://www.mediafire.com/?bvlsizxf2dd
http://www.mediafire.com/?jhh52zklapv
http://www.mediafire.com/?htmtyvyr1sx

Đọc tiếp →
-->đọc tiếp...

Lập trình Game với C++, C#

-->đọc tiếp...

May 6, 2009

Lập Trình Viên Hệ Thống Viễn Thông


Tên việc làm:
Lập Trình Viên Hệ Thống Viễn Thông
Ngành nghề: CNTT - Phần mềm
Viễn Thông
Nơi làm việc:
Loại công việc: Toàn thời gian cố định
Cấp bậc: Kỹ thuật viên/Kỹ sư
Lương: 5.000.000VND-8.000.000VND
Tuổi: Dưới 34
Giới tính: Nam
Mô tả chi tiết công việc:
+ Phát triển các hệ thống cung cấp dịch vụ gia tăng trên mạng viễn thông, di động (SMSC,SMSG, ContactCenter, IVR ...), tích hợp hệ thống
+ Lên kế hoạch thực hiện công việc cụ thể được giao.
+ Chịu trách nhiệm trước quản lý dự án về tiến độ và chất lượng của module phát triển phần mềm được giao.
+ Tham gia triển khai dự án các sản phẩm mới.
+ Hỗ trợ khách hàng xử lý sự cố với các dự án đã triển khai.
* Quyền lợi:
+ Mức lương tháng theo thỏa thuận từ 5-8 triệu VNĐ, tuỳ trình độ (cộng thưởng dự án hấp dẫn)
+ Thưởng cuối năm, các chế độ đãi ngộ, phúc lợi hấp dẫn.
Kinh nghiệm/Kỹ năng
Trình độ học vấn: Cử nhân
Mức kinh nghiệm: 0-1 năm kinh nghiệm
Kinh nghiệm/Kỹ năng chi tiết:
+ Tốt nghiệp đại học chuyên ngành Điện tử viễn thông (hoặc Công nghệ thông tin), tiếng Anh trình độ B.
+ Sử dụng thành thạo Windows, Linux/UNIX, C/C++, Oracle, SQL, .NET.
+ Ưu tiên có kinh nghiệm nghiên cứu phát triển phần mềm, có hiểu biết về các giao thức trên mạng Viễn thông (IN, SS7, CAMEL, SIGTRAN, SIP ...), các hệ thống NGN, Softswitch, Contact Center, IVR ...
+ Có khả năng làm việc nhóm, chịu áp lực cao
+ Sẵn sàng đi công tác xa.
Đọc tiếp →
-->đọc tiếp...

May 5, 2009

Bài tập ANTEN – ĐƯỜNG TRUYỀN

Bài tập ANTEN – ĐƯỜNG TRUYỀN

Câu 1: Vẽ phân bố dòng trên chấn tử đối xứng 2l = 6λ/5. Tìm cường độ từ trường tại điểm cách chấn tử 10 km theo hướng tạo với trục góc 60o . Biết Io = 1 A.

Câu 2: Viết biểu thức DTH & tính cường độ từ trường ở các hướng θ = 0 ; 90o ; 180o ; 270o của anten gồm 2 chấn tử nửa sóng đồng biên ngược pha đặt kề nhau . Biết dòng tại lối vào các chấn tử là 1A và điểm tính trường cách anten 1 km.

Câu 3: Hãy chỉ ra câu đúng ? sửa lại câu sai ?
1. Chấn tử cả sóng bức xạ cực đại dọc trục.
2. Cùng L và đồng biên, anten đồng pha có búp chính hẹp hơn anten pha bậc 2.
3. Parabol với cùng đường kính và BCX tiêu cự càng ngắn búp chính càng hẹp.
4. Loa có kích thước 10m x 0.5m tạo búp sóng dạng xuyến.
5. Anten Loga có phân cực thẳng.

Câu 4: Để tạo anten bức xạ dọc trục, người ta dùng 5 chấn tử nửa sóng bố trí như hình vẽ .Dòng trên các chấn tử đồng biên và có độ dịch pha liên tiếp Φo = π/2 .Trong các cách bố trí dưới đây, trường hợp nào sử dụng tốt nhất : d = λ/2, d = λ/4, d = λ/3 ? Giải thích vắn tắt lí do.
| | | | |

Câu 5: Hai anten Parabol có cùng đường kính , sử dụng BCX cùng loại, anten 1 có tiêu cự dài và anten 2 có tiêu cự trung bình .Cho biết quan hệ về độ rộng búp sóng chính 2θ0.5 ;hệ số sử dụng diện tích và hiệu suất của 2 anten này.

Câu 6: Tìm dòng trên anten thu là chấn tử đối xứng dài 1m ,phối hợp với máy thu,làm việc ở tần số 150 Mhz. Biết sóng tới theo hướng cực đại của chấn tử và có cường độ trường là 10-3 v/m.

Câu 7: Vẽ phân bố dòng trên chấn tử đối xứng 2l = 9λ/8 .Tìm cường độ điện trường ở hướng tạo với trục góc 45o và cách anten 10 km. Biết dòng ở điểm bụng là 1 A.



Câu 8: Trả lời các câu hỏi sau:
1. ĐTH anten loga trong không gian có dạng gì ?
2. Trong không gian anten trám có dạng gì ?
3. ĐTH trong không gian của anten dàn đồng pha gồm N = (n x m) chấn tử nửa sóng , kích thước vuông có mặt phản xạ dạng gì?
4. ĐTH Parabol viên phân có kích thước mặt ra 5 m x 0.5 m trong không gian có dạng gì ?
5. ĐTH anten khe lí tưởng trong không gian có dạng gì ?
Đọc tiếp →
-->đọc tiếp...
Phần mở đầu của bài viết.
Ngành Điện tử - Viễn thông Điện tử viễn thông là gì?Điện tử viễn thông là ngành sử dụng những công nghệ tiên tiến, tạo nên các thiết bị giúp cho việc truy xuất thông tin bạn muốn có.Đó có thể là những thiết bị điện tử thông thường gắn liền với cuộc sống hằng ngày như: Đài, TV, điện thoại cho tới những hệ thống phức tạp chưa đến 1s đã chuyển thông tin từ châu lục này tới châu lục khác, từ vệ tinh bay trên bầu không khí quyển tới Trái Đất.Lĩnh vực điện tử:Đây là lĩnh vực nghiên cứu và chế tạo ra các vi mạch điện tử
Phần tiếp theo của bài viết.
Ngành Điện tử - Viễn thông
Điện tử viễn thông là gì?Điện tử viễn thông là ngành sử dụng những công nghệ tiên tiến, tạo nên các thiết bị giúp cho việc truy xuất thông tin bạn muốn có.Đó có thể là những thiết bị điện tử thông thường gắn liền với cuộc sống hằng ngày như: Đài, TV, điện thoại cho tới những hệ thống phức tạp chưa đến 1s đã chuyển thông tin từ châu lục này tới châu lục khác, từ vệ tinh bay trên bầu không khí quyển tới Trái Đất.Lĩnh vực điện tử:Đây là lĩnh vực nghiên cứu và chế tạo ra các vi mạch điện tử - "bộ não" điều khiển toàn bộ hoạt động của các thiết bị thông minh. Với sự nỗ lực không ngừng của các chuyên gia, những vi mạch ngày càng trở nên bé nhỏ và thông minh hơn. Ngày nay, một trong những hướng nghiên cứu được thế giới tập trung phát triển là các "chip sinh học". Đây là những con chip có cấu trúc như cấu trúc của ADN, giúp tăng cường tối đa khả năng lưu trữ.Lĩnh vực viễn thông: Lĩnh vực viễn thông là ngàng nghiên cứu và sử dụng các thiết bị điện tử viễn thông để tạo nên các mạng viễn thông. Bạn thường nghe nói chúng ta đang sống trên xa lộ thông tin? Các mạng viễn thông này chính là xa lộ thông tin ấy - nơi bạn có thể kết nối thông tin liên lạc với mọi nơi.Mạng viễn thông là phương tiện truyền thông tin từ đầu phát tới đầu thu, gồm các thành phần chính: thiệt bị chuyển mạch, thiết bị truyền dẫn, môi trường truyền, thiết bị đầu cuối.Nếu điện tín (1884), điện thoại (1876), radio (1895) và vô số tuyến truyền hình (1925) đã thay đổi cách thức giao tiếp của con người thì sự xuất hiện của thông tin viễn thông (1960), sợi quang học (1977) và mới nhất là công nghệ thông tin không dây tạo nên 1 hệ thần kinh thông minh, nhạy bén trên Trái Đất.Có thể nói lĩnh vực viễn thông đã làm thay đổi bộ mặt của Trái Đất hiện thực hóa khả năng liên kết của mỗi người, mỗi quốc gia. Gắn kết mọi người với nhau nhờ 1 mạng lưới viễn thông vô hình và vô hình trên khắp Trái Đất và vũ trụ.Sự hội tụ của ngành điện tử viễn thông và các ngành khácCùng với sự phát triển của xã hội, nhu cầu sử dụng và truyền dữ liệu của con người cũng tăng lên theo hàm số mũ. Ngành Điện tử Viễn thông tự hào là ngàng đưa tri thức của mọi người đến mỗi người và ngược lại...Ngành Điện rử Viễn thông không ngừng phát triển để đem lại sự hội tụ (hay sự thống nhất) về các loại hình dịch vụ truyền dữ liệu như điện thoại, truyền hình (truyền hình quảng bá và truyền hình theo yêu cầu)... Dữ liệu internet băng rộng đã thúc đẩy ngành Công nghệ thông tin phát triển lên 1 mức cao hơn, loại hình dịch vụ đa dạng hơn và chi phí rẻ hơn. Các bạn có thể gọi điện thoại qua mạng internet, xem hình ảnh của bạn bè trên khắp thế giới, chia sẻ nguồn dữ liệu hay giao dịch mua bán ở khoảng cách rất xa...Trên tất cả, điều mà những người làm trong ngành Điện tử Viễn thông luôn hướng tới là tạo ra 1 thế giới gần gũi hơn cho tất cả mọi người.Những tố chất giúp bạn thành công trong ngành Điện tử Viễn thôngThông minh và năng độngĐiện tử Viễn thông là 1 ngàng công nghệ mới, đòi hỏi bạn phải có tư chất thông minh, sự năng động và niềm đam mê tìm hiểu các công nghệ mới trên thế giới và áp dụng nó vào thực tế tại Việt Nam.Kiên trì, nhẫn nạiLàm khoa học đòi hỏi đức tính kiên trì và nhẫn nại. Các công việc trong ngành Điện tử Viễn thông chịu ảnh hưởng rất nhiều của yếu tố khác quan bên ngoài. Vì vậy, nếu bạn không có tính kiên trì và nhẫn nại thì khi 1 hệ thống gặp khó khăn, bạn khó có thể giải quyết được sự cố xảy ra.Có mục tiêu và đam mêĐây là điều không thể thiếu cho sự thành công ở bất cứ ngành nghề hay lĩnh vực khoa học nào và không ngoại từ Điện tử Viễn thông. Bạn trước hết cần phải có niềm đam mê thật sự, quyết tâm theo đuổi trong công việc. Khi đó bạn mới có thể tự mình đề ra mục tiêu phấn đấu, định hướng rõ ràng, lên kế hoạch cụ thể cho công tác học tập và nghiên cứu của mình.Thế giới khoa học nói chung và ngành Điện tử Viễn thông nói riêng có rất nhiều điều thú vị, có thể làm bạn bị phân tán khỏi mục tiêu chính, hoặc tệ hơn, khiến bản cảm thấy chán nản trước 1 kho kiến thức rộng lớn nếu như bạn không có niềm đam mê.Tuy nhiên xin bạn đừng thất vọng hay e ngại, bởi niềm đam mê có thể được bồi đắp và mục tiêu có thể được nuôi dưỡng qua thời gian.Tìm tòi, học hỏi, khả năng ngoại ngữNgành Điện tử Viễn thông thường xuyên thay đổi, đòi hỏi các kĩ sư trong lĩnh vực này luôn phải đọc, tìm kei61m các công nghệ mới đã và đang được đưa ra trên thế giới, học tập qua nghiên cứu và thực tế tại các nước có ngành Điện tử Viễn thông phát triển.Khả năng đọc hiểu ngoại ngữ là yếu tố không thể thiếu trong ngành. Các công nghệ mới, các chuẩn mới đưa ra đều được viết bằng tiếng nước ngoài (tiếng Anh, tiếng Pháp, tiếng Đức). Vì vậy nếu bạn không có khả năng ngoại ngữ thì bạn khó có thể nắm bắt đước các công nghệ mới. Ngược lại, với khả năng ngoại ngữ tốt, bạn có thể tự tin rằng bạn đã đi được 1 nửa chặng đường.Khả năng làm việc theo nhóm ( Team-work)Điện tử Viễn thông là ngành công nghệ cao, khối lượng công việc cùng sự phức tạp của nó đòi hỏi sự chung sức của rất nhiều người. Những người tham gia, bên cạnh năng lực làm việc và nghiên cứu độc lập, phải có khả năng làm việc theo nhóm, thực hiện tốt phần công việc của mình, góp phần hoàn thành công việc chung. Đối với người Việt Nam nói chung, khả năng này còn yếu, do vậy bạn sẽ phải rèn luyện ngay từ khi còn ngồi trên ghế nhà trường để sau này có thể thích ứng ngay được với yêu cầu của công việc.Trong thế giới Điện tử Viễn thông bạn sẽ làm gì?Nghiên cứu, sáng tạo công nghệ mới, các thiết bị Điện tử Viễn thông mớiNếu bạn thích tím tòi snág tạo thì đây có thể là sự lựa chọn phù hợp với bạn. Cá kĩ sư làm việc trong lĩnh vực này dựa trên những ứng dụng của xã hội nói chung và ngành Điện tử Viễn thông nói riêng, phát triển các công nghệ mới, ứng dụng mới hữu ích và đơn giản hơn cho mọi người.Đây chính là lĩnh vực thúc đẩy sự phát triển của toàn bộ ngành Điện tử Viễn thông, đem lại sự sáng tạo mới, phương thức liên lạc mới cho xã hội.Lĩnh vực mạng, viễn thôngTrong lĩnh vực này, bạn không chỉ làm chủ các thiết bị truyền tin trên toàn cầu như hệ thống truyền dẫn: cáp quang, vệ tin, hệ thống truyền tin không dây (vi ba) v.v... mà còn nắm rõ hoạt động của các thiết bị định tuyến, chuyển mạch tổng đài, giúp cho việc liên lạc giữa hàng tỉ người trên toàn cầu được chính xác...Không chỉ vậy, bạn còn thiết kế các hệ thống mạng, từ hệ thống mạng LAN trong văn phòng, gia đình, tới những hệ thống mạng trục phức tạp, tinh vi, tạo nên hệ thần kinh cho mỗi quốc gia và toàn thế giới. Các hệ thống mạng không cần thông minh, đơn giản, tin cậy đối với khách hàng mà còn phải có khả năng an toàn trước những đợt tấn công của virus, hacker (tin tặc) phá hoại.Lĩnh vực định vị dẫn đườngĐể mỗi chuyến bay cất cánh, hạ cánh an toàn, bay ở đúng tầm cao là công sức không chỉ của tổ bay mà còn của những tàhnh viên các trạm kiểm soát không lưu đặt khắp nơi trên mặt đất. Đảm bảo cho hàng nghìn chuyến bay, tàu thuỷ hoạt động an toàn là công việc của những kĩ sư Điện tử Viễn thông làm việc trong lĩnh vực định vị dẫn đường.Lĩnh vực điện tử y sinhCác máy móc, thiết bị điện tử hiện đại trong lĩnh vực y tế và sinh học đều cần sự hiện diện của những kĩ sư Điện tử Viễn thông làm côing átc vận hành cũng như tu sửa máy móc.Những căn bệnh rất khó khăn trong chẩn đoán hay điều trị trước kia, nay nhờ thiết bị điện tử đã trở nên đơn giản hơn nhiều. Các thí nghiệm, nghiên cứu sinh vật học cũng nhờ thiết bị Điện tử Viễn thông trở nên chính xác hơn. Điện tử Viễn thông nàgy càng giữ vai trò tích cực trong sự phát triển của lĩnh vực điện tử y sinh.Lĩnh vực âm thành, hình ảnhSự phát triển mạnh mẽ của lĩnh vực âm thanh, hình ảnh cũng có 1 phần đóng góp quan trọng của ngành Điện tử Viễn thông như việc thiết kế ra các trang thếit bị nghe nhìn, điều chỉnh âm độ các thiết bị thu âm v.v...Học Điện tử Viễn thông ở đâu?Học tập ở các trường Đại học, Cao đẳngTại Việt Nam các bạn có thể học ngành Điện tử Viễn thông ở rất nhiều trường đại học kỹ thuật khác nhau. Trong đó, không thể không nhắc đến các trường đại học kỹ thuật nổi tiếng như: ĐH Bách khoa Hà Nội, ĐH Bách khoa TP.HCM, Học viện Bưu chính viễn thôngv.v...Từ những mái trường này, hàng năm đào tạo ra những kĩ sư trẻ, tài năng và đầy khát vọng. Chính họ đã và đang góp pầhn vào sự phát trểin ạmnh mẽ của ngành Điện tử Viễn thông tại Việt Nam.Học ở thế giới ảoTất nhiên chúng ta không thể không nhắc đến môi trường học tập phong phú và đầy đủ thông tin: học tập trên mạng.Học tập trên mạng có nhiều hình thức khác nhau: bạn có thể đăng kí các khoá học trực tuyến (online), hoặc có tểh tự học từ những nguồn tài liệu bổ ích, luôn sẵn có.Cũng trên môi trường mạng, một cách học tập và trao đổi kinh nghiệm rất tốt là tham gia vào các diễn đàn (forum) về Điện tử Viễn thông. Tại đây, bạn sẽ gặp những người có chung hoài bão và niềm say mê với bạn, từ những người mới bắt đầu bước vào lĩnh vực này cho đến những chuyên gia. Những vấn đề, rắc rối của từng cá nhân hoặc nhóm sẽ được đưa ra để nhiều "cái đầu" cùng suy nghĩ và đưa ra những giải pháp tối ưu nhất. Cũng tại diễn đàn này những thông tin công nghệ, ứng dụng mới trong ngành luôn được cấp nhất liên tục.Một số địa chỉ website bạn nên tham khảo:http://net130.comhttp://www.accent-on-networkks.co.ukhttp://www.cableu.nethttp://www.netcbt.comhttp://dmoz.org/computers/hardware/http://www.vnpt.com.vn/tapchibcvthttp://www.echip.comhttp://www.quantrimang.comhttp://www.vnpro.orghttp://www.connekgroup.nethttp://www.americansnetwork.comhttp://www.telecomasia.nethttp://www.wirelessasia.comhttp://www.silicon.comhttp://www.telecommagazine.comHọc tại các hãng Điện tử Viễn thôngNgoài ra, bạn cũng nên tìm hiểu những chương trình đào tạo của các hãng Điện tử Viễn thông lớn trên thế giới. Việc học tập này không đòi hỏi ở bạn nền tảng cơ bản về chuyên ngành mà vẫn có cơ hội tàhnh chuyên gia trong lĩnh vực Điện tử Viễn thông.Cách học này đang rất phổ biến. Bạn sẻ được tiếp xúc nhiều với các thiết bị thực tế. Khi tốt nghiệp khoá học, bạn có thể bắt tay ngay vào công việc. các công ty nơi bạn làm việc sẽ không tốn thời gian và tiền của để đào tạo nhân viên mới làm quen với thực tế và phương pháp làm việc.Học tập ở nước ngoàiBên cạnh việc học trong nuớc, nếu có điều kiện, tại sao bạn không học ngành Điện tử Viễn thông ở những quốc gia tiên tiến như Mỹ, Anh, Đức, Nhật, Úc, Singapore...? Tại những quốc gia phát triển này, bạn sẽ được đào tạo bài bản cả về lí thuyết và thực hành, được tiếp xúc với thiết bị và công nghệ hàng đầu thế giới.
Như Tâm tổng hợp từ "Tủ sách hướng nghiệp Nhất nghệ tinh" của NXB Kim Đồng
Đọc tiếp →
-->đọc tiếp...

Apr 28, 2009

Apr 22, 2009

ĐIỀU KHIỂN TỪ XA CÁC THIẾT BỊ TRONG NHÀ

ĐIỀU KHIỂN TỪ XA CÁC THIẾT BỊ TRONG NHÀ

MAI VĂN HOÀNG
MSSV: 0503427
LỚP:ĐHĐT1
Với sự ra đời của vi điều khiển - vi xử lí năm 1971, đã thúc đẩy sự phát triển và ứng dụng của kĩ thuật số trong cuộc sống. Hầu hết các ứng dụng ngày nay đều có sử dụng đến vi xử lí như máy vi tính, điện thoại, ti vi, VCR…Và một ứng dụng rất thú vị của vi xử lí là điều khiển các thiết bị từ xa. Thay vì phải đứng dậy bật tắt các thiết bị trong nhà như quạt, bóng điện… chúng ta có thể ngồi một chỗ điều khiển bật tắt các thiết bị đó.
Vì trong phòng khoảng cách ngắn nên có thể sử dụng hồng ngoại làm tín hiệu điều khiển. Sử dụng remote của TV làm bộ phát, dùng led thu hồng ngoại để thu tín hiệu (led thu IR 3 chân màu đen), và dùng chip vi điều khiển để giải mã tín hiệu (AT89C51).
Mã lệnh điều khiển TV SONY
Phím Mã lệnh
1 0H
2 1H
3 2H
4 3H
5 4H
6 5H
7 6H
8 7H
9 8H
10 9H
PROGRAM + 10H
PROGRAM - 11H
VOLUME + 12H
VOLUME - 13H
MUTING 14H
POWER 15H
DISPLAY 3AH
Ở đây chỉ dùng 8 mã lệnh để đóng mở 8 relay ( phím 1-8). Khi bấm các phím trên remote TV thì led thu IR sẽ thu tín hiệu qua VDK 89c51 sẽ giải mã đưa vào thanh ghi A và xuất hiển thị mã này ra port 1, đồng thời mã này sẽ so sánh với các mã lệnh của các phím xuất ra port 0 để đóng mở các relay tương ứng.
A: Thu phát và giải mã tín hiệu
-Phát tín hiệu:
Dùng remote của TV sony hoặc bộ phát hồng ngoại.
Tín hiệu từ remote Sony có dạng:
-Phần đầu tiên của tín hiệu có độ dài 3T bằng 1800ms gọi là header hay satart bit. Các bit còn lại được mã hóa như sau:
500ms im lặng + 700ms hồng ngoại = bit 0
500ms im lặng +1300ms hồng ngoại = bit 1


Bit start đặt là bit B0, bit cuối là B11. Với 7 bit đầu là bit lệnh, 5 bit cuối là bit địa chỉ. Vì các tín hiệu đều lấy từ cùng renote nên ta chỉ cần giải mã 7 bit lệnh đầu tiên.
-Thu tín hiệu
Dùng led thu hồng ngoại để thu tín hiệu. Tín hiệu qua led thu sẽ bị đảo như sau:
bit 0=500ms mức cao+700ms mức thấp
bit 1=500ms mức cao+1300ms mức thấp
-Giải mã tín hiệu:
Để thu được 7 bit lệnh ta cần nạp cho thanh ghi A giá trị 00000010B để sau 7 lần quay trái có cờ nhớ C thì giá trị thanh ghi A chính là mã lệnh điều khiển của phím bấm remote.
Thuật toán giải mã:
1.Nạp thanh ghi A giá trị 02H
2.Chờ tín hiệu đi xuống( bit start)
3.Chờ tín hiệu đi lên(khởi đầu của 1 bit)
4.Chờ tín hiệu đi xuống
5.Chờ khoảng 700ms 6.Đo tín hiệu: + nếu ở mức cao bit nhận được là bit 0, đặt C=0 quay phải A có cờ C, quay lại bước 4.
+ nếu ở mức thấp bit nhận được là bit 1, đặt C=1 quay phải A có cờ C, quay lại bước 3.
7.Nếu C=1, giá trị trong thanh ghi A= D6D5D4D3D2D1D00, quay phải A thu được A=0 D6D5D4D3D2D1D0 ­
-Xuất nội dung thanh ghi A ra port 1 hiển thị bằng các led( đây chính là mã lệnh từ remote mà VDK giải mã được).
Lưu đồ giải mã tín hiệu:
B: Phần điều khiển bật tắt thiết bị
-So sánh nội dung trong thanh ghi A với mã lệnh của các phím
Thuật toán như sau:
IF A=0H(PHIM 1)
P0.0=0
ELSEIF A=1H(PHIM 2)
P0.1=0
ELSEIF A=2H(PHIM 3)
P0.2=0
ELSEIF A=3H(PHIM 4)
P0.3=0
ELSEIF A=4H(PHIM 5)
P0.4=0
ELSEIF A=5H(PHIM 6)
P0.5=0
ELSEIF A=6H(PHIM 7)
P0.6=0
ELSEIF A=7H(PHIM 8)
P0.7 =0
Lưu đồ :
Lưu đồ của chưong trình:

SƠ ĐÒ NGUYÊN LÝ:

ĐOẠN MÃ CHƯƠNG TRÌNH:

$MOD51
ORG 00H
MOV P0,#0FFH; Tắt tất cả các relay
MOV P1,#0;
MAIN:
;GIẢI MÃ TÍN HIỆU
MOV A,#40H
SETB P3.3
JB P3.3,$ ; Chờ tín hiệu mức thấp, bit START
LAP1: JNB P3.3,LAP1 ; CHỜ TÍN HIỆU MỨC CAO, KHỞI ĐẦU CỦA BIT
LAP2: JB P3.3,LAP2 ; CHỜ TÍN HIỆU MỨC THẤP
LCALL DELAY1MS
JNB P3.3,LAP3 ; NHẢY TỚI LAP3 NẾU TÍN HIỆU MỨC THẤP
CLR C ; ĐẶT C=0
RRC A ; XOAY PHẢI A CÓ CỜ NHỚ C
JNC LAP2 ; NHẢY TỚI NHÃN LAP2 NẾU C=0
SJMP KETTHUC ;NHẢY TỚI NHÃN KETTHHUC NẾU C=1
LAP3: SETB C ; ĐẶT C=1 NẾU TÍN HIỆU MỨC THẤP
RRC A ; XOAY PHẢI A CÓ CỜ NHỚ
JNC LAP1 ; NHẢY ĐẾN NHÃN LAP1 NẾU C=0
KETTHUC:
RR A ; QUAY PHẢI A THU ĐƯỢC MÃ CỦA TÍN HIỆU
MOV P1,A ;XUẤT MÃ RA PORT 1 HIỂN THỊ BẰNG LED
; PHẦN ĐIỀU KHIỂN TÍN HIỆU
PHIM1: CJNE A,#0H,PHIM2 ;SO SÁNH MÃ LỆNH PHÍM VỚI MÃ T H
CPL P0.0 ; ĐẢO BIT ĐÓNG MỞ RELAY
SJMP MAIN; QUAY VỀ CHƯƠNG TRINH CHÍNH THU TÍN HIỆU TIẾP
PHIM2: CJNE A,#1H,PHIM3 ;
CPL P0.1
SJMP MAIN
PHIM3: CJNE A,#2H,PHIM4
CPL P0.2
SJMP MAIN
PHIM4: CJNE A,#3H,PHIM5
CPL P0.3
SJMP MAIN
PHIM5: CJNE A,#4H,PHIM6
CPL P0.4

PHIM6: CJNE A,#5H,PHIM7
CPL P0.5
SJMP MAIN
PHIM7: CJNE A,#6H,PHIM8
CPL P0.6
SJMP MAIN
PHIM8: CJNE A,#7H,PHIMKHAC
CPL P0.7
SJMP MAIN
PHIMKHAC:
NOP
SJMP MAIN
; TẠO TRỄ 1MS
DELAY1MS:
MOV R0,#10
HERE:
MOV R1,#50
DJNZ R1,$
DJNZ R0,HERE
RET
END









king2504
Hiện đã có 1 ý kiến thảo luận về bài viết này. Mời bạn cùng trao đổi!
Về đầu trang
In bài viết
Gửi qua email
Thảo luận về bài viết

king2504


lưu đồ giải thuật điều khiển tín hiệu ở trên bị nhầm, nó chỉ có mở mà không đóng
lưu đồ đúng:

Cac ban xem chi tiet o day: http://www.mediafire.com/?enzn0mwtjy2
Nguon: http://www.ant7.com
Đọc tiếp →
-->đọc tiếp...