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

Đo độ rọi sáng bằng cảm biến và gửi lên INTERNET. ESP8266.File word FILE code ở phụ lục

40 409 0

Đ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 40
Dung lượng 6,3 MB

Nội dung

Đo độ rọi sáng bằng cảm biến và lên mạng. File code arduino,ESP8266cảm biến ánh sáng bh1750.Đo độ rọi sáng bằng cảm biến và lên mạng. File code arduino,ESP8266cảm biến ánh sáng bh1750.Đo độ rọi sáng bằng cảm biến và lên mạng. File code arduino,ESP8266cảm biến ánh sáng bh1750.Đo độ rọi sáng bằng cảm biến và lên mạng. File code arduino,ESP8266cảm biến ánh sáng bh1750.

Trang 2

Mục Lục

Lời mở đầu 3

Chương I: Tiêu chuẩn chiếu sáng và Phương pháp 4

1.1 Ánh sáng và các đại lượng quang học 4

1.1.1 Tính chất của ánh sáng 5

1.1.2 Các đơn vị đo quang 5

1.2 Độ rọi sáng tiêu chuẩn tại các khu vực chiếu sáng 6

1.2.1 Tiêu chuẩn ánh sáng trong sản xuất 6

1.2.2 Tiêu chuẩn cường độ ánh sáng nhà ở 7

1.2.3 Tiêu chuẩn cường độ ánh sáng học đường 8

1.3 Phương pháp đo độ rọi sáng 9

1.3.1 Nguyên lý hoạt động của Photodiode 9

1.3.2 Sơ đồ sử dụng 10

1.3.3 Cảm biến BH1750FVI 10

Chương 2: Truyền dữ liệu lên internet 13

2.1 Module Wifi Esp8266 14

2.2 Nền tảng Nodejs 17

2.3 Đưa server ra ngoài internet 18

Chương 3: Thiết kế 19

3.1 Đo giá độ rọi sáng 20

3.2 Gửi dữ liệu lên internet 23

3.3 Thiết kế webserver 26

3.4 Đưa ứng dụng lên Heroku 28

Kết luận 30

Danh mục tài liệu tham khảo 30

Phụ Lục 31

Trang 3

Lời mở đầu

Internet Of Things (IoT) là một trong những lĩnh vực phát triển mạnh mẽ nhất củacuộc cách mạng công nghiệp 4.0 Kỷ nguyên Vạn vật kết nối (IoT) là một kịch bảncủa Thế giới khi mà mỗi thiết bị, vật dụng được gắn kết với phần mềm cảm biến,kết nối mạng, … và tất cả có thể thu thập, truyền tải và trao đổi thông tin, dữ liệu.IoT giúp cho các thiết bị vật dụng có thể được cảm nhận và điều khiển từ xa dựatrên nền tảng hạ tầng công nghệ không dây, công nghệ vi cơ điện tử và internet.Với mục địch tìm hiểu IoT là gì? Dưới sự hướng dẫn của thầy PGS.TS Nguyễn

Quốc Cường, em triển khai thực hiện đề tài Đo độ rọi sáng và đưa dữ liệu lên

internet.

Trang 4

Chương I: Tiêu chuẩn chiếu sáng và Phương pháp

đo độ rọi sáng 1.1 Ánh sáng và các đại lượng quang học

Ánh sáng là các bức xạ điện từ có bước sóng nằm trong vùng quang phổ nhìnthấy được bằng mắt thường (tức là từ khoảng 400 nm đến 700 nm) Giống như mọibức xạ điện từ, ánh sáng có thể được mô tả như những đợt sóng hạt chuyển độnggọi là photon

Ánh sáng do Mặt Trời tạo ra còn được gọi là ánh nắng (hay còn gọi là ánh sángtrắng bao gồm nhiều ánh sáng đơn sắc biến thiên liên tục từ đỏ đến tím); do đèn tạo

ra còn được gọi là ánh đèn (ánh sáng nhân tạo); do các loài vật phát ra gọi là ánhsáng sinh học

“Ánh sáng lạnh” là ánh sáng có bước sóng tập trung gần vùng quang phổ tím “Ánhsáng nóng” là ánh sáng có bước sóng nằm gần vùng đỏ Ánh sáng có quang phổ trảiđều từ đỏ đến tím là ánh sáng trắng; còn ánh sáng có bước sóng tập trung tại vùngquang phổ rất hẹp gọi là “ánh sáng đơn sắc”

Hình 1.1: Phân bố tần số và bước sóng của ánh sáng

Trang 5

Tốc độ của sóng ánh sáng truyền đi trong không gian là c = 299792 km/s.

Trong môi trường có chiết suất n, ánh sáng có vận tốc:

c v n

1.1.2 Các đơn vị đo quang

 Năng lượng bức xạ (Q) là năng lượng phát xạ, lan truyền hoặc hấp thụ

dưới dạng bức xạ, đơn vị đo là J

 Thông lượng ánh sáng () là công suất phát xạ, lan truyền hoặc hấp thụ:

 , đơn vị đo là W/steradian

 Độ chói (L) là tỷ số giữa cường độ ánh sáng từ một phần tử bề mặt dA theo hướng xác định và diện ích hình chiếu của phần tử này lên mặt phẳng P vuông góc với hướng đó :

dI L dA

, đơn vị đo là W/steradianm2, trong đó: dAn = dA.cos (  - góc hợp bởi mặt phẳng P và mặt phẳng chứa

Trang 6

 Độ rọi (E) là tỷ số giữa dòng năng lượng thu được bởi một phần tử bề mặt vàdiện tích của phần tử đó:

d E dA

, đơn vị đo là W/m2 (lux)

1.2 Độ rọi sáng tiêu chuẩn tại các khu vực chiếu sáng

Hệ thống chiếu sáng hợp lý sẽ giúp cho con người quan sát dễ dàng hơn, từ đó hiệuquả lao động, học tập cũng sẽ được cải thiện Mặt khác, các nhà khoa học đã nghiêncứu cho thấy ánh sáng ảnh hưởng đến tâm lý của con người Do vậy, hệ thống chiếusáng nơi làm việc, học tập cần đảm bảo được bố trí đúng tiêu chuẩn để tạo ra tâm lýthoải mái cho người lao động

Tiêu chuẩn Việt Nam TCVN 7114-3:2008 Tiêu chuẩn này quy định về chiếu sángkhu vực làm việc, trong đó bao gồm: độ rọi (E), độ đồng đều của độ rọi, chỉ số hoànmàu của ánh sáng

Mỗi không gian sẽ có mức yêu cầu ánh sáng khác nhau Vì thế độ rọi sáng giữa cáckhu vực cũng có sự khác biệt

1.2.1 Tiêu chuẩn ánh sáng trong sản xuất

a, Tiêu chuẩn chiếu sáng khu vực làm việc

 Yêu cầu ánh sáng phòng làm việc:

 Yêu cầu đầu tiên để đảm bảo thực hiện tốt các công việc trong khu vực làmviệc đó là về chất lượng ánh sáng Ánh sáng tốt sẽ đảm bảo hoạt động củanhân viên diễn ra bình thường Đó là yếu tố quyết định đến năng suất làmviệc của nhân viên Cũng là yếu tố chính thúc đẩy sự phát triển của công ty

 Ánh sáng khu vực làm việc phải đảm bảo đáp ứng cả 04 tiêu chí 04 tiêu chí

đó là hiệu quả – an toàn – tiết kiệm và thẩm mỹ

 Tuy nhiên thực tế cho thấy không phải khu vực làm việc nào cũng đáp ứngđược chất lượng ánh sáng Chính vì thế trong bộ tiêu chuẩn chiếu sáng đãquy định rất rõ về độ rọi yêu cầu trong khu vực làm việc là bao nhiêu Để từ

đó làm cơ sở cho việc thiết kế ánh sáng

Tiêu chuẩn ánh sáng trong phòng làm việc:

Độ rọi yêu cầu (cường độ ánh sáng lux) của từng khu vực trong chiếu sáng không gian làm việc được thê hiện trong bảng 1.1

Trang 7

Bảng 1.1 Tiêu chuẩn chiếu sáng trong khu vực làm việc

STT Không gian chức năng Độ rọi yêu cầu (lux)

b, Tiêu chuẩn chiếu sáng nhà xưởng

Yêu cầu ánh sáng nhà xưởng

 Cũng giống như khu vực làm việc, độ rọi sáng (lux) trong khu vực xưởng sảnxuất cũng là yếu tố quan trọng quyết định đến năng suất lao động

 Thiết kế ánh sáng đủ dùng Độ chói không quá cao đảm bảo sự thoải mái chothị giác

Tiêu chuẩn ánh sáng nhà xưởng:

Bảng 1.2 Tiêu chuẩn chiếu sáng nhà xưởng

STT Không gian chức năng Độ rọi yêu cầu (lux)

2 Khu vực, kiểm tra, phân loại sảnphẩm >=500

3 Khu vực chung của nhà máy >=200

4 Khu vực sản xuất của nhà máy >=300

Trang 8

mới được coi là hệ thống chiếu sáng hoàn hảo.

 Hầu hết chúng ta đều tự thiết kế hệ thống chiếu sáng nhà của mình Chỉ cónhững gia đình có điều kiện kinh tế, hay những ngôi nhà biệt thì mới có sự

hỗ trợ của các kiến trúc sư Vì thế có thể nói rằng phần lớn hệ thống chiếusáng nhà ở đều chưa đạt tiêu chuẩn

 Đó là cơ sở vì sao cần sự giúp đỡ của bộ tiêu chuẩn chiếu sáng nhà ở Đây sẽ

là nền tảng để chúng ta thiết kế hệ thống chiếu sáng nhà ở hoàn hảo hơn

Tiêu chuẩn ánh sáng nhà ở

Bảng 1.3 Tiêu chuẩn chiếu sáng nhà ở

STT Không gian chức năng Độ rọi yêu cầu (lux)

1.2.3 Tiêu chuẩn cường độ ánh sáng học đường

Yêu cầu ánh sáng học đường

 Bảo vệ thị lực đôi mắt chính là điều quan trọng nhất mà hệ thống chiếu sáng học đường hướng đến

 Ánh sáng phải đảm bảo an toàn, không gây chói không gây nhức mắt, mỏi mắt

Tiêu chuẩn ánh sáng học đường cho dưới bảng 1.4

Bảng 1.4 Tiêu chuẩn chiếu sáng nhà xưởng

STT Không gian chức năng Độ rọi yêu cầu (lux)

2 Phòng thí nghiệm, thực hành >=500

Trang 9

4 Phòng thể dục thể thao (bể bơi) >=300

5 Hành lang, sảnh, ban công, cầu thang >= 100

6 Nhà vệ sinh, phòng tắm >= 200

1.3 Phương pháp đo độ rọi sáng

Có nhiều hướng đi để đo độ rọi sáng như dùng tế bào quang dẫn, Phototransistor,Phototransistor trường ứng (PhotoFET), Cảm biến quang phát xạ, Photodiode, …

Trong đề tài này chúng ta chỉ tập trung nghiên cứu sử dụng Photodiode trong việc đo độ rọi sáng

1.3.1 Nguyên lý hoạt động của Photodiode

Photodiode cấu tạo gồm có hai lớp bán dẫn loại n và p (hình 1.1), giữa hai lớp nàytạo nên một vùng hiếm hạt dẫn Nên khi không có nguồn sáng chiếu vào photodiodethì dòng điện qua chuyển tiếp P-N chỉ có dòng điện tối rất nhỏ so với dòng quachuyển tiếp khi photodiode được chiếu sáng Khi chiếu sáng photodiode bằng mộtbức xạ có bước sóng nhỏ hơn bước sóng ngưỡng, do hiệu ứng quang điện tạo ra cặpđiện tử-lỗ trống Dưới tác dụng của điện trường ngược chúng nhanh chóng bị tách

ra và lỗ trống sẽ dịch chuyển về anode còn điện tử dịch chuyển về cathode, làm phátsinh dòng điện I p là tổng dòng quang điện và dòng tối Dòng I p tỉ lệ tuyến tính vớithông lượng hay cũng tuyến tính với độ rọi sáng

Trang 10

Hình 1.2 Nguyên lý hoạt động của Photodiode.

1.3.2 Sơ đồ sử dụng

Dòng Ip tỷ tuyến với thông lượng và độ nhạy phổ được tính như sau:

  1 

x p

Mạch (hình 1.2) cho thấy một mạch chuyển đổi từ tín hiệu dòng điện sang điện áp

sử dụng bộ khuếch đại hoạt động như thiết bị khuếch đại

E- s

Vo

Hình 1.3 Sơ đồ khuếch đại Photodiode

Điện Vo được tính như sau:

Trong đề tài cảm được lựa chọn để đo độ rọi sáng là cảm biến BH1750FVI

BH1750FVI là một cảm biến ánh sáng số sử dụng photodiode, dữ liệu đầu ra được truyền tải thông qua bus I2C Cấu trúc của cảm biến cho dưới hình 1.3

R2

+ -

RmI

R1

p

Trang 11

bộ chuyển tín hiệu tương tự sang tín hiệu số

 Logic + I2C Interface

Khối tính toán giá trị độ rọi sáng và bộ tạo giao tiếp I2c

 OSC

Khối tạo xung clock nội

 Cách thức đọc giá trị độ rọi sáng từ cảm biến BH1750FVI

Địa chỉ của cảm biến trong BUS I2C được xác định như sau:

Nếu chân ADDR nối lên mức cao, cảm biến có địa chỉ là “1011100“

Nếu chân ADDR nối lên mức thấp, cảm biến có địa chỉ là “0100011“

Cấu trúc bản tin gửi từ vi xử lý lên cảm biến để lấy kết đo như sau:

Bước 1:

Trang 12

t 7bit địa chỉ cảm biến R/W1 bit Ack

Mã lệnh(opecode) Ack Stop

Gửi tín hiệu Start từ vi xử lý, sau đó gửi 1byte dữ liệu trong đó 7bit cao là địa chỉ

của cảm biến và bit cuối cùng bit R/W (“1” là đọc dữ liệu từ cảm biến, “0” là ghi dữliệu lên cảm biến) Đợi tín hiệu phản hồi Ack từ cảm biến, tiếp tục gửi mã lệnh để

thiết lập các chế độ đo cho cảm biến (mã lệnh ở Bảng 1.5) Gửi tín hiệu Stop để kết

thúc

Bước 2:

Start 7bit địa chỉ cảm biến R/W

1 bit Ack Byte cao AckByte thấp Ack Stop

Sau khi cấu hình xong cho cảm biến ta tiến hành đọc dữ liệu đo được Gửi tín hiệu

Start, 1byte gồm 7bit địa chỉ cảm biến và 1 bit R/W Tiến hành đọc lần lượt 2 byte

mà cảm biến trả về, cuối cùng là gửi tín hiệu Stop

Giá trị đọc được chia cho 1.2 ra được độ rọi sáng thu được từ cảm biến

Bảng 1.5 Mã lệnh điều khiển cảm biến

Trang 14

Chương 2: Truyền dữ liệu lên internet

Với mong muốn là đưa dữ liệu đo được từ cảm biến lên internet, từ đó ta có thể thu thập dữ liệu và đưa ra các điều chỉnh đối với các thiết bị ở hiện trường một cách dễ dàng thuận tiện thông qua kết nối mạng Với đề tài này ta sẽ sử dụng một loai vi xử

lí có tích hợp sẵn module wifi là Esp8266 làm thiết bị trung gian trung chuyển dữ liệu từ cảm biến lên internet

Hình 2.1 Mô hình truyền tải dữ liệu qua internet

Như Hình 2.1 mô tả cấu trúc của mô hình internet of thing thì Esp8266, Mobile, PC/Laptop là các Client có chức năng truyền tải dữ liệu lên server, và hiển thị các dữliệu cần thiết Server thực chất là một phần mềm có chức năng thu nhận các dữ liệu,các yêu cầu từ phía Client, Server sẽ xử lý các yêu cầu sau đó gửi trả lại kết quả choClient

Để có thể kết nối giữa Server và Client thì giữa chúng cần có một giaothức(protocol) Có nhiều giao thức Server và Client như: HTTP sử dụng trong dịch

vụ web; FTP, MQTT sử dụng trong dịch vụ truyền file, trong đề tài này chỉ sử dụnggiao thức HTTP (HyperText Transfer Protocol) HTTP là giao thức truyền tải siêuvăn bản được sử dụng trong www dùng để truyền tải dữ liệu giữa Web server đếncác trình duyệt Web và ngược lại

Esp8266

Trang 15

2.1 Module Wifi Esp8266

Module Wifi Esp8266 thiết bị giá rẻ được sử dụng rộng rãi trong các hệ thống IoT.ESP8266 (Hình 2.2) là một vi xử lí hợp cao - System on Chip (SoC), có khả năng

xử lý và lưu trữ tốt, cung cấp khả năng vượt trội để trang bị thêm tính năng wifi chocác hệ thống khác hoặc đóng vai trò như một giải pháp độc lập Modulewifi ESP8266 cung cấp khả năng kết nối mạng wifi đầy đủ và khép kín, có thể sửdụng nó để tạo một web server đơn giản hoặc sử dụng như một access point

Hình 2.2 Dạng đóng gói và cấu trúc của Module Wifi Esp8266

 Các thông số cơ bản của Module Wifi Esp8266:

 CPU của module là loại Tensilica L106 32-bit RISC processor, có tốc độ tối

đa là 160Mhz

 Bộ nhớ Ram tối đa là 50kB, bộ nhớ Rom 1MB

 Có đầy đủ các module thông dụng như các vi điều khiển thịnh hành như: UART, ADC, PWM, I2C, SPI, …

 Hỗ trợ chuẩn Wifi 802.11 b/g/n, Wifi 2.4 GHz, hỗ trợ WPA/WPA2

 Chuẩn điện áp hoạt động 3.3V

a

Trang 16

 Có 3 chế độ hoạt động: Client, Access Point, Both Client and Access Point

 Hỗ trợ các chuẩn bảo mật như: OPEN, WEP, WPA_PSK, WPA2_PSK, WPA_WPA2_PSK

 Hỗ trợ cả 2 giao tiếp TCP và UDP

 Tích hợp công suất thấp 32-bit CPU có thể được sử dụng như là bộ vi xử lý ứng dụng

 SDIO 1.1 / 2.0, SPI, UART

 Làm việc như các máy chủ có thể kết nối với 5 máy trạm

Để dễ dàng cho việc nạp chương trình và sử dụng module Esp8266 được tích hợpthêm chip nap CP2102 được phát triển thành một kit có tên là NodeMCU có sơ đồchân như Hình 2.3

Hình 2.3 Sơ đồ chân của kit phát triển NodeMCU

 Phần mềm lập trình cho Esp8266

Esp8266 có hai cách để lập trình:

 Dùng tập lệnh AT mà nhà sản xuất đưa ra để cấu hình cũng như truyền nhận

dữ liệu qua Esp8266 Lệnh AT được nạp vào Esp8266 từ một vi xử lí hoặc từ

Trang 17

máy tính thông chuẩn giao tiếp UART Phương pháp hiện tại không cònđược sử dụng nhiều trong lập trình Esp8266 bởi thời gian nạp lệnh AT khálớn, bất tiện trong việc lập trình cho các vi xử lí, ….

 Để khắc phục các khó khăn khi sử dụng tập lệnh AT để lập trình choEsp8266 ta đưa ra các giải pháp mới là ta lập trình Esp8266 như các vi điềukhiển thông thường và sử dụng trình biên dịch Arduino IDE để lập trình

Hình 2.4 Trình biên dịch Arduino IDE

Trang 18

2009, bảo trợ bởi công ty Joyent, trụ sở tại California, Hoa Kỳ Phần Core bên dướicủa Nodejs được viết hầu hết bằng C++ nên cho tốc độ xử lý và hiệu năng khá cao.Nodejs tạo ra được các ứng dụng có tốc độ xử lý nhanh, realtime thời gian thực.Các ứng dụng có thể và nên viết bằng Nodejs:

 Websocket server: Các máy chủ web socket như là Online Chat, GameServer…

 Fast File Upload Client: là các chương trình upload file tốc độ cao

 Ad Server: Các máy chủ quảng cáo

 Cloud Services: Các dịch vụ đám mây

Trang 19

 RESTful API: đây là những ứng dụng mà được sử dụng cho các ứng dụngkhác thông qua API.

 Any Real-time Data Application: bất kỳ một ứng dụng nào có yêu cầu về tốc

độ thời gian thực Micro Services: Ý tưởng của micro services là chia nhỏmột ứng dụng lớn thành các dịch vụ nhỏ và kết nối chúng lại với nhau.Nodejs có thể làm tốt điều này

Trong đề tài sử Nodejs để thiết kế một Websocket server: Để có thể sử dụng đượcNodejs đầu tiên ta phải dowload và cài đặt môi trường Nodejs cho máy tính Sửdụng các trình biên dịch như Visual Studio Code, Adobe Dreamweave, sublime text,Notepad, … để viết code cho server

2.3 Đưa server ra ngoài internet

Sau khi viết được server Nodejs để có sử dụng server đó ở mọi nơi thì ta cần phảiđưa server đó ra ngoài internet.Và Heroku là một nền tảng làm được điều đó.Heroku là một nền tảng đám mây dựa trên ứng dụng container dưới dạng dịchvụ(PaaS) và Heroku cung cấp phương tiện để các nhà phát triển dễ dàng đưa cácứng dụng của họ ra ngoài thị trường

Trang 21

3.1 Đo giá độ rọi sáng

Sơ đồ kết nối giữa cảm biến BH1750 với Arduino được mô tả hình 3.2

Hình 3.2 Cách kết nối giữa Arduino và BH1750

Cảm biến BH1750 gai tiếp với arduino thông qua chuẩn I2C

Cách đọc giá trị độ rọi sáng từ cảm biến bằng chuẩn I2C trong Arduino như sau:Bước 1:

Star

t 0100011 0 Ack Mã lệnh (opecode) Ack StopBước 2:

Byte thấp Ack Stop

Trang 22

while (!(TWCR & (1<<TWINT)));

Gửi tín hiệu Start.

Trong đó:

 1<<TWINT: Bit TWINT của thanh ghi TWCR được set khi công việc hoàn tất Ghi “1” vào bit này để clear

 1<<TWSTA: Ghi “1” vào bit TWSTA để bắt đầu chuyển đổi

 1<<TWEN: Cho phép Module I2C hoạt động

 while (! (TWCR & (1<<TWINT))): đợi khi cờ TWINT được set.

TWDR=0x46;

TWCR = (1<<TWINT) |(1<<TWEN);

while (!(TWCR & (1<<TWINT)));

 TWDR=0x46: 0x46=01000110B, với 7 bit đầu là địa chỉ của cảm biến

 TWCR = (1<<TWINT) |(1<<TWEN): Clear cờ ngắt.

 while (! (TWCR & (1<<TWINT))): đợi khi

cờ TWINT được set.

TWDR=0x10;

TWCR = (1<<TWINT) |(1<<TWEN);

while (!(TWCR & (1<<TWINT)));

 Gửi mã lệnh 0x10 = 00010000B lên cảm biến Cấu hình cảm biến đo giá trị có độ phân giải 1 lux, thời gian đo là 120ms Các

mã lệnh cấu hình cho cảm biến cho bảng 1.5

 TWCR = (1<<TWINT) |(1<<TWEN): Clear cờ ngắt.

 while (! (TWCR & (1<<TWINT))): đợi khi

cờ TWINT được set.

Ngày đăng: 14/11/2019, 18:35

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w