Professional Documents
Culture Documents
TỔNG QUAN VỀ MẠNG CẢM BIẾN KHÔNG DÂY VÀ CHUẨN TRUYỀN THÔNG
LORA
Mạng cảm biến không dây (Wireless Sensor Network – WSN), là mạng liên kết các thiết bị tự
vận hành, liên kết với nhau bằng kết nối sóng vô tuyến (RF connection) trang bị cảm biến (sensor) để
giám sát các tham số của một môi trường vật lý.
Trong WSN các node mạng thường là các thiết bị đơn giản, nhỏ gọn, giá thành thấp, có số lượng
lớn, thường được phân bố trên một diện tích rộng, sử dụng nguồn năng lượng hạn chế (pin), có thời gian
hoạt động lâu dài (vài tháng đến vài năm) và có thể hoạt động trong môi trường khắc nghiệt (chất độc, ô
nhiễm, nhiệt độ cao, v.v).
Các node mạng thường có chức năng sensing (sensor node): cảm ứng, quan sát môi trường xung
quanh như: nhiệt độ, độ ẩm, ánh sáng, âm thanh, độ rung, độ bức xạ, độ ô nhiễm, v.v., theo dõi hay định
vị các mục tiêu cố định hoặc di động. Các node giao tiếp với nhau qua mạng vô tuyến không dây phi thể
thức (Wireless Ad-hoc network) và truyền dữ liệu về trung tâm xử lý (base station) bằng kỹ thuật truyền
đa chặng (multi-hop).
1.2. Kiến trúc ngăn xếp giao thức mạng cảm biến không dây
Kiến trúc ngăn xếp giao thức áp dụng cho WSN được trình bày trong hình 1.2. Kiến trúc này bao
gồm các lớp và các mặt phẳng quản lý. Các mặt phẳng quản lý này làm cho các nút có thể làm việc
cùng nhau theo cách có hiệu quả nhất, định tuyến dữ liệu trong mạng cảm biến di động và chia sẻ tài
nguyên giữa các nút cảm biến.
Lớp vật lý có trách nhiệm lựa chọn tần số, tạo tần số sóng mạng, phát hiện tín hiệu và điều chế dữ
liệu.
Lớp liên kết dữ liệu chịu trách nhiệm ghép các dòng dữ liệu, phát hiện khung dữ liệu, điều khiển
lỗi và điều khiển truy nhập kênh truyền. Nó đảm bảo sự tin cậy của các kết nối điểm - điểm và điểm - đa
điểm trong mạng.
• Lớp mạng
Các nút cảm biến nằm rải rác với mật độ cao trong một trường cảm biến. Lớp mạng của các mạng
cảm biến thường được thiết kế theo quy tắc sau đây:
▪ Vấn đề hiệu quả năng lượng luôn là vấn đề được quan tâm nhất.
▪ Ngoài việc định tuyến, các nút chuyển tiếp có thể tổng hợp các dữ liệu từ các nút lân cận thông
qua việc xử lý cục bộ.
Sự phát triển của các giao thức lớp giao vận là một nhiệm vụ đầy thách thức bởi vì các nút cảm
biến bị ảnh hưởng bởi những hạn chế về phần cứng như là năng lượng và bộ nhớ hạn chế. Do đó, mỗi
nút cảm biến không thể lưu trữ một lượng lớn dữ liệu như một máy chủ trên mạng Internet.
Lớp ứng dụng bao gồm các ứng dụng chính cũng như một số chức năng quản lý. Ngoài các
chương trình ứng dụng cụ thể cho mỗi ứng dụng thì các chức năng quản lý và xử lý truy vấn cũng nằm ở
lớp này.
1.3. Tổng quan về Internet kết nối vạn vật.
Mạng lưới vạn vật kết nối Internet hoặc là Mạng lưới thiết bị kết nối Internet viết tắt là IoT (tiếng
Anh: Internet of Things) là một kịch bản của thế giới, khi mà 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. Nói đơn giản là một tập
hợp các thiết bị có khả năng kết nối với nhau, với Internet và với thế giới bên ngoài để thực hiện một
công việc nào đó.
Ngay sau khi nhận được sự chú ý của cộng đồng, IoT đã cho thấy tiềm năng của mình với những
số liệu đáng kinh ngạc. Cisco, nhà cung cấp giải pháp và thiết bị mạng hàng đầu hiện nay dự báo: Đến
năm 2020, sẽ có khoảng 50 tỷ đồ vật kết nối .
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ề Internet of Things. 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.
Bên cạnh đó, các ông lớn như Google, Apple, Samsung, Microsoft cũng không hề giấu diếm ý
định xâm nhập thị trường này, hứa hẹn một cuộc cạnh tranh mạnh mẽ trong thời gian tới đây, đưa kỷ
nguyên IoT đến sớm hơn với mọi người.
Lưới điện thông minh (còn gọi là hệ thống điện thông minh) là hệ thống điện có sử dụng các công
nghệ thông tin và truyền thông để tối ưu việc truyền dẫn, phân phối điện năng giữa nhà sản xuất và hộ
tiêu thụ, hợp nhất cơ sở hạ tầng điện với cơ sở hạ tầng thông tin liên lạc. Có thể coi hệ thống điện thông
minh gồm có 2 lớp: lớp 1 là hệ thống điện thông thường và bên trên nó là lớp 2- hệ thống thông tin,
truyền thông, đo lường.
Nhà thông minh (Smart Home) là một ngôi nhà/căn hộ được trang bị hệ thống tự động tiên tiến
dành cho điều khiển đèn chiếu sáng, nhiệt độ, truyền thông đa phương tiện, an ninh, rèm cửa, cửa và
nhiều tính năng khác nhằm mục đích làm cho cuộc sống ngày càng tiện nghi, an toàn và góp phần sử
dụng hợp lý các nguồn tài nguyên.
LoRa là viết tắt của Long Range Radio được nghiên cứu và phát triển bởi Cycleo và sau này được mua
lại bởi công ty Semtech năm 2012. Với công nghệ này, chúng ta có thể truyền dữ liệu với khoảng cách
lên hàng km mà không cần các mạch khuếch đại công suất; từ đó giúp tiết kiệm năng lượng tiêu thụ khi
truyền/nhận dữ liệu. Do đó, LoRa có thể được áp dụng rộng rãi trong các ứng dụng thu thập dữ liệu như
sensor network trong đó các sensor node có thể gửi giá trị đo đạc về trung tâm cách xa hàng km và có
thể hoạt động với battery trong thời gian dài trước khi cần thay pin.
Với tầm xa ,nền tảng không dây công suất thấp là sự lựa chọn công nghệ phổ biến hiện hành để xây
dựng mạng IoT trên thế giới ứng dụng IoT thông minh đã cải thiện theo cách tương tác và giải quết giải
quyết một số thách thức lớn nhất mà các thành phố và cộng đồng đang phải đối mặt :biến đổi khí hậu
,kiểm soát ô nhiễm cảnh báo thiên tai và cứu mạng .Kinh doanh cũng được hưởng lợi thông qua cũng
như giảm được chi phí
Đây là RF công nghệ không dây được tích hợp vào xe ô tô, đèn đường , sản xuất thiết bị , đồ gia dụng
thiết bị đeo được bất cứ điều gì , thực sự . Công nghệ Lora đang làm thế giới ta một hành tinh thông
minh
LoRa sử dụng kỹ thuật điều chế gọi là Chirp Spread Spectrum. Có thể hiểu nôm na nguyên lý này là dữ
liệu sẽ được băm bằng các xung cao tần để tạo ra tín hiệu có dãy tần số cao hơn tần số của dữ liệu gốc
(cái này gọi là chipped); sau đó tín hiệu cao tần này tiếp tục được mã hoá theo các chuỗi chirp signal (là
các tín hiệu hình sin có tần số thay đổi theo thời gian; có 2 loại chirp signal là up-chirp có tần số tăng
theo thời gian và down-chirp có tần số giảm theo thời gian; và việc mã hoá theo nguyên tắc bit 1 sẽ sử
dụng up-chirp, và bit 0 sẽ sử dụng down-chirp) trước khi truyền ra anten để gửi đi.
Theo Semtech công bố thì nguyên lý này giúp giảm độ phức tạp và độ chính xác cần thiết của mạch
nhận để có thể giải mã và điều chế lại dữ liệu; hơn nữa LoRa không cần công suất phát lớn mà vẫn có
thể truyền xa vì tín hiệu Lora có thể được nhận ở khoảng cách xa ngay cả độ mạnh tín hiệu thấp hơn cả
nhiễu môi trường xung quanh.
Băng tần làm việc của LoRa từ 430MHz đến 915MHz cho từng khu vực khác nhau trên thế giới:
Khi nhắc tới Lora ta không thể không nhắc tới LoraWan;
Một sự đổi mới của Semtech, LoRa Technology mang lại một sự pha trộn rất hấp dẫn của tầm xa,
tiêu thụ năng lượng thấp và truyền dữ liệu an toàn. Các mạng công cộng và mạng riêng sử dụng công
nghệ này có thể cung cấp phạm vi phủ sóng lớn hơn so với các mạng di động hiện có. Dễ dàng kết nối
với cơ sở hạ tầng hiện có và cung cấp một giải pháp để phục vụ các ứng dụng IoT sử dụng pin.
LoRa là lớp vật lý hoặc điều chế không dây được sử dụng để tạo ra liên kết truyền thông tầm xa.
Nhiều hệ thống không dây kế thừa sử dụng điều chế chuyển đổi độ lệch tần số (FSK) như lớp vật lý bởi
vì nó là một điều chế rất hiệu quả để đạt được công suất thấp. LoRa dựa trên điều chế phổ tán xạ chirp,
duy trì các đặc tính năng lượng thấp tương tự như điều chế FSK nhưng làm tăng đáng kể phạm vi truyền
thông.
LoRaWan là một giao thức được xây dựng dựa trên công nghệ LoRa do LoRa Alliance phát triển nó sử
dụng phổ vô tuyến trong các ngành công nghiệp khoa học y khoa (ISM) cho phép công suất thấp truyền
thông diện rộng dữa các cảm biến từ xa và gateways kết nối với mạng cách tiếp cận dựa trên tiêu chuẩn
này để xây dựng một LPWAN cho phép thiết lập nhanh chóng của cộng cộng hoặc tư nhân mọi nơi sử
dụng phần cứng và phần mềm đó là hai chiều an toàn tương thích và di động cung cấp định hoá chính
xác và hoạt động theo cách bạn mong đợi các đặc điểm kỹ thuật và miễn phí cho bạn tải về LoRa
Alliance.Wesite từ hôm nay
Một single LoRaWAN Gateway bao phủ hơn 10Km và tương đối rẻ. Với những lợi ích của khoảng cách
xa của LoRaWAN, The Things Network bao phủ thành phố Amsterdam với chỉ 10 gateways và mất
khoản 1200 dollar.
Vì LoRaWAN đang được thiết kế như một cách mà nó dùng để tạo ra một mạng phủ rộng toàn quốc và
giúp ta xây dựng các cơ sở hạ tầng quan trọng của Internet of Things, nên bảo mật là điểm đang lưu tâm.
LoRA Alliance đã cố để tạo ra LoRaWAN rất an toàn bằng các thêm 3 lớp bảo mật khác nhau:
Network key riêng để đảm bảo độ bảo mật trên lớp network
Application key riêng để đảm bảo 2 đầu của của lớp ứng dụng.
Key đặt biệt của thiết bị
Mặc dù có những lựa cho khác cho LPWAN như Sigfox, LoRa này dựa trên LPWAN có vẻ đầy hứa hẹn
và phổ biến hơn.
▪ Smart city
▪ Smart home
▪ Internet Of Thing
Thiết bị đầu cuối định hướng hai chiều (Class A): Thiết bị đầu cuối của lớp A cho phép truyền
thông hai chiều, theo đó mỗi thiết bị truyền dẫn đường lên được theo sau bởi hai cửa sổ thu nhận đường
xuống ngắn. Các khe truyền dẫn được lên kế hoạch bởi thiết bị đầu cuối dựa trên nhu cầu truyền thông
của riêng mình với một biến thể nhỏ dựa trên cơ sở thời gian ngẫu nhiên (ALOHA-loại giao thức). Hoạt
động của Class A là hệ thống thiết bị đầu cuối thấp nhất cho các ứng dụng mà chỉ cần truyền thông
đường xuống từ máy chủ ngay sau khi thiết bị đầu cuối gửi một đường truyền lên. Liên lạc đường xuống
từ máy chủ tại bất kỳ thời gian nào khác sẽ phải chờ cho đến khi đường lên kế tiếp.
Thiết bị đầu cuối định hướng hai chiều với các khe tiếp nhận theo lịch trình (Lớp B): Ngoài các
cửa sổ nhận ngẫu nhiên Class A, các thiết bị lớp B mở các cửa sổ nhận thêm vào các thời gian theo lịch.
Để thiết bị đầu cuối mở cửa sổ nhận vào đúng thời gian, nó sẽ nhận được chỉ dẫn đồng bộ hóa thời gian
từ gateway. Điều này cho phép máy chủ biết khi thiết bị đầu cuối đang nghe.
Thiết bị đầu cuối định hướng hai chiều với khe tiếp nhận cực đại (Class C): Thiết bị đầu cuối của
Class C gần như liên tục mở các cửa sổ nhận, chỉ đóng khi truyền.
Trong cấu trúc này thì LoraWan bao gồm Lora Mac (Class A, Class B, Class C) và hoạt động dựa
trên lớp PHY là chip Lora. Ở mỗi vùng khác nhau trên thế giới thì thiết bị LoraWan phải cấu hình cho
chip Lora hoạt động ở dãy băng tần cho phép như 433Mhz, 915MHz, v.v..
Các thiết bị LoRaWan kết nối với nhau theo mô hình Star trong đó các thiết bị node sẽ gửi dữ liệu
đến các thiết bị Gateway để từ đó sẽ gửi lên server và thực hiện xử lý dữ liệu trên server
Kiến trúc mạng Lora.
Device node: là các thiết bị cảm biến, hoặc các thiết bị giám sát được lắp đặt tại các vị trí làm việc
ở xa để lấy và gửi dữ liệu về các thiết bị trung tâm. Có 3 loại device node là Class A, Class B và Class C
Gateway: là các thiết bị trung tâm sẽ thu thập dữ liệu từ các device node và gửi lên 1 server trung
tâm để xử lý dữ liệu. Các thiết bị Gateway thường sẽ được đặt tại 1 vị trí có nguồn cung cấp và có các
kết nối network như Wifi, LAN, GSM để có thể gửi dữ liệu lên server.
Cấu trúc LoraWAN network thì thường được đặt trong mô hình star-of-stars mà Gateways là một
cầu nối được ẩn đi chuyển tiếp các message giữa thiết bị đầu cuối với server trung tâm network ở
backend. Các Gateway được kết nối với server của network thông qua kết nối IP chuẩn trong khi thiết bị
đầu cuối dùng giao tiếp không dây single-hop đến một hoặc nhiều gateway.
Lora Connect.
LoRa sử dụng kỹ thuật điều chế gọi là Chirp Spread Spectrum. Có thể hiểu nôm na nguyên lý này
là dữ liệu sẽ được băm bằng các xung cao tần để tạo ra tín hiệu có dãy tần số cao hơn tần số của dữ liệu
gốc (cái này gọi là chipped); sau đó tín hiệu cao tần này tiếp tục được mã hoá theo các chuỗi chirp signal
(là các tín hiệu hình sin có tần số thay đổi theo thời gian; có 2 loại chirp signal là up-chirp có tần số tăng
theo thời gian và down-chirp có tần số giảm theo thời gian; và việc mã hoá theo nguyên tắc bit 1 sẽ sử
dụng up-chirp, và bit 0 sẽ sử dụng down-chirp) trước khi truyền ra anten để gửi đi.
Nhờ sử dụng chirp signal mà các tín hiệu LoRa với các chirp rate khác nhau có thể hoạt động
trong cùng 1 khu vực mà không gây nhiễu cho nhau. Điều này cho phép nhiều thiết bị LoRa có thể trao
đổi dữ liệu trên nhiều kênh đồng thời (mỗi kênh cho 1 chirprate)
Radio packet
Preamble: Là chuỗi binary để bộ nhận detect được tín hiệu của LoRa packet trong không khí.
Header: chứa thông tin về size của Payload cũng như có PayloadCRC hay không. Giá trị của
Header cũng được check CRC kèm theo.
Payload: giá trị CRC của Payload. Nếu có PayloadCRC, LoRa chip sẽ tự kiểm tra dữ liệu trong
Payload và báo lên nếu CRC OK hay không.
CHƯƠNG 2. THIẾT KẾ PHẦN CỨNG
➢ Tổng quan.
Arduino thật ra 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 Arduino là môi trường
phát triển ứng dụng cực kỳ dễ sử dụng, với một 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. Và điều làm nên hiện tượng Arduino
chính là mức giá rất thấp và tính chất nguồn mở từ phần cứng tới phần mềm.
Arduino Uno là sử dụng chip Atmega328. Nó có 14 chân digital I/O, 6 chân đầu vào (input) analog,
thạch anh dao động 16Mhz. Một số thông số kỹ thuật như sau :
Chip ATmega328
Điện áp cấp nguồn 5V
Điện áp đầu vào (input) (kiến 7-12V
nghị )
SRAM 2 KB (ATmega328)
EEPROM 1 KB (ATmega328)
Xung nhịp 16 MHz
➢ Sơ đồ chân của Arduino.
Arduino Uno.
a) USB (1).
Arduino sử dụng cáp USB để giao tiếp với máy tính. Thông qua cáp USB chúng ta có
thể Upload chương trình cho Arduino hoạt động, ngoài ra USB còn là nguồn cho
Arduino.
b) Nguồn ( 2 và 3 ).
Khi không sử dụng USB làm nguồn thì chúng ta có thể sử dụng nguồn ngoài thông qua
jack cắm 2.1mm ( cực dương ở giửa ) hoặc có thể sử dụng 2 chân Vin và GND để cấp
nguồn cho Arduino.
Bo mạch hoạt động với nguồn ngoài ở điện áp từ 5 – 20 volt. Chúng ta có thể cấp một
áp lớn hơn tuy nhiên chân 5V sẽ có mực điện áp lớn hơn 5 volt. Và nếu sử dụng nguồn
lớn hơn 12 volt thì sẽ có hiện tượng nóng và làm hỏng bo mạch. Khuyết cáo các bạn nên
dùng nguồn ổn định là 5 đến dưới 12 volt.
Chân 5V và chân 3.3V (Output voltage) : các chân này dùng để lấy nguồn ra từ nguồn mà
chúng ta đã cung cấp cho Arduino. Lưu ý : không được cấp nguồn vào các chân này vì
sẽ làm hỏng Arduino.
GND: chân mass.
c) Chip Atmega328.
Chip Atmega328 Có 32K bộ nhớ flash trong đó 0.5k sử dụng cho bootloader. Ngoài ra
còn có 2K SRAM, 1K EEPROM.
d) Input và Output ( 4, 5 và 6).
Arduino Uno có 14 chân digital với chức năng input và output sử dụng các hàm
pinMode(), digitalWrite() và digitalRead() để điều khiển các chân này tôi sẽ đề cập
chúng ở các phần sau.
Cũng trên 14 chân digital này chúng ta còn một số chân chức năng đó là:
Serial : chân 0 (Rx ), chân 1 ( Tx). Hai chân này dùng để truyền (Tx) và nhận (Rx) dữ
liêu nối tiếp TTL. Chúng ta có thể sử dụng nó để giao tiếp với cổng COM của một số
thiết bị hoặc các linh kiện có chuẩn giao tiếp nối tiếp.
PWM (pulse width modulation): các chân 3, 5, 6, 9, 10, 11 trên bo mạch có dấu “~” là
các chân PWM chúng ta có thể sử dụng nó để điều khiển tốc độ động cơ, độ sáng của
đèn…
SPI : 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK), các chân này hỗ trợ giao tiếp theo
chuẩn SPI.
I2C: Arduino hỗ trợ giao tiếp theo chuẩn I2C. Các chân A4 (SDA) và A5 (SCL) cho
phép chúng tao giao tiếp giửa Arduino với các linh kiện có chuẩn giao tiếp là I2C.
e) Reset (7): dùng để reset Arduino.
2.1.2. Cài đặt chương trình Arduino IDE và Driver cho Arduino
Các bạn truy cập vào trang web http://arduino.cc/en/Main/Software và tải về chương
trình Arduino IDE phù hợp với hệ điều hành của máy mình bao gồm Windown, Mac OS
hay Linux. Đối với Windown có bản cài đặt (.exe) và bản Zip, đối với Zip thì chỉ cần
giải nén và chạy chương trình không cần cài đặt.
Sau khi cài đặt xong thì giao diện chương trình như sau:
Bây giờ bạn click vào Start Menu chọn Control Panel kế đến chúng ta chọn System and
Security, click System và sau đó chọn Device Manager.
Device Manager.
Chúng ta sẽ thấy cảnh báo màu vàng thiếu driver trên Arduino. Click chuột phải trên
Arduino Uno icon sau đó chọn “Update Driver Software”
Click “Next” Windown tự động cài đặt driver, qua trình cài đặt driver hoàn tất.
➢ Arduino IDE
Arduino IDE là nơi để soạn thảo code, kiểm tra lỗi và upload code cho arduino
Arduino IDE.
a) Arduino Toolbar: có một số button và chức năng của chúng như sau :
máy tính
b) Arduino IDE Menu:
IDE Menu
➢ File menu:
File menu.
Trong file menu chúng ta quan tâm tới mục Examples đây là nơi chứa code mẫu ví dụ
Click Examples.
➢ Edit menu:
Edit menu
➢ Sketch menu
Sketch menu
Trong Tool menu ta quan tâm các mục Board và Serial Port
Mục Board : các bạn cần phải lựa chọn bo mạch cho phù hợp với loại bo mà bạn sử
dụng nếu là Arduino Uno thì phải chọn như hình:
Chọn Board
Nếu các bạn sử dụng loại bo khác thì phải chọn đúng loại bo mà mình đang có nếu sai
thì code Upload vào chip sẽ bị lỗi.
Serial Port: đây là nơi lựa chọn cổng Com của Arduino. Khi chúng ta cài đặt driver thì
máy tính sẽ hiện thông báo tên cổng Com của Arduino là bao nhiêu, ta chỉ việc vào
Serial Port chọn đúng cổng Com để nạp code, nếu chọn sai thì không thể nạp code cho
Arduino được.
2.1.3. Hướng dẫn cài đặt bản mô phỏng Arduino trên Proteus.
Để mô phỏng được Arduino trên proteus thì chúng ta cần phải download thư viện arduino
cho proteus. Để có được thư viên này các bạn cần truy cập vào trang web:
http://blogembarcado.blogspot.com/search/label/Proteus
Sau khi download về các bạn chép 2 file ARDUINO.IDX và ARDUINO.LIB vào thư
mục:
Proteus 7:
C:\Program Files (hoặc x86) \Labcenter Electronics\Proteus 7 Professional\LIBRARY
professional\Data\LIBRARY
Trong thư viện này hổ trợ 5 loại board Arduino khác nhau trong đó gồm có Arduino Uno,
MEGA, NANO, LILYPAD và UNO SMD và một cảm biến siêu âm Untrasonic.
Sau khi chép xong chúng ta khởi động Proteus lên vào thư viện linh kiện bằng cách bấm
phím P và gõ từ khoá là ARDUINO chúng sẽ hiện ra danh sách các board hiện có ở đây
tôi chọn Arduino Uno.
SX1278 là module truyền thông có công suất 100mw. Nó làm việc ở dải 433MHZ và
sử dụng cổng Serial để gửi nhận dữ liệu. Khoảng cách truyền tối đa lý tưởng của Module
Lora này đạt được khoảng 3000m. Module này có cơ chế FEC truyền lại khi báo lỗi truyền
tin. Khi truyền tin thì dữ liệu sẽ được mã hóa và giải mã nhằm cải thiện độ tin cậy. Module có
4 chế độ hoạt động với 4 mode truyền khác nhau. Đặc biệt có thể ứng dụng vào các hệ thống
yêu cầu điện năng tiêu thụ rất thấp. Khi ở chế độ power saving mode.
-Model: E32-TTL-100 RF
-IC chính: SX1278 từ SEMTECH.
-Điện áp hoạt đông: 2.3 - 5.5 VDC
Khi có tín hiệu vào TXD thì tín hiệu AUX xuất ra là thấp báo hiệu có tín hiệu truyền
serial. Khi Serial đã gửi xong thì AUX=1 tức là trở lại mức cao như lúc chờ dữ liệu ban đầu.
Trong thiết kế sử dụng cảm biến DHT11. DHT11 là cảm biến nhiệt độ và độ ẩm. Nó
ra đời sau và được sử dụng thay thế cho dòng SHT1x ở những nơi không cần độ chính xác
cao về nhiệt độ và độ ẩm.
• Gửi tin hiệu muốn đo (Start) tới DHT11, sau đó DHT11xác nhận lại.
• Khi đã giao tiếp được với DHT11, Cảm biến sẽ gửi lại 5 byte dữ liệu và nhiệt độ đo
được.
- Bước 1: gửi tín hiệu Start
Kit ESP8266 là kít phát triển dựa trên nền chíp Wifi SoC ESP8266 với thiết kế dễ dàng sử
dụng vì tích hợp sẵn mạch nạp sử dụng chíp CP2102 trên board mạch. Bên trong ESP8266
có sẵn một lõi vi xử lý vì thế có thể trực tiếp lập trình cho ESP8266 mà không cần thêm bất
kì con vi xử lý nào nữa. Hiện tại có hai ngôn ngữ có thể lập trình cho ESP8266 là ngôn ngữ
NodeMCU là bo mạch khai thác khả năng của chíp esp8266. Nó kết hợp các chức năng
của WiFi, vi xử lý và ngôn ngữ LUA.
o IC chính: ESP8266 V1.0 Wifi SoC.
o Phiên bản firmware: NodeMCU Lua.
o Chip nạp và giao tiếp UART: CP2102.
o Cấp nguồn: 5VDC MicroUSB hoặc Vin.
o GIPO giao tiếp mức 3.3VDC.
o Tích hợp Led báo trạng thái, 1 led đơn, nút Reset, Flash.
o Kích thước: 25x50cm.
o Số chân GPIO: 12 chân.
o Chuẩn wi-fi : 2.4 -2.5Ghz hỗ trợ các chuẩn wi-fi 802.11b/g/n.
o Bộ nhớ flash: 4M và hỗ trợ bảo mật WPA/WPA2.
-Sơ đồ nguyên lý
Sơ đồ mạch nguồn.
Mạch nạp cho esp8266 sử dụng ic giao tiếp CP2102 thông qua cổng micro USB.
Đặc điểm các chân của ic:
Chân TXD: chân truyền dữ liệu UART, dùng kết nối đến chân Rx của esp8266.
Chân RXD: chân nhận dữ liệu UART, dùng kết nối đến chân Tx của esp8266.
Chân DTR/RTS: Các chân này dùng để thiết lập lại esp8266.
Tốc độ truyền: 300 bps đến 1,5 Mb / giây.
Khi tác động nút nhấn reset, chân RST của esp8266 sẽ nối xuống nguồn âm nên mạch sẽ
hoạt động lại như trang thái ban đầu.
Sơ đồ chân ic chính.
Để tích hợp thư viện hỗ trợ cho việc lập trình mạch ESP8266 NodeMCU. Lần lượt thực
hiện các bước sau:
• Bước 1: Thêm đường dẫn để tải các package cho NodeMCU vào Arduino IDE.
Khởi động Arduino IDE, từ màn hình chính chọn File → Preferences. Sau đó thêm đường
dẫn bên dưới vào mục Addition Boards Manager URLs.
http://arduino.esp8266.com/versions/2.3.0/package_esp8266com_index.json
Thao tác nạp code cho mạch ESP8266 NodeMCU cũng tương tự như nạp cho mạch
Arduino thông thường. Tuy nhiên, cần lưu ý phải chọn phiên bản phù hợp với board đang sử
dụng bằng menu Tools → Board → lựa chọn board đang sử dụng, ngoài ra cần chọn đúng
COM trên máy tính để nạp được chương trình.
ARDUINO IOT VIETNAM- https://www.facebook.com/groups/486295328966960/
Mời tham gia vào nhóm để cùng nhau chia sẻ tài liệu học tập 37
2.6. Cảm biến ánh sáng (Tsl 2561)
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 có
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 toán nào thông qua giao tiếp I2C .
Thông số:
• IC chính: TSL2561
• 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
• Kích cỡ: 20 x 14mm
Sơ đồ khối ghép nối phấn cứng Node con bao gồm có 4 khối chức năng:
Khối nguồn có nhiệm vụ chính là cung cấp nguồn điện cho toàn bộ mạch điều khiển
bao gồm khối vi điều khiển, khối cảm biến và khối truyền thông.
Khối vi điều khiển MCU ARDUINO UNO R3 sẽ nhận tín hiệu từ cảm biến và gửi bản
tin đến GateWay thông qua module truyền thông SX1278.
Khối cảm biến sẽ lắng nghe thay đổi của môi trường, sau đó sẽ gửi tín hiệu điện áp về
vi điều khiển.
Khối truyền thông có nhiệm vụ gửi các bản tin dữ liệu từ nút con đến Gateway.
Sau khi cấp nguồn cho Node con, vi điều khiển sẽ thực hiện cấu hình các tham số và
cấu hình hệ thống. Sau đó thực hiện đọc giá trị các cảm biến, nếu nhận giá trị các cảm biến
thành công sẽ tiến hành truyền dữ liệu về GateWay. Quá trình này lặp lại đọc dữ liệu cảm
biến.
Khối nguồn có nhiệm vụ chính là cung cấp nguồn điện cho toàn bộ mạch điều khiển
bao gồm khối vi điều khiển, khối cảm biến và khối truyền thông.
Khối vi điều khiển MCU Arduino Uno R3 sẽ nhận tín hiệu từ Module truyền thông
SX1278 rồi chuyển đến ESP8266.
Khối truyền thông sẽ SX1278 nhận bản tin dữ liệu từ Node con khi có tín hiệu dữ liệu
từ vi điều khiển.
Sau khi cấp nguồn cho GateWay, vi điều khiển sẽ tiến hành cấu hình các tham số, cấu
hình hệ thống. Sẽ lắng nghe dữ liệu từ node cảm biến. Sau khi nhận được dữ liệu từ node cảm
biến sẽ tiến hành gửi dữ liệu đó lên database để lưu trữ cơ sở dữ liệu. Sau đó tiến hành nhận
dữ liệu phản hồi điều khiển từ WebServer và điều khiển các thiết bị ngoại vi.
3.2 Thingspeak Webserver lưu trữ dữ liệu và giao diện Website người dùng
Ta thu thập dữ liệu từ KIT, và cần một trang web để có thể theo dõi nó từ xa. Với ví dụ
websever, ta đã sử dụng KIT như một máy chủ web, tuy nhiên ta không thể làm được gì nhiều
với dung lượng Ram của KIT. Vì vậy, bây giờ cần có một công cụ hỗ trợ để có thể lưu trữ dữ liệu
lâu dài và hiển thị dữ liệu một cách trực quan cho người dùng. Có một số trang web cung cấp
máy chủ miễn phí mà ta có thể sử dụng như : Xilely, 2lemetry, exosite, carritots, grovestream,
thingspeak, opennenergymonitor. Ta sẽ chọn Thingspeak cho đề tài này. Thingspeak dễ dàng
đăng ký và dễ dàng sử dụng với người bắt đầu với hệ thống lệnh API đơn giản. Nó có thể lưu
trữ được dữ liệu khá lâu và hiển thị dữ liệu cảm biến bằng đồ thị trực quan.
* Sử dụng Thingspeak:
- Đăng ký một tài khoản tại https://thingspeak.com/users/sign_up, tạo channel để lưu
dữ liệu.
- Sau khi tạo channel, chú ý thông tin quan trọng của channel là API Keys (quyền
đọc/ghi dữ liệu).
- Gửi dữ liệu lên Thingspeak sau khi chạy code, Thingspeak sẽ nhận được data .
Code và file báo cáo trao đổi với quản trị viên The
Pitares của group.
Gmail: khoinguyencvvc@gmail.com
ARDUINO IOT VIETNAM-
https://www.facebook.com/groups/486295328966960/