5
Hội nghị toàn quốc về Điều khiển và Tự động hoá - VCCA-2011 VCCA-2011 Nghiên cu và phát trin phn mm nhúng đo thông số môi trường trc tuyến qua mạng internet trên cơ sở ARM core Researching and developing the embedded software to measure online environmental parameters via internet based on ARM core Nguyễn Anh Tuấn, Chu Ngọc Liêm, Thái Quang Vinh, Phạm Ngọc Minh Nguyễn Đăng Chung, Nguyễn Thành Long, Châu Văn Tú Phòng Công nghệ tự động hóa - Viện Công nghệ thông tin 18 Hoàng Quốc Việt, Cầu Giấy, Hà Nội Tel : 0437563558 e-Mail: [email protected] Tóm tắt: Gần đây với sự phát triển mạnh mẽ của internet, cùng với nền tảng bộ xử lý ARM core kích thước nhỏ, nhẹ, tiết kiệm năng lượng và hiệu năng cao. Việc tích hợp web server trên ARM core và hệ điều hành nhúng thời gian thực đã mở ra khả năng kết hợp giữa ARM core và internet tạo nên thiết bị nhúng nhỏ, gọn ứng dụng trong đo lường trực tuyến qua mạng internet và nhiều ứng dụng khác. Bài báo này giới thiệu phần mềm nhúng đo thông số môi trường trực tuyến qua mạng internet trên nền cơ sở ARM core. Abstract: Recently with the strong development of the internet, along with powered by processors based on the ARM architecture, lightweight, energy-saving and high performance. The integrated web server on the ARM core to open up the possibility of combining ARM core and embedded software internet makes compact measurement applications online through the Internet and many other applications. This paper introduces the embedded software to measure online environmental parameters via internet based on ARM core Chữ viết tắt ARM Acorn RISC Machine CAN Controller Area Network HTTP Hypertext Transfer Protocol MCB Main Control Board RTL_ARM Run Time Library ARM RTOS Real-time operating system SBC Single Board Computer TCP/IP Internet protocol suite UART Universal Asynchronous Receiver/Transmitter 1. Giới thiệu Chúng ta thường biết đến máy chủ web server là máy chủ có dung lượng lớn, tốc độ cao, được dùng để lưu trữ thông tin như một ngân hàng dữ liệu, chứa những website đã được thiết kế cùng với những thông tin liên quan khác. (các mã Script, các chương trình, và các file Multimedia). Hệ thống máy chủ hoạt động dựa trên nền tảng hệ điều hành Linux hoặc windows server. Các trang web hoặc các ứng dụng yêu cầu cần phải có máy chủ có bộ nhớ lớn, phần cứng đủ sức mạnh để có thể đáp ứng yêu cầu từ các máy trạm. H. 1 Cấu trúc Client – Server Chức năng của web server là đưa trang web đến máy trạm. Điều này có nghĩa là đưa tài liệu của HTML và bất cứ nội dung nào mà có thể bao gồm một tài liệu như là: hình ảnh, dữ liệu … Một máy trạm, thông thường là một web browser hoặc web crawler, khởi tạo giao tiếp băng cách thực hiện một yêu cầu cho một nguồn cụ thể bằng cách sử dụng HTTP và server đáp ứng nội dung tương ứng với nguồn đó hoặc một tín hiệu báo lỗi nếu không cho phép truy cập hoặc không tìm thấy. Trong khi đó, chức năng chính của web server là cung cấp nội dung, một sự thực hiện đầy đủ cũng bao gồm một cách thu nôi dung của khách hàng. Nhiều web server cũng được hỗ trợ server-side- scripting. Điều đó có nghĩa là cách xử lý của web server có thể đọc theo kịch bản trong cách tệp tin riêng. Trong khi đó phần mền web server thực tế lại không thay đổi được. Thông thường chức năng này thường để tạo ra cách trang web HTML động trái với trả về một tài liệu HTML tĩnh. Đó coi lần lượt là nội dung động vã tĩnh. Cái thứ nhất được sử dụng cho việc thu và chỉnh sửa thông tin trong cơ sở dữ liệu. Cái thứ hai nhanh hơn và dễ dành lưu trữ hơn. Web server nhúng là bộ vi điều khiển có chứa phần mềm internet cũng như các mã ứng dụng để theo dõi và kiểm soát hệ thống, hình 2 thể hiện rõ điều này, ở đây hệ thống yêu cầu bộ nhớ rất nhỏ chỉ 577

Nghiên cứu và phát triển phần mềm nhúng đo thông số môi trường trực tuyến qua mạng internet trên cơ sở ARM

  • Upload
    pvdai

  • View
    159

  • Download
    6

Embed Size (px)

DESCRIPTION

Hội nghị toàn quốc về Điều khiển và Tự động hoá - VCCA-2011Nghiên cứu và phát triển phần mềm nhúng đo thông số môi trường trực tuyến qua mạng internet trên cơ sở ARM core Researching and developing the embedded software to measure online environmental parameters via internet based on ARM coreNguyễn Anh Tuấn, Chu Ngọc Liêm, Thái Quang Vinh, Phạm Ngọc Minh Nguyễn Đăng Chung, Nguyễn Thành Long, Châu Văn Tú Phòng Công nghệ tự động hóa - Viện Công nghệ thông tin 18 Hoàng Quốc Việt, Cầu Giấy, Hà Nộ

Citation preview

Page 1: Nghiên cứu và phát triển phần mềm nhúng đo thông số môi trường trực tuyến qua mạng internet trên cơ sở ARM

Hội nghị toàn quốc về Điều khiển và Tự động hoá - VCCA-2011

VCCA-2011

Nghiên cứu và phát triển phần mềm nhúng đo thông số môi trường trực

tuyến qua mạng internet trên cơ sở ARM core

Researching and developing the embedded software to measure online

environmental parameters via internet based on ARM core

Nguyễn Anh Tuấn, Chu Ngọc Liêm, Thái Quang Vinh, Phạm Ngọc Minh

Nguyễn Đăng Chung, Nguyễn Thành Long, Châu Văn Tú

Phòng Công nghệ tự động hóa - Viện Công nghệ thông tin

18 Hoàng Quốc Việt, Cầu Giấy, Hà Nội

Tel : 0437563558 e-Mail: [email protected]

Tóm tắt: Gần đây với sự phát triển mạnh mẽ của

internet, cùng với nền tảng bộ xử lý ARM core kích

thước nhỏ, nhẹ, tiết kiệm năng lượng và hiệu năng

cao. Việc tích hợp web server trên ARM core và hệ

điều hành nhúng thời gian thực đã mở ra khả năng

kết hợp giữa ARM core và internet tạo nên thiết bị

nhúng nhỏ, gọn ứng dụng trong đo lường trực tuyến

qua mạng internet và nhiều ứng dụng khác. Bài báo

này giới thiệu phần mềm nhúng đo thông số môi

trường trực tuyến qua mạng internet trên nền cơ sở

ARM core.

Abstract: Recently with the strong development of

the internet, along with powered by processors

based on the ARM architecture, lightweight,

energy-saving and high performance. The

integrated web server on the ARM core to open up

the possibility of combining ARM core and

embedded software internet makes compact

measurement applications online through the

Internet and many other applications. This paper

introduces the embedded software to measure

online environmental parameters via internet based

on ARM core

Chữ viết tắt

ARM Acorn RISC Machine

CAN Controller Area Network

HTTP Hypertext Transfer Protocol

MCB Main Control Board

RTL_ARM Run Time Library ARM

RTOS Real-time operating system

SBC Single Board Computer

TCP/IP Internet protocol suite

UART Universal Asynchronous

Receiver/Transmitter

1. Giới thiệu Chúng ta thường biết đến máy chủ web server là

máy chủ có dung lượng lớn, tốc độ cao, được dùng

để lưu trữ thông tin như một ngân hàng dữ liệu,

chứa những website đã được thiết kế cùng với

những thông tin liên quan khác. (các mã Script, các

chương trình, và các file Multimedia). Hệ thống

máy chủ hoạt động dựa trên nền tảng hệ điều hành

Linux hoặc windows server. Các trang web hoặc

các ứng dụng yêu cầu cần phải có máy chủ có bộ

nhớ lớn, phần cứng đủ sức mạnh để có thể đáp ứng

yêu cầu từ các máy trạm.

H. 1 Cấu trúc Client – Server

Chức năng của web server là đưa trang web đến

máy trạm. Điều này có nghĩa là đưa tài liệu của

HTML và bất cứ nội dung nào mà có thể bao gồm

một tài liệu như là: hình ảnh, dữ liệu …

Một máy trạm, thông thường là một web browser

hoặc web crawler, khởi tạo giao tiếp băng cách thực

hiện một yêu cầu cho một nguồn cụ thể bằng cách

sử dụng HTTP và server đáp ứng nội dung tương

ứng với nguồn đó hoặc một tín hiệu báo lỗi nếu

không cho phép truy cập hoặc không tìm thấy.

Trong khi đó, chức năng chính của web server là

cung cấp nội dung, một sự thực hiện đầy đủ cũng

bao gồm một cách thu nôi dung của khách hàng.

Nhiều web server cũng được hỗ trợ server-side-

scripting. Điều đó có nghĩa là cách xử lý của web

server có thể đọc theo kịch bản trong cách tệp tin

riêng. Trong khi đó phần mền web server thực tế lại

không thay đổi được. Thông thường chức năng này

thường để tạo ra cách trang web HTML động trái

với trả về một tài liệu HTML tĩnh. Đó coi lần lượt

là nội dung động vã tĩnh. Cái thứ nhất được sử dụng

cho việc thu và chỉnh sửa thông tin trong cơ sở dữ

liệu. Cái thứ hai nhanh hơn và dễ dành lưu trữ hơn.

Web server nhúng là bộ vi điều khiển có chứa phần

mềm internet cũng như các mã ứng dụng để theo

dõi và kiểm soát hệ thống, hình 2 thể hiện rõ điều

này, ở đây hệ thống yêu cầu bộ nhớ rất nhỏ chỉ

577

Page 2: Nghiên cứu và phát triển phần mềm nhúng đo thông số môi trường trực tuyến qua mạng internet trên cơ sở ARM

Hội nghị toàn quốc về Điều khiển và Tự động hoá - VCCA-2011

VCCA-2011

khoảng vài MB, bộ xử lý nhanh, hệ điều hành đa

nhiệm. Web server được nhúng vào trong thiết bị để

có thể truy cập từ xa đến thiết bị từ trình duyệt web.

H. 2 Cấu trúc web server nhúng

Những trang web cho web server nhúng được tạo ra

cũng giống như những trang web cho các web

server khác. Ta có thể sử dụng các trình soạn thảo

để biên soạn mã HTML. Đó là một ý tưởng để thể

hiện trang web.

Như vậy với web server nhúng dựa trên nền tảng là

phần cứng sử dụng bộ xử lý hiệu năng cao cùng với

việc nhúng hệ điều hành thời gian thực ( RTOS )

cho phép giải quyết bài toán đo lường trực tuyến

qua mạng internet giá thành hạ, hoạt động bền bỉ,

ổn định và tiết kiệm năng lượng.

2. Phân tích thiết kế hệ thống phần cứng

Hệ thống được thiết kế theo trình tự như hình 2.

Các yêu cầu từ client được phân tích dựa trên

RTOS, web server, TCP/IP và phần cứng là bo

mạch chủ nhúng chương trình web server.

H. 3 Thiết kế cơ bản của hệ thống

H. 4 Tổng quan thiết kế hệ thống

Phần cứng: Hệ thống dựa trên nền tảng phần cứng

của Keil Board MCB 2400 và thiết bị đo thông số

môi trường kết nối với Board MCB 2400 qua cổng

UART.

Board MCB 2400 được Keil thiết kế sử dụng

ARM 7 TDMI-S và tích hợp đầy đủ các ngoại

vi căn bản như: Ethernet, RS232, CAN, SD,

USB host/client, TFT LCD… có thể coi như

một SBC (single board computer). MCB 2400

có ngoại vi đầy đủ thuận tiện cho việc phát

triển ứng dụng đặt ra: Hệ thống giám sát thông

số môi trường thông qua mạng internet. Web

server nhúng phục vụ giám sát môi trường trực

tuyến được thiết kế tu theo yêu cầu và mục

đích cụ thể.

H. 5 Sơ đồ khối phần cứng hệ thống

H. 6 Hình ảnh thực tế MCB2400

578

Page 3: Nghiên cứu và phát triển phần mềm nhúng đo thông số môi trường trực tuyến qua mạng internet trên cơ sở ARM

Hội nghị toàn quốc về Điều khiển và Tự động hoá - VCCA-2011

VCCA-2011

Bộ đo thông số môi trường đo các thông số

sau: nhiệt độ, độ ẩm, CO, CH4. thiết bị đo gửi

số liệu theo chu kì 30 giây 1 lần qua cổng

UART.

RTOS RTOS là một hệ điều hành đa nhiệm, nhỏ,

gọn đóng vai trò là nhân trong thư viện RTL_ARM,

thư viện RTL_ARM là một tập hợp gồm các thành

phần trung gian dễ dàng cho người dùng trong việc

sử dụng TCP/IP stack, FLASH file system, trình

điều khiển USB, CAN, hỗ trợ gỡ rối và nhân

RTOS. Các thành phần trung gian có thể được sử

dụng độc lập hoặc có thể sử dụng như các dịch vụ

của RTOS.

H. 7 Cấu trúc của RTL_ARM

RL – TCPnet là một sự thực hiện đầy đủ giao thức

RL - TCP Stack. Điểm nổi bật của Stack là giảm

dung lượng bộ nhớ và kích thước code. Chính điều

này làm cho nó phù hợp cho sử dụng client nhỏ với

tài nguyên hạn chế, như hệ thống nhúng. Thư viện

RL – TCPnet cung cấp đầy đủ các phần mềm lập

trình cho ARM7, ARM9 và nhiều sự hỗ trợ khác

H. 8 Cấu trúc RL-TCP

Chương trình được viết bằng cấu trúc C và sau đó

được biên dịch thành mã hex. Để tạo ra ứng dụng,

chúng ta phải có các header và liên kết các thư viện

trong RL – TCPnet vào trong chương trình.

TCP socket

Giao thức điều khiển chuyển đổi (TCP) chạy trên

đỉnh giao thức internet (IP).TCP là một định hướng

kết nối và dịch vụ chuỗi byte đáng tin cậy. Thuật

ngữ kết nối định hướng có nghĩa là hai ứng dụng sử

dụng TCP để thiết lập một kiết nối TCP với nhau ,

trước khi chúng có thể truyền dữ liệu cho nhau.

TCP là một giao thức song công đầy đủ. Điều này

có nghĩa là mỗi kết nối là một cặp chuỗi byte , một

cho mỗi cái. Nó chú ý truyền lại dữ liệu nào mà

không đến được đích cuối cùng và cũng truyền lại

dữ liệu nếu mà có sự sai lệch của dữ liệu thu được.

Giao thức TCP là giao thức truyền dữ liệu trình tự.

Như ta đã biết RL – TCPnet dựa trên mô hình hoạt

động chủ/tớ và sự thiết lập kết nối TCP dựa trên vai

trò ngang nhau. Cả máy chủ và máy tớ đều chuẩn bị

cho sự kết nối bằng một hoạt dộng mở . Tuy nhiên

có hai loai hệ thống open khác nhau

Active open: Quá trình client sử dụng TCP để

lấy quyền chủ động , khởi tạo sự kết nối bằng

việc gửi đi một tin nhắn để bắt đầu kết nối.

Passive open: Quá trình một server được thiết

kế để sử dụng giao thức TCP. Đó là một cách

tiếp cận tốt hơn . Nó thực hiện 1passive open

bằng cách liên lạc với TCP. Cũng giống như

câu nói “ Tôi ở đây và đợi khách hành nói

chuyện với tôi bằng cách gửi tin nhắn cho tôi

thông qua cổng. Open gọi là passive vì ngoài

những chỉ dẫn thì quá trình là lắng nghe, máy

chủ không làm gì cả.

Trong thực tế , 1 passive open có thể chỉ rõ một

máy chủ đợi 1 active open từ một máy tớ cụ thể .

Tuy nhiên không phải mọi RL – TCPnet cũng được

hỗ trợ khả năng này.

Giao thức TCP là dịch vụ chuỗi byte . Nó không

biết gì về khung dữ liệu được chuyển đi. Nó đơn

giản là lấy dữ liệu và đóng gói nó vào trong gói tin

TCP, và gửi nó tới ở máy ở xa. TCP socket sau đó

giữ gói tin trong bộ nhớ và đợi sự xác nhận về từ

máy ở xa.

Nếu gói tin không được xác nhận khi mà thời gian

chờ đợi đã hết thì nó sẽ gửi lại gói tin đó. Xử lý

này lặp lại ở một vài lần trước khi được xác nhận

hoặc dỡ bỏ sự kết nối. Mục đích chính giữ gói tin

nhỏ .Vì lý do đó, TCP socket không thể giữ một số

lượng lớn dữ liệu trong bộ đệm chờ cho tới khi

được xác nhận , nó chỉ giữ gói tin cuối cùng được

gửi trong bộ nhớ cho tới khi nó được xác nhận.

Khi gói tin được xác nhận thì nó sẽ được giải

phóng khỏi bộ nhớ.

3. Phát triển phần mềm nhúng đo

Thiết kế trang web bằng ngôn ngữ HTML.Ta

có thể cho hình ảnh vào trong trang web.

Nếu trang web cần hiển thị các giá trị động, mã

trang trong ngôn ngữ kịch bản .Ta phải cập

nhật CGI để gọi lại hàm cgi_func( ) phù hợp.

Nếu cần thiết ,vẽ hoặc thêm ảnh, mà có thể là

bất cứ loại nào như gif, jpq hoặc pnq. Nhưng

tốt nhất là chọn file nén bởi vì những file này

có trong code và chiếm ít bộ nhớ.

Nạp tất cả các file của trang web vào trong file

điều khiển chuyển đổi có trong FCRAM mà

đầu ra là một file C trong project.

Chương trình web server hoạt động theo chu

trình như hình vẽ dưới đây:

H. 9 Chu trình hoạt động của web server nhúng

579

Page 4: Nghiên cứu và phát triển phần mềm nhúng đo thông số môi trường trực tuyến qua mạng internet trên cơ sở ARM

Hội nghị toàn quốc về Điều khiển và Tự động hoá - VCCA-2011

VCCA-2011

Sử dụng trình biên dịch Keil uVision3 để nhúng

chương trình web server lên board MCB 2400.

H. 10 File chương trình web server nhúng

Cấu hình thông số mạng cho board MCB 2400, sử

dụng file cấu hình Net_Config.c

H. 11 Cấu hình thông số mạng cho MCB 2400

Cấu hình cổng truyền thông UART1 trong file

HTTP_demo.c

H. 12 Cấu hình cổng truyền thông UART1

Tách số liệu môi trường từ dữ liệu nhận về qua

cổng UART1 trong file HTTP_cgi.c

H. 13 Đoạn chương trình tách số liệu đo

4. Kết quả thử nghiệm

Sau quá trình nghiên cứu và phát triển dựa trên cơ

sở kế thừa và sử dụng những công cụ hữu ích, Sản

phẩm đã hoàn thành với đầy đủ các nội dung yêu

cầu:

Nghiên cứu và phân tích hệ thống giám sát

nhiệt độ, độ ẩm online. Nghiên cứu công nghệ

ARM core bao gồm phần cứng và phần mềm

dùng cho hệ thống giám sát.

Nghiên cứu thiết kế thiết bị xử lí trung tâm đo

nhiệt độ, độ ẩm chạy trên nền Web server dùng

công nghệ ARM core.

H. 14 Hình ảnh thực tế thiết bị đang thử nghiệm

Chế tạo, thử nghiệm thiết bị xử lí trung tâm đo

nhiệt độ, độ ẩm chạy trên nền Web server dùng

công nghệ ARM core và đánh giá nghiên cứu. Hệ thống được cấu hình thử nghiệm sử dụng tài

nguyên IP Tĩnh của viện công nghệ thông tin tại địa

chi:

http://210.245.62.44:80/

Hệ thống được cài đặt để có thể đáp ứng cùng lúc

nhiều máy trạm truy cập, thời gian cập nhật số liệu

được cài đặt là 30s. được thử nghiệm liên tục trong

khoảng thời gian 1 tháng. Kết quả hệ thống đáp ứng

tốt, ổn định. So sánh giữa số liệu thu thập tại chỗ và

580

Page 5: Nghiên cứu và phát triển phần mềm nhúng đo thông số môi trường trực tuyến qua mạng internet trên cơ sở ARM

Hội nghị toàn quốc về Điều khiển và Tự động hoá - VCCA-2011

VCCA-2011

số liệu giám sát trên mạng cho thấy tính ổn định và

tin cậy của thiết bị.

Tuy nhiên do hạn chế về phần cứng sử dụng chip

ARM7, vì vậy web server chỉ cho phép phục vụ tối

đa được 10 truy cập (session) ở cùng một khoảng

thời gian. Các thông số đo có thể được mở rộng ra

thêm nhiều thông số khác tùy thuộc vào thiết bị đo,

chuẩn truyền thông vì ARM7 hỗ trợ nhiều chuẩn

truyền thông khác nhau như UART, CAN, I2C…

Hệ điều hành RTL_ARM nhỏ nhẹ đảm bảo tính

thời gian thực cho hệ thống một cách hiệu quả.

Giao diện Web giám sát thông số môi trường trực

tuyến thông qua mạng Internet

H. 15 Màn hình giao diện web server hiển thị thông

số môi trường

6. Kết luận

Như vậy với nền tảng ARM core cùng với các hệ

điều hành nhúng thời gian thực gọn nhẹ cho phép

tích hợp web server lên ARM core ứng dụng trong

đo lường, giám sát từ xa qua mạng internet. Cùng

với đó là nền tảng ARM core ngày càng trở lên

mạnh mẽ hơn, internet băng thông rộng, không dây

và chuẩn IPv6 mở ra khả năng và nhu cầu rất lớn

trong lĩnh vực đo lường và giám sát từ xa qua mạng

internet.

Tài liệu tham khảo

[1] http://www.arm.vn: Quá trình phát triển của Công nghệ nhúng

[2] Andrew N.SLOSS, Dominic SYMES, Chris WRIGHT: ARM System Developer’s Guide Designing and Optimizing System Software

[3] Edward L. Lamie: Real-Time Embedded Multithreading: Using ThreadX and ARM

[4] Rick Grehan, Robert Moote and Ingo Cyliax: Real-Time Programming: A Guide to 32-bit Embedded Development.

[5] http://www.arm.com

[6] Billy Rakesh Roy, Sanket Dessai and S. G.Shiva Prasad Yadav Design and Development of ARM Processor Based Web ServerV.

[7] www.hitex.co.uk: The insider’s guide to the NXP LPC2300/2400 based microcontrollers

581