THIẾT KẾ MÔ HÌNH NHÀ THÔNG MINH SỬ DỤNG KIT INTEL GALILEO Mục tiêu của đồ án là vận dụng các kiến thức đã được học, kết hợp với tự tìm hiểu để “ Thực hiện hệ thống mô hình nhà thông minh”. Đồ án này lần lượt tìm hiểu về các bước thiết kế hệ thống nhúng, hệ điều hành, board phát triển Intel Galileo với vi điều khiển trung tâm sử dụng chip Intel Quark SoC x1000. Trên cơ sở đó sẽ thiết kế và thi công phần mềm cho sản phẩm với các chức năng đo nhiệt độ, độ ẩm, trạng thái mưa, trạng thái khí gas, điều khiển thiết bị điện. Các thông số trạng thái đo đạc được từ phần cứng sẽ liên tục được cập nhật lên một Website. Ngoài ra,trên Website còn có thêm chức năng điều khiển đóng mở các thiết bị điện trong ngôi nhà. Phương pháp nghiên cứu xuyên suốt đồ án này là tìm hiểu lý thuyết và tiến hành thiết kế theo quy trình phát triển của hệ thống nhúng. Đồ án đã thực hiện thành công thiết bị đo nhiệt độ, độ ẩm, trạng thái mưa, trạng thái khí gas, điều khiển thiết bị điện, có thể giao tiếp ở xa thông qua mạng với bất cứ thiết bị nào có thể kết nối Internet.
Trang 1ĐẠI HỌC QG TP HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC BÁCH KHOA KHOA ĐIỆN TỬ VIỄN THÔNG
ĐỒ ÁN TỐT NGHIỆP
ĐỀ TÀI:
THIẾT KẾ MÔ HÌNH NHÀ THÔNG
MINH SỬ DỤNG KIT INTEL
GALILEO
TP.Hồ Chí Minh, tháng 5 năm 2015
Trang 2
LỜI CAM ĐOAN
Trang 3
MỤC LỤC
Danh mục các từ viết tắt 1
Danh mục hình vẽ 3
Lời mở đầu 5
CHƯƠNG 1 GIỚI THIỆU VỀ NHÀ THÔNG MINH 8
1.1 Giới thiệu chương 8
1.2 Giới thiệu về nhà thông minh 8
1.2.1 Tổng quan về nhà thông minh 8
1.2.2 Nhà thông minh và xu hướng phát triển 10
1.3 Khái quát về chức năng nhà thông minh sẽ thực hiện trong đồ án 12
1.4 Tổng kết chương 14
CHƯƠNG 2 GIỚI THIỆU VỀ BỘ XỬ LÝ INTEL QUARK SOC X1000 VÀ BOARD INTEL GALILEO 15
2.1 Giới thiệu chương 15
2.2 Giới thiệu chung về Intel Galileo 15
2.3 Giới thiệu về bộ xử lý Intel Quark SoC x1000 16
2.3.1 Các đặc điểm kỹ thuật của bộ xử lý Intel Quark SoC x1000 16
2.4 Kiến trúc của Board Intel Galileo 21
2.4.1 Các tính năng hỗ trợ cho Arduino Shield 22
2.4.2 Chi tiết về các tính năng hỗ trợ Intel Architecture 23
2.5 Các ứng dụng của Board Intel Galileo 29
2.6 Tổng kết chương 29
CHƯƠNG 3 THIẾT KẾ PHẦN CỨNG 30
3.1 Giới thiệu chương 30
3.2 Xác định yêu cầu 30
3.3 Phân tích và đặc tả yêu cầu 31
3.4 Thiết kế phần cứng các chức năng chính 32
3.5 Thiết kế phần cứng cho từng khối chức năng 33
3.5.1 Khối giao tiếp mạng 33
3.5.2 Khối cảm biến nhiệt độ và độ ẩm 34
3.5.3 Khối cảm biến khí gas và khói 35
3.5.4 Khối cảm biến mưa 37
3.5.5 Khối điều khiển thiết bị từ xa 39
3.5.6 Khối giao tiếp với người dùng 39
Trang 43.6 Kết nối với Board Intel Galileo 40
3.7 Tổng kết chương 41
CHƯƠNG 4 THIẾT KẾ PHẦN MỀM 42
4.1 Giới thiệu chương 42
4.2 Xác định yêu cầu 42
4.3 Phân tích đặc tả yêu cầu 42
4.3.1 Phân tích đặc tả yêu tổng quát 42
4.3.2 Phân rã chức năng 44
4.3.3 Giản đồ hoạt động 45
4.4 Công cụ phần mềm 4
4.5 Thiết chi tiết cho từng khối chức năng 50
4.5.1 Khối giao tiếp mạng 50
4.5.2 Khối cảm biến nhiệt độ và độ ẩm 53
4.5.3 Khối cảm biến khí gas và khói 54
4.5.4 Khối cảm biến mưa 56
4.6 Kết quả thực hiện phần mềm 57
4.7 Tổng kết chương 59
KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN ĐỀ TÀI 60
TÀI LIỆU THAM KHẢO 63
PHỤ LỤC VÀ CODE 64
Trang 5TỪ VIẾT TẮT IoT Internet of Things Internet với vạn vật
RFID Radio Frequency Identification Nhận dạng tần số sóng vô tuyến
ARM Advenced RISC Machine Cấu trúc vi xử lý kiểu RISC
NFC Near-Field Communications Công nghệ kết nối không dây gần
QR Quick Response Phản ứng nhanh
IP Internet Protocol Giao thức Internet
LAN Local Area Network Mạng cục bộ
WAN Wide area network Mạng kết hợp với nhiều khu vực
PC Personal Computer Máy tính cá nhân
SMTP Simple Mail Transfer Protocol Giao thức truyền tin đơn giản
POP Post Office Protocol Giao thức tầng ứng dụng
IMAP Internet Message Access Protocol Giao thức truy cập tin nhắn Internet
FTP File Transfer Protocol Giao thức truyền tập tin
SMM System Management Mode Mode quản lý hệ thống
MMU Memory management unit Đơn vị quản lý bộ nhớ
OS Opera System Hệ điều hành
GSM Global System for Mobile Hệ thống di động toàn cầu
GPRS General Packet Radio Service Dịch vụ vô tuyến gói tổng hợp
MS Short Message Services Dịch vụ tin nhắn ngắn
Trang 6LỜI MỞ ĐẦU
Khái niệm nhà thông minh vốn phổ biến ở các nước công nghệ cao và du nhập sang các quốc gia có cơ sở hạ tầng công nghệ thông tin đang phát triển Việt Nam cũng là một trong những nước như vậy Các hệ thống như cảnh báo cháy nổ khi người dùng không ở nhà rất cần thiết vì hiện nay có nhiều trường hợp xì gas và cháy
nổ cũng như điều khiển một thiết bị nào đó từ xa để người dùng có thể kiểm soát được Những điều đó là cần thiết đối với đời sống còn người
Cùng với sự phát triển của khoa học, công nghệ này càng được ứng dụng sâu vào
để phục vụ nhu cầu cần thiết của con người tạo những thuận lợi và lợi ích trong đời sống Bên cạnh đó, mạng Internet ngày càng phổ cập đến từng gia định, tạo nên khả năng tương tác từ xa giữa người dùng và ngôi nhà của mình Xuất phát từ những điều này, nhóm đã tiến hành nghiên cứu thiết kế và bước đầu chế tạo ra một hệ thống nhúng có thể cảnh báo, điều khiển, cập nhật trạng thái Đó là sự kết hợp giữa phần cứng thu nhận, xử lý các thông số và phần mềm điều khiển mọi hoạt động của
hệ thống Các thông số trạng thái chứa những thông tin bao gồm: nhiệt độ, độ ẩm, mưa, khí gas, khói
Mục tiêu của đồ án là vận dụng các kiến thức đã được học, kết hợp với tự tìm
hiểu để “ Thực hiện hệ thống mô hình nhà thông minh” Đồ án này lần lượt tìm
hiểu về các bước thiết kế hệ thống nhúng, hệ điều hành, board phát triển Intel Galileo với vi điều khiển trung tâm sử dụng chip Intel Quark SoC x1000 Trên cơ sở đó sẽ thiết kế và thi công phần mềm cho sản phẩm với các chức năng đo nhiệt độ, độ
ẩm, trạng thái mưa, trạng thái khí gas, điều khiển thiết bị điện Các thông số trạng thái
đo đạc được từ phần cứng sẽ liên tục được cập nhật lên một Website Ngoài ra,trên Website còn có thêm chức năng điều khiển đóng mở các thiết bị điện trong ngôi nhà Phương pháp nghiên cứu xuyên suốt đồ án này là tìm hiểu lý thuyết và tiến hành thiết kế theo quy trình phát triển của hệ thống nhúng Đồ án đã thực hiện thành công thiết bị đo nhiệt độ, độ ẩm, trạng thái mưa, trạng thái khí gas, điều khiển thiết bị điện, có thể giao tiếp ở xa thông qua mạng với bất cứ thiết bị nào có thể kết nối Internet
Trang 7DANH MỤC CÁC HÌNH VẼ
Hình 1.1: Khái niệm nhà thông minh 9
Hình 1.2: Chức năng của nhà thông minh thực hiện 13
Hình 2.1: Bo mạch Intel Galileo 15
Hình 2.2: Intel Quarlk Core Block Diagram 17
Hình 2.3: Cấu Trúc Pipeline của Intel Quark x1000 20
Hình 2.4: Kiến trúc bo mạch Intel Galileo 21
Hình 2.5: Vị trí các Jumper trên Galileo 28
Hình 3.1: Sơ đồ khối phần cứng 32
Hình 3.2: Module Sim900A 34
Hình 3.3: Cảm biến nhiệt độ, độ ẩm DHT 11 và cách nối với MCU 35
Hình 3.4 Cảm biến khí gas và khói MQ7 36
Hình 3.5 Mức độ nhạy của MQ7 với các loại khí 37
Hình 3.6 Cảm biến mưa 38
Hình 3.7: Rơ le 39
Hình 3.8: LCD 20x4 40
Hình 3.9: Kết nối với Board Intel Galileo 41
Hình 4.1: Giản đồ UseCase 43
Hình 4.2: Giản đồ phân rã chức năng 44
Hình 4.3: Giản đồ hoạt động 45
Hình 4.4: Giao diện lập trình IDE cho Intel Galileo 46
Hình 4.5: Giao diện thiết lập công cụ lập trình IDE cho Intel Galileo 4
Hình 4.6: Các chương trình mẫu sẵn có của IDE 48
Hình 4.7: Phần mềm Wampserver sau khi cài đặt xong 49
Hình 4.8: Server và client thông qua giao thức FTP 51
Hình 4.9: Giao diện phần mềm FileZilla 52
Hình 4.10: Lưu đồ hàm nhiệt độ 53
Hình 4.11: Lưu đồ thuật toán đọc giá trị khí Gas 55
Hình 4.12: Lưu đồ thuật toán giá trị mưa 56
Hình 4.13 : Giao diện ban đầu khi vào web 57
Hình 4.14 : Giao diện chính điều khiển và cập nhật trên Website 58
Hình 5.1: Mô hình nhà thông minh 6
Trang 8CHƯƠNG 1: GIỚI THIỆU VỀ NHÀ THÔNG MINH 1.1 Giới thiệu chương
Chúng ta đã từng đọc, từng nghe những câu chuyện về ngôi nhà thông minh, nơi các máy nướng bánh có thể “giao tiếp” với máy hút khói Nhưng chúng kết nối với nhau bằng cách nào? Khi nào nó sẽ trở thành xu hướng chủ đạo trong cuộc sống và thực sự trở nên hữu ích? Trong chương này chúng ta sẽ đi tìm hiểu một cách khái quát nhất về “ Nhà thông minh “ ở mọi khía cạnh có liên quan tới nó
1.2 Giới thiệu về nhà thông minh
1.2.1 Tổng quan về nhà thông minh
Trong khoảng vài năm trở lại đây, chắc hẳn chúng ta đã không ít lần nghe thoáng qua về khái niệm Internet of Things, hay bắt gặp tin tức về các sản phẩm được quảng cáo là phục vụ cho nhu cầu “smart home” (nhà thông minh) Vậy Internet of Things hay smart home là gì, nó có những gì và hoạt động ra sao?
Nói về Internet of Things thì không như nhiều xu hướng công nghệ trước đây, hiện vận chưa có một định nghĩa được chấp nhận rộng rãi nào cho khái niệm Internet of Things.Vậy Internet of things (IoT ) được hiểu là khi mỗi đồ vật, con người được cung cấp một định danh riêng của mình, và tất cả có khả năng truyền tải, trao đổi thông tin, dữ liệu qua một mạng duy nhất mà không cần đến sự tương tác trực tiếp giữa người với người hay người với máy tính
Như vậy có thể tạm hiểu, Internet of Things là khi tất cả mọi thứ đều được kết nối với nhau qua mạng Internet, người dùng (chủ) có thể kiểm soát mọi đồ vật của mình qua mạng mà chỉ bằng một thiết bị thông minh, chẳng hạn như smartphone, tablet
Vậy Internet of things (IoT ) được hiểu là khi mỗi đồ vật, con người được cung cấp một định danh riêng của mình, và tất cả có khả năng truyền tải, trao đổi thông tin, dữ liệu qua một mạng duy nhất mà không cần đến sự tương tác trực tiếp giữa người với người hay người với máy tính Internet of things (IoT ) đã phát triển từ sự hội tụ của công nghệ không dây và công nghệ vi cơ điện tử và Internet
Internet of Things còn có khái niệm khác là vạn vật với Internet và Smart Home chính là một dạng thu nhỏ của Internet of Things, nơi mà đồ dùng trong nhà từ phòng ngủ, phòng khách đến toilet đều gắn các bộ điều khiển điện tử có thể kết nối với Internet và điện thoại di động, cho phép chủ nhân điều khiển vật dụng từ xa hoặc lập trình cho thiết bị ở nhà hoạt động theo từng “ kịch bản” được thiết lập sẵn
Trang 9Hình 1.1: Khái niệm nhà thông minh
Như vậy Nhà thông minh (tiếng Anh: smart-home hoặc intelli-home) là kiểu nhà được lắp đặt các thiết bị điện, điện tử có tác dụng tự động hoá hoàn toàn hoặc bán tự động, thay thế con người trong thực hiện một hoặc một số thao tác quản lý, điều khiển
Vậy, điều gì đã làm nên khác biệt cho smart home nói riêng và Internet of Things nói chung Chỉ một từ thôi, đó là cảm biến Mọi thiết bị trong hệ thống Internet of Things sẽ được tích hợp các cảm biến để phát hiện các thay đổi về nhiệt
độ, độ ẩm, ánh sáng, âm thanh, chuyển động và vị trí địa lí Các bộ điều khiển như máy tính hoặc các thiết bị điều khiển chuyên biệt, và các thiết bị chấp hành như công tắc, động cơ, van có điều khiển Chúng sẽ là con mắt và đôi tai điện tử của người sử dụng, với khả năng phát hiện và ghi lại mọi thay đổi của thế giới xung quanh Mỗi cảm biến sau đó sẽ được kết hợp với các mạch tích hợp (các bảng mạch dạng này
sẽ chỉ cho phép các lập trình viên thay đổi một vài thông số, do đã được thiết kế chuyên biệt cho một mục đích cụ thể) Cộng thêm một vi xử lí (cỡ nhỏ) và một module giao tiếp, ta có một cấu phần điều khiển hoàn chỉnh, sẵn sàng để kết nối các vật dụng với hệ thống Internet of Things
Các chức năng chính thường sử dụng trong nhà thông minh:
1 Điều khiển chiếu sáng (on/off, dimmer, scence, timer, logic, )
2 Điều khiển mành, rèm, cửa cổng
3 HT An ninh, báo động, báo cháy
4 ĐK Điều hòa, máy lạnh
5 HT Âm thanh đa vùng
Trang 106 Camera, chuông hình
7 HT Bảo vệ nguồn điện
8 Các tiện ích và ứng dụng khác
1.2.2 Nhà thông minh và xu hướng phát triển
Nhà thông minh, xu hướng của nhà ở hiện đại
Vài năm trở lại đây, khi thế giới đang dần tiến vào kỷ nguyên Internet of Things (IoT), kết nối mọi vật qua Internet, nhà thông minh trở thành một xu hướng công nghệ tất yếu, là tiêu chuẩn của nhà ở hiện đại Tại triển lãm lớn nhất thế giới về công nghệ điện tử và tiêu dùng diễn ra đầu tháng 1/2015 tại Las Vegas (Mỹ), nhà thông minh là một trong những chủ đề "nóng" nhất Còn theo hãng tư vấn công nghệ hàng đầu Gartner, công nghệ IoT sẽ bùng nổ kể từ năm 2015 với sự tham gia của hầu hết các hãng công nghệ tên tuổi
Việt Nam không nằm ngoài xu hướng này Trong năm 2014, chủ đầu tư của hàng loạt khu đô thị lớn như Phú Mỹ Hưng, Royal City, Times City, Ecopark, Vinhomes Central Park… đã đưa nhà thông minh tới các căn hộ, mang lại sự tiện nghi và đẳng cấp cho nhà ở tại đây
Các hãng công nghệ làm nhà thông minh
Thị trường nhà thông minh đang ngày càng nóng hơn khi mà các đai gia làng công nghệ như Google, Apple mang những sức mạnh của mình từ nền tảng di dộng tham gia vào cuộc chiến nhà thông minh này Kéo theo đó là sự tham gia của các đối tác từ Qualcomm, Samsung, LG v.v
Cả Apple và Google đang cạnh tranh để cung cấp các kiến trúc cơ bản cho các mạng lưới thiết bị, tiện ích Vào hồi tháng 5, tại hội nghị phát triển hàng năm của mình, Apple đã công bố HomeKit- một nền tảng phần mềm trung gian mới cung cấp khả năng liên kết giữa các thiết bị gia đình và sản phẩm của hãng
Gần đây Microsoft gia nhập AllSeen Alliance, liên minh bao gồm khoảng
50 công ty công nghệ gồm nhiều tên tuổi lớn khác như Qualcomm,Panasonic,
LG Electronics và Sharp với mục tiêu thúc đẩy những công nghệ và giao thức liên quan đến sản phẩm nhà thông minh Các hãng công nghệ trong liên minh này đang nghiên cứu một chuẩn kết nối dựa trên dòng chip được phát triển bởi Qualcomm với tên gọi là AllJoyn Chuẩn này tạo ra kết nối ngang hàng cho các thiết bị và ứng dụng trong môi trường Internet of Things (IOT) Những nhà sản xuất chip khác cũng có những bước đi riêng của mình, ví dụ Marvell vừa giới thiệt các công nghệ như low-power WiFi, ZigBee và Bluetooth trên mạch vi điều khiển SoC Hệ thống này kết hợp các thành phần riêng biệt thành một đơn vị tích hợp đầy đủ các tính năng
Hệ thống xử lý có mức tiêu thụ năng lượng thấp, cho phép kéo dài tuổi thọ pin và đủ nhỏ để phù hợp với thiết bị dân dụng Chip SoC của Marvell sẽ được sử dụng trong các sản phẩm kết nối với các giao thức mà Apple đã xây dựng
Trang 11Một liên minh khác được bảo trợ bở Google và Samsung là Thread Group hướng tới các giao thức mới cho hệ thống nhà thông minh Thread Group với sự tham gia của Nest Labs (thuộc Google), Samsung, ARM, Freescale, Silicon Labs, Yale Security, Big Ass Fans Mục tiêu là tạo ra giao thức mạng không dây dựa trên IP, cho phép các thiết bị phần cứng trong nhà kết nối với đám mây an toàn Hiện tại sản phẩm Nest đã sử dụng phiên bản thử nghiệm của giao thức mới
Intel, Samsung và Dell là thành viên sáng lập của Open Interconnect Consortium (OIC) Tổ chức này giới thiệu những phương thức truyền tải dữ liệu giữa những thiết bị mà không phụ thuộc vào hệ điều hành, dạng phần cứng cũng như công nghệ truyền thông không dây Các nhà phát triển có thể tạo ra những gói phần mềm phục vụ cho việc liên lạc và thông báo giữa các thiết bị trong IoT như thiết bị di động, remote điều khiển, thiết bị đeo, đồ gia dụng và các bộ cảm biến khác Những công ty đầu tiên tham gia tổ chức này phải thiết lập các tiêu chuẩn chung cho việc kết nối, tìm và phát hiện, sau đó xác thực giữa các thiết bị
Và không thể không kể tới một thương hiệu Việt Nam là Bkav cũng đã đạt được những thành tựu đáng ghi nhận về Nhà thông minh Hệ thống nhà thông minh SmartHome của Bkav là một tổ hợp các thiết bị thông minh trong 1 ngôi nhà, đều được kết nối Internet và có thể tự động điều chỉnh cũng như điều khiển qua smartphone Sau hàng chục năm nghiên cứu và sản xuất, Bkav SmartHome đã có chỗ đứng nhất định trên thị trường và hoàn toàn có thể cạnh tranh với những giải pháp nhà thông minh khác trên thế giới Vào tháng 6 năm 2014, Bkav vừa cho ra mắt ngôi “nhà thông minh’’ mẫu tại khu đô thị Phú Mỹ Hưng (TPHCM) Bkav SmartHome là hệ thống Nhà thông minh hoàn chỉnh, có thể điều khiển và kiểm soát ngôi nhà thông qua một giao diện trực quan 3D trên smartphone hay tablet, ở đó các thiết bị được mô phỏng giống như đang sử dụng thực tế Các hệ thống từ điều khiển ánh sáng, rèm mành, kiểm soát môi trường, an ninh, giải trí cho đến bình nóng lạnh… được phối hợp hoạt động theo các kịch bản ngữ cảnh thông minh, nhằm mang đến sự tiện nghi cao nhất cho người sử dụng Nhà thông minh Bkav SmartHome sử dụng công nghệ truyền thông không dây ZigBee và Wifi nên việc lắp đặt thiết bị rất thuận tiện, đơn giản
1.3 Khái quát về chức năng nhà thông minh sẽ thực hiện trong đồ án
Chức năng chính của nhà thông minh sẽ thực hiện trong đồ án bao gồm:
- Cảnh báo rò rỉ gas, khói và báo động về điện thoại
- Cảnh báo nhiệt độ cao và báo động về điện thoại
- Báo mưa và báo về điện thoại
- Điều khiển thiết bị điện từ xa với bất cứ thiết bị nào có kết nối Internet
- Theo dõi và kiểm soát trạng thái ngôi nhà trên một Website
Trang 12Hình 1.2: Chức năng chính nhà thông minh sẽ thực hiện
1.4 Tổng kết chương
Chương này đã đưa đến cho chúng ta một cái nhìn tổng quát nhất về khái niệm, các thành phần của hệ thống và các chức năng chính thường được sử dụng của nhà thông minh Bên cạnh đó, đã khái quát được các chức năng của nhà thông minh sẽ thực hiện trong đồ án này
Trang 13CHƯƠNG 2: GIỚI THIỆU VỀ BỘ XỬ LÝ INTEL QUARK SOC X1000 VÀ
BOARD INTEL GALILEO 2.1 Giới thiệu chương
Galileo là sản phẩm đầu tiên sử dụng chip Intel Quark X1000 - SoC đầu tiên thuộc dòng "Santa Clara" được sản xuất dựa trên dây chuyền công nghệ 14nm với mức độ tiêu thụ điện rất thấp Phần lõi của của X1000 là vi xử lí 400MHz dựa trên nền tảng Intel Penti
Trong chương này chúng ta sẽ cùng đi tìm hiểu về cấu trúc cũng như những đặc điểm được tích hợp từ chip Intel Quark SoC X1000, sự hoạt động và cách thức làm việc của bo mạch Intel Galileo
2.2 Giới thiệu chung về Intel Galileo
Galileo có chiều dài 10.67cm và rộng 7.11cm với các cổng USB, jack UART, cổng Ethernet và jack nguồn mở rộng ra ngoài kích thước bo mạch
Hình 2.1: Bo mạch Intel Galileo 2.3 Giới thiệu về bộ xử lý Intel Quark SoC x1000
Công nghệ Intel® Quark được thiết kế cho những ứng dụng đặt tiêu chí tiết kiệm điện năng và yếu tố kích thước lên trên hiệu năng Các sản phẩm xuất thân từ dòng bộ xử lý Intel Quark sẽ phát triển những giải pháp cách tân cho thị trường điện toán rộng khắp và khái niệm "Internet of Things", từ ô tô đến ngành công nghiệp đến những thiết bị đeo
Sản phẩm đầu tiên trong dòng mới này là Intel Quark SoC X1000 Các sản phẩm như Intel Quark SoC X1000 sẽ mang lại sự linh hoạt cho cấp độ tích hợp cao hơn,
Trang 14điện năng thấp hơn và tiết kiệm chi phí cho làn sóng mới của những thiết bị kết nối thông minh trong khi vẫn duy trì khả năng tương thích với bộ chỉ dẫn kiến trúc Intel®
2.3.1 Các đặc điểm kỹ thuật của bộ xử lý Intel Quark SoC x1000
Các tín hiệu từ bộ vi xử lý 32-bit ngoại đi vào các đơn vị bên trong qua các bus Ở bên trong thì các bus và các đơn vị bộ nhớ cache liên kết với nhau qua lại qua
1 bus 32-bit Dữ liệu được truyền từ bộ nhớ cache tới các đơn vị bus trên 1 bus dữ liệu 32- bit Ngoài ra bộ nhớ cache sử dụng để nhận các toán hạng và các kiểu dữ liệu khác Các câu lệnh trên bộ nhớ cache có thể truy nhập tới các đơn vị nạp trước (nạp trước) câu lệnh , bao gồm một hàng đợi các câu lệnh 32-bit chờ để thực thi
Các bộ nhớ cache chia sẻ hai bus dữ liệu 32-bit với các đơn vị segment,
số nguyên, và dấu chấm động Hai bus này có thể được sử dụng cùng nhau như một bus 64-bit Khi một segment 64-bit được chuyển từ bộ nhớ cache tới các đơn vị segment, 32 bit được truyền trực tiếp qua một bus dữ liệu và 32 bit khác được chuyển qua các đơn
Hình 2.2: Intel Quarlk Core Block Diagram
Các Intel®Quark Core có bốn chế độ hoạt động: Mode địa chỉ thực , mode bảo vệ, mode ảo và mode quản lý hệ thống (SMM) Mode địa chỉ thực được yêu cầu chủ yếu để thiết lập Intel® Quark Core cho bảo vệ chế độ hoạt động Mode bảo vệ cung cấp quyền truy cập vào các phân trang quản lý bộ nhớ và khả năng đặc quyền của
Trang 15các bộ vi xử lý Trong Mode bảo vệ, phần mềm có thể thực hiện một nhiệm vụ chuyển đổi để tham gia vào chức năng chỉ định như một chức năng của Mode 8086 ảo
Mode quản lý hệ thống (SMM) cung cấp cho các nhà thiết kế hệ thống và phương tiện là phần mềm điều khiển cho các sản phẩm máy tính của chúng mà luôn luôn hoạt động minh bạch cho hệ điều hành (OS) và các ứng dụng phần mềm SMM chỉ được sử dụng bởi phần mềm hệ thống, chứ không phải bởi các ứng dụng phần mềm hoặc mục đích chung hệ thống phần mềm
Bảng 2.1: Thông Số Bộ Nhớ của Intel Quark x1000
Trang 16Bảng 2.2: Thông số Xuất/ Nhập của Intel Quark x1000 Cấu trúc Pileline
Không phải mọi câu lệnh đều liên kết đến tất cả các đơn vị bên trong Khi một lệnh cần sự tham gia của một số đơn vị, mỗi đơn vị hoạt động song song với đơn vị khác trên các câu lệnh ở các giai đoạn thực thi khác nhau Mặc dù mỗi lệnh được xử
lý tuần tự, một số lệnh ở các giai đoạn được thực hiện khác nhau trong bộ xử lý tại bất
kỳ thời gian cho trước nào Điều này được gọi là pipelining Câu lệnh nạp trước (nạp trước), câu lệnh giải mã, thực thi vi mã, toán hạng thập phân, các toán hạng floating- point, tất cả các phân trang, quản lý bộ nhớ cache, và các toán hạng giao diện bus được thực hiện đồng thời
Hình dưới cho thấy nguyên tắc xử lý song song cho một lệnh đơn: Nạp câu lệnh, hai giai đoạn giải mã, thực hiện và thanh ghi write-back
Kết luận Mỗi giai đoạn trong Pipeline này thực thi trong một chu kỳ clock
Trang 17Hình 2.3: Cấu Trúc Pipeline của Intel Quark x1000
Bộ truyền I/O
Vận chuyển từ và I/O địa điểm có một số hạn chế để đảm bảo tính toàn vẹn dữ liệu:
• Lưu trữ - I/O đọc không bao giờ được lưu trữ
• Đọc lại đặt hàng - I/O lần đọc không bao giờ được tái đặt hàng trước của đệm để viết bộ nhớ Điều này đảm bảo rằng các bộ vi xử lý đã hoàn thành việc cập nhật tất cả các bộ nhớ địa điểm trước khi đọc trạng thái từ một thiết bị
Các Intel®Quark Core không đệm đơn các bộ ghi I / O; đọc không được thực hiện cho đến khi các bộ ghi I /O được hoàn thành
2.4 Kiến trúc của Board Intel Galileo
Trang 18Hình 2.4: Kiến trúc bo mạch Intel Galileo 2.4 1 Các tính năng hỗ trợ cho Arduino Shield
Galileo tương thích với các Arduino UNO shield và được thiết kể để làm việc với các shield chạy ở cả 2 mức điện áp 3.3V và 5V Giống như Arduino UNO phiên bản 3, Galileo có:
- 14 chân Digital I/O, trong đó 6 chân có thể phát xung PWM Chúng có thể được sử dụng ở cả 2 chế độ INPUT và OUTPUT, sử dụng được với các hàm pinMode(), digitalWrite(), và digitalRead() như trên các mạch Arduino
- Các chân giao tiếp có thể hoạt động ở 2 mức điện áp 3.3V và 5V Dòng cấp tối đa là 10mA, dòng đỉnh là 25 mA
- 6 chân Analog từ A0 đến A5 giao tiếp qua chip AD7298 (chuyển đổi Analog-to- Digital)
- SPI: chạy ở xung mặc định là 4Mhz để làm việc với các Arduino shield, có thể lập trình lên đến mức 25Mhz
Trang 19- UART (cổng Serial): là một cổng UART với tốc độ có thể lập trình được,
2 chân giao tiếp là 0 (RX) và chân 1 (TX)
- VIN: chân cấp nguồn cho Galileo khi nó sử dụng nguồn ngoài (trái ngược với điện áp chuẩn 5V từ chân cắm nguồn) Bạn có thể cấp nguồn cho Galileo từ chân này, hoặc, nếu cấp nguồn từ chân cắm nguồn phía trước, bạn có thể lấy ra điện áp chuẩn 5V từ chân này
- Chân 5V output: chân này cấp nguồn ra 5V từ nguồn ngoài cấp cho Galileo hay từ nguồn USB Dòng ra tối đa ở chân này cho các shield là 800mA
- Chân 3.3V output: cấp điện áp ra 3.3V được điều chế từ các mạch điều áp trên Galileo Dòng ra tối đa ở chân này cho các shield là 800mA
- GND: chân nối cực âm của nguồn điện
- IOREF: cho phép các shield điều chỉnh hoạt động phù hợp với điện áp hoạt động trên Galileo Chân IOREF được kiểm soát bởi các jumper trên mạch để lựa chọn 2 mức điện áp làm việc của shield là 3.3V và 5V
- RESET: chân/nút nhấn RESET Kéo chân này xuống GND để reset chương trình Arduino đang chạy trên Galileo Thường chân này được dùng để reset các shield
- AREF: không được sử dụng trên Galileo Trên Arduino, chân này cung cấp một điện áp tham chiếu ngoài cho các chân đọc tín hiệu analog
2.4.2 Chi tiết về các tính năng hỗ trợ Intel Architecture
Các bộ xử lí của Intel và các tương thích I/O của SoC đi kèm cung cấp hầu như tất cả các tính năng cần thiết cho cộng đồng người dùng cũng như tầng lớp học sinh sinh viên Điều này cũng cực kì hữu ích cho các nhà nghiên cứu chuyên nghiệp - những người luôn có những khát khao từ các môi trường lập trình giá rẻ và hiệu quả đến những thiết kế vi xử lí Intel Atom hay những thết kế dựa trên Intel Core-processor như Galileo:
- Bộ xử lí 400Mhz Intel Pentium 32bit tương thích với kiến trúc tập lệnh ISA (ISA- compatible)
- 16KB bộ nhớ đệm L1
- 512KB bộ nhớ SRAM on-die embedded
- Dễ dàng lập trình: đơn luồng, đơn nhân, xung nhịp cố định (single thread, single core, constant speed)
Trang 20- Mạch thời gian thực tích hợp (RTC intergrated) với 1 pin nút áo 3V
- Cổng kết nối 10/100 Ethernet
- Cổng PCI Express mini-card với chuẩn PICe 2.0
- Có thể hoạt động với card mini-PCIe half-sized với tùy chọn chuyển đổi
- Cung cấp cổng USB 2.0 Host tương đương ở cổng mini-PCIe
- Cổng kết nối USB 2.0 Host
- Hỗ trợ tới 128 thiết bị USB đầu cuối
- Cổng kết nối USB Client dùng để lập trình
- Ngoài chức năng là một cổng lập trình, nó cũng có thể đóng vai trò như một USB Host chuẩn 2.0
- 10 chân header chuẩn JTAG hỗ trợ việc dò lỗi hệ thống
- Nút Reboot dùng để reboot vi xử lí trung tâm
- Nút reset dùng để reset chương trình Arduino đang chạy hay bất kì shield nào đang kết nối
Tùy chọn lưu trữ
8MB Legacy SPI Flash dùng để lưu trữ firmware hay bootloader cũng như chương trình Arduino Khoảng 256KB đến 512KB được tách ra từ 8MB này để lưu trữ chương trình Arduino cuối cùng được tải lên Các chương trình Arduino được tải lên từ máy tính được xử lí một cách tự động, bạn không cần phải thao tác gì trừ khi
có một sự thay đổi nào đó được thêm vào firmware
-512KB bộ nhớ SRAM nhúng được mở mặc định bởi firmware
- 256MB DRAM được mở mặc định bởi firmware
- Tùy chọn thẻ nhớ ngoài SD có thể cung cấp lên tới 32GB dung lượng lưu trữ
- Lưu trữ USB có thể làm việc với bất kì ổ đĩa USB 2.0 nào tương thích
- 11KB EEPROM có thể được lập trình qua thư viện EEPROM
Giao tiếp
Galieo có thể dễ dàng kết nối với máy tính, mạch Arduino hay các vi điều khiển khác bằng nhiều phương thức:
Trang 21- Galieo cung cấp giao tiếp UART TTL Serial ở cả 2 mức 3.3V và 5V ở 2 chân 0 (RX) và 1 (TX) Thêm vào đó, 1 cổng UART khác hỗ trợ RS-232 có thể được
sử dụng qua jack cắm 3.5mm
- Cổng USB Client cho phép giao tiếp Serial (CDC-ACM) qua USB Nó cung cấp cho bạn kết nối Serial đến Serial Monitor (một chức năng trong IDE) hoặc các ứng dụng khác trong máy tính của bạn Bạn cũng có thể tải chương trình Arduino lên Galieo qua cổng này
- Cổng USB Host cho phép Galieo kết nối tới các thiết bị khác như chuột, bàn phím, điện thoại thông minh, với vai trò là một USB Host
- Galieo là mạch Arduino đầu tiên cung cấp một cổng mini PCI Express (mPCIe) Cổng này cho phép kết nối các module mPCIe full-size lẫn half-sized (với adapter) cũng như cung cấp thêm một cổng USB Host khác Một module chuẩn mPCIe có thể kết nối và cung cấp cho Galieonhiều ứng dụng như WiFi, Bluetooth hay kết nối mạng di động Bước đầu, cổng mPCIe sẽ hỗ trợ thư viện WiFi
- Cổng kết nối Ethernet RJ45 cho phép Galieo kết nối đến các mạng có dây Giao tiếp Ethernetđược hỗ trợ đầy đủ trên Galieo, do đó bạn không cần phải sử dụng giao tiếp SPI như trên Arduino shield
- Đầu đọc thẻ nhớ microSD tích hợp trên mạch có thể được truy cập thông qua thư viện SD Giao tiếp giữa Galieo và thẻ nhớ microSD được hỗ trợ bởi một trình điều khiển SD tích hợp, do đó bạn không cần phải sử dụng giao tiếp SPI như trên mạch Arduino Giao tiếp SD có thể chạy với tần số đến 50Mhz phụ thuộc vào Class của thẻ nhớ Thẻ nhớ có 2 loại Class thông dụng là Class 4 và Class 10
- Phần mềm như trên Arduino bao gồm thư viện Wire giúp bạn dễ dàng sử dụng bus I2C/TW
Thuộc tính các chân hoạt động ở chế độ OUTPUT
Các chân được đặt chế độ OUTPUT bằng hàm pinMode() sẽ có trạng thái trở kháng thấp TrênGalieo, khi một chân ở chế độ OUTPUT, các hàm chức năng sẽ được cung cấp qua phần mở rộng I2C-based Cypress I/O Các chân Digital từ 0 đến
13 và các chân Analog từ A0 đến A5 có thể được thiết đặt chế độ OUTPUT trên Galieo
Trang 22Các phần mở rộng của những chân I/O, khi được
thiết lập chế độ OUTPUT, có thể hoạt động với
cường độ dòng điện đến 10mA và có thể đạt đỉnh
Dòng điện hoạt động (mA)
Dòng điện đỉnh (mA)
Các chân Digital 0, 1, 2, 4, 6, 7, 8, 11 và các chân
Các chân Digital từ 0 đến 13 và Analog từ A0 đến
Thiết đặt các Jumper trên Galileo
Có 3 jumper trên Gailieo được sử dụng cho nhiều mục đích khác nhau
IOREF jumper
Để Galileo có thể chạy được các shield ở cả 2 mức 3.3V và 5V, điện áp ở các chân giao tiếp bên ngoài được điều chỉnh bởi các jumper Khi jumper nối vào mức 5V, Galileo có thể hoạt động với các shield chạy ở 5V và điện áp ở chân IOREF khi
đó sẽ là 5V Khi jumper nối vào mức 3.3V, Galileo có thể hoạt động với các shield chạy ở 3.3V và điện áp ở chân IOREF khi đó sẽ là 3.3V
I2C Address Jumper
Để ngăn chặn sự trùng lặp địa chỉ giữa các thiết bị I2C Slave của các I/O Expander trên Galileohay EEPROM với các thiết bị I2C Slave ngoại
vi, jumper J2 được sử dụng để thiết đặt nhiều địa chỉ I2C khác nhau cho các thiết bị trên Galileo Khi J2 kết nối với chân số 1 (đánh dấu bởi hình tam giác màu trắng), 7bit địa chỉ của I/O Expander là 0100001 và 7bit địa chỉ của EEPROM là 1010001 Đổi vị trí của jumpper, 7bit địa chỉ của I/O Expander sẽ là 0100000 còn của EEPROM là1010000
VIN jumper
Trên Galileo, chân VIN được sử dụng để cấp nguồn ngoài 5V, nó cũng được nối với jack nguồn cũng như có thể cấp nguồn cho các shield hay thiết bị khác Nếu bạn muốn cấp nguồn cho mạch ở mức điện áp lớn hơn 5V cho các shield lấy nguồn từ chân VIN, bạn phải tháo VIN jumper ra để ngắt kết nối chân VIN với nguồn 5V trên Galileo
Trang 23Hình 2.5: Vị trí các Jumper tren Galileo 2.5 Các ứng dụng của Board Intel Galileo
Intel Galileo là một bo mạch vi xử lý được dùng để lập trình tương tác với các thiết bị phần cứng như cảm biến,động cơ,đèn hoặc các thiết bị khác.Đặc điểm nổi bật của Intel Galileo là môi trường phát triển ứng dụng cực kỳ dễ sự dụng,với ngôn ngữ lập trình có thế học một cách nhanh chóng ngay cả với người ít am hiểu về điện tử và lập trình
Bộ bo mạch Intel Galileo được dùng để phục vụ cho những nhà giáo dục, những nhà "sáng chế nghiệp dư", và những người đam mê khoa học, công nghệ.Với bo mạch Intel Galileo trên tay bạn có thể thỏa sức nghiên cứu và khám phá với những dự án công nghệ của bản thân Bạn có thể kết nối và điều khiển các thiết bị điện tử trong nhà, smart phones, tablets,… và xây dựng những ứng dụng thông minh
2.6 Tổng kết chương
Từ những tìm hiểu về bộ vi xử lý Intel Quark Soc x1000 và bo mạch Intel Galileo ta thấy được sự thích hợp của nó với các yêu cầu của đồ án vì tính đa dụng của các chân, tính kết nối Internet Chính vì vậy nhóm đã chọn bo mạch Intel Galileo này để làm bộ điều khiển trung tâm cho mô hình Nhà Thông Minh sẽ thực hiện trong
đồ án này
Trang 24CHƯƠNG 3: THIẾT KẾ PHẦN CỨNG 3.1 Giới thiệu chương
Ngày nay, khái niệm nhà thông mình vốn phổ biến ở các nước công nghệ cao và
du nhập sang các quốc gia có cơ sở hạ tầng công nghệ thông tin đang phát triển Việt Nam cũng là một trong những nước như vậy, mọi người đang dần tiếp cận hơn với vấn đề này Các hệ thống như thông báo nhiệt độ, độ ẩm, báo trạng thái mưa, cảnh báo cháy nổ cho người dùng hay là điều khiển thiết bị từ xa.Trong chương 4 sẽ tiến hành phát triển phần cứng cho một mô hình nhà thông minh với các hệ thống thông báo nhiệt độ, độ ẩm, báo trạng thái mưa, cảnh báo cháy nổ cho người dùng hay là điều khiển thiết bị từ xa
3.2 Xác định yêu cầu
Nhà thông minh là xu thế mới trong kiến trúc nhà ở hiện tại, nhằm đem lại cuộc sống đích thực cho con người sống trong đó Trên thế giới nhà thông mình không còn xa lại Và ở Việt Nam, hiện cũng đã có nhiều công ty cung cấp giải pháp nhà thông minh Cuộc đua nhà thông minh đang diễn ra gay cấn giữa các tên tuổi lớn với nhiều giải pháp được tung ra nhằm hiện đại hoá nhà ở, đem lại tiện ích làm thay đổi toàn bộ thói quen sinh hoạt và lối sống hằng ngày của các gia đình, mục địch cuối cùng là nâng cao chất lượng sống
Hãy tưởng tượng một ngôi nhà trong đó có thể kết nối và tự động hoá các thiết
bị điện tử, đèn chiếu sáng, quạt…cho tới các hệ thống cảnh báo và nhiều tiện ích khác Bạn sẽ dễ dàng kiểm soát hoạt động của ngôi nhà ngay cả khi vắng mặt từ bất
cứ đâu với máy tính hay smartphone, giảm thiểu rủi ro ngoài ý muốn Những kịch bản
tự động hoá hoạt động của các thiết bị theo ngữ cảnh đem lại tiện nghi, thoải mái và
an toàn cho cuộc sống của bạn
Hệ thống được phát triển cần có các tính năng sau:
- Cập nhật các trạng thái nhiệt độ, độ ẩm, mưa, báo cháy
- Hiện thị trạng thái ngôi nhà trên màn hình LED và trang Web
- Có kết nối mạng để điều khiển
- Có thể kết nối với nhiều thiết bị ngoại vi khác
- Dễ dàng di chuyển, dùng được ở mọi nơi, giá thành rẻ
3.3 Phân tích và đặc tả yêu cầu
Trang 25Đối với phương pháp đo thông thường sử dụng như máy đo nhiệt kế, ẩm kế để
đo nhiệt độ và độ ẩm của không khí Người dùng muốn đo được nhiệt độ hay độ ẩm ở một nơi nào đó thì cần phải đưa công cụ đo đến vị trí đó và người dùng phải đọc trực tiếp thông số hiện thi ngay trên công cụ Hay cảm biến báo động rò rỉ gas chống cháy
nổ, khi phát hiện nồng độ khí gas trong không khí vượt mức giới hạn máy sẽ phát
âm thanh báo động để ta kịp thời khác phục sự cố xì gas
Những phương pháp truyền thống này lại có những bất cập là muốn đo nhiệt
độ, độ ẩm người dùng phải trực tiếp cầm dụng cụ để đo trực tiếp, trạng thái sẽ không được cập nhật thường xuyên Cảm biến khí gas sẽ hoạt động tốt khi có người ở nhà hoặc những người xung quanh nghe được âm thanh báo động, khi người dùng vắng nhà sẽ không biết được cảnh báo này Từ đó chúng ta đã nghĩ ra được phương pháp
đo nhiệt độ, độ ẩm, cảnh báo gas qua internet để người dùng dù ở đâu miễn có Internet là sẽ biết được trạng thái, thông số
Như vậy nhu cầu Internet rất quan trọng đối với con người nó giúp con người làm được nhiều việc Khi ở xa người dùng cũng có thể điều khiển được một thiết bị, xem thông số trạng thái của nhiệt độ, độ ẩm, biết được trạng thái cảnh báo cháy nổ Dựa trên phương pháp đo, cảnh báo thông thường, ta sẽ thiết kế một hệ thống đo, cảnh báo, điều khiển thiết bị từ xa thông qua mạng Internet dùng trong căn nhà của bạn Đây cũng được coi là một phần của nhà thông minh
3.4 Thiết kế phần cứng các khối chức năng chính
Trang 26Hình 3.1: Sơ đồ khối phần cứng
Chức năng của từng khối:
- Khối Nguồn: Cung cấp nguồn cho các khối phần cứng khác
- Internet: hỗ trợ người dùng ở xa hệ thống có thể điều khiển và cập nhật trạng thái ngôi nhà
- Intel Galileo với vi điều khiển Intel Quark SoC x1000 làm nhiệm vụ điều khiển thiết bị, lấy thông số ở các khối cảm biến
- Cảm biến nhiệt độ, độ ẩm: lấy giá trị nhiệt độ, độ ẩm từ không khí
- Cảm biến mưa: Để biết có mưa hay không
- Cảm biến gas: Đo nồng độ khí gas nhằm cảnh báo khi nồng độ quá cao
- Điều khiển thiết bị: Thiết bị cần được điều khiển như Quạt, Đèn…
- LCD: Hiện thị các thông số trạng thái
3.5 Thiết kế cho từng khối chức năng
3.5.1 Khối giao tiếp mạng ( Internet)
Module SIM900A
Mô tả
Module SIM900A được sử dụng rộng rãi trong truyền nhận dữ liệu GSM/GPRS Người sử dụng chỉ cần dùng giao tiếp RS232, TTL Serial (UART) để cấu hình, gửi tin nhắn (SMS), gọi điện và nhận cuộc gọi với thuê bao khác chỉ bằng một vài câu lệnh AT thông qua giao tiếp nối tiếp từ vi điều khiển hoặc máy tính Tích hợp sẵn bộ nguồn switching 4.1V/2A, giúp cho người sử dụng dễ dàng trong việc kết
Trang 27nối và sử dụng thiết bị Các chân ngoại vi, speaker, mic, đều được đưa ra header một cách linh hoạt Module này có thể giao tiếp với vi điều khiển 3V hoặc 5V
Thông số kĩ thuật SIM900A:
- SIM900A Quad-Band 850/ 900/ 1800/ 1900 MHz
- Đế Sim Card tích hợp trên board
- Tích hợp nguồn xung 3A, với 3 chế độ nguồn 3.3V/4V/4.5V
- Tích hợp ngõ ra Speaker, MIC
- Header RS232, ADC, VRTC, I2C, PWM
- Kích thước nhỏ gọn 47mm x 34.29 mm
- Hỗ trợ source code driver Sim900
- Hỗ trợ thiết kế schematic cho Sim900
Hình 3.2: Module Sim900A 3.5.2 Khối cảm biến nhiệt độ, độ ẩm
Sử dụng cảm biến nhiệt độ, độ ẩm loại DHT 11
Trang 28Hình 3.3: Cảm biến nhiệt độ, độ ẩm DHT 11 và cách nối với MCU
3.5.3 Khối cảm biến khí gas và khói
Hình 3.4 Cảm biến khí gas và khói MQ7
Đây là cảm biến sử dụng cho ứng dụng phát hiện khí CO, khí Gas MQ-7 có thể phát hiện khí CO-Gas tập trung những nơi khác nhau từ 10 đến 1000ppm Cảm
Trang 29biến này với độ nhạy cao và thời gian đáp ứng nhanh Tín hiệu ngõ ra dạng analog và digital Cảm biến có thể hoạt động được ở nhiệt độ từ khoảng: -10C đến 50C và tiêu thụ dòng khoảng 150mA tại 5V
Hình 3.5 Mức độ nhạy của MQ7 với các loại khí
3.5.4 Khối cảm biến mưa
Mạch cảm biến mưa gồm 2 bộ phận:
+ Bộ phận cảm biến mưa được gắn ngoài trời
+ Bộ phận điều chỉnh độ nhạy cần được che chắn
Mạch cảm biến mưa hoạt động bằng cách so sánh hiệu điện thế của mạch cảm biến nằm ngoài trời với giá trị định trước (giá trị này thay đổi được thông qua
Trang 301 biến trở màu xanh) từ đó phát ra tín hiệu đóng / ngắt rơ le qua chân D0 Khi cảm biến khô ráo (trời không mưa), chân D0 của module cảm biến sẽ được giữ ở mức cao (5V-12V) Khi có nước trên bề mặt cảm biến (trời mưa), đèn LED màu đỏ sẽ sáng lên, chân D0 được kéo xuống thấp (0V)
Mạch hoạt động với nguồn 5V
Hình 3.6: Cảm biến mưa 3.5.5 Khối điều khiển thiết bị từ xa
Trang 31Hình 3.7: Rơ le
Khối điều khiển thiết bị từ xa tức là điều khiển bật tắt thiết bị thông qua
Rơ-le, 5 VDC, 5 chân, dòng/áp lớn nhất: 10A - 250VAC, 10A - 30VDC
3.5.6 Khối giao tiếp với người dùng (LCD)
Khối giao tiếp với người dùng sử dụng LCD 20x4 để hiện thị và cập nhật các thông số đo đạc
Trang 32Hình 3.9 Kết nối Board mạch 3.7 Tổng kết chương
Chương này đã tiến hành thiết kế và thi công toàn bộ phần cứng của hệ thống từ tổng quát đến các bộ phận chi tiết như khối cảm biến gas, cảm biến nhiệt độ, độ ẩm, cảm biến mưa, khối giao tiếp với người dùng, mudule Sim Trong chương sau sẽ tiếp tục phát triển phần mềm để hệ thống có thể hoạt động
Trang 33CHƯƠNG 4: THIẾT KẾ PHẦN MỀM 4.1 Giới thiệu chương
Chương trước đã xây dựng được bộ khung phần cứng cho sản phẩm, ở chương
4 sẽ tiếp tục phát triển phần mềm nhúng cho sản phẩm có thể hoạt động Quy trình phát triển sẽ theo các bước xác định yêu cầu, phân tích đặc tả yêu cầu và thiết kế theo từng khối chức năng chính Sau khi hoàn thành các khối chức năng giữa phần cứng và phần mềm sẽ tiến hành lắp ghép các module lại với nhau để thành sản phẩm hoành chỉnh và sẽ tiến hành kiểm trả, sữa lỗi để hoàn thiện
4.2 Xác định yêu cầu
Mô hình nhà thông minh sau khi hoàn thiện phải đáp ứng các yêu cầu cho sản phẩm và cho quá trình phát triển:
- Hoạt động được với board Intel Galileo
- Kiểm soát và điều khiển được bằng mọi thiết bị khi có kết nối Internet
- Giá trị các trạng thái phải chính xác
- Cập nhật trạng thái nhanh, cảnh báo kịp thời
4.3 Phân tích đặc tả yêu cầu
4.3.1 Phân tích tổng quát
Từ các mô tả về phần mềm của hệ thống có thể khái quát thành các khối chức năng chính:khối khởi tạo, khối đo lường, khối tính toán, khối hiển thị và khối giao tiếp, tất cả hoạt động bởi sự điều khiển của khối điều hành
Đầu vào hệ thống:
Các đại lượng cần đo: Nhiệt độ, độ ẩm, khí gas
Lệnh điều khiển từ Internet: chọn đại lượng cần đo, reset
Đầu ra hệ thống:
Hiện thị kết quả đã đo được và tính toán lên LED và Webstie
Truyền kết quả đi xa thông qua Webserver Từ các phân tích tổng quan ta có giản đồ UseCase