Tải bản đầy đủ (.docx) (40 trang)

hệ thống giám sát môi trường raspberry pi

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (3.01 MB, 40 trang )

BỘ GIÁO DỤC VÀ ĐÀO TẠO

BỘ NÔNG NGHIỆP & PTNT

TRƯỜNG ĐẠI HỌC THUỶ LỢI
KHOA ĐIỆN-ĐIỆN TỬ
BỘ MÔN KỸ THUẬT ĐIỀN KHIỂN VÀ TỰ ĐỘNG HĨA

HỆ THỐNG GIÁM SÁT MƠI TRƯỜNG
SỬ DỤNG RASPBERRY BOARD

Si
Gi

1


MỤC LỤC

LỜI NÓI ĐẦU
Với sự phát triển càng ngày càng nhanh chóng của cơng nghệ, Internet of Things,
trí tuệ nhân tạo (AI) và Big Data đã đang và sẽ là nịng cốt cho cuộc cách mạng cơng
nghiệp 4.0. Các nghiên cứu, ứng dụng các công nghệ này vào cuộc sống ngày càng trở
nên đa dạng hơn, mở ra nhiều hướng nghiên cứu chuyên sâu vào từng lĩnh vực ứng
dụng đặc thù với những đặc trưng riêng.
Đời sống con người phát triển, nhu cầu về việc kết nối tập trung các thiết bị, cập
nhật trạng thái theo thời gian thực ngày càng tang cao. Điều này đã thúc đẩy sự phát
triển của IoT.
Hiện nay, mặc dù khái niệm IoT và công nghệ cảm biến không dây đã trở nên
khá quen thuộc và được ứng dụng khá nhiều trong các lĩnh vực của đời sống con
người, đặc biệt ở các nước phát triển có nền khoa học cơng nghệ tiên tiến. Tuy nhiên,


những công nghệ này chưa được áp dụng một cách rộng rãi ở nước ta, do những điều
kiện về kỹ thuật, kinh tế, nhu cầu sử dụng. song nó vẫn hứa hẹn một đích đến tiêu biểu
cho các nhà nghiên cứu, cho những mục đích phát triển tiềm năng.


TĨM TẮT BÁO CÁO
Thiết kế hệ thống giám sát mơi trường ứng dụng AWS IoT và Raspberry Pi
với các chức năng. Đo đạc và gửi các thông số môi trường (nhiệt độ, độ ẩm, ánh sáng,
âm thanh, áp suất) lên Cloud.
Tóm tắt nội dung các chương:

• Chương 1: Tổng quan
Nội dung chương này trình bày về vấn đề được đặt ra, mục tiêu mong muốn
đạt được của báo cáo.

• Chương 2: Kiến trúc nền tảng IoT
Nội dung chương này trình bày lý thuyết về nền tảng IoT gồm có: các thành
phần cấu tạo nên IoT và các loại nền tảng IoT.

• Chương 3: Điện tốn đám mây AWS IoT
Nội dung chương này giới thiệu về nền tảng điện toán đám mây AWS IoT: các
thành phần của AWS IoT, hoạt động của AWS IoT.

• Chương 4: Tìm hiểu về các thành phần sử dụng trong hệ thống
Nội dung chương này trình bày về thiết bị phần cứng và các công cụ phần
mềm sử dụng để thực hiện hệ thống.

• Chương 5: Thực hiện hệ thống
Nội dung chương này trình bày quá trình xây dựng và kiểm thử chức năng của
hệ thống.



CHƯƠNG 1: TỔNG QUAN
Trong suốt quá trình lịch sử phát triển của xã hội lồi người, những cuộc cách
mạng cơng nghiệp có vai trị vơ cùng quan trọng, chúng là những bước ngoặt làm thay
đổi hoàn toàn phương thức sản xuất, thay đổi cuộc sống của con người theo hướng
hiện đại hơn.Những ngày gần đây, khái niệm “Cách mạng công nghiệp 4.0” liên tục
xuất hiện trên các phương tiện truyền thông, từ các báo đài cho đến các mạng xã hội.
Tại sao lại gọi là “Cách mạng công nghiệp 4.0”?
Năm 1784, James Watt đã cải tiến thành công động cơ hơi nước và đó là nền tảng
cho cuộc cách mạng công nghiệp đầu tiên trên thế giới khi con người dần thay thế các
biện pháp sản xuất thủ công sang sử dụng máy móc. Điều này đã mang đến năng suất
lao động mà xã hội loài người chưa bao giờ được chứng kiến. Năm 1870, động cơ điện
được phát minh với hiệu suất cao hơn rất nhiều so với động cơ hơi nước, điều này đã
dẫn tới cuộc cách mạng công nghiệp lần thứ hai khi mà điện năng được đưa vào sử
dụng rộng rãi trong sinh hoạt và sản xuất, mang lại cho con người rất nhiều tiện nghi,
xã hội lồi người từ đây có những bước tiến vượt bậc. Gần 100 năm sau đó, cuộc cách
mạng cơng nghiệp lần thứ 3 đã xảy ra khi con người phát minh ra bóng bán dẫn thay
thế cho đèn điện tử. Phát minh ra bóng bán dẫn là tiền đề để con người liên tục cải tiến
các thiết bị điện tử. Máy tính cá nhân, mạng Internet, Smartphone lần lượt ra đời làm
cuộc sống của con người thay đổi với tốc độ chóng mặt. Tự động hóa, cơng nghệ
thơng tin được áp dụng vào sản xuất mang đến hiệu quả lao động rất cao. Cuộc cách
mạng công nghiệp 4.0 thực chất là sự kế thừa những công nghệ con người đã có được
từ cuộc cách mạng cơng nghiệp lần thứ 3 nhưng nó sẽ đẩy mạnh sự giao tiếp giữa các
thiết bị hơn nữa, kết hợp các công nghệ lại với nhau. IoT cùng với trí tuệ nhân tạo (AI)
và Big Data sẽ là ba mũi nhọn của cuộc cách mạng 4.0 này.
IoT là gì?
“Internet of Things (IoT) là một kịch bản của thế giới, khi mà mỗi đồ vật, mỗi đồ
vật, con người được cung cấp một định danh của riêng 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. IoT đã phát triển từ
sự hội tụ của công nghệ không dây, công nghệ vi cơ điện tử và Internet.”


Hình 1.1: Internet of things
Thực chất khái niệm IoT đã có từ lâu tuy nhiên thời gian gần đây với sự bùng nổ
của mạng Internet, các công nghệ kết nối khơng dây thì IoT mới phát triển và thực sự
len lỏi vào mọi khía cạnh của đời sống con người, hứa hẹn cho một thế giới mà mọi
vật đều được kết nối với nhau, mang lại năng suất lao động cao cũng như cải thiện
cuộc sống của con người.

1.1. Đặt vấn đề
Giám sát môi trường là các hoạt động thu thập các số liệu về môi trường như
nhiệt độ, độ ẩm, nồng độ các chất… để từ đó có thể đưa ra những đánh giá về tác động
của môi trường đối với con người cũng như của con người đối với môi trường, đưa ra
những dự báo để con người đối phó với những thay đổi của mơi trường.
Việc thu thập các số liệu này phải thực hiện bằng các phép đo lường. Tuy nhiên,
các phép đo lường đơn (đo lường một lần) hoặc việc đo lường cách quãng được thực
hiện trực tiếp bởi con người không thể mang lại số mẫu đủ lớn để thực hiện những
công tác đánh giá, dự đoán. Điều này dẫn đến yêu cầu về một thiết bị điện tử cho phép
thực hiện các phép đo một cách tự động, liên tục, thay thế con người thu thập các số
liệu này. Với xu hướng Internet of Thing như hiện nay thì các thiết bị này không chỉ
làm công việc đo lường thu thập các số liệu mà còn phải kết nối với mạng Internet,
truyền các số liệu này lên đám mây (Cloud) để người sử dụng có thể truy cập vào và
làm việc các dữ liệu này từ những địa điểm khác, cách xa khu vực được đo đạc.


Các mạch điện tử kết nối với cách mạng thực hiện việc đo đạc và truyền nhận số
liệu không phải là khái niệm mới. Các hệ thống M2M (Machine to Machine) cổ điển
đã thực hiện điều này trong suốt những thập kỷ vừa qua. Tuy nhiên, theo thời hạn các

hệ thống này đã bộc lộ những điểm yếu của mình, khơng đáp ứng được sự phát triển
của cơng nghệ như:

• Phải tạo ra các hạ tầng mạng chuyên dụng cho mỗi loại thiết bị dẫn đến sự hạn
chế trong việc trao đổi thông tin giữa các thiết bị khác nhau, khơng tận dụng
được tối đa lợi ích của hạ tầng mạng.

• Mỗi thiết bị chỉ thực hiện được việc đo đạc các số liệu nhất định, dẫn đến khi có
yêu cầu cần đo đạc thêm các thơng số khác thì rất khó để tích hợp thêm vào hệ
thống những chức năng mới.

• Khơng tận dụng được hết các dữ liệu do các thiết bị tạo ra.
IoT khắc phục tất cả những điểm yếu này của các hệ thống M2M kiểu cổ điển
với việc tìm kiếm, kết nối những thứ mà chúng ta tương tác vào Internet, thậm chí cả
những thứ mà chúng thường không được kết nối vào mạng (network). IoT tận dụng
các IP đã tồn tại trên mạng thay vì tạo ra các hạ tầng mạng chuyên dụng như cách làm
thế hệ hiện tại của M2M, vì vậy chúng tạo ra một mạng lưới toàn cầu của các thiết bị
(Things). Và một Cloud được tạo ra sẽ là nơi lưu trữ một lượng lớn thơng tin, xử lý
trích xuất cho con người những dữ liệu có giá trị nhất. Tuy nhiên, IoT cũng đặt ra một
thử thách đó là kết nối các thiết bị vào mạng khi mà có quá nhiều IoT node có giới hạn
về bộ nhớ, khả năng lưu trữ và tính tốn và khơng thể kết nối đến IP network một cách
trực tiếp. Tạo ra IoT Gateways với khả năng làm cầu nối cho các thiết bị và mạng IP
đang chính là vấn đề cần giải quyết để có thể tiến tới Internet of Things.

1.2. Mục tiêu đạt được
Thiết kế một IoT Gateway phục vụ hệ thống giám sát mơi trường với các chức
năng:

• Kết nối với IoT Cloud.
• Kết nối với các thiết bị như cảm biến nhiệt độ, độ ẩm, ánh sáng, âm thanh, áp

suất.

• Thực hiện việc giao tiếp, truyền dữ liệu từ cảm biến lên Cloud. Cụ thể ở đây là
gửi các thông số như nhiệt độ, độ ẩm, ánh sáng, âm thanh, áp suất lên Cloud.


• Cho phép người sử dụng có thể truy cập và sử dụng các dữ liệu này.

Hình 1.2: Sơ đồ tổng của hệ thống giám sát môi trường.
Một số ứng dụng có thể có của hệ thống:

• Theo dõi tình hình thời tiết (nhiệt độ, độ ẩm).
• Ứng dụng làm hệ thống cảnh báo. VD: khi nhiệt độ cao và độ ẩm thấp, thiết bị có
thể phát cảnh báo cháy bằng tín hiệu hoặc gửi lên web cảnh báo. Có thể sử dụng
trong các cửa hàng, các khu vực dễ xảy ra cháy nổ, các khu vực rừng vào mùa
khơ,…

• Có thể ứng dụng trong nơng nghiệp, theo dõi điều khiển các thiết bị để duy trì
điều kiện nhiệt độ độ ẩm đảm bảo cho cây trồng, vật nuôi luôn có điều kiện phát
triển tốt nhất, tăng năng suất cho việc sản xuất.

• Kết hợp hệ thống với một UAV, ta sẽ có một flycam với chức năng giám sát mơi
trường. Khi đó hệ thống khơng chỉ hoạt động tại một địa điểm cố định mà có thể
thay đổi tùy theo ý muốn của người sử dụng.

1.3. Kết luận
Vấn đề được đặt ra ở đây là thiết kế một IoT Gateway phục vụ hệ thống giám sát
mơi trường, bao gồm:

• Phần cứng (Hardware): các cảm biến (nhiệt độ, độ ẩm, camera), các thiết bị

nhúng.

• Phần mềm (Software): các chương trình điều khiển hệ thống, giúp kết nối cảm
biến với Gateway, Gateway với Cloud.



CHƯƠNG 2: KIẾN TRÚC NỀN TẢNG IOT

2.1. Các thành phần cấu tạo nên IoT

Hình 2.1: Các thành phần cơ bản của mơ hình IoT
Một nền tảng IoT đơn giản có thể chỉ cho phép kết nối giữa “sự vật” hoặc thiết
bị. Kiến trúc cũng có thể bao gồm một nền tảng phần mềm, một nền tảng phát triển
ứng dụng hoặc một nền tảng phân tích. Tuy nhiên xét trên tổng thể thì một hệ thống
IoT hiện đại bao gồm 8 thành phần quan trọng:

2.1.1. Kết nối và đồng bộ hóa
Thành phần này là tác nhân và thư viện để đảm bảo sự kết nối cho các thiết bị và
cơ sở dữ liệu, có chức năng tích hợp đồng bộ các giao thức khác nhau và các định
dạng dữ liệu khác nhau vào một giao diện “phần mềm” đảm bảo việc truyền dữ liệu
chính xác và tương tác với tất cả các thiết bị.

2.1.2. Quản lý thiết bị
Thành phần này là cơng cụ để quản lý tình trạng thiết bị, phát triển, update phần
mềm từ xa đảm bảo kết nối “mọi thứ” hoạt động bình thường, chạy các bản vá và cập
nhật phần mềm cũng như ứng dụng đang chạy trên thiết bị hoặc các gateways ngoại
biên (EDGE gateway).

2.1.3. Cơ sở dữ liệu

Đây là thành phần được coi quan trọng nhất của một nền tảng IoT, là nơi lưu trữ
tất cả dữ liệu cho hệ thống. Ngoài lưu trữ dữ liệu quan trọng của thiết bị, nó phải có
khả năng mở rộng đáp ứng các yêu cầu cho các cơ sở dữ liệu dựa trên đám mây. Cơ sở
dữ liệu cần đáp ứng được yêu cầu mở rộng không gian lưu trữ, sự đa dạng, vận tốc và
độ tin cậy của dữ liệu.


2.1.4. Quản lý và xử lý hoạt động
Thành phần này quy định các hành động của hệ thống dựa vào dữ liệu từ cảm
biến và dữ liệu thiết bị (theo thời gian thực) dựa trên nguyên tắc EventActionTriggers.

2.1.5. Phân tích
Đây chính là những thuật tốn cho việc tính tốn nâng cao và tự học của hệ
thống, có thể coi là bộ não của nền tảng IoT. Thành phần này có chức năng thực hiện
hàng loạt các phân tích phức tạp từ việc phân cụm dữ liệu cơ bản và khả năng tự học
để tự phân tích, dự đốn, trích xuất những dữ liệu giá trị nhất trong luồng dữ liệu IoT.

2.1.6. Dữ liệu trực quan
Đây là công cụ cho phép con người xem xét các mẫu và quan sát các xu hướng từ
bảng điều khiển trực quan, nơi dữ liệu được miêu tả sinh động qua biểu đồ đường
thẳng, hình họa mô phỏng.

2.1.7. Công cụ bổ sung
Thành phần này cho phép các nhà phát triển IoT thử nghiệm và trước khi đưa sản
phẩm ra thị trường với các trường hợp sử dụng được biểu diễn trên hệ sinh thái mô
phỏng dùng để hiển thị, quản lý và kiểm soát thiết bị kết nối.

2.1.8. Các giao diện bên ngoài
Đây là nơi cho phép tích hợp với các hệ thống của bên thứ ba và phần cịn lại của
hệ thống CNTT thơng qua các giao diện lập trình ứng dụng (API), các bộ phát triển

phần mềm (SDK) và các Gateways.


2.2. Các loại nền tảng IoT

Hình 2.2: Minh họa hoạt động của IoT
Hiện nay trên thế giới, các nền tảng IoT có thể chia vào 4 loại như sau:

2.2.1. Connectivity/M2M platforms
Nền tảng này chủ yếu tập trung vào việc kết nối các thiết bị IoT kết nối thông qua
mạng viễn thơng (ví dụ: thẻ SIM) nhưng hiếm khi có hoạt động xử lý và làm giàu dữ
liệu.

2.2.2. IaaS backends
Nền tảng dịch vụ cơ sở hạ tầng cung cấp không gian lưu trữ và khả năng xử lý
cho các ứng dụng và dịch vụ. Những backends được sử dụng để tối ưu hóa cho các
ứng dụng dành cho máy tính để bàn và di động, tuy nhiên hiện tại nó vẫn được coi là
một nền tảng IoT tập trung.

2.2.3. Hardware-specific software platforms
Một số công ty sản xuất các thiết bị phục vụ kết nối đã thiết kế các phần mềm
độc quyền đầu cuối của riêng họ. Các sản phẩm này có phải IoT hay khơng vẫn đang
gây tranh cãi bởi vì chúng là các nền tảng đóng.

2.2.4. Consumer/Enterprise software extensions
Các gói phần mềm doanh nghiệp hiện tại và các hệ điều hành như Microsoft
Windows ngày càng cho phép mở rộng, tích hợp các thiết bị IoT. Tuy chưa đủ để coi
chúng là một nền tảng IoT đầy đủ - nhưng trong tương lai khơng xa đây hồn tồn có
thể phát triển thành các nền tảng IoT phục vụ cho con người.



2.3. Kết luận
Xét trên tổng thể, IoT được cấu tạo bởi 8 thành phần:

• Kết nối và đồng bộ hóa.
• Quản lý thiết bị.
• Cơ sở dữ liệu.
• Quản lý và xử lý hoạt động.
• Phân tích.
• Dữ liệu trực quan.
• Cơng cụ bổ sung.
• Các giao diện bên ngồi.
Hiện nay, các nền tảng IoT có thể chia vào 4 loại như sau:

• Connectivity/M2M platforms.
• IaaS backends.
• Hardware-specific software platforms.
• Consumer/Enterprise software extensions.
CHƯƠNG 3: ĐIỆN TOÁN ĐÁM MÂY AWS IOT

3.1. Các thành phần của AWS IoT
AWS IoT là gì?
AWS IoT là hạ tầng điện toán đám mây cung cấp giao tiếp an toàn, hai chiều
giữa các thiết bị kết nối Internet như cảm biến, thiết bị truyền động, bộ điều khiển vi
mô nhúng hoặc các thiết bị thông minh và AWS Cloud. Điều này cho phép thu thập dữ
liệu từ xa từ nhiều thiết bị, và lưu trữ và phân tích dữ liệu hoặc cũng có thể tạo các ứng
dụng cho phép người dùng kiểm soát những thiết bị này từ điện thoại hoặc máy tính
bảng của họ.
Nội dung chương này trình bày về các thành phần của AWS IoT và cơ chế hoạt
động của chúng.

AWS IoT bao gồm các thành phần sau:

3.1.1. Device gateway
Thành phần này giúp các thiết bị giao tiếp an toàn và hiệu quả với AWS IoT.


3.1.2. Message broker
Cung cấp một cơ chế an toàn cho các thiết bị và ứng dụng AWS IoT để gửi và
nhận tin nhắn. Sử dụng trực tiếp giao thức MQTT hoặc MQTT qua WebSocket để gửi
và đăng ký, cũng có thể sử dụng giao diện HTTP REST để gửi.

3.1.3. Rules engine
Cung cấp xử lý tin nhắn và tích hợp với các dịch vụ AWS khác. Sử dụng ngôn
ngữ dựa trên SQL để chọn dữ liệu từ luồng dữ liệu, sau đó xử lý và gửi dữ liệu đến các
dịch vụ khác, chẳng hạn như Amazon S3, Amazon DynamoDB và AWS Lambda hoặc
chuyển tiếp dữ liệu đến những người đăng ký khác.

3.1.4. Security and Identity service
Chịu trách nhiệm về bảo mật trong AWS Cloud. Thiết bị cần có các chứng chỉ an
tồn để có thể gửi dữ liệu. Cơng cụ thơng báo sử dụng các tính năng bảo mật AWS để
gửi dữ liệu an toàn đến các thiết bị hoặc các dịch vụ AWS khác.

3.1.5. Registry
Tổ chức các tài nguyên liên quan đến từng thiết bị trong AWS Cloud. Các thiết bị
được đăng ký và liên kết tối đa ba thuộc tính tuỳ chỉnh với mỗi thuộc tính. Cũng có thể
liên kết chứng chỉ và ID khách hàng MQTT với mỗi thiết bị để nâng cao khả năng
quản lý và khắc phục sự cố của chúng.

3.1.6. Group registry
Nhóm (Group) cho phép ta quản lý nhiều thiết bị cùng một lúc bằng cách phân

loại chúng thành các nhóm. Các nhóm cũng có thể chứa các nhóm nhỏ hơn có thể
xâydựng thành một hệ thống phân cấp các nhóm. Bất kỳ hành động nào được thực
hiện trong nhóm bố mẹ sẽ áp dụng cho các nhóm con của nó và tất cả các thiết bị trong
tất cả các nhóm con của nó. Các quyền được cấp cho một nhóm sẽ áp dụng cho tất cả
các thiết bị trong nhóm và trong tất cả các nhóm con của nó.

3.1.7. Device shadow
Tài liệu JSON được sử dụng để lưu trữ và truy xuất thông tin trạng thái hiện tại
cho thiết bị.

3.1.8. Device Shadow service
Cung cấp các cập nhật liên tục của các thiết bị trong AWS Cloud, có thể gửi
thơng tin trạng thái cập nhật lên cloud và thiết bị có thể đồng bộ hóa trạng thái của nó


khi nó được kết nối. Thiết bị cũng có thể gửi trạng thái hiện tại của chúng vào cloud để
các ứng dụng hoặc các thiết bị khác sử dụng.

3.1.9. Device Provisioning service
Cho phép tạo thiết bị bằng cách sử dụng mẫu mô tả các tài nguyên cần thiết cho
thiết bị của ta: một mục nhập trong registry chứa các thuộc tính mơ tả một thiết bị, một
chứng chỉ và một hoặc nhiều quy tắc. Thiết bị sử dụng các chứng chỉ để thẩm định với
AWS IoT. Các quy tắc xác định các hoạt động mà một thiết bị có thể thực hiện trong
AWS

IoT.

Các mẫu chứa các biến được thay thế bởi các giá trị trong một từ điển (bản đồ). Có thể
sử dụng cùng một mẫu để tạo nhiều thiết bị chỉ bằng cách truyền các giá trị khác nhau
cho các biến mẫu trong từ điển.


3.1.10. Custom Authentication service
Cung cấp khả năng xác thực và ủy quyền. Người ủy quyền tuỳ chỉnh cho phép
AWS IoT xác thực các thiết bị và ủy quyền cho các hoạt động sử dụng các hành động
ủy quyền và xác thực. Người ủy quyền tùy chỉnh có thể thực hiện các hoạt động xác
thực khác nhau (ví dụ: xác minh JWT, nhà cung cấp OAuth gọi...) .

3.1.11. Jobs Service
Cho phép xác định một tập hợp các hoạt động từ xa được gửi đến và thực hiện
trên một hoặc nhiều thiết bị kết nối với AWS IoT. Ví dụ, có thể hướng dẫn một loạt các
thiết bị tải về và cài đặt cập nhật phần mềm hoặc ứng dụng, khởi động lại hoặc thực
hiện các thao tác khắc phục sự cố từ xa, ta chỉ cần mô tả về các hoạt động và một danh
sách các thiết bị cần thực hiện chúng có thể là các thiết bị cá nhân, nhóm hoặc cả hai.

3.2. Hoạt động của AWS IoT
AWS IoT cho phép các thiết bị kết nối Internet kết nối với đám mây AWS và cho
phép ứng dụng trong đám mây tương tác với các thiết bị kết nối Internet. Các ứng
dụng IoT thông thường thu thập và xử lý từ xa từ thiết bị hoặc cho phép người dùng
kiểm soát thiết bị từ xa.
Thiết bị báo cáo trạng thái của chúng bằng cách gửi các tin nhắn, ở định dạng
JSON, về các MQTT. Mỗi MQTT có một tên phân cấp xác định thiết bị có trạng thái
đang được cập nhật. Khi một thông báo được gửi trên một MQTT, thông điệp sẽ được
gửi tới AWS IoT MQTT, chịu trách nhiệm gửi tất cả các tin nhắn được gửi trên một
MQTT cho tất cả các khách hàng đã đăng ký chủ đề đó.


Giao tiếp giữa thiết bị và AWS IoT được bảo vệ thông qua việc sử dụng chứng
chỉ X.509. AWS IoT có thể tạo ra một chứng chỉ cho người dùng hoặc người dùng có
thể sử dụng riêng của mình. Trong cả hai trường hợp, chứng chỉ phải được đăng ký và
kích hoạt với AWS IoT, và sau đó sao chép vào thiết bị của người dùng. Khi thiết bị

của người dùng giao tiếp với AWS IoT, nó hiển thị chứng chỉ cho AWS IoT làm chứng
chỉ.
Tất cả thiết bị kết nối với AWS IoT đều có một mục trong dữ liệu đăng ký. Dữ
liệu đăng ký chứa thông tin về một thiết bị và các chứng chỉ được sử dụng bởi thiết bị
để bảo đảm truyền thông với AWS IoT.
Người dùng có thể tạo các quy tắc xác định một hoặc nhiều hành động để thực
hiện dựa trên dữ liệu trong một tin nhắn. Ví dụ, người dùng có thể chèn, cập nhật, hoặc
truy vấn một bảng DynamoDB hoặc gọi một hàm Lambda. Rule sử dụng để lọc tin
nhắn. Khi một rule phù hợp với một thông báo, hàng động sẽ được thực hiện bằng
cách sử dụng các thuộc tính đã chọn. Rule cũng chứa vai trò cấp phép AWS IoT cho
các tài nguyên AWS được sử dụng để thực hiện hành động. Mỗi thiết bị đều có một
vùng nhớ để lưu trữ và truy xuất thông tin trạng thái. Thơng tin trạng thái có hai mục:
trạng thái cuối cùng được báo cáo bởi thiết bị và trạng thái mong muốn được yêu cầu
bởi một ứng dụng. Một ứng dụng có thể u cầu thơng tin trạng thái hiện tại cho một
thiết bị. AWS IoT đáp ứng yêu cầu bằng cách cung cấp tài liệu JSON với thông tin
trạng thái (cả báo cáo và mong muốn), siêu dữ liệu và số phiên bản. Ứng dụng có thể
kiểm sốt thiết bị bằng cách yêu cầu thay đổi trạng thái của thiết bị. AWS IoT chấp
nhận yêu cầu thay đổi trạng thái, cập nhật thông tin trạng thái, và gửi một tin nhắn cho
biết thông tin trạng thái đã được cập nhật. Thiết bị nhận tin nhắn, thay đổi trạng thái,
và sau đó báo cáo trạng thái mới của nó.

3.3. Kết luận
Các thành phần cấu tạo nên AWS IoT:

• Device gateway.
• Message broker.
• Rules engine.
• Security and Identity service.
• Registry.



• Group registry.
• Device shadow.
• Device Shadow service.
• Device Provisioning service.
• Custom Authentication service.
• Jobs Service.
AWS IoT cho phép các thiết bị kết nối Internet kết nối với đám mây AWS và cho
phép ứng dụng trong đám mây tương tác với các thiết bị kết nối Internet. Giao tiếp
giữa thiết bị và AWS IoT được bảo vệ thông qua việc sử dụn chứng chỉ X.509. AWS
IoT có thể tạo ra một chứng chỉ cho người dùng hoặc người dùng có thể sử dụng riêng
của mình.


CHƯƠNG 4: CÁC THÀNH PHẦN SỬ DỤNG TRONG HỆ THỐNG

4.1. Máy tính Raspberry Pi Zero W
4.1.1. Giới thiệu về máy tính nhúng Raspberry Pi
Raspberry Pi là từ để chỉ các máy tính chỉ có một board mạch (hay cịn gọi là
máy tính nhúng) kích thước chỉ bẳng một thẻ tín dụng, được phát triển tại Anh bởi
Raspberry Pi Foundation với mục đích ban đầu là thúc đẩy việc giảng dạy về khoa học
máy tính cơ bản trong các trường học và các nước đang phát triển.
Raspberry Pi ban đầu được dựa trên hệ thống trên một vi mạch (SoC) BCM2835
của Broadcom, bao gồm một vi xử lý ARM1176JZF-S 700 MHz, VideoCore IV GPU,
và ban đầu được xuất xưởng với 256 MB RAM, sau đó được nâng cấp (model B và B
+) lên đến 512 MB. Board này cũng có socket Secure Digital (SD) (model A và B)
hoặc MicroSD (model A + và B +) dùng làm thiết bị khởi động và bộ lưu trữ liên tục.
Có rất nhiều ứng dụng của Raspberry Pi, được áp dụng trên rất nhiều lĩnh vực,
ngành nghề: làm hệ thống máy cho xe hơi, khắc laser, chế tạo robot, …


4.1.2. Đặc điểm, tính năng của Raspberry Pi Zero W
Raspberry Pi Zero W là một phiên bản mở rộng của họ Pi Zero. Đặc biệt phiên
bản này không chỉ hỗ trợ đầy đủ các chức năng như thế hệ trước mà cịn có thêm kết
nối Wifi, Bluetooth

 Thơng số kĩ thuật:
• Vi xử lý: BCM 2835 SOC.
• Tốc độ xung: 1GHz.
• Ram: 512MB
• Bộ nhớ: Micro-SD.
• Màn hình & Âm thanh: mini-HDMI.
• Cổng USB: 1 x cổng Micro-B USB để truyền dữ liệu (có nguồn).
• Cấp nguồn: 1x cổng Micro-B USB (khơng thể truyền dữ liệu).
• Camera interface: Kết nối CSI (cần có dây cáp, 0.5mm pitch to pitch CSI).
• GPIO: 40 chân GPIO
• Khả năng tương thích của GPIO: Tương thích với HAT hiện có


• WiFi: On-board Wireless LAN - 2.4 GHz 802.11 b/g/n (BCM43438)
• Bluetooth: On-board Bluetooth 4.1 + HS Low-energy (BLE) (BCM43438)

Hình 4.1: Cấu trúc chủ yếu phần cứng Raspberry Pi Zero W
Ưu điểm: giá rẻ, nhỏ gọn, GPU mạnh, phục vụ cho nhiều mục đích, khả năng
hoạt động liên tục, giá thành rẻ hơn so với máy tính thơng thường, …
Nhược điểm: máy tính nhúng xử lý vẫn cịn chậm so với máy tính để bàn hay
laptop. Khơng chạy được một số chương trình nặng. Khơng có chân ADC.

 Sơ đồ chân GPIO Raspberry Pi Zero
Hình 4.2: Raspberry Pi Zero W pinout


4.2.


c

module

cảm

biến

4.2.1. Module cảm biến nhiệt độ, độ ẩm HTU21
Cảm Biến độ ẩm, nhiệt độ HTU21 Temperature Humidity Sensor được sử dụng
để đo độ ẩm và nhiệt độ môi trường với độ chính xác cao, cảm biến sử dụng giao tiếp


I2C nên rất dễ kết nối với Vi điểu khiển, cảm biến có kích thước nhỏ gọn, chất lượng
linh kiện và gia cơng tốt, độ bền cao.

Hình 4.3: Sơ đồ chân cảm biến nhiệt độ, độ ẩm HTU21

 Thông số kĩ thuật
• Diện áp sử dụng: 2.1~3.6VDC.
• Chuẩn giao tiếp: I2C.
• Đo nhiệt độ: -40 – 125 độ C.
• Độ ẩm: -6% – 118%.
• Độ phân giải: 0.04%RH, 0.02°C.
• Sai số: ±2%RH, ±3°C.
 Nguyên tắc hoạt động
Nhiệt độ và độ ẩm từ môi trường trả về cảm biến sẽ làm thay đổi các bit trên

thanh ghi của cảm biến, ta đọc các thanh ghi đó và tính tốn ra giá trị nhiệt độ và độ
ẩm theo các cơng thức:

• Nhiệt độ:

• Độ ẩm:

4.2.2. Module cảm biến cường độ sáng TSL2561
Cảm biến cường độ ánh sáng (Lux) TSL2561 được sử dụng để đo cường độ ánh
sáng thường, hồng ngoại theo đơn vị lux với độ ổn định và độ chính xác cao.


Càm biến tích hợp ADC nội và bộ tiền xử lý nên giá trị được trả ra là giá trị trực
tiếp cường độ ánh sáng (lux) mà không phải qua bất kỳ xử lý hay tính tốn nào thơng
qua giao tiếp I2C.

Hình 4.4: Sơ đồ chân cảm biến cường độ sáng TSL2561

 Thơng số kĩ thuật
• Nguồn: 3.3~5VDC.
• Dịng điện tiêu thụ: 0.6mA.
• Đo được cường độ ánh sáng thường và hồng ngoại (IR).
• Giao tiếp: I2C mức TTL 3.3~5VDC.
• Khoảng đo: 0.1 ~ 40.000 Lux.
 Nguyên tắc hoạt động

Hình 4.5: Sơ đồ khối chức năng cảm biến TSL2561
TSL2561 được tích hợp 2 diote quang có khả năng cung cấp một phản ứng cận
quang trên một dải rộng độ phân giải 16-bit. Hai bộ ADC tích hợp chuyển đổi dịng
trên diote quang đến một đầu ra kĩ thuật số đại diện cho bức xạ được đo trên mỗi kênh.

Kênh đầu ra được đưa vào bộ xử lý trong đó để tính ra lux theo cơng thức thực
nghiệm:
Khoảng
0 < CH1/CH0 < 0.52

Lux
0.0315xCH0 − 0.0593xCH0x((CH1/CH0)^1.4)


0.52 < CH1/CH0 < 0.65
0.65 < CH1/CH0 < 0.80
0.80 < CH1/CH0 < 1.30
CH1/CH0 > 1.30

0.0229xCH0 − 0.0291xCH1
0.0157xCH0 − 0.0180xCH1
0.00338xCH0 − 0.00260xCH1
0
Bảng 4.1: bảng quy đổi lux

Với CH0 = 1000 và CH1 được đo trong vùng ánh sáng khả khiến từ 190 - 850

4.2.3. Module cảm biến áp suất MPL3115a2
Module cảm biến áp suất MPL3115A2. Dùng để đo áp suất khí quyển. Hoặc suy
ra độ cao của vật thể từ áp suất đo được. Tích hợp cảm biến đo nhiệt độ bên trong.
Cho độ chính xác cao. Tín hiệu đo được qua bộ ADC độ phân giải cao 20bits. Đo
độ cao độ phân giải 10cm. Bên trong có tích hợp bộ vi xử lý bù trừ nhiễu. Giá trị đo
được xuất qua giao tiếp I2C. Đơn vị đo áp suất là Pascal, độ cao là mét và nhiệt độ là
độ Celsius.


Hình 4.6: Sơ đồ chân cảm biến áp suất MPL3115a2

 Thông số kĩ thuật
• Điện áp hoạt động: 1.95 – 3.6VDC
• Dịng tiêu thụ: 2 – 8.5μA
• Khoảng đo áp suất: 20 – 110kPa – độ phân giải 20bits
• Sai số: ±0.05kPa
• Khoảng đo độ cao: 698 – 11775m – độ phân giải 20bits
• Sai số: 0.3m
• Khoảng đo nhiệt độ: -40 – +85ºC – độ phân giải 12bits
• Giao tiếp I2C, địa chỉ 0x60h
• 2 chân ngắt lập trình được.


• Datalogging lên tới 12 ngày. Chu kì có thể thay đổi từ 1s đến 9h
• Hỗ trợ FIFO 32 samples
 Nguyên tắc hoạt động
Tính hiệu cơ của áp suất tạo ra làm thay đổi điện trở, tạo ra tín hiệu điện áp, sau
đó tín hiệu này được đưa qua bộ khuếch đại và bộ chuyển đổi ADC để đưa về tín hiệu
digital.

4.2.4. Cảm biến âm thanh Microphone Amplifier MAX4466
Cảm biến âm thanh MAX4466 cho phép các âm thanh lớn khi qua mạch sẽ tự
động điều chỉnh giảm tới mức ấn định, tương tự các âm thanh nhỏ hoặc xa sẽ được tự
động tăng lên tới mức ấn định mà không cần căn chỉnh thủ công.
Đối với việc khuếch đại, cảm biến âm thanh microphone sử dụng Maxim
MAX4466, một op-amp được thiết kế đặc biệt cho công việc tinh tế này! Bộ khuếch
đại lọc tiếng ồn tuyệt vời, do đó, bộ khuếch đại này âm thanh thực sự tốt và khơng
nhiễu như cảm biến âm thanh giá rẻ khác.


Hình 4.7: Sơ đồ chân cảm biến âm thanh MAX4466

 Thông số kĩ thuật
• Op-amp: Maxim MAX4466.
• Nguồn cung cấp: 2.7V ~ 5.5V, cường độ dịng điện 3mA.
• Ngõ ra: 2Vpp on 1.2 bias.
• Tần số đáp ứng: 20Hz đến 20kHz.
• Tích hợp Programmable Attack và Release Ratio.
• Tự động khuếch đại, lựa chọn mức âm lượng từ 40dB, 50dB hoặc 60 dB.
• THD (tổng méo sóng hài) thấp: 0.04% (typ).
 Ngun tắc hoạt động
Âm thanh được thu vào mic được tích hợp sẵn trên cảm biến. Đầu ra của cảm
biến ở điều kiện khơng có tiếng ln là Vcc/2. Khi âm thanh được đưa vào, tín hiệu


được chuyển đổi và đưa qua bộ khuếch đại công suất nhỏ làm thay đổi điện áp đầu ra,
điện áp đầu ra dao động xung quanh vị trí Vcc/2. Biên độ dao động chính là cường độ
âm trung bình tại thời gian đó.

4.3. IC MCP3008-I/P
MCP3008 là một bộ chuyển đổi từ tín hiệu tương tự sang tín hiệu số (ADC)
10bit. Nó có 8 kênh tương tự đầu vào và có tốc độ lấy mẫu là 200ksps. MCP3008
được tích hợp giao tiếp SPI để truyền nhận dữ liệu với các vi điều khiển.

Hình 4.8: Sơ đồ chân của MCP3008

 Thơng số kĩ thuật
• Điện áp 2.7 - 5.5V
• Dịng điện 500uA
• Dải nhiệt độ: -40 đến 85 độ

• DIP16
 IC giao tiếp với Raspberry Pi qua giao thức SPI
Giao thức SPI do hãng Motorola phát minh và còn được biết đến với tên gọi khác
là Microwire. Giao thức SPI cung cấp một giao thức nối tiếp đơn giản với các vi điều
khiển, IC thời gian thực…
Cách kết nối cơ bản:

+
Hình 4.9: Sơ đồ kết nối giao tiếp SPI


4.4. Giao thức MQTT
4.4.1. Định nghĩa
MQTT (Message Queuing Telemetry Transport) là giao thức truyền thơng điệp
(message) theo mơ hình publish/subscribe (cung cấp / thuê bao), được sử dụng cho các
thiết bị IoT với băng thông thấp, độ tin cậy cao và khả năng được sử dụng trong mạng
lưới không ổn định. Nó dựa trên một Broker (tạm dịch là “Máy chủ mơi giới”) “nhẹ”
(khá ít xử lý) và được thiết kế có tính mở (tức là khơng đặc trưng cho ứng dụng cụ thể
nào), đơn giản và dễ cài đặt.
MQTT là lựa chọn lý tưởng trong các môi trường như:
o

Những nơi mà giá mạng viễn thông đắt đỏ hoặc băng thông thấp hay thiếu tin
cậy.

o

Khi chạy trên thiết bị nhúng bị giới hạn về tài nguyên tốc độ và bộ nhớ.

o


Bởi vì giao thức này sử dụng băng thơng thấp trong mơi trường có độ trễ cao nên
nó là một giao thức lý tưởng cho các ứng dụng M2M (Machine to Machine).
MQTT cũng là giao thức được sử dụng trong Facebook Messenger.

4.4.2. Vị trí của MQTT trong mơ hình IoT
Một số ưu điểm nổi bật của MQTT như: băng thông thấp, độ tin cậy cao và có
thể sử dụng ngay cả khi hệ thống mạng không ổn định, tốn rất ít byte cho việc kết nối
với server và connection có thể giữ trạng thái open xuyên suốt, có thể kết nối nhiều
thiết bị (MQTT client) thông qua một MQTT server (broker). Bởi vì giao thức này sử
dụng băng thơng thấp trong mơi trường có độ trễ cao nên nó là một giao thức lý tưởng
cho các ứng dụng IoT.

.
Hình 4.10: MQTT là cầu nối giữa sever và thiết bị

4.4.3. Tính năng, đặc điểm nổi bật




Dạng truyền thơng điệp theo mơ hình Pub/Sub cung cấp việc truyền tin phân
tán một chiều, tách biệt với phần ứng dụng.
• Việc truyền thơng điệp là ngay lập tức, khơng quan tâm đến nội dung được
truyền.
• Sử dụng TCP/IP là giao thức nền.
• Tồn tại ba mức độ tin cậy cho việc truyền dữ liệu (QoS: Quality of service)
o

QoS 0: Broker/client sẽ gửi dữ liệu đúng một lần, quá trình gửi được xác nhận

bởi chỉ giao thức TCP/IP.

o

QoS 1: Broker/client sẽ gửi dữ liệu với ít nhất một lần xác nhận từ đầu kia,
nghĩa là có thể có nhiều hơn 1 lần xác nhận đã nhận được dữ liệu.

o

QoS 2: Broker/client đảm bảo khi gửi dữ liệu thì phía nhận chỉ nhận được
đúng một lần, quá trình này phải trải qua 4 bước bắt tay.



Phần bao bọc dữ liệu truyền nhỏ và được giảm đến mức tối thiểu để giảm tải
cho đường truyền.

4.4.4. Ưu điểm của MQTT
Với những tính năng, đặc điểm nổi bật trên, MQTT mang lại nhiều lợi ích nhất là
trong hệ thống SCADA (Supervisory Control And Data Acquisition) khi truy cập dữ
liệu IoT.


Truyền thơng tin hiệu quả hơn.



Tăng khả năng mở rộng.




Giảm đáng kể tiêu thụ băng thơng mạng.



Rất phù hợp cho điều khiển và do thám.



Tối đa hóa băng thơng có sẵn.



Chi phí thấp.



Rất an tồn, bảo mật.



Được sử dụng trong các ngành cơng nghiệp dầu khí, các cơng ty lớn như
Amazon, Facebook, ....



Tiết kiệm thời gian phát triển.




Giao thức publish/subscribe thu thập nhiều dữ liệu hơn và tốn ít băng thơng hơn
so với giao thức cũ.

4.4.5. Mơ hình Pub/Sub


×