Đăng ký Đăng nhập
Trang chủ Nghiên cứu, xây dựng hệ thống giám sát và điều khiển qua mạng môi trường nuôi tr...

Tài liệu Nghiên cứu, xây dựng hệ thống giám sát và điều khiển qua mạng môi trường nuôi trồng cây cảnh trong vườn

.PDF
84
119
99

Mô tả:

PHẠM NHẬT QUANG BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC MỞ HÀ NỘI LUẬN VĂN THẠC SỸ CÔNG NGHỆ THÔNG TIN CHUYÊN NGÀNH CÔNG NGHỆ THÔNG TIN NGHIÊN CỨU, XÂY DỰNG HỆ THỐNG GIÁM SÁT VÀ ĐIỀU KHIỂN QUA MẠNG MÔI TRƯỜNG NUÔI TRỒNG CÂY CẢNH TRONG VƯỜN. PHẠM NHẬT QUANG 2016 - 2018 HÀ NỘI – 2019 BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC MỞ HÀ NỘI LUẬN VĂN THẠC SỸ NGHIÊN CỨU, XÂY DỰNG HỆ THỐNG GIÁM SÁT VÀ ĐIỀU KHIỂN QUA MẠNG MÔI TRƯỜNG NUÔI TRỒNG CÂY CẢNH TRONG VƯỜN. PHẠM NHẬT QUANG CHUYÊN NGÀNH : CÔNG NGHỆ THÔNG TIN MÃ SỐ: 8.48.02.018 NGƯỜI HƯỚNG DẪN KHOA HỌC: PGS.TS. VŨ CHẤN HƯNG HÀ NỘI – 2019 LỜI CAM ĐOAN Những nội dung trình bày trong luận văn là những kiến thức các nhân tôi tích lũy trong quá trình học tập, nghiên cứu, không sao chép lại công trình nghiên cứu hay luận văn của bất cứ tác giả khác Các số liệu, hình ảnh, thông tin trong luận văn đều trung thực, do tôi tìm hiểu, tham khảo từ nhiều nguồn tƣ liệu, các nôi dung trích dẫn đều đƣợc nêu trong phần tài liệu tham khảo, có nguồn gốc xuất xứ, tên của các tác giả, nhà xuất bản rõ rang. Những điều tôi cam đoan hoàn toàn là sự thật, nếu sai, tôi xin chịu mọi hình thức kỷ luật theo quy định. Tác giả luận văn Phạm Nhật Quang i LỜI CẢM ƠN Em xin bày tỏ lòng biết ơn chân thành và sâu sắc đến PGS.TS. Vũ Chấn Hƣng, thầy đã dành nhiều thời gian tận tình truyền đạt kiến thức cũng nhƣ giúp đỡ hƣớng dẫn em trong suốt quá trình tìm hiểu và nghiên cứu đề tài. Thầy là ngƣời đã định hƣớng và đƣa ra nhiều góp ý quý báu trong suốt quá trình em thực hiện luận văn này. Em xin chân thành cảm ơn tới toàn thể các thầy, cô giảng viên trong khoa Sau Đại học – Trƣờng Đại học Mở Hà Nội đã dạy bảo tận tình, trang bị cho em những kiến thức quý báu, bổ ích và tạo điều kiện thuận lợi trong suốt quá trình em học tập tại trƣờng. Do có nhiều hạn chế về thời gian và kiến thức nên luận văn không tránh khỏi những thiếu sót, rất mong nhận đƣợc những ý kiến đóng góp quý báu của các thầy, cô giảng viên và của các bạn quan tâm. Cuối cùng, em xin gửi lời chúc sức khỏe và hạnh phúc tới tất cả các quý thầy cô, quý đồng nghiệp cùng toàn thể gia đình, bạn bè. Xin chân thành cảm ơn! ii MỤC LỤC Trang LỜI CAM ĐOAN ........................................................................................................ i LỜI CẢM ƠN .............................................................................................................ii DANH MỤC CÁC THUẬT NGỮ, CHỮ VIẾT TẮT ............................................... vi DANH MỤC CÁC HÌNH VẼ................................................................................. viii MỞ ĐẦU ..................................................................................................................... 1 CHƢƠNG 1.HỆ THỐNG NHÚNG GIÁM SÁT VÀ ĐIỀU KHIỂN QUA MẠNG . 3 1.1. Tổng quan về hệ thống nhúng .......................................................................... 3 1.1.1. Lịch sử phát triển hệ thống nhúng ............................................................ 4 1.1.2. Đặc điểm của hệ thống nhúng ................................................................... 4 1.1.3. Các kiến trúc phần mềm hệ thống nhúng .................................................. 8 1.2. Phân tích hệ thống giám sát và điều khiển qua mạng .................................... 10 1.2.1. Hệ thống giám sát và điều khiển ............................................................. 10 1.2.2. Cấu trúc một hệ thống giám sát và điều khiển qua mạng ....................... 11 1.3. Giới thiệu công nghệ Arduino........................................................................ 13 1.3.1. Lịch sử ra đời .......................................................................................... 13 1.3.2. Phần cứng ................................................................................................ 15 1.3.3. Bo mạch in mở rộng (Shield) .................................................................. 17 1.3.4. Phần mềm ................................................................................................ 17 1.4. Giới thiệu Blynk – hệ thống điều khiển qua mạng ........................................ 19 1.4.1. Thành phần chính trong nền tảng Blynk ................................................. 19 1.4.2. Tính năng, đặc điểm của Blynk .............................................................. 20 1.4.3. Blynk Server............................................................................................ 21 1.5. Lý do lựa chọn giải pháp công nghệ Arduino và Blynk ................................ 24 1.6. Kết luận chƣơng 1 .......................................................................................... 27 CHƢƠNG 2.THIẾT KẾ HỆ THỐNG GIÁM SÁT VÀ ĐIỀU KHIỂN QUA MẠNG MÔI TRƢỜNG NUÔI TRỒNG CÂY CẢNH TRONG VƢỜN................. 29 2.1. Khảo sát và phân tích yêu cầu bài toán giám sát và điều khiển qua mạng .... 29 2.1.1. Khảo sát hiện trạng vƣờn cây.................................................................. 29 iii 2.1.2. Yêu cầu bài toán ...................................................................................... 32 2.2. Thiết kế hệ thống tổng quát ............................................................................ 32 2.3. Tính năng các Module thiết bị trong hệ thống ............................................... 34 2.3.1. Board Arduino - UNO ............................................................................. 34 2.3.2. Module ESP8266-01 ............................................................................... 36 2.3.3. Cảm biến độ ẩm đất................................................................................. 37 2.3.4. Quang trở................................................................................................. 39 2.3.5. Cảm biến nhiệt độ - độ ẩm DHT11 ......................................................... 40 2.3.6. Màn hình hiển thị LCD ........................................................................... 42 2.3.7. Relay ....................................................................................................... 43 2.3.8. Module điều khiển và động cơ DC điều khiển mái che .......................... 45 2.3.9. Máy bơm ................................................................................................. 46 2.4. Thiết kế thuật toán giám sát và điều khiển tự động ....................................... 48 2.4.1. Nguyên lý hoạt động hệ thống tƣới tự động ........................................... 48 2.4.2. Nguyên lý hoạt động hệ thống mái che tự động .................................... 49 2.5. Thiết kế hệ thống truyền dữ liệu qua mạng. .................................................. 50 2.6. Kết luận chƣơng 2 .......................................................................................... 51 CHƢƠNG 3.XÂY DỰNG, CÀI ĐẶT VÀ HOÀN THIỆN HỆ THỐNG ................ 52 3.1. Xây dựng hệ thống phần cứng. ...................................................................... 52 3.1.1. Sơ đồ tổng quát hệ thống ........................................................................ 52 3.1.2. Lƣu đồ hệ thống tƣới tự động ................................................................. 53 3.1.3. Lƣu đồ hệ thống mái che tự động ........................................................... 54 3.2. Xây dựng hệ thống phần mềm. ...................................................................... 55 3.2.1. Chƣơng trình hệ thống điều khiển – Arduino UNO ............................... 55 3.2.2. Giao diện ngƣời sử dụng ......................................................................... 55 3.3. Chạy thử và hoàn thiện .................................................................................. 58 3.4. Mạch hoàn thiện ............................................................................................ 60 3.5. Kết luận chƣơng 3 .......................................................................................... 61 KẾT LUẬN ............................................................................................................... 63 DANH MỤC CÁC TÀI LIỆU THAM KHẢO ......................................................... 65 iv PHỤ LỤC 1 Chƣơng trình hệ thống giám sát và điều khiển qua mạng ................. 66 PHỤ LỤC 2 Chƣơng trình hệ thống điều khiển – Arduino UNO .......................... 69 v DANH MỤC CÁC THUẬT NGỮ, CHỮ VIẾT TẮT STT Từ viết tắt 1 API 2 Tiếng Anh Tiếng Việt Application P Giao diện lập trình ứng dụng ARM rogramming Interface Advanced RISC Machine Một loại cấu trúc vi xử lý kiểu 3 CPU Central Processing Unit Bộ xử lý trung tâm 4 CRC Cyclic Redundancy Check Kiểm dƣ chu trình 5 DIY Do it yourself Tự tay làm lấy 6 EEPROM Chip nhớ không bay hơi 7 GPS Electrically Erasable Programmable Read-Only Memory Global Positioning System 8 I/O Input/Output Vào/ra 9 IDE Integrated Development Môi trƣờng phát triển tích hợp 10 IoT Internet of Things 11 ISP Internet Service Provide 12 LCD Liquid crystal display Màn hình tinh thể lỏng 13 LED Light Emitting Diode Điốt phát quang 14 MIPS Microprocessor without Interlocked Pipeline Stages Kiến trúc bộ tập lệnh RISC 15 PC Personal Computer Máy tính cá nhân 16 PDA Personal Digital Assistant Thiết bị kỹ thuật số cá nhân Environment vi RISC Hệ thống Định vị Toàn cầu Mạng lƣới vạn vật kết nối Internet Nhà cung cấp dịch vụ nối mạng STT Từ viết tắt Tiếng Anh 17 RISC Reduced Instructions Set Computer Máy tính với tập lệnh đơn giản hóa 18 ROM Read-Only Memory Bộ nhớ chỉ đọc 19 SRAM Static Random Access Memory Bộ nhớ truy cập ngẫu nhiên tĩnh vii Tiếng Việt DANH MỤC CÁC HÌNH VẼ Hình 1.1 Hệ thống giám sát và điều khiển qua mạng .......................................... 12 Hình 1.2 Những thành viên khởi xƣớng Arduino. ............................................... 13 Hình 1.3 Các board Arduino mẫu ........................................................................ 16 Hình 1.4 Các shield Arduino điển hình................................................................ 17 Hình 1.5 Arduino software IDE ........................................................................... 17 Hình 1.6 Phần mềm Blynk trên thiết bị di động .................................................. 20 Hình 1.7 Mô hình của Blynk ................................................................................ 21 Hình 1.8 Sử dụng Blynk....................................................................................... 23 Hình 1.9 Virtual Pins............................................................................................ 24 Hình 2.1 Khung cảnh tổng quan khu vƣờn .......................................................... 29 Hình 2.2 Sơ đồ tổng quát của hệ thống giám sát và điều khiển qua mạng môi trƣờng nuôi trồng cây cảnh trong vƣờn ........................................................ 33 Hình 2.3 Board Arduino UNO ............................................................................. 34 Hình 2.4 Module ESP8266-01 ............................................................................. 36 Hình 2.5 Module cảm biến độ ẩm đất .................................................................. 38 Hình 2.6 Quang trở............................................................................................... 39 Hình 2.7 Mạch đọc quang trở bằng Arduino UNO .............................................. 40 Hình 2.8 Cảm biến nhiệt độ - độ ẩm DHT11 ....................................................... 41 Hình 2.9 LCD ....................................................................................................... 42 Hình 2.10 Relay 12V............................................................................................ 44 Hình 2.11 Relay 5V.............................................................................................. 44 Hình 2.12 Modul L9110 ....................................................................................... 45 Hình 2.13 Động cơ bƣớc DC 12V ....................................................................... 46 Hình 2.14 Máy bơm phun sƣơng Fog – 2106 và phụ kiện .................................. 47 Hình 2.15 Máy bơm HF-8379 24V DC ............................................................... 48 Hình 3.1 Sơ đồ tổng quát ..................................................................................... 52 Hình 3.2 Blynk App ............................................................................................. 55 Hình 3.3 Mạch Arduino UNO hoàn thiện ............................................................ 60 Hình 3.4 Hệ thống phần cứng hoàn thiện ............................................................ 61 viii MỞ ĐẦU Trong sự phát triển mạnh mẽ của khoa học kĩ thuật với nền kinh tế trí thức và xu hướng hội nhập toàn cầu như hiện nay, thế giới và Việt Nam đang thực hiện việc kết hợp giữa các ngành thuộc lĩnh vực công nghệ cao, đó là lĩnh vực khoa học dưới 3 ngọn cờ: Máy tính, Điện tử - Viễn thông và Điều khiển tự động mà ta thường gọi là “3C” (Computer – Communication – Control). Có thể nói, các quá trình sản xuất và quản lí hiện nay như các hệ thống đo lường điều khiển tự động trong sản xuất công nghiệp; các hệ thống di động và không dây tiên tiến, các hệ thống thông tin vệ tinh, các hệ thống thông tin dựa trên web, chính phủ điện tử, thương mại điện tử, các cơ sở dữ liệu ngành kinh tế và của quốc gia, các hệ thống thiết bị y tế hiện đại, các thiết bị điện tử dân dụng… đều là sản phẩm của sự kết hợp giữa các lĩnh vực khoa học trên. Cuộc cách mạng công nghiệp 4.0 tác động mạnh mẽ đến việc hình thành các dự án nghiên cứu, đầu tư và xây dựng nhằm phát triển nhiều lĩnh vực như: kỹ thuật, công nghiệp, nông nghiệp, xử lý tác động môi trường, chống biến đổi khí hậu, phát triển năng lượng xanh… Ở các nước phát triển như Anh, Pháp, Mỹ…, việc ứng dụng tự động hóa vào hoạt động sản xuất đã rất phát triển, góp phần đưa các nước đó trở thành các cường quốc giàu mạnh có vị thế cao trên trường quốc tế. Các hệ thống tự động hóa đã được chế tạo trên nhiều công nghệ khác nhau. Ta có thể thấy các máy móc thiết bị tự động bằng các cam chốt cơ khí, các hệ thống tự động hoạt động bằng nguyên lý khí nén, rơle cơ điện, mạch điện tử tương tự, mạch điện tử số… Các hệ thống này có chức năng xử lý và mức tự động thấp so với các hệ thống tự động hiện đại được xây dựng trên nền tảng của công nghệ thông tin. Và sự phát triển như vũ bão của công nghệ thông tin kéo theo sự phát triển không ngừng của lĩnh vực tự động hóa, các thành tựu của công nghệ phần cứng, công nghệ phần mềm được áp dụng, phát triển có hiệu quả cho các hệ thống điều khiển tự động, Ngành nông nghiệp là xương sống của nền văn minh nhân loại nhưng nó lại là một trong những lĩnh vực cuối cùng tiến vào nền kinh tế kết nối – Internet vạn vật (Internet of things – IoT). Những thách thức trong vấn đề lương thực toàn cầu đòi hỏi người làm nông nghiệp phải tìm kiếm những phương thức tốt hơn, điều đó khiến cho công nghệ IoT trở nên có ý nghĩa hơn bao giờ hết. Theo dự đoán được đưa ra trong báo cáo của Beecham Research (BRL) - công ty có trụ sở tại Anh chuyên tư vấn, phân tích và nghiên cứu thị trường công nghệ - thì việc ứng dụng IoT vào nông nghiệp sẽ đẩy năng suất của ngành vào năm 2050 lên 70%. Tuy 1 nhiên, IoT không chỉ mang lại những khoản lợi nhuận tăng thêm từ việc cắt giảm được một số khoản chi và đẩy mạnh năng suất mà những cảm biến được sử dụng trong sản xuất còn có khả năng cải thiện môi trường sống của các loài gia súc và cắt giảm sự tiêu thụ các tài nguyên thiên nhiên, điển hình nhất là nước sạch. Những cải tiến về cảm biến, big data, hạ tầng mạng… sẽ mang tới một cuộc cách mạng trong nông nghiệp. Dữ liệu cảm biến trở nên đặc biệt hữu dụng trong nông nghiệp hiện đại, bởi khả năng cung cấp những thông tin cụ thể cho người nông dân biết chính xác điều một mảnh vườn, trang trại cần gì vào bất cứ thời điểm nào. Ví dụ trong việc trồng cây cảnh, đặt một cảm biến đo độ ẩm đất tại một điểm nào đó trong vườn có thể cho người nông dân biết chính xác khi nào khu vực đó cần được tưới nước. Với hệ thống này, người nông dân sẽ tránh được tình trạng lãng phí nước cũng như gây hại cho cây do không kịp thời phát hiện tình trạng khô hạn. Bên cạnh đó cảm biến có thể được kết nối với một ứng dụng cảnh báo, có thể kết nối trực tiếp tới một hệ thống thủy lợi để quá trình có thể hoàn toàn trở nên tự động. Công nghệ này cho phép người nông dân có thể điều khiển quá trình ở một mức độ nhất định, nhưng cũng tạo điều kiện cho mô hình canh tác trong nhà, cho phép đạt đến khả năng quản lý toàn diện các điều kiện canh tác. Vì vậy, việc áp dụng mô hình hệ thống giám sát và điều khiển qua mạng môi trường nuôi trồng cây cảnh trong vườn là một công việc hữu ích, hỗ trợ tích cực công việc chăm sóc cây cảnh. 2 CHƢƠNG 1. HỆ THỐNG NHÚNG GIÁM SÁT VÀ ĐIỀU KHIỂN QUA MẠNG. 1.1. Tổng quan về hệ thống nhúng. Hệ thống nhúng (tiếng Anh: embedded system) là một thuật ngữ để chỉ một hệ thống có khả năng tự trị được nhúng vào trong một môi trường hay một hệ thống mẹ. Đó là hệ thống máy tính ứng dụng, bao gồm phần cứng và phần mềm cài đặt trong đó, được thiết kế tích hợp trong một thiết bị hoặc một hệ thống để thực hiện một hoặc một nhóm chức năng chuyên biệt cụ thể, phục vụ các bài toán chuyên dụng trong nhiều lĩnh vực công nghiệp, tự động hoá điều khiển, quan trắc và truyền tin... Đặc điểm của các hệ thống nhúng là hoạt động ổn định và có tính năng tự động hoá cao. Hệ thống nhúng thường được thiết kế để thực hiện một chức năng chuyên biệt nào đó. Khác với các máy tính đa chức năng, chẳng hạn như máy tính cá nhân, một hệ thống nhúng chỉ thực hiện một hoặc một vài chức năng nhất định, thường đi kèm với những yêu cầu cụ thể và bao gồm một số thiết bị máy móc và phần cứng chuyên dụng mà ta không tìm thấy trong một máy tính đa năng nói chung. Vì hệ thống chỉ được xây dựng cho một số nhiệm vụ nhất định nên các nhà thiết kế có thể tối ưu hóa nó nhằm giảm thiểu kích thước và chi phí sản xuất. Các hệ thống nhúng thường được sản xuất hàng loạt với số lượng lớn. Hệ thống nhúng rất đa dạng, phong phú về chủng loại. Đó có thể là những thiết bị cầm tay nhỏ gọn như đồng hồ kĩ thuật số và máy chơi nhạc MP3, những sản phẩm lớn như hệ thống điều khiển động cơ ô tô, điều khiển tàu điện, điều khiển đèn giao thông, bộ kiểm soát trong nhà máy hoặc hệ thống kiểm soát các máy năng lượng hạt nhân... Xét về độ phức tạp, hệ thống nhúng có thể rất đơn giản với một vi điều khiển hoặc rất phức tạp với nhiều đơn vị, các thiết bị ngoại vi và mạng lưới được nằm gọn trong một lớp vỏ máy lớn. Dưới sự phát triển mạnh mẽ và nhanh chóng của khoa học và công nghệ, các hệ thống nhúng như các thiết bị PDA, máy tính cầm tay, điện thoại thông minh… đã thực hiện được nhiều chức năng hơn ban đầu nên chúng dần tách ra thành các thiết bị đa năng, cho phép sử dụng nhiều ứng dụng và kết nối đến nhiều thiết bị ngoại vi. 3 1.1.1. Lịch sử phát triển hệ thống nhúng Hệ thống nhúng đầu tiên là Apollo Guidance Computer (Máy tính Dẫn đường Apollo) được phát triển bởi Charles Stark Draper tại phòng thí nghiệm của trường đại học MIT. Hệ thống nhúng được sản xuất hàng loạt đầu tiên là máy hướng dẫn cho tên lửa quân sự vào năm 1961. Nó là máy hướng dẫn Autonetics D17, được xây dựng sử dụng những bóng bán dẫn và một đĩa cứng để duy trì bộ nhớ. Từ những ứng dụng đầu tiên vào những năm 1960, các hệ thống nhúng đã giảm giá và phát triển mạnh mẽ về khả năng xử lý. Bộ vi xử lý đầu tiên hướng đến người tiêu dùng là Intel 4004, được phát minh phục vụ máy tính điện tử và những hệ thống nhỏ khác. Tuy nhiên nó vẫn cần các chip nhớ ngoài và những hỗ trợ khác. Vào những năm cuối 1970, những bộ xử lý 8 bit đã được sản xuất, nhưng nhìn chung chúng vẫn cần đến những chip nhớ bên ngoài. Vào giữa thập niên 80, kỹ thuật mạch tích hợp đã đạt trình độ cao dẫn đến nhiều thành phần có thể đưa vào một chip xử lý. Các bộ vi xử lý được gọi là các vi điều khiển và được chấp nhận rộng rãi. Với giá cả thấp, các vi điều khiển đã trở nên rất hấp dẫn để xây dựng các hệ thống chuyên dụng. Đã có một sự bùng nổ về số lượng các hệ thống nhúng trong tất cả các lĩnh vực thị trường và số các nhà đầu tư sản xuất theo hướng này. Vào cuối những năm 80, các hệ thống nhúng đã trở nên phổ biến trong hầu hết các thiết bị điện tử và khuynh hướng này vẫn còn tiếp tục cho đến nay.[11] 1.1.2. Đặc điểm của hệ thống nhúng Hệ thống nhúng thường có một số đặc điểm chung như sau: • Các hệ thống nhúng được thiết kế để thực hiện một số chức năng chuyên biệt nào đó. Đây là điểm khác biệt so với các hệ thống máy tính khác như máy tính cá nhân hoặc các siêu máy tính có thể thực hiện nhiều chức năng khác nhau với những phép tính phức tạp. Tính chuyên dụng giúp nâng cao tính dễ sử dụng và tiết kiệm tài nguyên. • Một hệ thống nhúng thường không phải là một khối riêng biệt mà là một hệ thống phức tạp nằm trong thiết bị mà nó điều khiển. 4 • Phần mềm được viết cho các hệ thống nhúng được gọi là firmware và được lưu trữ trong các chip bộ nhớ ROM hoặc bộ nhớ flash chứ không phải là trong một ổ đĩa. Phần mềm thường chạy với số tài nguyên phần cứng hạn chế: không có bàn phím, màn hình hoặc có nhưng với kích thước nhỏ, dung lượng bộ nhớ thấp Sau đây, ta sẽ đi sâu, xem xét cụ thể đặc điểm của các thành phần của hệ thống nhúng. a) Giao diện: Các hệ thống nhúng có thể không có giao diện (đối với những hệ thống đơn nhiệm) hoặc có đầy đủ giao diện giao tiếp với người dùng tương tự như các hệ điều hành trong các thiết bị để bàn. Đối với các hệ thống đơn giản, thiết bị nhúng sử dụng nút bấm, đèn LED và hiển thị chữ cỡ nhỏ hoặc chỉ hiển thị số, thường đi kèm với một hệ thống menu đơn giản. Còn trong một hệ thống phức tạp hơn, một màn hình đồ họa, cảm ứng hoặc có các nút bấm ở lề màn hình cho phép thực hiện các thao tác phức tạp mà tối thiểu hóa được khoảng không gian cần sử dụng; ý nghĩa của các nút bấm có thể thay đổi theo màn hình và các lựa chọn. Các hệ thống nhúng thường có một màn hình với một nút bấm dạng cần điểu khiển (joystick button). Sự phát triển mạnh mẽ của mạng toàn cầu đã mang đến cho những nhà thiết kế hệ nhúng một lựa chọn mới là sử dụng một giao diện web thông qua việc kết nối mạng. Điều này có thể giúp tránh được chi phí cho những màn hình phức tạp nhưng đồng thời vẫn cung cấp khả năng hiển thị và nhập liệu phức tạp khi cần đến, thông qua một máy tính khác. Điều này là hết sức hữu dụng đối với các thiết bị điều khiển từ xa, cài đặt vĩnh viễn. Ví dụ, các router là các thiết bị đã ứng dụng tiện ích này. b) Kiến trúc CPU: Các bộ xử lý trong hệ thống nhúng có thể được chia thành hai loại: vi xử lý và vi điều khiển. Các vi điều khiển thường có các thiết bị ngoại vi được tích hợp trên chip nhằm giảm kích thước của hệ thống. Có rất nhiều loại kiến trúc CPU được sử dụng trong thiết kế hệ nhúng như ARM, MIPS, Coldfire/68k, PowerPC, x86, PIC, 8051, Atmel AVR, Renesas H8, SH, V850, FR-V, M32R, Z80, Z8 … Điều này trái ngược với các loại máy tính để bàn, thường bị hạn chế với một vài kiến trúc máy tính nhất định. Các hệ thống nhúng có kích thước nhỏ và được thiết kế để hoạt 5 động trong môi trường công nghiệp thường lựa chọn PC/104 và PC/104++ làm nền tảng. Những hệ thống này thường sử dụng DOS, Linux, NetBSD hoặc các hệ điều hành nhúng thời gian thực như QNX hay VxWorks. Còn các hệ thống nhúng có kích thước rất lớn thường sử dụng một cấu hình thông dụng là hệ thống on chip (System on a chip – SoC), một bảng mạch tích hợp cho một ứng dụng cụ thể (an application-specific integrated circuit – ASIC). Sau đó nhân CPU được mua và thêm vào như một phần của thiết kế chip. Một chiến lược tương tự là sử dụng FPGA (field-programmable gate array) và lập trình cho nó với những thành phần nguyên lý thiết kế bao gồm cả CPU. c) Thiết bị ngoại vi: Hệ thống nhúng giao tiếp với bên ngoài thông qua các thiết bị ngoại vi, ví dụ như: - Serial Communication Interfaces (SCI): RS-232, RS-422, RS-485... - Synchronous Serial Communication Interface: I2C, JTAG, SPI, SSC và ESSI - Universal Serial Bus (USB) - Networks: Controller Area Network, LonWorks... - Bộ định thời: PLL(s), Capture/Compare và Time Processing Units - Discrete IO: General Purpose Input/Output (GPIO) d) Công cụ phát triển: Tương tự như các sản phẩm phần mềm khác, phần mềm hệ thống nhúng cũng được phát triển nhờ việc sử dụng các trình biên dịch (compilers), chương trình dịch hợp ngữ (assembler) hoặc các công cụ gỡ rối (debuggers). Tuy nhiên, các nhà thiết kế hệ thống nhúng có thể sử dụng một số công cụ chuyên dụng như: • Bộ gỡ rối mạch hoặc các chương trình mô phỏng (emulator) • Tiện ích để thêm các giá trị checksum hoặc CRC vào chương trình, giúp hệ thống nhúng có thể kiểm tra tính hợp lệ của chương trình đó. • Đối với các hệ thống xử lý tín hiệu số, người phát triển hệ thống có thể sử dụng phần mềm workbench như MathCad hoặc Mathematica để mô phỏng các phép toán. 6 • Các trình biên dịch và trình liên kết (linker) chuyên dụng được sử dụng để tối ưu hóa một thiết bị phần cứng. • Một hệ thống nhúng có thể có ngôn ngữ lập trình và công cụ thiết kế riêng của nó hoặc sử dụng và cải tiến từ một ngôn ngữ đã có sẵn. Các công cụ phần mềm có thể được tạo ra bởi các công ty phần mềm chuyên dụng về hệ thống nhúng hoặc chuyển đổi từ các công cụ phát triển phần mềm GNU. Đôi khi, các công cụ phát triển dành cho máy tính cá nhân cũng được sử dụng nếu bộ xử lý của hệ thống nhúng đó gần giống với bộ xử lý của một máy PC thông dụng.[11] e) Tương tác với thế giới thực Hệ thống nhúng tương tác với thế giới bên ngoài với nhiều cách: - Cảm nhận môi trường: cảm biến nhiệt độ, độ ẩm, ánh sáng, trọng lượng…, cảm nhận bằng tín hiệu điện (máy dò nhiễu điện từ) - Tác động trở lại môi trường (hú còi báo động khi phát hiện khói trong tòa nhà…) - Tốc độ tương tác phải đáp ứng thời gian thực (hệ thống còi báo hỏa, hệ thống chống trộm trên ô tô,…) - Có thể có hoặc không có giao diện giao tiếp với người dùng như máy tính cá nhân. Với những hệ thống đơn giản, thiết bị nhúng sử dụng LCD nhỏ, Joystick, LED, nút bấm, chỉ thị chữ hoặc số và thường đi kèm với một menu đơn giản. Hiện nay chúng ta cũng có thể kết nối đến hệ thống nhúng thông qua giao diện Web, việc này cho phép giảm thiểu chi phí cho màn hình nhưng vẫn cung cấp khả năng hiển thị và nhập liệu thuận tiện thuận tiện thông qua mạng và máy tính khác. f) Chất lượng và độ tin cậy: Nhiều loại thiết bị nhúng có những yêu cầu rất cao về chất lượng, tính ổn định và độ tin cậy. Các hệ thống nhúng thường nằm trong các cỗ máy được kỳ vọng là sẽ chạy hàng năm trời liên tục mà không bị lỗi hoặc có thể khôi phục hệ thống khi gặp lỗi. Lỗi của hệ thống nhúng có thể gây ra tai nạn khủng khiếp: Hệ thống điều khiển máy bay, tên lửa, hệ thống điều khiển động cơ ô tô…Lỗi trên hệ thống nhúng có thể không sửa được (vd: vệ tinh nhân tạo), nếu sửa được thì chi phí cũng 7 rất cao (thu hồi sản phẩm hoặc thiết kế lại toàn bộ…) Vì vậy việc phát triển hệ thống nhúng yêu cầu quy trình kiểm tra - kiểm thử rất cẩn thận. Ngoài ra, các thiết bị rời không đáng tin cậy như ổ đĩa, công tắc hoặc nút bấm thường bị hạn chế sử dụng. Việc khôi phục hệ thống khi gặp lỗi có thể được thực hiện bằng cách sử dụng các kỹ thuật như watchdog timer – nếu phần mềm không đều đặn nhận được các tín hiệu watchdog định kì thì hệ thống sẽ bị khởi động lại. Thông thường với những hệ thống yêu cầu độ ACTIVE cao thì việc trang bị 1 hệ thống dự phòng, backup là điều chắc chắn. 1.1.3. Các kiến trúc phần mềm hệ thống nhúng Một số loại kiến trúc phần mềm thông dụng trong các hệ thống nhúng như sau: a) Vòng lặp kiểm soát đơn giản Theo thiết kế này, phần mềm được tổ chức thành một vòng lặp đơn giản. Vòng lặp gọi đến các chương trình con, mỗi chương trình con quản lý một phần của hệ thống phần cứng hoặc phần mềm. b) Hệ thống ngắt điều khiển Các hệ thống nhúng thường được điểu khiển bằng các ngắt. Có nghĩa là các tác vụ của hệ thống nhúng được kích hoạt bởi các loại sự kiện khác nhau. Ví dụ, một ngắt có thể được sinh ra bởi một bộ định thời sau một chu kỳ được định nghĩa trước, hoặc bởi sự kiện khi cổng nối tiếp nhận được một byte nào đó. Loại kiến trúc này thường được sử dụng trong các hệ thống có bộ quản lý sự kiện đơn giản, ngắn gọn và cần độ trễ thấp. Hệ thống này thường thực hiện một tác vụ đơn giản trong một vòng lặp chính. Đôi khi, các tác vụ phức tạp hơn sẽ được thêm vào một cấu trúc hàng đợi trong bộ quản lý ngắt để được vòng lặp xử lý sau đó. Lúc này, hệ thống gần giống với kiểu nhân đa nhiệm với các tiến trình rời rạc. c) Đa nhiệm tương tác Một hệ thống đa nhiệm không ưu tiên cũng gần giống với kỹ thuật vòng lặp kiểm soát đơn giản ngoại trừ việc vòng lặp này được ẩn giấu thông qua một giao diện lập trình API. Các nhà lập trình định nghĩa một loạt các nhiệm vụ, mỗi nhiệm vụ chạy trong một môi trường riêng của nó. Khi không cần thực hiện nhiệm vụ đó 8 thì nó gọi đến các tiến trình con tạm nghỉ (bằng cách gọi "pause", "wait", "yield" …). Ưu điểm và nhược điểm của loại kiến trúc này cũng giống với kiểm vòng lặp kiểm soát đơn giản. Tuy nhiên, việc thêm một phần mềm mới được thực hiện dễ dàng hơn bằng cách lập trình một tác vụ mới hoặc thêm vào hàng đợi thông dịch (queue-interpreter). d) Đa nhiệm ưu tiên Ở loại kiến trúc này, hệ thống thường có một đoạn mã ở mức thấp thực hiện việc chuyển đổi giữa các tác vụ khác nhau thông qua một bộ định thời. Đoạn mã này thường nằm ở mức mà hệ thống được coi là có một hệ điều hành và vì thế cũng gặp phải tất cả những phức tạp trong việc quản lý đa nhiệm. Bất kỳ tác vụ nào có thể phá hủy dữ liệu của một tác vụ khác đều cần phải được tách biệt một cách chính xác. Việc truy cập tới các dữ liệu chia sẻ có thể được quản lý bằng một số kỹ thuật đồng bộ hóa như hàng đợi thông điệp (message queues), semaphores … Vì những phức tạp nói trên nên một giải pháp thường được đưa ra đó là sử dụng một hệ điều hành thời gian thực. Lúc đó, các nhà lập trình có thể tập trung vào việc phát triển các chức năng của thiết bị chứ không cần quan tâm đến các dịch vụ của hệ điều hành nữa. e) Vi nhân (Microkernel) và nhân ngoại (Exokernel) Khái niệm vi nhân (microkernel) là một bước tiếp cận gần hơn tới khái niệm hệ điều hành thời gian thực. Lúc này, nhân hệ điều hành thực hiện việc cấp phát bộ nhớ và chuyển CPU cho các luồng thực thi. Còn các tiến trình người dùng sử dụng các chức năng chính như hệ thống file, giao diện mạng lưới,… Nói chung, kiến trúc này thường được áp dụng trong các hệ thống mà việc chuyển đổi và giao tiếp giữa các tác vụ là nhanh. Còn nhân ngoại (exokernel) tiến hành giao tiếp hiệu quả bằng cách sử dụng các lời gọi chương trình con thông thường. Phần cứng và toàn bộ phần mềm trong hệ thống luôn đáp ứng và có thể được mở rộng bởi các ứng dụng. f) Nhân khối (monolithic kernels) 9 Trong kiến trúc này, một nhân đầy đủ với các khả năng phức tạp được chuyển đổi để phù hợp với môi trường nhúng. Điều này giúp các nhà lập trình có được một môi trường giống với hệ điều hành trong các máy để bàn như Linux hay Microsoft Windows và vì thế rất thuận lợi cho việc phát triển. Tuy nhiên, nó lại đòi hỏi đáng kể các tài nguyên phần cứng làm tăng chi phí của hệ thống. Một số loại nhân khối thông dụng là Embedded Linux và Windows CE. Mặc dù chi phí phần cứng tăng lên nhưng loại hệ thống nhúng này đang tăng trưởng rất mạnh, đặc biệt là trong các thiết bị nhúng mạnh như Wireless router hoặc hệ thống định vị GPS. Lý do của điều này là: • Hệ thống này có cổng để kết nối đến các chip nhúng thông dụng • Hệ thống cho phép sử dụng lại các đoạn mã sẵn có phổ biến như các trình điều khiển thiết bị, Web Servers, Firewalls, … • Việc phát triển hệ thống có thể được tiến hành với một tập nhiều loại đặc tính, chức năng còn sau đó lúc phân phối sản phẩm, hệ thống có thể được cấu hình để loại bỏ một số chức năng không cần thiết. Điều này giúp tiết kiệm được những vùng nhớ mà các chức năng đó chiếm giữ. • Hệ thống có chế độ người dùng để dễ dàng chạy các ứng dụng và gỡ rối. Nhờ đó, quy trình phát triển được thực hiện dễ dàng hơn và việc lập trình có tính linh động hơn. • Có nhiều hệ thống nhúng thiếu các yêu cầu chặt chẽ về tính thời gian thực của hệ thống quản lý. Còn một hệ thống như Embedded Linux có tốc độ đủ nhanh để trả lời cho nhiều ứng dụng. Các chức năng cần đến sự phản ứng nhanh cũng có thể được đặt vào phần cứng.[11] 1.2. Hệ thống giám sát và điều khiển qua mạng. 1.2.1. Hệ thống giám sát và điều khiển Các hệ thống giám sát cho phép các thông tin dữ liệu của các quá trình sản xuất hoặc các lắp đặt vật lý được theo dõi và giám sát. Ví dụ, các thông tin được thu thập thông qua các thiết bị thu thập dữ liệu, chúng sẽ xử lý các thông tin, phân tích, và lưu trữ, và sẽ gửi các thông tin này tới người dùng, nhằm hỗ trợ con người trong quá trình điều khiển từ xa. 10
- Xem thêm -

Tài liệu liên quan