Tải bản đầy đủ - 0 (trang)
Các giao thức TCP/IP của Internet

Các giao thức TCP/IP của Internet

Tải bản đầy đủ - 0trang

Hình 9.



Chờng giao thức TCP/IP



Các lớp chịu chi phối nhiều nhất vởi TCP/IP là lớp 7, lớp 4 và lớp 3. Bao gồm

trong các lớp này là các loại giao thức khác với chức năng và mục tiêu khác nhau, tất

cả những điều đó đều liên quan đến hoạt đơng vận chuyển thông tin.

TCP/IP cho phép hoạt động thông tin diễn ra trong số bất kỳ các mạng nào

trong liên mạng và phù hợp tốt như nhau trong hoạt động truyền tin ở cả LAN và

WAN. TCP/IP không chỉ bao gồm cho các đặc tả lớp 3 và lớp 4 mà còn đặc tả cho các

ứng dụng phổ biến như E-mail, truy cập từ xa (remode login), mô phỏng đầu cuối

(terminal emulation) và truyền file.



Hình 10.



các giao thức bên trong TCP/IP

19



1.4.4. Ngơn ngữ lập trình PHP

1.4.4.1 Giới thiệu

Cùng với Apache, PHP và MySQL đã trở thành chuẩn trên các máy chủ Web.

Rất nhiều phần mềm Web mạnh sử dụng PHP và MySQL (PHP Nuke, Post Nuke,

vBulletin…).

PHP là ngơn ngữ có cú pháp gần giống Perl nhưng tốc độ dịch của nó được các

chuyên gia đánh giá là nhanh hơn ASP 5 lần, chạy trên nhiều hệ điều hành như Unix,

Window, Linux nó hỗ trợ kết nối các hệ cơ sở dữ liệu lớn như MySQL, ngồi ra nó

còn được Apache hỗ trợ như là một module cơ bản.

a. Lịch sử ra đời

Năm 1995, Rasmus Lerdorf tạo ra PHP nhằm giải quyết việc viết lặp đi lặp lại

cùng đoạn mã khi tạo các trang. Ban đầu tác giả chỉ có ý định tạo bộ phân giải đơn

giản để thay thế các thẻ lệnh trong file HTML bằng các đoạn mã lệnh viết bằng C.

Tới năm 1998, việc công bố phiên bản 3 thì PHP mới chính thức phát triển theo

hướng tách riêng của mình. Giống như C và Perl, lúc này nó đã là một ngơn ngữ lập

trình có cấu trúc và tính năng đa dạng, chính vì thế đã khuyến khích các nhà thiết kế

Web sử dụng PHP. Nó có thể cung cấp một lượng cơ sở dữ liệu khá đồ sộ gồm cả

MySQL, mSQL, dbm, Hyperwave, Informix, Ocracle, nó cũng có thể làm việc với các

hình ảnh, các file dữ liệu, FTP, XML của các kỹ thuật ứng dụng khác.

b. PHP là gì?

PHP được viết từ Hypertext Preprocessor hoặc Personal Home Page,

đây là một ngôn ngữ kịch bản mã nguồn mở sử dụng cho mục đích chung, đặc biệt

thích hợp cho phát triển Web và có thể nhúng vào HTML. Hiện nay được sử dụng rất

rộng rãi.

Mã PHP được thực thi ở phía Server, khi trình duyệt của người dùng truy cập

một trang web có chứa một đoạn mã PHP thì trình duyệt nhận được trang kết quả đã

xử lý từ Web server, người dùng sẽ không thể biết được đoạn mã viết gì.

PHP tương tự JSP và ASP với tập thẻ lệnh dùng cho trang HTML. Điểm đặc

biệt là PHP được phát triển hoàn toàn cho nền tảng web. Chính vì vậy , mà các ứng

dụng viết bằng PHP rất ngắn gọn so với VBScript hay JSP. Đây cũng chính là điểm

mạnh của PHP so với Perl.



20



Cú pháp PHP mượn từ nhiều ngôn ngữ khác như C, Java, Perl... PHP có thể

giao tiếp với nhiều hệ CSDL như MySQL, MS Access, Sybase, Oracle và cả Microsoft

SQL. Không chỉ có khả năng thao tác CSDL, PHP còn có nhiều khả năng khác như

IMAP, SNMP, LDAP, XML... PHP chạy trên hầu hết các nền tảng hệ thống. Trình máy

chủ phân giải mã lệnh PHP có thể tải về miễn phí từ trang web chính thức của PHP.

Có lẽ yếu tố hấp dẫn nhất của PHP là nó hồn tồn miễn phí. Với máy tính cấu

hình vừa phải chạy Linux, cài đặt Apache, PHP và MySQL, bạn sẽ có máy chủ có thể

phục vụ được nhiều ứng dụng web tương đối. Tồn bộ chi phí hầu như chỉ là thời gian

bạn bỏ ra để cài đặt các phần mềm. PHP được xem là một thay thế cho Perl. PHP

không thể làm được nhiều như Perl, thế nhưng chính sự hạn chế này làm cho PHP dễ

học và dễ dùng.

1.4.4.2 Sử dụng PHP

a. Khai báo mã PHP

Có 4 loại khác nhau của thẻ PHP:

-



Kiểu Short: là thẻ mặc định mà các nhà lập trình PHP thường sử dụng.





-



Kiểu định dạng XML: thẻ này có thể sử dụng với văn bản dạng XML.





-



Kiểu Script: trong trường hợp muốn sử dụng PHP như một script tương tự như

khai báo Javascript hay VBScript 4





-



Kiểu ASP:

<%

echo “Đây là kiểu ASP”;

%>



Tuy nhiên loại đầu tiên vẫn được ưa chuộng và dùng phổ biến hơn.

b. Các kiểu dữ liệu

- Số nguyên:

VD: $a=1234; $a = -123;

- Số thực:

VD:$a= 1.323; $a=1.2e3;

21



Chú ý: Khi sử dụng các số thực tế để tính tốn, có thể làm mất giá trị của

nó. Vì vậy, nên sử dụng các hàm tốn học trong thư viện chuẩn để tính tốn.

- Xâu:

Có 2 cách để xác đinh 1 xâu: Đặt giữa 2 dấu nháy kép(“”) hoặc giữa 2 dấu nháy

đơn (‘’).Chú ý là các biến giá trị sẽ không được khai triển trong xâu giữa 2 dấu ngoặc

đơn.

- Mảng:

Mảng thực chất là gồm 2 bảng: Bảng chỉ số và bảng liên kết.





Mảng 1 chiều: Có thể dùng hàm list(), array() để liệt kê các giá trị của từng

phần tử trong mảng để tạo mảng. Có thể thêm các giá trị vào mảng để tạo thành

1 mảng --> Dùng giống trong C.

Có thể dùng các hàm asort(), arsort(), ksort(), rsort(), sort(), uasort(),usort(),



and uksort() để sắp xếp mảng. Tùy thuộc vào việc sắp xếp theo kiểu gì.





Mảng nhiều chiều.



c. Biến - giá trị

PHP quy định một biến được biểu diễn bắt đầu bằng dấu $, sau đó là một chữ

cái hoặc dấu gạch dưới.

PHP khơng u cầu phải khai báo trước kiểu dữ liệu cho các biến, kiểu dữ liệu

của biến sẽ phụ thuộc vào kiểu dữ liệu mà bạn gán cho nó.

VD: $a;

$b=2;

d. Biểu Thức

Biểu thức là một phần quan trọng trong PHP. Phần lớn mọi thứ bạn viết đều

được coi như là một biểu thức. Điều này có nghĩa là mọi thứ đều có một giá trị.

Một dạng cơ bản nhất của biểu thức là bao gồm các biến và hằng số.PHP hổ trợ

3 kiều giá trị cơ bản nhất: Số nguyên, số thực, và xâu. Ngồi ra còn có mảng và đối

tượng. Mỗi kiểu giá trị này đều có thẻ gán cho cácbiến hay làm giá trị trả ra khỏi các

hàm.

e. Các cấu trúc lệnh

- If ....else....else if

22



if (điều kiện) { các lệnh thực thi; }

elseif ( điều kiện) { các lệnh thực thi;}

else {các lệnh thực thi;}

- Vòng lặp

while ( DK) { …}

do { …..} white ( DK );

for (bieuthuc1; bieuthuc2; bieu thuc3) {…..}

PHP 4 only :

foreach(array_expression as $value) statement

foreach(array_expression as $key => $value) statement

- Break và continue

Break: Thốt khỏi vòng lặp hiện thời

Continue: Bỏ qua vòng lặp hiện tại, tiếp tục vòng tiếp theo.

- Switch

Switch (tên biến) {

case trường hợp 1: ..... break;

case trường hợp 2: ..... break;

case trường hợp 3: ..... break;

default :

}

●Những điều cần nhớ:

- Các cấu trúc điều khiển chi phối tốc độ của chương trình, cho phép chia nhỏ

các thành phần khác nhau của một ngôn ngữ lập trình, phụ thuộc vào đầu vào và có thể

dễ dàng thực hiện các thao tác.

- Có hai loại cấu trúc điều khiển trong PHP: Ngôn ngữ điều kiện và điều khiển

theo một vòng khép kín.



23



- Hai loại cấu trúc trên chỉ có các lệnh khơng dùng dấu ngoặc, tuy nhiên các

nhà lập trình thường sử dụng chúng để tạo mã dễ hiểu hơn. Các lệnh này thường được

ứng dụng với cùng một lý do.

- Break: Có thể được dùng để kết thúc lệnh hiện thời. Nó cũng có thể được sử

dụng để xoá bỏ For Loops và While Loops, Exit, xố bỏ tồn bộ nhiệm vụ của ngơn

ngữ lập trình. Break còn được dùng ở bất kỳ đâu trong ngơn ngữ lập trình.

f. Hàm

Dùng giống như C. Ngoại trừ bạn không cần phải khai báo kiểu cho tham số

của hàm.

- Tham trị

VD:

function takes_array($input) {

echo "$input[0] + $input[1] = ", $input[0]+$input[1];

}

- Tham biến

function add_some_extra(&$string) {

$string .= 'and something extra.';

}

- Tham số có giá trị mặc định

function makecoffee ($type = "cappucino") {

return "Making a cup of $type.\n";

}

Chú ý: Khi sử dụng hàm có đối số có giá trị mặc định, các biến này sẽ phải nằm về

phía phải nhất trong danh sách các đối số.

VD: function makeyogurt ($flavour, $type = "acidophilus")

g.Lưu trữ và truy vấn dữ liệu bằng PHP

* Mở file bằng PHP

- fopen(tên file, chế độ mở): mở file

- fputs(), fwrite(): ghi file

- fclose(): Đóng file

24



- feof(): Nhận giá trị true nếu con trỏ ở cuối file

- file_exists(): Kiểm tra file có tồn tại

-filesize(): kiểm tra dung lượng của file

-unlink(): xóa file

* Thiết lập kết nối cơ sở dữ liệu

Để kết nối cơ sở dữ liệu MySQL, cần cung cấp tên Server hay IP (có thể là

localhost) của máy chứa cơ sở dữ liệu MySQL, Username và Password để đăng nhập

làm việc trên cơ sở dữ liệu được mở.

* Thiết lập kết nối:

Int mysql_pcconnect(“serverbname”, “username”, “password”);

if(!$db)

{

echo “Không kết nối được với CSDL”);

}

Hoặc

$link = mysql_connect(“servername”, “username”, “password”)

or die(“Không kết nối được với CSDL”);

* Mở một CSDL:

mysql_select_db(“database name”);



hoặc



mysql_select_db(“database name”, $link);

* Đóng kết nối cơ sở dữ liệu:

mysql_close(database_connection);

* Truy vấn cơ sở dữ liệu:

Int mysql_query(string sql);

Int mysql_query(string sql, [int db_connect]);

Int mysql_query(string database, string sql, [int db_connect]);

* Số lượng mẩu tin:

25



mysql_num_rows(); Cho biết số lượng mẩu tin câu truy vấn trả về.

* Truy vấn dữ liệu:

Int mysql_fetch_array($result);

Mysql_fetch_object($result);

* Dung lượng của tập mẩu tin:

int mysql_free_result(int $result);

1.4.5. Hệ quản trị cơ sở dữ liệu MySQL

1.4.5.1 MySQL là gì?



MySQL là một database server, là hệ thống quản lý cơ sở dữ liệu quan hệ.Trong

việc lưu trữ, tìm kiếm, sắp xếp và truy vấn dữ liệu, nó tỏ ra rất nhanh và mạnh mẽ.

MySQL server điều khiển truy cập dữ liệu đa người dùng cùng một thời điểm, cung

cấp khả năng truy cập dữ liệu nhanh, bảo đảm cho người sử dụng được cấp quyền truy

cập dữ liệu của hệ thống. Do vậy, MySQL là đa người dùng, đa luồng.

MySQL sử dụng các câu lệnh truy vấn SQL(ngôn ngữ truy vấn có cấu trúc), là

một chuẩn ngơn ngữ truy vấn cơ sở dữ liệu hiện nay trên Web. MySQL được chính

thức sử dụng rộng rãi năm 1996 nhưng đã hình thành từ năm 1979. MySQL cómã

nguồn mở và sử dụng miễn phí, nhưng với những mục đích thương mại khác thì nó

cũng có các bản quyền thương mại nếu được yêu cầu cung cấp bản quyền. Một khó

khăn cho người lập trình khơng chun là khi sử dụng MySQL, việc tạo cơ sở dữ liệu

hoàn toàn bằng lệnh, do đó đòi hỏi người sử dụng phải có tính cẩn thận và sắp xếp quy

trình làm việc hợp lý.

MySQL có thể quản lý tới hàng Terabyte dữ liệu, hàng triệu bản ghi, chạy trên

nhiều mơi trường khác nhau, có giao diện tương đối dễ sử dụng, có thể truy vấn dữ

liệu thông qua câu lệnh SQL.

MySQL thường được sử dụng chung với PHP trong những trang Web cần sử

dụng đến cơ sở dữ liệu.

1.4.5.2 Nơi cung cấp MySQL

Có thể download tại website www.mysql.com qua mạng Internet phần mềm hệ

quản trị cơ sở dữ liệu server/client đến các phần mềm tiện nghi và các phần mềm giao

diện đẹp mắt và tiện dụng.

1.4.5.3 Các câu lệnh cơ bản của MySQL

26



a. Tạo cơ sở dữ liệu:

Create Database

Create



b. Phát biểu SQL thao tác dữ liệu

- SELECT (truy vấn mẩu tin)

- INSERT (Thêm mẩu tin)

- UPDATE (Cập nhật dữ liệu)

- DELETE (Xóa mẩu tin)

 Phát



biểu SELECT

SELECT

FROM

WHERE

[GROUP BY ]

[HAVING <điều kiện bắt buộc của Group by>]

[ORDER BY ]

[Limit fromNumber | To Number]



 Phát



biểu INSERT

INSERT INTO []

VALUES (data_values)



 Phát



biểu Update

UPDATA

SET =, [=]

[WHERE ]



 Phát



biểu DELETE

DELETE from

WHERE



27



c. Một số hàm thông dụng trong MySQL

-



Hàm AVG: Hàm trả về giá trị bình quân của cột hay trường trong câu truy vấn.

VD: SELECT AVG(Amount) FROM tblOrder



-



Hàm MIN: Hàm trả về giá trị nhỏ nhất của cột hay trường trong câu truy vấn.

VD: SELECT MIN(Amount) FROM tblOrder



-



Hàm MAX: Hàm trả về giá trị lớn nhất của cột hay trường trong câu truy vấn.

VD: SELECT MAX(Amount) FROM tblOrder



-



Hàm Count: Hàm trả về số lượng mẩu tin trong câu truy vấn

VD: SELECT Count(*) FROM tblOrder



-



Hàm Sum: Hàm trả về tống các giá trị của trường, cột trong câu truy vấn

VD: SELECT SUM(Amount) FROM tblOrder



-



Hàm CurDate(): hàm trả về ngày, tháng, năm hiện hành của hệ thống

VD: SELECT CURTIME() AS ‘Ngay hien tai’



-



Hàm CurTime(): Hàm trả về giờ phút giây hiện hành của hệ thống

VD: SELECT CURTIME() AS ‘Thoi gian’.



1.4.6. Giới thiệu về Apache Webserver

Trên thị trường tồn tại nhiều phần mềm webserver khác nhau như: Xitami,

Appsevs, IIS..., mỗi loại đều có ưu nhược điểm riêng. Điển hình là sản phẩm thương

mại IIS do Microsoft phát triển, nó rất thích hợp với các trình dịch của Microsoft còn

với các trình biên dịch khác thì nó ít hỗ trợ, vả lại khả năng chống và chịu lỗi của IIS

không cao .

Apache Web Server do công ty Apache phát triển, được cung cấp miễn phí, hỗ

trợ nhiều ngơn ngữ, chạy trên nhiều môi trường như Linux, Microsoft, Unix. Apache

là Web server phổ biến nhất hiện nay, chiếm khoảng gần 60% thị trường máy chủ Web

trên thế giới chứng tỏ sự mạnh mẽ và đáng tin cậy của nó. Trên Web server sẽ chứa

những site mà các máy con có thể truy xuất đến các site này.



28



CHƯƠNG 2 PHÂN TÍCH THIẾT KẾ HỆ THỐNG

2.1. Yêu cầu hệ thống

2.1.1. Mô tả hoạt động của hệ

Hình dưới trình bày sơ đồ của hệ thống giám sát nhiệt độ, độ ẩm từ xa

qua mạng internet ứng dụng trong tòa nhà



Hình 11.



-



sơ đờ hoạt động của hệ thống giám sát nhiệt độ



Hệ thống hoạt động dựa trên sự kết hợp của hai module là module webserver và

module đo điều khiển. Module webserver sẽ lưu dữ liệu mà module điều khiển gửi lên.

Module webserver ngoài chức năng lưu trữ dữ liệu từ mạch đo gửi lên còn có chức

năng hiển thị giao diện điều khiển thiết bị, dữ liệu về nhiệt độ, độ ẩm ra giao diện

người dùng.



-



Khi nhận được tín hiệu nhiệt độ báo về từ cảm biến thì bộ vi xử lý của hệ thống

Arduino sẽ xử lý tín hiệu để chuyển sang module Wifi ESP8266 và sau đó truyền lên

server thơng qua mơi trường ko dây wifi.



-



Khi module wifi ESP8266 gửi tín hiệu lên server người dùng có thể truy cập vào hệ

thống để điều khiển thiết bị trong gia đình và giám sát nhiệt độ, độ ẩm tại bất kỳ đâu

có mạng internet.



-



Tại web server, thông qua mạng LAN (nội bộ) hoặc thơng qua internet, nhà quản lý có

thể sử dụng tính năng của phần mềm nền tảng web (web-based software) để:

29