Thứ nhất, web server phải lưu trữ các file của website nó là tất cả các file HTML và các file liên quan đến nó nó như css và javascript, fonts và các video ...
Về mặt kỹ thuật thì bạn có thể lưu trữ tất cả các file đó trên máy tính của mình, nhưng để thuận tiện hơn thì chúng ta nên lưu trữ dữ liệu đó trên các web server riêng rẽ có các đặc tính sau:
- Luôn chạy và hoạt động liên tục. - Luôn ln kết nối với internet. - Ln có trung một địa chỉ IP.
- Được bảo trì bởi một bên cung cấp thứ 3.
Vì tất cả các lý do trên việc tìm một nhà cung cấp host tốt là một phần quan trọng trong việc phát triên websites. Hiện có rất nhiều cơng ty cung cấp các giải pháp hosting cho việc phát triển web bạn chỉ cần chọn một trang web tốt phù hợp với ngân sách của bạn
2.5. TỔNG QUAN VỀ ARDUINO NANO
Hiện nay Arduino được biết đến ở Việt Nam rất rộng rãi. Từ học sinh trung học, đến sinh viên và người đi làm. Những dự án nhỏ và lớn được thực hiện một cách rất nhanh, các mã nguồn mở được chia sẻ nhiều trên diễn dàn trong nước và nước ngồi. Giúp ích rất nhiều cho những bạn theo đam mê nghiên cứu chế tạo những sản phẩm có ích cho xã hội.
NGHIÊN CỨU MẠNG LORA ỨNG DỤNG VÀO QUAN TRẮC KHÍ HẬU Ở KHU VỰC HỊA KHÁNH
Sinh viên thực hiện: NGUYỄN NGỌC TRƯỜNG Người hướng dẫn: TH.S TRẦN DUY CHUNG 24
Hiện nay trên thị trường có rất nhiều phiên bản Arduino như Arduino Uno R3, Arduino Uno R3 CH340, Arduino Mega2560, Arduino Nano, Arduino Pro Mino, Arduino Lenadro, Arduino Industrial....
Hình 2.13 Các loại Arduino thơng dụng
Arduino Uno là một board mạch vi điều khiển được phát triển bởi Arduino.cc, một nền tảng điện tử mã nguồn mở chủ yếu dựa trên vi điều khiển AVR Atmega328P. Với Arduino chúng ta có thể xây dựng các ứng dụng điện tử tương tác với nhau thông qua phần mềm và phần cứng hỗ trợ. Khi arduino chưa ra đời, để làm được một dự án điện tử nhỏ liên quan đến lập trình, biên dịch, chúng ta cần đến sự hỗ trợ của các thiết bị biên dịch khác để hỗ trợ. Ví dụ như, dùng Vi điều khiển PIC hoặc IC vi điều khiển họ 8051..., chúng ta phải thiết kế chân nạp onboard, hoặc mua các thiết bị hỗ trợ nạp và biên dịch như mạch nạp 8051, mạch nạp PIC...
Trong những năm qua, Arduino là bộ não cho hàng ngàn dự án điện tử lớn nhỏ, từ những sản phẩm ra đời ứng dụng đơn giản trong cuộc sống đến những dự án khoa học phức tạp. Cứ như vậy, thư viện mã nguồn mở ngày một tăng lên, giúp ích cho rất nhiều người mới biết đến Arduino cũng như những chuyên viên lập trình nhúng và chuyên gia cùng tham khảo và xây dựng tiếp nối....
Thiết kế điều khiển thiết bị thông qua cảm biến ánh sáng, Đo nồng độ hóa chất, khí ga và xử lý thơng qua cảm biến nồng độ và cảm biến khí, Làm 1 con robot mini, hay quản lý tắt mở thiết bị điện trong nhà, và điều khiển motor, nhận dạng ID, Khó hơn xíu là làm một máy CNC hoặc máy in 3D mini, máy bay không người lái ( Flycam) một hệ thống thu thập dữ liệu thông qua GSM, xử lý ảnh,điều khiển vạn vật thông qua internet giao tiếp với điện thoại thông minh...
Để làm được điều đó, từ đơn giản đến phức tạp bạn cần sử dụng ngơn ngữ lập trình Arduino dựa trên sơ đồ, hệ thống của bạn thiết kế, thông qua phần mềm Arduino IDE, để thực hiện những yêu cầu đó đưa về bộ phận xử lý trung tâm ( Arduino).
NGHIÊN CỨU MẠNG LORA ỨNG DỤNG VÀO QUAN TRẮC KHÍ HẬU Ở KHU VỰC HÒA KHÁNH
Sinh viên thực hiện: NGUYỄN NGỌC TRƯỜNG Người hướng dẫn: TH.S TRẦN DUY CHUNG 25
Đây là thông số kĩ thuật của Arduino:
Vi điều khiển ATmega328 họ 8bit
Điện áp hoạt động 5V DC (chỉ được cấp qua cổng USB)
Tần số hoạt động 16 MHz
Dòng tiêu thụ khoảng 30mA
Điện áp vào khuyên dùng 7-12V DC Điện áp vào giới hạn 6-20V DC
Số chân Digital I/O 14 (6 chân hardware PWM) Số chân Analog 6 (độ phân giải 10bit) Dòng tối đa trên mỗi chân I/O 30 mA
Dòng ra tối đa (5V) 500 mA Dòng ra tối đa (3.3V) 50 mA
Bộ nhớ flash 32 KB (ATmega328) với 0.5KB dùng bởi bootloader
SRAM 2 KB (ATmega328)
EEPROM 1 KB (ATmega328)
Bảng 1 Bảng thông số kỹ thuật Arduino
❖ Arduino Nano:
Arduino Nano USB Mini là board mạch sử dụng vi điều khiển ATmega328P hoặc ATmega168 tích hợp các chân I/O đơn giản nhỏ gọn dựa trên mã nguồn mở được phát triển bởi Arduino.cc, có lợi thế lớn về kích thước so với phiên bản Arduino Uno và Arduino Mega. Arduino Nano có thể hoạt động độc lập và tương tác hiệu quả với các thiết bị điện tử, cũng có thể giúp những người mới tìm hiểu về Arduino có thể kết nối với PC, phối hợp với Flash, Xử lý, Max / Msp, PD, và các phần mềm khác một cách dễ dàng. Điều này giúp Arduino Nano là sự lựa chọn ưa thích khi muốn thực hiện một projects mà yếu cầu kết nối với các thiết bị ngoại vi ít và đơn giản.
NGHIÊN CỨU MẠNG LORA ỨNG DỤNG VÀO QUAN TRẮC KHÍ HẬU Ở KHU VỰC HỊA KHÁNH
Sinh viên thực hiện: NGUYỄN NGỌC TRƯỜNG Người hướng dẫn: TH.S TRẦN DUY CHUNG 26
Hình 2.14 Arduino Nano
Các chức năng rất giống giống với phiên bản Arduino Uno nhưng kích thước nhỏ gọn hơn. Arduino Nano hoạt động với điện áp 5V. Tuy nhiên nguồn cấp điện áp đầu vào có thể thay đổi từ 7 đến 12V. Arduino Nano bo gồm tất cả 14 chân Digital, 8 chân Analog, 2 chân Reset và 6 chân Nguồn.
Mỗi chân Digital và Analog có thể thực hiện với nhiều chức năng khác nhau nhưng chức năng chính vẫn là được mặc định cấu hình làm đầu vào (Input) hoặc đầu ra ( Output). Khi giao tiếp với cảm biến các chân Digital / Analog đóng vai trị chân Input, Và khi sử dụng để điều khiển động cơ, tạo xung, kích dẫn relay, thiết bị chuyển mạch thì các chân Digital / Anologs đống vai trò Output.
Các hàm cơ bản như pinMode() và digitalWrite() được sử dụng để điều khiển hoạt động của các chân Digital trong khi analogRead() được sử dụng để điều khiển các chân Analog. Các chân Analog có độ phân giải 10 bit, giá trị thay đổi từ 0V đến 5V. Arduino Nano tích hợp Thạch anh dao động với tần số 16 MHz. Nếu sử dụng Arduino Nano để thực hiện một projects liên quan đến đồng hồ số thì độ chính xác trong dao động tần số rất cao, có một hạn chế khi sử dụng Arduino Nano đó là khơng đi kèm giắc nguồn DC, có nghĩa là khơng thể cung cấp nguồn điện bên ngồi thông qua các chân Arduino Nano như các phiên bản Arduino Uno và Arduino Mega. Phải cắm trực tiếp thông qua cổng USB Mini.Board mạch Arduino Nano không sử dụng cổng USB chuẩn thường dùng để kết nối với máy tính, thay vào đó Arduino Nano chỉ hỗ trở cổng USB Mini để kết nối
Với Kích thước nhỏ gọn và các tính năng giống với phiên bản Arduino Uno nên Arduino Nano trở thành một lựa chọn lý tưởng cho hầu hết các ứng dụng thực hiện các projects trong đó kích thước của các thành phần điện tử được tối ưu.Bộ nhớ flash là 16KB hoặc 32KB, phụ thuộc vào Vi điều khiển Atmega, tức là Atmega168 đi có bộ nhớ flash 16KB trong khi Atmega328 đi có bộ nhớ flash là 32KB. Bộ nhớ flash được sử
NGHIÊN CỨU MẠNG LORA ỨNG DỤNG VÀO QUAN TRẮC KHÍ HẬU Ở KHU VỰC HỊA KHÁNH
Sinh viên thực hiện: NGUYỄN NGỌC TRƯỜNG Người hướng dẫn: TH.S TRẦN DUY CHUNG 27
dụng để lưu trữ mã hóa dữ liệu. Bộ nhớ 2KB trong tổng số bộ nhớ flash được sử dụng cho chương trình khởi động gọi là Bootloader. Bộ nhớ SRAM có thể thay đổi từ 1KB hoặc 2KB và EEPROM tương ứng là 512 byte hoặc 1KB đối với Atmega168 và Atmega328.
2.6. TỔNG QUAN VỀ GETWAY
Gateway là một nút mạng được sử dụng trong viễn thơng nhằm kết nối hai mạng có giao thức truyền thơng khác nhau có thể giao tiếp được với nhau. Gateway có vai trị xử lý đầu vào và ra của mạng vì tất cả dữ liệu phải đi qua hoặc giao tiếp với gateway trước khi được định tuyến. Trong hầu hết các mạng IP, lưu lượng duy nhất không đi qua gateway là lưu lượng truyền giữa các nút trên cùng một phân đoạn mạng cục bộ (LAN). Thuật ngữ default gateway hoặc network gateway cũng có thể được sử dụng để mơ tả khái niệm trên.
Gateway được sử dụng chủ yếu trong các tình huống cá nhân hoặc doanh nghiệp muốn đơn giản hóa việc kết nối internet cho một thiết bị. Trong doanh nghiệp, một gateway cũng có thể hoạt động như một máy chủ proxy và tường lửa.
Hình 2.15 Giao thức truyền thơng Gateway
Tất cả các mạng đều có một ranh giới và giới hạn giao tiếp với các thiết bị được kết nối trực tiếp với nó. Do đó, nếu một mạng muốn giao tiếp với các thiết bị, nút hoặc mạng bên ngồi ranh giới đó, chúng u cầu chức năng của một gateway. Một gateway thường có những đặc trưng của sự kết hợp giữa router và modem.
NGHIÊN CỨU MẠNG LORA ỨNG DỤNG VÀO QUAN TRẮC KHÍ HẬU Ở KHU VỰC HÒA KHÁNH
Sinh viên thực hiện: NGUYỄN NGỌC TRƯỜNG Người hướng dẫn: TH.S TRẦN DUY CHUNG 28
Gateway hoạt động bên cạnh một mạng và quản lý tất cả dữ liệu được chuyển hướng nội bộ hoặc bên ngồi từ mạng đó. Khi một mạng muốn giao tiếp với mạng khác, gói dữ liệu được chuyển đến gateway và sau đó được chuyển đến đích thơng qua đường truyền hiệu quả nhất. Ngoài dữ liệu định tuyến, một gateway cũng sẽ lưu trữ thông tin về đường dẫn nội bộ của mạng chủ và đường dẫn của bất kỳ mạng bổ sung nào gặp phải. Gateway về cơ bản là bộ chuyển đổi giao thức, tạo điều kiện tương thích giữa hai giao thức và hoạt động trên bất kỳ lớp nào của mơ hình kết nối hệ thống mở (OSI).
Gateway có nhiều loại, nhiều định dạng và thực hiện nhiều nhiệm vụ khác nhau: - Web application firewalls (tường lửa web): loại này lọc lưu lượng truy cập đến và
từ máy chủ web và xem xét dữ liệu lớp ứng dụng.
- Cloud storage gateways (lưu trữ đám mây): loại này dịch các yêu cầu lưu trữ với các lệnh gọi API dịch vụ lưu trữ đám mây khác nhau. Nó cho phép các tổ chức tích hợp lưu trữ từ private cloud vào các ứng dụng mà không cần di chuyển vào public cloud.
- API, SOA hay XML gateways: loại này quản lý lưu lượng truy cập vào và ra khỏi dịch vụ, kiến trúc hướng dịch vụ vi mô hoặc dịch vụ web dựa trên nền tảng XML. - IoT gateways: loại này tổng hợp dữ liệu từ các thiết bị cấp hiện trường (cảm biến,..) trong môi trường IoT, chuyển đổi giữa các giao thức cảm biến và xử lý dữ liệu cảm biến trước khi gửi đi.
- Media gateways: loại này chuyển đổi dữ liệu từ định dạng của một loại mạng sang định dạng cho một loại mạng khác.
- Email security gateways (bảo mật email): loại này ngăn chặn việc truyền các email vi phạm chính sách của cơng ty hoặc chuyển thơng tin với mục đích xấu.
- VoIP trunk gateways: loại này tạo sự thuận lợi cho việc sử dụng các thiết bị dịch vụ điện thoại cũ đơn thuần, chẳng hạn như điện thoại cố định và máy fax, với mạng thoại qua IP (VoIP).
2.7. GIỚI THIỆU VỀ CẢM BIẾN 2.7.1.Cảm biến ánh sáng BH1750 2.7.1.Cảm biến ánh sáng BH1750
BH1750 là mạch cảm biến cường độ ánh sáng với bộ chuyển đổi AD 16 bit tích hợp trong chip và có thể xuất ra trực tiếp dữ liệu theo dạng digital. Cảm biến khơng cần bộ tính tốn cường độ ánh sáng khác.
BH1750 sử dụng đơn giản và chính xác hơn nhiều lần so với dùng cảm biến quang trở để đo cường độ ánh sáng với dữ liệu thay đổi trên điện áp dẫn đến việc sai số cao.
Cảm biến cường độ ánh sáng BH1750 Digital Light Sensor được sử dụng để đo cường độ ánh sáng theo đơn vị lux, càm biến có ADC nội và bộ tiền xử lý nên giá
NGHIÊN CỨU MẠNG LORA ỨNG DỤNG VÀO QUAN TRẮC KHÍ HẬU Ở KHU VỰC HỊA KHÁNH
Sinh viên thực hiện: NGUYỄN NGỌC TRƯỜNG Người hướng dẫn: TH.S TRẦN DUY CHUNG 29
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 2.16 Cảm biến ánh sáng BH1750
Độ rọi của ánh sáng:
• Vào buổi tối : 0.001 – 0.02 Lux • Ánh trăng : 0.02 – 0.3 lux
• Trời nhiều mây trong nhà : 5 – 50 lux
• Trời nhiều mây ngồi trời : 50 – 500 lux • Trời nắng trong nhà : 100 – 1000 lux
• Ánh sáng cần thiết để đọc sách: 50 – 60 lux
NGHIÊN CỨU MẠNG LORA ỨNG DỤNG VÀO QUAN TRẮC KHÍ HẬU Ở KHU VỰC HÒA KHÁNH
Sinh viên thực hiện: NGUYỄN NGỌC TRƯỜNG Người hướng dẫn: TH.S TRẦN DUY CHUNG 30
Hình 2.17 Ngun lí hoạt động BH1750
2.7.2.Cảm biến áp suất
BMP 280 là cảm biến đo áp suất khí quyển tuyệt đối kỹ thuật số của Bosch Sensortec. Cảm biến này được thiết kế đặc biệt cho các ứng dụng di động, nơi kích thước nhỏ và tiêu thụ điện năng thấp là rất quan trọng.Chúng ta có thể sử dụng nó trong các ứng dụng khác nhau của mình bao gồm cả ứng dụng với Arduino.
Hình 2.18 Cảm biến áp suất
BMP 280 dựa trên công nghệ cảm biến áp suất điện trở áp, có độ chính xác cao, tuyến tính và ổn định với độ mạnh của EMC.
BMP 280 có thể được sử dụng trong các ứng dụng khác nhau như Nâng cao hệ thống định vị GPS, Điều hướng trong nhà như Phát hiện tầng và phát hiện thang
NGHIÊN CỨU MẠNG LORA ỨNG DỤNG VÀO QUAN TRẮC KHÍ HẬU Ở KHU VỰC HỊA KHÁNH
Sinh viên thực hiện: NGUYỄN NGỌC TRƯỜNG Người hướng dẫn: TH.S TRẦN DUY CHUNG 31
máy, Điều hướng ngoài trời, Ứng dụng thể thao, Dự báo thời tiết, Chỉ báo vận tốc dọc, v.v.
Cảm biến có hai loại giao diện giao tiếp - I2C và SPI, qua đó bạn có thể trích xuất dữ liệu cảm biến.Về cơ bản, chúng ta có thể vận hành cảm biến ở hai chế độ. 1. Chế độ Bình thường - Ở chế độ này, cảm biến sẽ tự động quay vòng giữa một chu kỳ chờ nad của phép đo. Chế độ này thường được sử dụng với bộ lọc IIR tích hợp khi có nhiễu ngắn hạn trong quá trình đo thơng thường.
2. Chế độ cưỡng bức - Trong chế độ này, cảm biến thực hiện một phép đo duy nhất theo yêu cầu và sau đó trở về chế độ nghỉ. Điều này phù hợp nhất với các trường hợp chúng tơi thăm dị dữ liệu bất cứ khi nào chúng tôi yêu cầu. Điều này thường được sử dụng trong các ứng dụng yêu cầu tốc độ lấy mẫu thấp như theo dõi thời tiết.
Ngồi ra cịn có một tính năng mà chúng ta có thể lấy mẫu quá mức cho phép đo áp suất và nhiệt độ. Tùy thuộc vào ứng dụng và yêu cầu công suất, chúng ta có thể đặt tỷ lệ lấy mẫu quá mức là 1,2,4,8 hoặc 16. Có các cài đặt mặc định dễ dàng, được tối ưu hóa để phục vụ một số trường hợp ví dụ như theo dõi thời tiết, điều hướng trong nhà, phát hiện rơi, phát hiện độ cao.
Vì kích thước của cảm biến rất nhỏ và rất khó xử lý đối với bất kỳ người u thích nào, chúng tơi phải sử dụng mô-đun cảm biến áp suất BMP 280, có tất cả các kết nối cần thiết ở đầu nối chân cắm bình thường 2,54 mm.
2.7.3.Cảm biến mưa
a. Giới thiệu
Cảm biến mưa được thiết kế đơn giản gồm: một lá chắn để nhận biết có mưa hoặc có nước xuất hiện tên bề mặt của lá chắn và phần module chuyển đổi tín hiệu giúp giao tiếp với các board mạch vi điều khiển, lẫn led báo hiệu để nhận biết trạng thái trên lá chắn.
NGHIÊN CỨU MẠNG LORA ỨNG DỤNG VÀO QUAN TRẮC KHÍ HẬU Ở KHU VỰC HỊA KHÁNH