Lĩnh vực điều khiển từ xa tại Việt Nam tuy đã phát triển mạnh nhưng ít có hệ thống điều khiển qua internet. Chủ yếu là điều khiển qua sóng điện từ với tần số thấp, khoảng cách không xa. Điều khiển từ xa qua internet cho phép khoảng cách không gian không bị giới hạn. Có thể điều khiển thông qua máy tính có kết nối internet hay điện thoại di động kết nối 3G, internet không dây
Đề tài: Điều khiển thiết bị điện từ xa qua internet
LỜI MỞ ĐẦU
Sự tiến bộ của nền khoa học công nghệ thông tin đã góp phần làm cho đời sống
xã hội ngày càng phong phú. Nó mang lại siêu lợi nhuận cho nền kinh tế của mỗi
quốc gia và toàn cầu, đồng thời mang lại nền văn minh cho nhân loại chưa từng có từ
trước đến nay. Việt Nam là một nước đang trên đà phát triển và hội nhập, những ảnh
hưởng tích cực và hệ quả ưu việt do công nghệ thông tin mang lại cho nền kinh tế và
đời sống xã hội khoảng vài chục năm gần đây đã chứng minh điều này.
Hệ thống mạng internet là một phát triển vượt bậc của ngành công nghệ thông
tin. Hiện nay nó là hệ thống mạng được liên kết toàn cầu. Nhờ đó mà ta có thể tra cứu,
cập nhật thông tin, liên lạc, trao đổi dữ liệu... bất cứ nơi nào có internet. Hệ thống
mạng internet hiện nay không chỉ còn bị giới hạn đường truyền nhờ sự phát triển của
công nghệ truyền tín hiệu cáp quang và vệ tinh. Ngoài ra, hệ thống mạng Internet hiên
nay không còn bó hẹp ở những nơi có cáp truyền dẫn, mà mở rộng ra khắp nơi nhờ
thông qua dịch vụ 3G.
Ở Việt Nam liên tục trong những năm qua, internet đã phát triển nhanh chóng
với hơn 30 triệu người dùng internet trên tổng số gần 90 triệu người dân. Sự phát triển
bùng nổ của lĩnh vực viễn thông và CNTT của Việt Nam trong vài năm trở lại đây
cũng cho thấy lĩnh vực này là một hướng đi mới, đầy triển vọng tạo nên sự đột phá để
đưa nền kinh tế của Việt Nam vươn ra thế giới.
Lĩnh vực điều khiển từ xa tại Việt Nam tuy đã phát triển mạnh nhưng ít có hệ
thống điều khiển qua internet. Chủ yếu là điều khiển qua sóng điện từ với tần số thấp,
khoảng cách không xa. Điều khiển từ xa qua internet cho phép khoảng cách không
gian không bị giới hạn. Có thể điều khiển thông qua máy tính có kết nối internet hay
điện thoại di động kết nối 3G, internet không dây...
Trong nội dung đề tài nay, em xin trình bày về điều khiển thiết bị điện qua
internet thông qua trang web. Như một bài nghiên cứu về hệ thống điều khiển này.
Em xin chân thành cảm ơn thầy giáo, cô giáo trong khoa KTCN, cảm ơn các
chuyên viên công ty Hoàng Sơn đã tận tình chỉ bảo, giúp đỡ em làm báo cáo tổng
-2-
Đề tài: Điều khiển thiết bị điện từ xa qua internet
hợp. Đặc biệt em xin chân thành cảm ơn thầy Phan Thanh Quảng đã tận tình giúp
đỡ em trong suốt quá trình làm báo cáo thực tập tổng hợp này.
-3-
Đề tài: Điều khiển thiết bị điện từ xa qua internet
NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN
…………………………………………………………………………………
…………………………………………………………………………………
…………………………………………………………………………………
…………………………………………………………………………………
…………………………………………………………………………………
…………………………………………………………………………………
…………………………………………………………………………………
…………………………………………………………………………………
…………………………………………………………………………………
…………………………………………………………………………………
…………………………………………………………………………………
…………………………………………………………………………………
…………………………………………………………………………………
…………………………………………………………………………………
Quy nhơn, Ngày … tháng … năm 201…
Giáo viên hướng dẫn
-4-
Đề tài: Điều khiển thiết bị điện từ xa qua internet
NHẬN XÉT CỦA CƠ QUAN THỰC TẬP
…………………………………………………………………………………
…………………………………………………………………………………
…………………………………………………………………………………
…………………………………………………………………………………
…………………………………………………………………………………
…………………………………………………………………………………
…………………………………………………………………………………
…………………………………………………………………………………
…………………………………………………………………………………
…………………………………………………………………………………
Quy nhơn, ngày … tháng … năm 201…
Đại diện cơ quan thực tập
(Ký tên và đóng dấu)
-5-
Đề tài: Điều khiển thiết bị điện từ xa qua internet
MỤC LỤC
CHƯƠNG I: TỔNG QUAN VỀ ĐỀ TÀI ................................................................................. 7
I.1. Giới thiệu tổng quan về công ty TNHH Hoàng Sơn Computer ..................................... 7
I.2. Giới thiệu đề tài .............................................................................................................. 8
I.3. Mục tiêu đề tài ................................................................................................................ 8
I.4. Nhiệm vụ của đề tài ........................................................................................................ 9
CHƯƠNG II: CƠ SỞ LÝ THUYẾT ........................................................................................ 9
II.1. Phần mềm ...................................................................................................................... 9
II.1.1. Website ................................................................................................................... 9
II.1.2. Phần mềm kết nối và truyền tín hiệu .................................................................... 11
II.1.3. Phần mềm cài đặt trên máy tính chủ .................................................................... 12
II.2. Phần cứng .................................................................................................................... 12
II.2.1. Vi điều khiển 8051 ............................................................................................... 12
II.2.2. Transistor .............................................................................................................. 13
II.2.3. Lập trình phần cứng ............................................................................................. 13
II.3. Bảo mật ....................................................................................................................... 14
CHƯƠNG III: PHÂN TÍCH VÀ THIẾT KẾ ......................................................................... 14
III.1. Website ...................................................................................................................... 14
III.1.1. Cấu trúc và giao diện .......................................................................................... 14
III.1.2. Thiết kế cơ sở dữ liệu .......................................................................................... 15
III.1.3. Chức năng của website ....................................................................................... 16
III.2. Chương trình kết nối và truyền dữ liệu ...................................................................... 18
III.3. Phần cứng ................................................................................................................... 20
III.3.1. Thiết kế phần cứng .............................................................................................. 20
III.3.2. Lập trình phần cứng ............................................................................................ 22
III.4. Bảo mật ...................................................................................................................... 23
III.4.1. Bảo mật website .................................................................................................. 23
III.4.2. Bảo mật thư mục chứa website ........................................................................... 24
CHƯƠNG IV: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN ..................................................... 25
IV.1. Nội dung làm được .................................................................................................... 25
IV.2. Kinh nghiệm thu được ............................................................................................... 25
IV.3. Hướng phát triển ........................................................................................................ 26
-6-
Đề tài: Điều khiển thiết bị điện từ xa qua internet
CHƯƠNG I: TỔNG QUAN VỀ ĐỀ TÀI
I.1. Giới thiệu tổng quan về công ty TNHH Hoàng Sơn Computer
Tên công ty : Công Ty tin học Hoàng Sơn .
Tên giao dịch: Hoang Son Computer Co, Ltd.
Địa chỉ: Số 551 Trần Hưng Đạo, TP Qui Nhơn, Bình Định
Điên thoại: (056) 3 825 921
Website: http://hoangsoncomputer.com
Công ty tin học Hoàng Sơn được thành lập vào những ngày đầu năm 2002,
trong thời kỳ CNTT chưa phát triển mạnh tại Bình Định. Công ty được cấp giấy
chứng nhận đăng ký kinh doanh số 3502000489 do sở kế hoạch và đầu tư tỉnh Bình
Định cấp ngày 02/03/2005. Với đăng ký mã số thuế 4100555443 do cục thuế tỉnh
Bình Định cấp. Tên tài khoảng: CÔNG TY TNHH HOÀNG SƠN COMPUTER.
Số tài khoản: 4301211370002 tại ngân hàng NN & PTNT Bình Định (phòng giao dịch
Trần Hưng Đạo- Tp Quy Nhơn).
Ngày nay, công ty TNHH Hoàng Sơn computer đã có những bước tiến vượt
bậc, trở thành một trong những đơn vị đầu ngành trong lĩnh vực công nghệ thông tin
tại Bình Định. Với sự phát triển vững mạnh của mình, công ty Hoàng Sơn computer
đã trở thành đại lý phân phối chính thức của các hãng TOSHIPA, CANON, HP,
DELL, AXIOO … chất lượng sản phẩm luôn được công ty đảm bảo và đạt tiêu
chuẩn. Với đội ngũ kỹ thuật trẻ năng động, nhiệt tình, được đào tạo chuyên ngành kết
hợp với kinh nghiệm xử lý nhiều tình huống thực tế và thường xuyên cập nhật những
công nghệ mới.
Vấn đề quan trọng nhất của bất kỳ doanh nghiệp nào đó chính là yếu tố khách
hàng, hiện tại công ty luôn có sự quan tâm chăm sóc khách hàng bằng hết khả năng
của mình, từ ý kiến và nhận xét của khách hàng, công ty dựa vào đó để tiếp tục xây
dựng sự phát triển về mặt chăm sóc và phục vụ khách hàng tốt hơn hết.
-7-
Đề tài: Điều khiển thiết bị điện từ xa qua internet
I.2. Giới thiệu đề tài
Hiện nay các đề tài nghiên cứu khoa học đã được nghiên cứu nhiều đề tài
trong nhiều lĩnh vực. Tuy nhiên đề tài điều khiển thiết bị điện từ xa qua internet thì
chưa thấy nghiên cứu hoặc chưa được công bố rộng rãi và áp dụng thực tế.
Trong các công ty, xưởng sản xuất. Thông thường buổi sáng các nhân viên
trước khi vào ngày làm việc mới phải đi bật các thiết bị điện hoặc tắt trước khi ra về
vào chiều.
Đối với các nhà xưởng lớn hơn. Việc triển khai một phòng điều khiển bao gồm
các tủ điện có nhiều công tắc điều khiển của tất cả các thiết bị. Như vậy nhân viên
không phải bật hay tắt điện vào buổi sáng hay buổi chiều. Tuy nhiên sẽ luôn phải có
một người trực liên tục ở phòng điều khiển. Việc này làm tốn thêm chi phí cho công
ty.
Đối với ngôi nhà của hộ gia đình. Những lúc đi làm hoặc đi ra ngoài mà quên
tắt đèn điện, bơm nước hay bếp điện. Họ sẽ phải quay về để tắt các thiết bị này đi.
Việc này gây tốn thời gian và chi phí đi lại. Đôi khi còn gây ra tai nạn đáng tiếc như
gây cháy do quên tắt bếp điên.
Các nhân viên trong trường học phải thường xuyên đi tắt điện của từng phòng
học sau giờ tan học của mỗi ngày.
Đó là những bất cập thường hay gặp phải đối với điều khiển thiết bị điện thủ
công như hiện nay. Việc đưa đề tài điều khiển thiết bị điện từ xa qua internet vào ứng
dụng thực tiễn sẽ giải quyết được các vấn đề trên.
I.3. Mục tiêu đề tài
Tìm hiểu một cách tổng quan về điều thiết bị điện qua internet.
Phân tích, hiểu được các tính năng và vấn đề kỷ thuật của hệ thống.
Nghiên cứu và chế tạo hoặc đưa ra giải pháp để chế tạo thiết bị của hệ
thống điều khiển thiết bị điện từ xa qua internet.
Nghiên cứu bảo mật hệ thống giao tiếp giữa internet và người dùng.
-8-
Đề tài: Điều khiển thiết bị điện từ xa qua internet
I.4. Nhiệm vụ của đề tài
Củng cố các kiến thức liên quan đến đề tài.
Nghiên cứu, ứng dụng đề tài vào thực tiễn.
Tìm hiểu ưu nhược điểm của đề tài để từ đó đưa ra hướng giải quyết và khắc
phục.
CHƯƠNG II: CƠ SỞ LÝ THUYẾT
II.1. Phần mềm
II.1.1. Website
Trang web điều khiển là website nằm trên máy tính chủ đặt tài nơi cần điều khiển và
có thể truy cập qua internet. Website sử dụng công nghệ web 2.0 và được viết bằng
ngôn ngữ PHP kết hợp HTML 5, Javascript và hệ quản trị cơ sở dữ liệu MySQL.
PHP: là một ngôn ngữ lập trình kịch bản hay một loại mã lệnh chủ yếu được
dùng để phát triển các ứng dụng viết cho máy chủ, mã nguồn mở, dùng cho mục đích
tổng quát. Nó rất thích hợp với web và có thể dễ dàng nhúng vào trang HTML. Do
được tối ưu hóa cho các ứng dụng web, tốc độ nhanh, nhỏ gọn, cú pháp
giống C và Java, dễ học và thời gian xây dựng sản phẩm tương đối ngắn hơn so với
các ngôn ngữ khác nên PHP đã nhanh chóng trở thành một ngôn ngữ lập trình web
phổ biến nhất thế giới.
MySQL: là hệ quản trị cơ sở dữ liệu tự do nguồn mở phổ biến nhất thế giới và
được các nhà phát triển rất ưa chuộng trong quá trình phát triển ứng dụng. Vì MySQL
là cơ sở dữ liệu tốc độ cao, ổn định và dễ sử dụng, có tính khả chuyển, hoạt động trên
nhiều hệ điều hành cung cấp một hệ thống lớn các hàm tiện ích rất mạnh.Với tốc độ
và tính bảo mật cao, MySQL rất thích hợp cho các ứng dụng có truy cập CSDL trên
internet. MySQL miễn phí hoàn toàn cho nên bạn có thể tải về MySQL từ trang chủ.
Nó có nhiều phiên bản cho các hệ điều hành khác nhau: phiên bản Win32 cho các hệ
điều hành dòng Windows, Linux, Mac OS X, Unix, FreeBSD, NetBSD, Novell
NetWare, SGI Irix, Solaris, SunOS, ...
-9-
Đề tài: Điều khiển thiết bị điện từ xa qua internet
MySQL là một trong những ví dụ rất cơ bản về Hệ Quản trị Cơ sở dữ liệu quan hệ sử
dụng Ngôn ngữ truy vấn có cấu trúc (SQL).
MySQL được sử dụng cho việc bổ trợ PHP, Perl, và nhiều ngôn ngữ khác, nó làm nơi
lưu trữ những thông tin trên các trang web viết bằng PHP hay Perl,...
HTML: là một ngôn ngữ đánh dấu được thiết kế ra để tạo nên các trang web với các
mẩu thông tin được trình bày trên World Wide Web. HTML được định nghĩa như là
một ứng dụng đơn giản của SGML và được sử dụng trong các tổ chức cần đến các
yêu cầu xuất bản phức tạp. HTML đã trở thành một chuẩn Internet do tổ chức World
Wide Web Consortium (W3C) duy trì. Phiên bản chính thức mới nhất của HTML là
HTML 4.01 (1999). Sau đó, các nhà phát triển đã thay thế nó bằng XHTML. Hiện
nay, HTML đang được phát triển tiếp với phiên bản HTML5 hứa hẹn mang lại diện
mạo mới cho Web.
- JAVASCRIPT: là một ngôn ngữ lập trình kịch bản dựa trên đối tượng được
phát triển từ các ý niệm nguyên mẫu. Ngôn ngữ này được dùng rộng rãi cho các trang
web, nhưng cũng được dùng để tạo khả năng viết script sử dụng các đối tượng nằm
sẵn trong các ứng dụng. Nó vốn được phát triển bởi Brendan Eich tại Hãng truyền
thông Netscapevới cái tên đầu tiên Mocha, rồi sau đó đổi tên thành LiveScript, và cuối
cùng thành JavaScript. Giống Java, JavaScript có cú pháp tương tự C. Java. .js là phần
mở rộng thường được dùng cho tập tin mã nguồn JavaScript.
Phiên bản mới nhất của JavaScript là phiên bản 1.5, tương ứng với ECMA-262 bản
3. ECMAScript là phiên bản chuẩn hóa của JavaScript. Trình duyệt Mozilla phiên bản
1.8 beta 1 có hỗ trợ không đầy đủ cho E4X - phần mở rộng cho JavaScript hỗ trợ làm
việc với XML, được chuẩn hóa trong ECMA-357.
JavaScript là một ngôn ngữ lập trình dựa trên nguyên mẫu với cú pháp phát triển từ C.
Giống như C, JavaScript có khái niệm từ khóa, do đó, JavaScript gần như không thể
được mở rộng.
Cũng giống như C, JavaScript không có bộ xử lý xuất/nhập (input/output) riêng.
Trong khi C sử dụng thư viện xuất/nhập chuẩn, JavaScript dựa vào phần mềm ngôn
ngữ được gắn vào để thực hiện xuất/nhập.
Trên trình duyệt, rất nhiều trang web sử dụng JavaScript để thiết kế trang web động
và một số hiệu ứng hình ảnh thông qua DOM. JavaScript được dùng để thực hiện một
- 10 -
Đề tài: Điều khiển thiết bị điện từ xa qua internet
số tác vụ không thể thực hiện được với chỉ HTML như kiểm tra thông tin nhập vào, tự
động thay đổi hình ảnh,... Ở Việt Nam, JavaScript còn được ứng dụng để làm bộ gõ
tiếng. Tuy nhiên, mỗi trình duyệt áp dụng JavaScript khác nhau và không tuân theo
chuẩn W3C DOM, do đó trong rất nhiều trường hợp lập trình viên phải viết nhiều
phiên bản của cùng một đoạn mã nguồn để có thể hoạt động trên nhiều trình duyệt.
Một số công nghệ nổi bật dòng JavaScript để tương tác với DOM bao gồm DHTML,
Ajax và SPA.
Mỗi ứng dụng này đều cung cấp mô hình đối tượng riêng cho phép tương tác với môi
trường chủ, với phần lõi là ngôn ngữ lập trình JavaScript gần như giống nhau.
II.1.2. Phần mềm kết nối và truyền tín hiệu
Phần mềm kết nối module điều khiển và truyền tín hiệu được viết bằng ngôn ngữ C#
dựa trên lý thuyết tạo kết nối và truyền tín hiệu qua cổng COM của máy tính. Ngoài
ra phần mềm còn kết nối và lấy dữ liệu từ cơ sở dữ liệu MySQL của website để gửi
sang module điều khiển.
- C# là một ngôn ngữ lập trình hướng đối tượng được phát triển
bởi Microsoft, là ngôn ngữ lập trình phản ánh trực tiếp nhất đến .NET Framework mà
tất cả các chương trình .NET chạy, và nó phụ thuộc mạnh mẽ vào Framework này.
Mọi dữ liệu cơ sở đều là đối tượng, được cấp phát và hủy bỏ bởi trình dọn rác
Garbage-Collector (GC), và nhiều kiểu trừu tượng khác chẳng hạn như class,
delegate, interface, exception, v.v, phản ánh rõ ràng những đặc trưng của .NET
runtime.
Có thể dùng các ngôn ngữ khác để lập trình driver kết nối với module điều khiển như
Java, C++, Visual Basic, Delphi... Tuy nhiên, C++ là ngôn ngữ lập trình đa hình, hỗ
trợ lập trình kiểu tĩnh, dữ liệu trừu tượng và lập trình hướng đối tượng. Việc lập trình
các phần mềm đơn giản thì sử dụng ngôn ngữ C++ rất mất thời gian, vì ngôn ngữ này
có rất ít công cụ hỗ trợ lập trình giao diện mà đa phần đều phải lập trình thủ công và
phức tạp. Ngôn ngữ Visual Basic và Delphi không có trong chương trình dạy của bộ
môn Công nghệ thông tin trong trường Đại Học Quang Trung. Vậy nên nếu sử dụng
hai ngôn ngữ này sẽ phải nghiên cứu lại từ đầu về lý thuyết và không sử dụng được
các kiến thức về ngôn ngữ lập trình đã được học. Java và C# là hai ngôn ngữ lập trình
- 11 -
Đề tài: Điều khiển thiết bị điện từ xa qua internet
được học trong quá trình học tập. Nhưng vì ngôn ngữ C# được công cụ Visual Studio
tối ưu và hỗ trợ rất nhiều cho người lập trình. Điều này sẽ làm giảm thời gian cũng
như chi phí thực hiện dự án dẫn đến tính kinh tế cao.
II.1.3. Phần mềm cài đặt trên máy tính chủ
Máy tính chủ sử dụng hệ điều hành Microsoft Windows. Microsoft Windows
là hệ điều hành được sử dụng nhiều nhất trên thế giới và ở Việt Nam. Việc sử dụng hệ
điều hành quen thuộc sẽ giúp cho người điều khiển hệ thống làm việc tốt hơn mà
không phải qua quá trình làm quen hệ thống hay đào tạo thời gian dài.
Trên máy tính chủ sẽ được cài đặt chương trình kết nối với module điều khiển
và máy chủ ảo HTTP.
Máy chủ ảo HTTP là máy chủ ảo dùng để chạy website. Các máy chủ web
thường được biết đến như Apache, Microsoft IIS. Trong đề tài này sử dụng máy chủ
ảo Apache vì đây là máy chủ cho phép thực thi website được lập trình bằng ngôn ngữ
PHP.
II.2. Phần cứng
Phần cứng được thiết kế theo lý thuyết của là vi điều khiển 8051. Vi điều khiển
8051 là vi điều khiển cho phép lập trình cách hoạt động của nó. Dùng để điều khiển
các thiết bị khác. Vi xử lý sẽ gửi tín hiệu điều khiển đến các transistor. Các transistor
này có nhiệm vụ khởi động hoặc tắt các khởi động từ. Mỗi khởi động từ có công suất
khác nhau phụ thuộc vào công suất của thiết bị cần điều khiển.
II.2.1. Vi điều khiển 8051
Là vi điều khiển đơn tinh thể được hãng Intel sản xuất năm 1980. Cấu trúc vi
điều khiển 8051 phân biệt rõ ràng bộ nhớ dữ liệu và bộ nhớ chương trình, chúng có
những đường truyền riêng để truy cập vào bộ nhớ dữ liệu và bộ nhớ chương trình.
Điều này cho phép tốc độ xử lý nhanh hơn. Vi điều khiển 8051 khi được kết hợp với
các thiết bị khác như: Bộ nhớ ngoài, các cổng mở rộng... thì có thể điều khiển số
lượng các thiết bị cần điều khiển không giới hạn.
- 12 -
Đề tài: Điều khiển thiết bị điện từ xa qua internet
Vi điều khiển 8051 có thể kết nối và trao đổi dữ liệu trực tiếp với máy tính nhờ
mạch tích hợp chuyển đổi dữ liệu và các cổng logic như cổng đảo.
II.2.2. Transistor
Transistor là một linh kiện bán dẫn thường được sử dụng như một thiết bị
khuếch đại hoặc một khóa điện tử. Transistor là khối đơn vị cơ bản xây dựng nên cấu
trúc mạch ở máy tính điện tử và tất cả các thiết bị điện tử hiện đại khác. Vì đáp ứng
nhanh và chính xác nên các transistor được sử dụng trong nhiều ứng dụng tương tự và
số, như khuếch đại, đóng cắt, điều chỉnh điện áp, điều khiển tín hiệu, và tạo dao động.
Transistor cũng thường được kết hợp thành mạch tích hợp, có thể tích hợp tới
một tỷ transistor trên một diện tích nhỏ.
Transistor được tạo thành từ hai chất bán dẫn điện. Khi ghép một bán dẫn điện
âm nằm giữa hai bán dẫn điện dương ta được một PNP transistor. Khi ghép một bán
dẫn điện dương nằm giữa hai bán dẫn điện âm ta được một NPN transistor.
II.2.3. Lập trình phần cứng
Vi điều khiển 8051 được hỗ trợ trình biên dịch từ nhiều ngôn ngữ lập trình từ
bậc thấp đến bậc cao như: Hợp ngữ, ngôn ngữ lập trình C, Forth, BASIC, Pascal...
Nhưng phổ biến nhất là ngôn ngữ lập trình C và hợp ngữ Assembler.
Trong nội dung đề tài này, vi điều khiển sẽ được lập trình bằng hợp ngữ. Hợp
ngữ là ngôn ngữ cấp thấp gần với ngôn ngữ máy nhất, dùng để viết các chương trình
máy tính. Lập trình hợp ngữ giúp người lập trình hiểu rõ hơn về cấu trúc của vi điều
khiển. Điều này sẽ có lợi khi chuyển sang lập trình bằng ngôn ngữ bậc cao. Hiểu rõ
cấu trúc phần cứng giúp cho người lập trình tránh được các lỗi không mong muốn như
tràn bộ đệm, lưu dữ liệu sai ngăn nhớ... Ngoài ra, đối với hệ thống vi xử lý nhỏ và có
bộ nhớ chương trình thấp (khoảng vài kilobyte) như vi điều khiển 8051 thì việc tối ưu
mã lệnh là thấp và thường xuyên bị hiện tượng “thắt cổ chai”. Vì vậy, lập trình hợp
ngữ cho vi điều khiển 8051 là rất tốt.
- 13 -
Đề tài: Điều khiển thiết bị điện từ xa qua internet
II.3. Bảo mật
Website là phần giao tiếp trên internet nên tất cả mọi người đều có thể truy cập
vào website. Nếu website không bảo mật tốt hoặc quá trình lập trình bị lỗi thì kẻ phá
hoại có thể xâm nhập để điều khiển thiết bị điện. Ngoài ra kẻ phá hoại còn có thể xâm
nhập vào máy tính chủ thông qua thư mục chứa website và chiếm quyền điều khiển
máy tính chủ.
Ngoài việc bảo mật website bằng bảo các lỗi lập trình có thể xảy ra như SQL
Injection, ăn cắp thông tin đăng nhập thông qua khung đăng nhập của website... Thì
cần phải bảo mật thư mục chứa website bằng tập tin .htaccess. Và cấp quyền cho từng
tập tin trong website.
- .htaccess là tập tin ASCII đơn giản. Không có phần tên mà chỉ có phần mở
rộng là .htaccess. Tập tin này thường được đặt trên các máy chủ hệ điều hành Unix và
được cấu hình mở mức thư mục. Tuy là một tập tin đơn giản nhưng có thể điều khiển
được khá nhiều thứ thậm chí là cả thiết lập của chương máy chủ Apache.
Trong đề tài này, tập tin .htaccess sẽ được dùng để bảo vệ thư mục chứa
website trên máy chủ Apache bằng cách yêu cầu đăng nhập mật khẩu trước khi truy
cập được website điều khiển. Cho tới hiện tại, cách bảo vệ này vẫn chưa có cách bẻ
khóa thông qua giao thức http như các bảo vệ bằng mật khẩu của website thông
thường.
CHƯƠNG III: PHÂN TÍCH VÀ THIẾT KẾ
III.1. Website
III.1.1. Cấu trúc và giao diện
Website có cấu trúc đơn giản, hướng đến sự tiện lợi cho người sử dụng mà
không đòi hỏi phải có hiểu biết về công nghệ. Phần chính của website là giao diện
một cửa sổ duy nhất trong đó có hình mô phỏng trạng thái của thiết bị cần điều khiển.
Ứng với mỗi thiết bị là hai nút điều khiển tắt và bật.
- 14 -
Đề tài: Điều khiển thiết bị điện từ xa qua internet
Hình III.1.1a: Giao diện chính website
Trước khi vào được giao diện điều
khiển thì người dùng phải nhập vào hai
lần mật khẩu và tên đăng nhập khác
nhau. Một là của chương trình bảo vệ
website và một là của website. Mỗi
phiên làm việc người dùng chỉ nhập
mật khẩu hai lần cho hai chương trình
bảo vệ này. Và sẽ không phải nhập lại
Hình III.1.1b: Đăng nhập vào website
trong suốt phiên làm việc.
III.1.2. Thiết kế cơ sở dữ liệu
Cơ sở dữ liệu của hệ thống chỉ gồm hai bảng, là bảng thiết bị (device) và bảng
người sử dụng (users).
- 15 -
Đề tài: Điều khiển thiết bị điện từ xa qua internet
Bảng Device:
STT
Tên thuộc tính
1
ID
Kiểu dữ liệu
Integer
Ràng buộc
Ghi chú
Khóa chính, tự
động tăng
2
Name
Nvarchar
Tên thiết bị
3
Device
Nvarchar
Mã thiết bị
4
value
boolean
Trạng thái
Bảng User
STT
1
Tên thuộc tính
ID
Kiểu dữ liệu
Integer
Ràng buộc
Ghi chú
Khóa chính, tự
động tăng
2
Username
Nvarchar
Tên đăng nhập
3
Password
Nvarchar
Mật khẩu đã
mã hóa
III.1.3. Chức năng của website
III.1.3.1. Biểu đồ Use case (Usecase Diagram)
- Chức năng : biểu đồ USE CASE cung cấp bức tranh toàn cảnh về những gì
đang xảy ra trong hệ thống quản lý.
- Biểu đồ use case đưa ra các use case (tình huống sử dụng), các actor (tác
nhân) và các association (quan hệ kết hợp) giữa chúng. Nó thể hiện các quan hệ giữa
người dùng với hệ thống và các chức năng trong hệ thống.
- 16 -
Đề tài: Điều khiển thiết bị điện từ xa qua internet
Các ký hiệu:
STT
Ký hiệu
Chú giải
1
Tác nhân
2
Use case
3
Quan hệ
Biểu đồ Use case người dùng
Bật
Điều khiển
Người dùng
Tắt
Hình 3.1.2.1 Biểu đồ usecase người dùng
III.1.3.2. Biểu đồ tuần tự
- Các ký hiệu:
- Chức năng : biểu đồ
tuần tự dùng để mô hình các
tương tác gữa các đối tượng
trong ngữ cảnh của động tác.
Mục đích của nó là để xác
định các hành động mà hệ
thống cần thực thi và theo
trình tự hệ thống cần thực hiện
- 17 -
Đề tài: Điều khiển thiết bị điện từ xa qua internet
các hành động đó để hoàn thành nhiệm vụ của một use case, và xác định sự ảnh
hưởng của một hành động như thế lên hệ thống, ví dụ lên các đối tượng của các hệ
thống.
Biểu đồ tuần tự cho đăng nhập
Hình 3.1.2.2: Biểu đồ tuần tự đăng nhập
III.2. Chương trình kết nối và truyền dữ liệu
Mô tả chức năng và cách hoạt động.
Chương trình kết nối và truyền tải dữ liệu là chương trình dùng để kết nối với
phần cứng điều khiển. Có nhiệm vụ đọc dữ liệu từ cơ sở dữ liệu của website để gửi về
phần cứng điều khiển theo thời gian được quy định sẵn. Chương trình này luôn chạy ở
chế độ ẩn và chiếm ít tài nguyên của máy. Được phép tự hoạt động mỗi khi máy tính
- 18 -
Đề tài: Điều khiển thiết bị điện từ xa qua internet
chủ được bật lên. Chương trình có một cửa sổ duy nhất dùng để thiết lập các thông số
hoạt động.
Hình 3.2.1.a: Biểu tượng chương trình khi
chạy ẩn.
Hình 3.2.1.b: Giao diện thiết lập thông
số.
Chức năng Test Connect được sử dụng khi thay thông số kết nối cơ sở dữ liệu hoặc
cổng kết nối phần cứng. Đối với cơ sở dữ liệu, khi không kết nối được thì chương
trình sẽ trả về nguyên nhân của lỗi kết nối, ví dụ như không tìm thấy server, sai tên
đăng nhập và mật khẩu...
- 19 -
Đề tài: Điều khiển thiết bị điện từ xa qua internet
III.3. Phần cứng
III.3.1. Thiết kế phần cứng
- 20 -
Đề tài: Điều khiển thiết bị điện từ xa qua internet
Hình 3.3.1a: Sơ đồ nguyên lý.
- 21 -
- Xem thêm -