1. Trang chủ
  2. » Luận Văn - Báo Cáo

hệ thống giám sát qua mạng lora

66 514 6

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 66
Dung lượng 4,91 MB

Nội dung

hệ thống giám sát qua mạng lora

Trang 1

KHOA ĐIỆN – ĐIỆN TỬ

BỘ MÔN ĐIỆN TỬ

-o0o -LUẬN VĂN TỐT NGHIỆP ĐẠI HỌC

HỆ THỐNG GIÁM SÁT QUA MẠNG LORA

GVHD:

SVTH:

MSSV:

TP HỒ CHÍ MINH, THÁNG 12 NĂM 2016

Trang 2

-✩ - -✩ -

Số: /BKĐT Khoa: Điện – Điện tử Bộ Môn: Điện Tử NHIỆM VỤ LUẬN VĂN TỐT NGHIỆP

1 HỌ VÀ TÊN: MSSV: 2 NGÀNH: ĐIỆN TỬ - VIỄN THÔNG LỚP : 3 Đề tài: HỆ THỐNG GIÁM SÁT QUA MẠNG LORA 4 Nhiệm vụ (Yêu cầu về nội dung và số liệu ban đầu):

5 Ngày giao nhiệm vụ luận văn:

6 Ngày hoàn thành nhiệm vụ:

7 Họ và tên người hướng dẫn: Phần hướng dẫn

Nội dung và yêu cầu LVTN đã được thông qua Bộ Môn Tp.HCM, ngày… tháng… năm 20 CHỦ NHIỆM BỘ MÔN NGƯỜI HƯỚNG DẪN CHÍNH PHẦN DÀNH CHO KHOA, BỘ MÔN: Người duyệt (chấm sơ bộ):

Đơn vị:

Ngày bảo vệ :

Điểm tổng kết:

Trang 3

LỜI CẢM ƠN

Xin chân thành gửi lời cảm ơn tới Thạc sĩ Bùi Quốc Bảo đã tận tình giúp đỡ

em trong suốt học kỳ vừa qua Những lời nhận xét, góp ý, hướng dẫn của thầy đã giúp em thấy được khuyết điểm của mình để ngày càng khắc phục tốt hơn

Xin chân thành gửi lời cảm ơn tới toàn thể quý thầy cô trường Đại học Bách Khoa Thành phố Hồ Chí Minh đã giảng dạy, hướng dẫn và tạo mọi điều kiện, môi trường học tập tốt cho em trong những ngày tháng học tập tại trường

Bên cạnh đó, em muốn nói lời cảm ơn đến công ty TNHH BigDolphin đã tạo điều kiện để em có thể hoàn thành luận văn

Xin kính chúc sức khỏe và chân thành cảm ơn

Tp Hồ Chí Minh, ngày 26 tháng 12 năm 2016

Sinh viên

Trang 4

TÓM TẮT LUẬN VĂN

Đề tài này thực hiện thiết kế thiết bị giám sát các thông số môi trường như

nhiệt độ, độ ẩm, khí CO qua mạng LoRa Thiết bị nhằm truyền tải thông tin về các thông số môi trường, qua đó cảnh báo khi có sự vượt mức cảnh báo ngưỡng được

cài đặt trước

Trong phần luận văn này tập trung xây dựng hệ thống gồm một server tiếp

nhận thông tin (phần trung tâm) và thiết bị giám sát (node ngoại vi)

Trang 5

MỤC LỤC

Trang 6

DANH SÁCH HÌNH MINH HỌA

Trang 7

PHỤ LỤC BẢNG

Trang 8

IoT (Internet of Thing) là sự kết nối tất cả các thiết bị với nhau, có khả năng trao đổi thông tin, cung cấp dữ liệu với con người mà không cần phải tương tác trực tiếp Con người có thể kết nối với tất cả các thiết bị tới mạng Internet thông qua mạng nội

bộ

Trong những năm gần đây, IoT đang phát triển nhanh đến chóng mặt Theo sự tínhtoán thông kê có đến 50 triệu thiết bị được kết nối cho tới nắm 2020 Con người đang biến tất cả các thiết bị trong đời sống hằng ngày như otô, thiết bị sản xuất, dụng cụ trongnhà, đồ mặc,…đều có thể điều khiển, kiểm soát, thu thập dữ liệu chỉ bằng laptop hay điện thoại Công nghệ IoT giúp cho con người sống tốt hơn, và đối phó với vấn đề lớn nhất đang gặp phải của thế giới đó là biến đổi khí hậu, kiểm soát ô nhiễm, cảnh báo các vấn đề tự nhiên Tuy nhiên, đòi hỏi về công suất thấp cho các thiết bị IoT không hề đơn giản, các thiết bị hiện nay dùng RFID, Bluetooth hay Wifi đều là những công nghệ với công suất thấp nhưng khoảng cách ngắn Để đáp ứng được công suất thấp và khoảng cách xa, LoRa là một giải pháp tốt nhất tại thời điểm hiện nay

LoRa là công nghệ mạng không dây được phát triển để tạo ra được công suất thấp (low-power), mạng lưới rộng (LPWANs- Low Power Wide Area Networks) dùng cho các ứng dụng Internet of Thing Công nghệ này hấp dẫn với khoảng cách xa, công suất

Trang 9

tiêu thụ thấp và việc truyền dữ liệu an toàn Ưu điểm của mạng lưới được xây dựng với LoRa so với mạng lưới hiện tại là việc phủ sóng lớn Với khoảng cách xa và công suất thấp, LoRa tự tin sẽ là ứng cử viên cho công nghệ thông minh trong hạ tầng dân dụng (chẳng hạn như giám sát sức khỏe, đo lường thông minh, giám sát môi trường, ) cũng như trong các ứng dụng công nghiệp.

Công nghệ LoraWAN hướng tới mục tiêu là hoạt động các cảm biến dựa vào pin

mà có thể hoạt động với thời gian lâu Với LoRaWAN, toàn bộ thành phố hoặc một

vùng sẽ được phủ bởi một vài trạm mà có thể kết nối đến hàng ngàn các thiết bị khác

nhau

Nhận thấy ưu điểm của Lora so với các khác Chính vì vậy mục tiêu của đề tài tạo

ra mạng kết nối với các thiết bị, thu thập dữ liệu, vẽ đồ thị trạng thái, gửi cảnh báo dựa trên dữ liệu thu thập qua mạng LoRa

1.2 Tình hình nghiên cứu trong và ngoài nước

a) Nghiên cứu trong nước

Qua tìm hiểu về tình hình nghiên cứu trong việc ứng dụng mạng LoRa khá thấp, cho thấy được việc ứng dụng vào công nghệ này chưa được quan tâm nhiều Tuy nhiên,hiện nay, việc ứng dụng mạng LoRa đang được xem xét, đầu tư vào các ứng dụng như đọc chỉ số đồng hồ nước, quản lý bãi xe,… Đây là dấu hiệu khả quan trong việc nghiên cứu mạng LoRa

b) Nghiên cứu ngoài nước:

Hiện nay có nhiều cá nhân, công ty nghiên cứu phát hành sản phẩm LoRa một haynhiều kênh truyền dựa trên chipset của Semtech Các công trình nghiên cứu:

Đề tài “A DIY low-cost LoRa gateway”[1] của Giáo sư Phạm Công Đức, trường đại học Pau, Pháp sử dụng chip SX1276 của Semtech với gateway một kênh truyền

- Sản phẩm EMB-GW1301 của công ty Embit, Italy[2] dựa trên chipset SX1301 của

Semtech cho phép hoạt động nhiều kênh truyền trong cùng một khoảng thời gian, cung cấp giải pháp cho công nghệ IoT

- Các sản phẩm cảm biến không dây của công ty nke Wattec, Pháp với các sản phẩm

công nghệ LoRa như cảm biến nhiệt độ, độ ẩm, ánh sáng, đo lượng nước, [3] cho hoạt động hiệu quả và thời gian sử dụng pin tốt nhất

Trang 10

- Module LoRaWan IXM-LPWA-800-16-K9 của Cisco[4] cho các ứng dụng cần công suất thấp, diện tích phủ rộng lớn như tracking vật thể, đo nước hay khí, các tòa nhà thông minh, đèn đường, giám sát môi trường và nông nghiệp thông minh.

1.3 Mục tiêu và nhiệm vụ của đề tài

1.3.1 Mục tiêu của đề tài

Đề tài thực hiện thiết kế thiết bị giám sát các thông số môi trường như nhiệt độ, độ

ẩm, khí CO qua mạng LoRa Thiết bị ngoại vi sẽ truyền tải thông tin về các thông số

môi trường về Server, qua đó hiển thị lên web và đồng thời cảnh báo khi có sự vượt mứccảnh báo ngưỡng

1.3.2 Nhiệm vụ của đề tài

Với các mục tiêu đề ra, luận văn được chia thành 4 nội dung:

• Nội dung 1: Tìm hiểu LoRa và các moudule, IC được sử dụng trong luận văn

• Nội dung 2: Giải thuật và phần cứng của Server và node

• Nội dung 3: Kết quả đạt được

• Nội dung 4: Kết quả, hướng phát triển và tài liệu tham khảo

Trang 11

Lớp vật lý LoRa, được phát triển bởi Semtech, cho khoảng cách xa, công suất thấp

và giao tiếp băng thông thấp Hoạt động trên băng tần ISM 433-, 868- hoặc 915-MHz, phụ thuộc vào từng khu vực triển khai Khối lượng (gọi là payload ) của mỗi đợt truyền tải có thể đạt từ 2-255 byte, tốc độ data có thể đạt tới 50 Kbps Công nghệ điều chế là một công nghệ độc quyền từ Semtech

LoRaWAN cung cấp một cơ chế điều khiển truy cập, cho phép nhiều thiết bị cuối kết nối tới gateway sử dụng điều chế LoRa Trong khi việc điều chế LoRa là độc quyền, LoRaWAN là một chuẩn mở được phát triển bởi LoRa Alliance

Trang 12

Dưới dây là bảng đặc điểm của công nghệ không dây LoRa về khoảng cách, chuẩngiao tiếp, công suất, lớp vật lý.

Khoảng cách 2-5 kilomet trong khu vực thành thị và 15 km trong vùng ngoại ô

Băng tần Băng tần ISM 433MHz, 868MHz và 915 MHz

Chuẩn giao tiếp IEEE 802.15.4g

Điều chế

Điều chế trải phổ được sử dụng xung dải băng tần FM Tần số tăng hoặcgiảm trên thời gian nhất định được sử dụng để mã hóa dữ liệu khi được gửi

Công suất Một mạng Lora quản lý hàng ngàn node

Lớp vật lí Quản lý tần số, công suất, điều chế, tín hiệu giữa các node và Gateway

Bảng 2.1.1.a.1.1: Đặc điểm kỹ thuật của chuẩn giao tiếp LoRa

Trang 13

Hình 2.1.1.a.1.1.1: Biểu đồ so sánh giữa LoRa và các chuẩn giao

Có 3 lớp của các thiết bị cuối: lớp A (cho tất cả), lớp B (cho Beacon) và lớp C (cho việc nghe liên tục)

c) Lớp vật lý LoRa

Điều chế LoRa là một công nghệ độc quyền của Semtech Phần này phân tích và đánh giá (phần độc quyền của LoRa) với mục đích hiểu rõ liệu rằng hiệu suất quảng cáo của LoRa được quan sát trong thực tế

Trang 14

c.1) Tổng quan về lớp vật lýLoRa là điều chế trải phổ theo cường độ và pha (Chirp Spread Spectrum), sử dụng cường độ và pha tần số với sự biến đổi tuyến tính của tần số theo thời gian để mã hóa thông tin Bởi vì sự tuyến tính của xung trải phổ, độ lêch tần số giữa các thiết bị thu

và phát tương ứng với độ lệch thời gian, dễ dàng bị loại bỏ trong giải mã Điều này làm cho việc miễn nhiễm việc điều chế do ảnh hưởng của hiệu ứng Doppler, tương ứng với

độ lệch tần số Độ lệch tần số giữa thu và phát có thể đạt đến 20% băng thông mà không ảnh hưởng hiệu suất mã hóa Việc nhận LoRa có thể khóa tần số nhận được, cungcấp độ nhạy lên tới -130 dBm

Khi thời gian sống của ký tự LoRa dài hơn so với công nghệ trải phổ nhảy tần Frequency Hopping Spread Spectrum (FHSS), các lỗi được tại bởi nhiễu có thể dễ dàng được sửa thông qua việc sửa lỗi tiếp chuyển (Forward Error-correction Codes - FECs) Nhanh hơn điều chế truyền thông chẳng hạn như FSK làm cho LoRa thích hợp với công suất thấp và truyền tin với khoảng cách dài

c.2) Thông số của lớp vật lýMột vài thông số có sãn cho việc tùy biến trong việc điều chế LoRa như : băng thông (BW), hệ số trải phổ (SF) và tỉ lệ mã hóa (CR) LoRa sử dụng một định nghĩa độc đáo cho việc trải phổ như logarit, số lượng Chirp/symbol Các thông số ảnh hưởng tới tốc độ bit, làm giảm ảnh hưởng của nhiễu, và dễ dàng giải mã

Băng thông là thông số quan trọng nhất trong việc điều chế LoRa Một symbol LoRa tạo ra 2SF chirps, bao phủ toàn bộ băng thông tần số Nó bắt đầu với một chuỗi chirp được tăng lên Khi tần số của băng thông đạt cực đại, tần số sẽ được bọc kín xung quanh, việc tăng tần số được bắt đầu lại từ từ số nhỏ nhất Hình 2.8 đưa ra ví dụ về việc vận chuyển LoRa trong việc thay đổi tần số theo thời gian Vị trí không liên tục trong chuỗi tần số được mã hóa thông tin được chuyển đi Có 2SF trong một ký tự, một ký tự

có thể mã hóa SF(bits) một cách hiệu quả

Trang 15

Fc kà tần số trung tâm của kênh truyền, và BW là băng thông

Hình 2.1.1.c.2.1.1: Sự thay đổi tần số theo thời gian của mỗi tín hiệu mẫu được phát ra bởi trạm phát LoRa.

Trong LoRa, tỉ lệ Chirp phụ thuộc vào băng thông: tệ lệ churp bằng với băng thông ( một chirp/second/Hz băng thông) Một vài chuỗi trong điều chế: việc tăng hệ số trải phổ sẽ chia khoảng cách tần số một chirp (bằng 2SF chirp trên toàn bộ băng thông)

và thời gian sống của một symbol được nhân lên gấp đôi Tuy nhiên, việc chia hai tỉ lệ bit, khi nhiều bit hơn sẽ được vẫn chuyển trên mỗi symbol Hơn thế nữa, tỉ lệ symbol và

tỉ lệ bit được cho bởi hệ số trải phổ tỉ lệ thuận với băng thông tần số, khi băng thông gấpđôi sẽ gấp đôi tỉ lệ truyền được Điều này được đưa ra vởi phương trình dưới đây, liên hệgiữa thời gian sống của một symbol (Ts) với băng thông và hệ số trải phổ

LoRa chứa mã hóa sửa lỗi Code rate (CR) bằng 4/(4+n), với n € {1,2,3,4}

Phương trình sau cho phép tính toán tỉ lệ bit (Rb)

Ví dụ, BW = 125 kHz, SF = 7, SR = 4/5 cho tốc độ bit Rb = 5.5 kbps

Các thông số cũng ảnh hưởng tới độ nhạy giải mã Việc tăng băng thông làm cho

độ nhạy máy thu thấp hơn, trong khi đó tăng hệ số trải phổ sẽ tăng độ nhạy máy thu Giảm tốc độ mã hóa giúp giảm tỉ lệ lỗi packet khi có sự ảnh hưởng của nhiễu; ví dụ khi packet nhận được với tốc độ mã hóa là 4/8 sẽ tăng khả năng chống nhiễu hơn so với tín hiệu được vận chuyển với tốc độ mã hóa là 4/5 Bảng 2.4 lấy từ datasheet SX1276

9-129

Trang 16

Bảng 2.1.1.c.2.2: Độ nhạy máy thu của LoRa (theo dBm) khi băng thông

và hệ số trải phổ khác nhau.

c.3) Định dạng frame vật lýMặc dù điều chế LoRa có thể truyền frame bất kỳ, định dạng frame được xác định

và tiến hành theo thu và phát của Semtech Băng thông và hệ số trải phổ là hằng số cho một frame

Một frame được bắt đầu với một preamble Preamble bắt đầu với một chuỗi hằng

số bắt đầu gọi là upchirps được trải trên toàn băng thông tần số Hai upchirps cuối cùng được giải mã ký tự đống bộ (gọi là Sync word) Sync word có giá trị 1 byte, thường để phân biệt mạng LoRa khi sử dụng cùng một băng thông tần số Một thiết bị được cấu hình với một sync word dừng việc lắng nghe việc vận chuyển nếu sync word không phù hợp với cấu hình Sync word được đưa ra vởi 2.25 downchirps, có độ dài 2.25 symbols Sau preamble, có một header tùy chọn Khi được bật header, header này được gửi

đi với tốc độ mã hóa là 4/8 Điều này chỉ ra rằng khối lượng của payload ( theo bytes), tỉ

lệ mã hóa được sử dụng cho cuối việc vận chuyển và liệu rằng có hay không 16 bit CRCcho payload có được hiện diện cuối frame hay không Kích thước của payload được lưu trữ một byte, giới hạn kích thước của payload tới 255 ký tự Header được tùy chọn để cho phép được tắt trong tình huống liệu rằng có cần thiết hay không, ví dụ khi độ dài payload, tỉ lệ mã hóa và CRC

Trang 17

Hình 2.1.1.c.3.1.1: Cấu trúc frame của LoRa

Sự liên hệ giữa spreading factor (SF), coding rate (CR) và băng thông tín hiệu (BW), thời gian gửi dữ liệu trong không gian của packet LoRa có thể được tính toán nhưdưới đây

1 s s

T R

=

Thời hạn của packet LoRa là bằng tổng của chuỗi preamble và packet được gửi đi

Độ dài của preamble được tính toán như sau:

r a ( r a 4.25)

p e mble p e mble sym

T = n + T

Trong đó npreamble là độ dài preamble của chương trình, được lấy từ thanh ghi

RegPreambleMsb và RegPreambleLsb Thời gian của payload phụ thuộc vào chế độ header được bật Công thức dưới đây đưa ra số ký tự payload

• PL là số bytes của Payload (1 tới 255)

• SF là spreading factor (6 tới 12)

• IH =0 khi header được bật, IH =1 khi không có header hiện diện

Trang 18

2.1.2 Giao thức LoRaWAN

Hệ thống LoRa chưa 3 phần chính:

• Thiết bị cuối (End-devices): các cảm biến/cơ cấu chấp hành được kết nối thông ra giao tiếp LoRa tới một hoặc nhiều Gateway

• Lora Gateway: bộ tập trung dùng làm cầu nối từ các thiết bị cuối tới Servẻ, nó là phần

tử trung tâm của kiến trúc mạng

• Lora NetServer: Server của mạng điều khiển toàn bộ hệ thống (quản lý tài nguyên, kiểm soát truy cập, bảo mật,…)

Hình 2.10 mô tả các thiết bị cuối được kết nối thông giao tiếp LoRa tới Gateway,

và sau đó được kết nối tới Server thông qua mạng Internet

Hình 2.1.2.a.1.1.1: Tiêu biểu cho mạng hình sao.

Điểm khác biệt của mạng LoRa là việc hình dung 3 lớp của thiết bị cuối, lớp A

(cho tất cả), lớp B (cho Beacon) và lớp C (cho việc nghe liên tục)

• Lớp A được định nghĩa là chế độ ban đầu của mạng LoRa và phải đươc hỗ trợ bởi các thiết

bị LoRa Trong mạng lớp A, việc gửi đi luôn luôn được bắt đầu bởi các thiết bị cuối Sau mỗi lần dữ liệu được gửi tới Gateway, thiết bị cuối sẽ mở 2 cửa sổ tiếp nhận, chờ lệnh bất

kỳ hay gói dữ liệu được trả về bởi Server Lớp A mục đích chính được hướng tới cho các ứng dụng giám sát, nơi các dữ liệu được sản suất bởi các thiết bị cuối, sau đó được tập hợp bởi trạm điều khiển

• Lớp B được giới thiệu dùng để uplink và downlink, được đồng bộ hóa với Server bằng cách gửi gói dữ liệu broadcast bởi Gateway lớp B, và có thể nhận dữ liệu hoặc gói lệnh trong những thời gian riêng biệt, cho dù Lớp B được dử dụng cho các thiết bị cuối cần

Trang 19

nhận lệnh từ sự điều khiển từ xa chẳng hạn như chấp hành, bật tắt hay cần cung cấp dữ liệucho người sử dụng

• Cuối cùng, Lớp C được định định nghĩa thiết bị cuối không cần quá coi trọng về năng lượng, nó có thể duy trì cửa sổ tiếp nhận luôn mở

2.2 Nguyên lý truyền và nhận dữ liệu trong mạng LoRa

Giao tiếp LoRa kết hợp của 3 loại giao tiếp số, thanh ghi tĩnh, thanh ghi trạng thái

và data buffer FIFO Tất cả được kết nối thông qua giao tiếp SPI

2.2.1 Truyền dữ liệu

Hình 2.2.1.a.1.1.1: Mô tả nguyên lý truyền dữ liệu trong LoRa

- Các thanh ghi tĩnh có thể được truy cập ở chế độ Sleep, Standby hoặc FSTX

- FIFO LoRa chỉ có thể được điền trong chế độ Standby

- Việc vận chuyển dữ liệu được bắt đầu bằng gửi yêu cầu chế độ TX

- Chờ cho cờ ngắt TxDone , sau đo chuyển sang chế độ Standby

Trang 20

2.2.2 Nhận dữ liệu trong mạng LoRa

Hình 2.2.2.a.1.1.1: Mô tả nguyên lý nhận dữ liệu trong LoRa

Việc nhận dữ liệu trong mạng LoRa cờ CRC đóng vai trò quan trọng trong việc xác định dữ liệu nhận được có đúng hay không, giúp khắc phục tình trạng chồng lấn hayxung đột dữ liệu giữa hai hay nhiều thiết bị cùng lúc

2.2.3 Cách kết nối giữa node và Server

Luận văn được xây dựng hai gói packet, một gói dữ liệu được gửi từ node tới Server để gửi data thu thập được từ node và một gói được gửi ACK từ Server về node đểxác nhận đã nhận được data

Trang 21

a) Cấu trúc gửi data tới Server

Cấu trúc gói packet (11 bytes) được ghi vào FIFO và gửi tới Server có cấu trúc

như sau:

Địa chỉ Server

(3 bytes) Địa chỉ node(1 byte) (2 bytes)Nhiệt độ (2 bytes)Độ ẩm (2 bytes)Khí CO Lượng pin(1 byte)

- Địa chỉ Server (chiếm 3 bytes dữ liệu): tạo ra tới 224 địa chỉ dữ liệu, giúp hạn chếsai sót trên Server

- Địa chỉ node (chiếm 1 byte dữ liệu): Do có 3 thiết bị nên chỉ cần 1 byte là đủ

- Nhiệt độ (chiếm 2 byte dữ liệu): 1 byte cho nhiệt độ nguyên, 1 byte cho nhiệt độ phần thập phân

- Độ ẩm (chiếm 2 byte dữ liệu): 1 byte cho độ ẩm nguyên, 1 byte cho độ ẩm phần thập phân

- Khí CO (chiếm 2 byte dữ liệu): cũng giống như nhiệt độ và độ ẩm, 1 byte cho phần nguyên dương, 1 byte cho phần thập phân

- Lượng pin (chiếm 1 byte dữ liệu): Do pin đầy là 4.2V nên chỉ cần sử dụng 1 byte

b) Cấu trúc gửi ACK từ Server về node

Địa chỉ node(1 byte)

Địa chỉ Server(3 bytes)

ACK(1 bytes)

- Địa chỉ node (chiếm 1 byte): địa chỉ node gửi trả ACK

- Địa chỉ Server ( chiếm 3 bytes): Địa chỉ của Server

- Ack ( chiếm 1 byte): quy định bit ACK trả về

2.3 Giới thiệu module, IC sử dụng trong luận văn

2.3.1 Module LoRa

Module LoRa của hãng HopeRF và XIAMEN sử dụng công nghệ điều chế LoRa, module LoRa có thể đạt độ nhạy tới -148dBm

Trang 22

Cường độ dòng ở Standby 0.2uA

Khoảng cách trao đổi Hơn 8000m @LoRa

Nhiệt độ hoạt động -20oC ~ 70oC

Trang 23

b) Thông số chân ra và chức năng

Hình 2.3.1.b.1.1.1: Mô tả chân của module Lora SX1278

7 DIO5 Input/Output Digital In/Out, cấu hình bởi phần mềm

11 DIO3 Input/Output Digital In/Out, cấu hình bởi phần mềm

12 DIO4 Input/Output Digital In/Out, cấu hình bởi phần mềm

14 DIO0 Input/Output Digital In/Out, cấu hình bởi phần mềm

15 DIO1 Input/Output Digital In/Out, cấu hình bởi phần mềm

16 DIO2 Input/Output Digital In/Out, cấu hình bởi phần mềm

Trang 24

Bảng 2.3.1.b.1.2: Chức năng từng chân của module SX1278

2.3.2 Giới thiệu về Raspberry Pi [7]

Raspberry Pi là một máy tính đơn khối có kích thước nhỏ như chiếc thể ATM,

được phát triển bởi Quỹ Raspberry (nước Anh) với mục tiêu khuyến khích học tập khoa học máy tính trong trường học

Hình 2.3.2.a.1.1.1: Raspberry Model B

Raspberry Pi được bắt đầu phát triển từ năm 2006, bản concept sớm nhất dựa trên

vi điều khiển AVR Atmel ATmega644 Ngày 16 tháng 6 năm 2012, những chiếc

Raspberry Pi đầu tiên được gửi đến tay người nhận Đến ngày 22/5 hơn 20.000 chiếc đã được bán ra Ngày 16/7/2012, Quỹ Raspberry Pi thông báo có 4000 sản phẩm được

phân phối mỗi ngày và bắt đầu cho phép người dùng mua “máy tính nhỏ” này với số

lượng lớn Trong vòng 3 năm kể từ khi được bán ra, đã có hơn 5 triệu chiếc Pi đã được

bán ra thị trường (theo số liệu thống kê của trang chủ Raspberry Pi)

Vậy điều gì làm nên thành công ngoài sức tưởng tượng của Raspberry Pi:

• Raspberry Pi có mức giá quá hấp dẫn: chỉ từ 25$ cho một chiếc bo mạch có thể làm hầunhư mọi ứng dụng hằng ngày như lướt web, lập trình, xem phim HD đến những ý tưởng mà bạn không ngờ đến như điều khiển robot, nhà thông minh, Một điều quan trọng là nó tiết kiệm điện và khả năng chạy liên tục 24/24

• Raspberry Pi chạy hệ điều hành Linux: 99% những thứ mà bạn có thể làm trên máy tính đều có thể làm trên Window và quan trọng là tất cả đều miễn phí!

• Raspberry Pi có kích thước tí hon: chỉ tương đương như một chiếc thẻ ATM và nặng chưa đầy 50 gram Gắn với chiếc tivi, bạn có thể biến nó thành một thiết bị giải trí thông minh trong phòng khách Gắn với màn hình và bàn phím, chuột, bạn có thể biến

nó thành một chiếc máy tính đúng nghĩa Nhỏ gọn và tiện lợi

• Cộng đồng Raspberry Pi phát triển rất nhanh trên thế giới: Hầu hết những thắc mắc của bạn đều được giải đáp rất nhanh va còn hơn thế nữa: bạn có thể tìm thấy hang ngàn dữ

Trang 25

Với những ưu điểm độc đáo trên, Raspberry đã vượt khỏi biên giới vủa trường học

và trở thành thiết bị ưa thích của rất nhiều người đam mê điện tử và lập trình Sự thành công của nó đã mở đã một bước phát triển mới cho tin học: đem máy tính và cảm hứng lập trình đến gần mọi người hơn bao giờ hết

Raspbery Pi sử dụng chip Broadcom BCM2835 SoC (System on Chip) có chứa bộ

xử lý ARM1176JZF-S 700 Mhz (có thể ép xung lên 1Ghz), GPU Video Core IV, và bộ nhớ RAM 256 sau nâng cấp lên 512MB Nó không có ổ cứng hay SSD đi kèm mà sử dụng thẻ SD để lưu trữ dữ và khởi động hệ điều hành

2.3.3 Webserver

a) Khái niệm về Web Server

Webserver là một máy tính được kết nối vào Internet và chạy các phần mềm được thiết kế Webserver có khả năng tiếp nhận yêu cầu từ các trình duyệt web và gửi phản hồi đến máy khách những trang web thông qua môi trường mạng Internet qua giao thức HTTP hoặc các giao thức khác Webserver đóng vai trò là một chương trình xử lý các nhiệm vụ xác định như xử lý dữ liệu, kiểm tra dữ liệu hợp lệ

Web server hỗ trợ các công nghệ khác nhau , ví dụ như:

• IIS (Internet Information Service): Hỗ trợ một số tập tin như asp, mở rộng

hỗ trợ PHP,…

•Apache: Hỗ trợ PHP

•Tomcat: Hỗ trợ JSP (Java Servlet Page)

Trang 26

Hình 2.3.3.a.1.1.1: Mô tả về Web Server

Trong luận văn này sử dụng phần mềm Apache làm Web Server vì tính thông

dụng và miễn phí của nó

b) Giới thiệu về LAMP

LAMP là chữ viết tắt thường được dùng để chỉ sự sử dụng các phần

mềm Linux, Apache, MySQL và ngôn ngữ văn lệnh PHP hay Perl hay Python để tạo

nên một môi trường máy chủ Web có khả năng chứa và phân phối các trang Web động

Hình 2.3.3.b.1.1.1: Mô tả về LAMP

LAMP là sự kết hợp của Linux + Apache + MySQL + PHP[8]:

• Linux: là một hệ điều hành máy tính dựa trên Unix được phát triển và phân phốiqua mô hình tự do mã nguồn mở, chiếm tỉ lệ lớn trên các máy chủ Trong Raspberry

Pi, được cài đặt hệ điều hành Raspbian, một hệ điều hành được dựa trên nền tảngLinux được tối ưu hóa trên Pi

• Apache: là phần mềm mã nguồn mở, miễn phí, và là phần mềm máy chủ web phổbiến nhất trên mạng Nó rất an toàn, nhanh chóng và đáng tin cậy Chúng ta có thểtùy chỉnh để Apache hỗ trợ các ngôn nhữ web khác nhau như PHP, CGI / Perl,SSL, SSI, ePerl, và thậm chí ASP

• MySQL: là hệ quản trị cơ sở dữ liệu nhanh nhất thế giới, là cơ sở dữ liệu nguồn mởphổ biến nhất trên thế giới vì hiệu suất cao, độ tin cậy cao và dễ sử dụng MySQLchạy được trên hơn 20 nền tảng bao gồm cả Linux, Windows, Mac OS, Solaris,IBM AIX, cho phép bạn linh hoạt kiểm soát hệ thống

Trang 27

• PHP: là một ngôn ngữ kịch bản trên máy chủ (server-side scripting language) Nó

có khả năng nhúng vào ngôn ngữ HTML được xử lý rất nhanh, tương thích vớinhiều nền tảng hệ điều hành

c) Tìm hiểu ngôn ngữ PHP

c.1) Khái niệm PHPPHP là một ngôn ngữ lập trình được kết nối chặt chẽ với máy chủ, là một công

nghệ phía máy chủ (Server – Side) và không phụ thuộc vào môi trường (cross-platform).Khi một trang Web muốn được dùng ngôn ngữ PHP thì phải đáp ứng được tất cả các quátrình xử lý thông tin trong trang Web đó, sau đó đưa ra kết quả ngôn ngữ HTML

PHP được sử dụng làm Web động vì nó nhanh, dễ dàng, tốt hơn so với các giải

pháp khác

c.2) Hoạt động của PHP

Vì PHP là ngôn ngữ của máy chủ nên mã lệnh của PHP sẽ tập trung trên máy chủ

để phục vụ các trang Web theo yêu cầu của người dùng thông qua trình duyệt

Hình 2.3.3.c.2.1.1: Mô tả hoạt động PHP

Khi người dùng truy cập Website viết bằng PHP, máy chủ đọc mã lệnh PHP và xử

lý chúng theo các hướng dẫn được mã hóa Mã lệnh PHP yêu cầu máy chủ gửi một dữ

Trang 28

liệu thích hợp (mã lệnh HTML) đến trình duyệt Web Khi trình duyệt truy cập vào một

trang PHP, Server sẽ đọc nội dung file PHP lên và lọc các đoạn mã PHP và thực thi các

đoạn mã đó, lấy kết quả nhận được của đoạn mã PHP thay thế vào chỗ ban đầu của

chúng trong file PHP, cuối cùng Server trả về kết quả cuối cùng

c.3) Framework PHPFramework là một bộ thư viện được tổ chức theo một mô hình sẵn và tích hợp

nhiều thư viện sẵn giúp lập trình viên tiết kiệm thời gian, đồng thời giải quyết vấn đề tạo

ra chuẩn chung cho các lập trình viên khi làm việc nhóm

Những lợi ích khi sử dụng framework:

• Nâng cao tốc độ phát triển sản phẩm

• Cung cấp code được tổ chức tốt, có thể sử dụng lại và dễ dàng bảo trì

• Cho phép bạn phát triển theo thời gian khi các ứng dụng được mở rộng

• Giải phóng khỏi những lo ngại về bảo mật ở mức thấp

• Tuân theo mô hình MVC (Model-View-Controller) đảm bảo tách biệt giữa phầntrình diễn và phần logic nghiệp vụ

• Thúc đẩy phương thức phát triển trang web hiện đại như các công cụ lập trìnhhướng dối tượng

Hiện nay có khá nhiều framework được xây dựng từ PHP như Zend, Laravel,

Symfony, Yii 2,… Mỗi framework có những điểm mạnh yếu khác nhau và tùy vào sở

thích nhu cầu để chọn làm dự án

Laravel là framework phổ biến nhất mà các nhà phát triển sử dụng Nhờ có một hệsinh thái lớn và nền tảng giúp triển khai ứng dụng một cách nhanh chóng, đơn giản và

hiệu quả Trong luận văn này, Laravel được dùng làm framework để lập trình PHP vì

tính đơn giản và dễ lập trình của nó

d) MySQL

d.1) Giới thiệu cơ sở dữ liệu:

MySQL là ứng dụng cơ sở dữ liệu mã nguồn mở phổ biến nhất hiện nay và được

sử dụng phối hợp với PHP

Trang 29

MySQL là cơ sở dữ liệu hỗ trợ trên nhiều nền tảng, cho phép người sử dụng có thểthao tác các hành động liên quan đến nó Việc tích hợp công nghệ PHP và MySQL vào

Webserver là công việc cần thiết

d.2) Mục đích sử dụng cơ sở dữ liệuMục đích sử dụng cơ sở dữ liệu bao gồm các chức năng như: lưu trữ, truy cập, tổ

• Tổ chức: Tổ chức cơ sở dữ liệu phụ thuộc vào mô hình cơ sở dữ liệu, phân tích và thiết

kế cơ sở dữ liệu tức là tổ chức cơ sở dữ liệu phụ thuộc vào đặc điểm của từng ứngdụng

• Xử lý: Tùy vào nhu cầu tính toán và truy vấn cơ sở dữ liệu với các mục đích khác nhau,cần phải sử dụng các phát biểu truy vấn cùng các phép toán Để thao tác hay xử lý dữliệu bên trong chính cơ sở dữ liêu

d.3) Kết nối với database[9]

Để làm mọi thứ với database, kết nối phải được thiết lập đầu tiên Hàm PHP cho

phép kết nối thông qua lệnh mysql_connect Hàm này có 3 tham số Ví dụ:

$host = “localhost”;

$user = “root”;

$pswd = “password”;

$link = mysql_connect($host, $user, $pswd);

Host gần như luôn luôn là localhost Đây chính là server mà trang sẽ chạy trên đó User và pswd là username và password được yêu cầu để vào được host Khi

mysql_connect được gọi, tài nguyên được tạo ra và được liên kết với biến $link

Sau khi kết nối được thiết lập, database phải được chọn Hàm mysql_select_db

cho phép lưa chọn database Hàm này có 2 tham số, tham số thứ nhất là tên của databaseđược chọn, thứ 2 là liên kết tới server chứa database trong đó

$db = “a_db”;

Trang 30

d.4) Thêm dữ liệu vào databaseMột khi kết nối được thiết lập, thông tin có thể được thêm vào database Để thêm

dữ liệu vào database rất đơn giản

mysql_query(“INSERT INTO a_table (field1, field2) VALUES (‘”.

$_POST[‘field1’].”’, ‘”.$_POST[‘field2’].”’) “);

Code trên đơn giản thêm dữ liệu vào bảng database (a_table)

2.3.4 Cảm biến nhiệt độ và độ ẩm (DHT22/AM2302)

a) Tổng quan

AM2302 là cảm biến nhiệt độ và độ ẩm có ngõ ra được hiệu chỉnh tín hiệu số Nó

áp dụng công nghệ thu thập nhiệt độ và độ ẩm dữ liệu số, giúp cho việc đọc tín hiệu mộtcách ổn định và hợp lý Thành phần cảm biến trong AM2302 được kết nối với chip 8 bit.Mỗi cảm biến đều được hiệu chỉnh và bù trừ nhiệt độ một cách chính xác và hệ số hiệu chỉnh được lưu trong bộ nhớ OTP, khi cảm biến phát hiện, nó lấy hệ số từ bộ nhớ.Kích thước nhỏ, công suất tiêu thụ thấp, khoảng cách truyền tin dài (100m) trên AM2302 phù hợp với tất cả các loại ứng dụng khắc nghiệt nhất Được đóng gói một hàng đơn với bốn chân, làm cho việc kết nối rất thuận tiện

Trang 31

Khoảng hoạt động Độ ẩm:0-100%RH ; Nhiệt độ:-40~80oC

Độ chính xác Độ ẩm:+-2%RH(Max :+-5%RH) ; Nhiệt độ:+-0.5oC

Độ phân giải hay độ nhạy Độ ẩm:0.1%RH ; Nhiệt độ:0.1oC

Lặp lại Độ ẩm:+-1%RH ; Nhiệt độ:+-0.2oC

Thay thế Thay thế hoàn toàn

Bảng 2.3.4.b.1.1: Thông số cảm biến AM2302

c) Kích thước và sơ đồ chân

Dưới đây là toàn bộ quá trình xử lý, toàn bộ quá trình mất khoảng 2 giây

Trang 32

Khi muốn giao tiếp giữa MCU và AM2302, MCU sẽ kéo đường data xuống thấp

và quá trình xử lý này mất ít nhiết từ 1-10ms để đảm bảo AM2302 có thể phát hiện tín hiệu từ MCU và chờ khoảng 20-30us để AM2302 đáp ứng

Khi AM2302 phát hiện tín hiệu bắt đầu, nó sẽ kéo đường bus xuống thấp khoảng 80us để coi đó là tín hiệu đáp ứng, sau đó sẽ kéo lên cao 80us để chuẩn bị gửi dữ liêu.Khi AM2303 gửi dữ liệu tới MCU, mỗi bit được gửi sẽ được bắt đầu với mức thấpkhảng 50us, sau đó sẽ là mức cao, độ dài của mức cao sẽ quyết định bit đó là 0 hay 1

Dữ liệu của AM2302 được mô tả như hình :

Trang 33

2.3.5 Cảm biến khí CO (MQ-7)

MQ7 là cảm biến bán dẫn, được làm từ SnO2, một vật liệu cảm biến có tính dẫn thấp trong không khí sạch Cảm biến MQ7 nhạy cảm với khi CO Nó là cảm biến có chi phí thấp, thích hợp cho các ứng dụng để phát hiện khí trong nhà, khu công nghiệp

Hình 2.3.5.a.1.1.1: Sơ đồ kết nối với cảm biến

Trong đó Rs là điện trở của cảm biến MQ7 khi có sự thay đổi môi trường

RL là điện trở được thêm vào

Ta có : Rs=RL*(5-Vout)/Vout (1)

Ngày đăng: 18/01/2019, 10:59

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1] “A DIY low-cost LoRa gateway” - C. Pham, LIUPPA laboratory, University of Pau, France Sách, tạp chí
Tiêu đề: “A DIY low-cost LoRa gateway”
[5] Dongkyun Kim, “A Study of LoRa: Long Range & Low Power Networks for the Internet of Things”, 2016 Sách, tạp chí
Tiêu đề: A Study of LoRa: Long Range & Low Power Networks for the Internet of Things
[6] “The Internet of Things LoRaWAN”- Nate Argetsinger, Rohan Paul, David Hodgson- http://slideplayer.com Sách, tạp chí
Tiêu đề: The Internet of Things LoRaWAN”- "Nate Argetsinger, Rohan Paul, David Hodgson-
[10] “RESEARCH ON TEMPERATURE AND HUMIDITY COMPENSATION OF SENSOR MEASURED VALUES MQ-7”, 2015 Sách, tạp chí
Tiêu đề: RESEARCH ON TEMPERATURE AND HUMIDITY COMPENSATION OF SENSOR MEASURED VALUES MQ-7
[2] The LoRaWAN™ EMB - http://www.embit.eu/lorawanemb-gw1301/ Link
[3] LoRa Products - http://www.nke-watteco.com/gamme/lora-range/ Link
[4] Cisco Interface Module for LoRaWAN - http://www.cisco.com Link
[7] Hướng dẫn cài đặt Hệ điều hành cho Raspberry Pi - http://codientu.org/ Link
[8] Introduction to LAMP technology - http://www.ibm.com/ Link
[9] MySQL Tutorial– https://www.tutorialspoint.com Link

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w