TỔNG QUAN
TÌNH HÌNH NGHIÊN CỨU
Hiện nay, sự phát triển của khoa học công nghệ đã thúc đẩy nhu cầu áp dụng kỹ thuật vào ngôi nhà của mỗi người, nâng cao tiện nghi và chất lượng cuộc sống Việc phát triển các bộ điều khiển thông minh trở nên quan trọng và cấp thiết, đặc biệt tại Việt Nam, nơi ngày càng nhiều dự án về “Ngôi nhà thông minh” và các đề tài liên quan đến điều khiển thiết bị điện trong nhà được chú ý.
Hình 1.1 Mô hình ngôi nhà thông minh hiện nay
Mặc dù có tiềm năng, nhưng việc triển khai các hệ thống điều khiển thông minh gặp khó khăn do giá cả cao, chi phí điều khiển chưa được tối ưu và giao diện người dùng chưa thân thiện Trong những năm trước, sinh viên thường nghiên cứu các giải pháp điều khiển thông minh như điều khiển qua tin nhắn điện thoại và qua tần số vô tuyến, sử dụng các cảm biến phổ biến như cảm biến nhiệt độ, cảm biến khói và cảm biến khí gas Họ cũng ứng dụng công nghệ RFID, lập trình trên hệ điều hành Android và chủ yếu sử dụng vi điều khiển PIC.
Ngành công nghiệp điện tử đang phát triển mạnh mẽ với sự ra đời của nhiều dòng vi xử lý từ các hãng nổi tiếng như STMicroelectronics, Microchip, Atmel và Intel, bao gồm các vi xử lý 8 bit, 16 bit và 32 bit được ứng dụng rộng rãi STMicroelectronics đã giới thiệu nhiều vi điều khiển 32 bit dựa trên bộ xử lý Cortex-M4, giúp dễ dàng phát triển ứng dụng, giảm chi phí và tiết kiệm năng lượng Nhận thấy ưu điểm của vi xử lý Arm Cortex-M4, nhóm nghiên cứu quyết định phát triển sản phẩm "Smart Cube" - một chiếc hộp thông minh có khả năng điều khiển thiết bị điện trong nhà từ xa qua ứng dụng Android hoặc website “www.smartcube.ga”, cũng như trực tiếp trên màn hình cảm ứng tích hợp Sản phẩm nhằm đáp ứng nhu cầu về tiện nghi, hiệu quả và dễ sử dụng, mang công nghệ IoT đến gần hơn với người dùng.
MỤC TIÊU NGHIÊN CỨU
Trong đề tài này sẽ nghiên cứu về:
Thiết kế hệ thống điều khiển các thiết bị trong nhà thông qua các trạm cảm biến
- Truyền nhận xử lí thông tin và đưa lên webservice
- Thiết kế trạm cảm biến đo nhiệt độ, độ ẩm, ánh sáng, âm thanh, đo khói, khí gas
- Thiết kế hệ thống robot xe để kết hợp với sản phẩm trong việc di chuyển và giám sát
- Thiết kế ứng dụng android điều khiển từ xa
- Thiết kế webservice điều khiển, tính toán các kết quả thu về để lưu trữ
Ứng dụng kiến thức về vi xử lý để thu thập dữ liệu từ cảm biến nhiệt độ và độ ẩm, đồng thời truyền thông tin từ các cảm biến này về hệ thống chính.
GIỚI HẠN ĐỀ TÀI
Trong thời gian giới hạn để hoàn thành đồ án, kết hợp với kiến thức đã tích lũy trong quá trình học tập, đề tài chỉ thực hiện ở quy mô mô hình, do đó sẽ gặp một số giới hạn nhất định.
- Sử dụng các mạch wifi nên các kết nối khá chậm và có thể bị ngắt kết nối khi xảy ra sự cố hệ thống
GLCD là màn hình cảm ứng điện trở, tuy nhiên, tốc độ thao tác xử lý trên loại màn hình này thường chậm, dẫn đến việc hoàn thành các sự kiện có thể mất nhiều thời gian Ngoài ra, màn hình này cũng có nguy cơ bị treo khi phải thực hiện nhiều lệnh cùng một lúc.
Việc sử dụng các mạch tích hợp đa chức năng có thể ảnh hưởng đến độ chính xác của khả năng định vị GPS, đặc biệt ở những khu vực có nhiều vật cản và chưa được xác định trên Google Map.
ĐỐI TƯỢNG VÀ PHẠM VI NGHIÊN CỨU
- Mạng không dây của module ESP8266, A7
- Lập trình webside và ứng dụng trên android
- Điều kiện môi trường sống (độ ẩm, nhiệt độ…) của người
- Xây dựng website sử dụng dữ liệu từ cơ sở dữ liệu thu thập từ khối xử lý trung tâm
- Nhận, xử lý dữ liệu từ cảm biến của từng khu vực đưa lên website
PHƯƠNG PHÁP NGHIÊN CỨU
Để thực hiện đề tài nhóm nghiên cứu đã sử dụng những phương pháp:
- Phân tích, tổng hợp lý thuyết
- Khảo sát các mô hình thực tế cũng như các clip trên youtube
- Tham khảo ý kiến giáo viên hướng dẫn
NỘI DUNG ĐỀ TÀI
Với yêu cầu đề ra và xác định hướng giải quyết, nhóm nghiên cứu xây dựng đồ
Trình bày về tình hình nghiên cứu hiện nay từ đó đưa ra được mục tiêu đối tượng, phạm vi nghiên cứu mà nhóm hướng tới.
CƠ SỞ LÝ THUYẾT
INTERNET OF THINGS
Mạng lưới vạn vật kết nối Internet (IoTs) là một hệ thống trong đó mọi đồ vật và con người đều có một định danh riêng, cho phép truyền tải và trao đổi thông tin qua một mạng duy nhất mà không cần tương tác trực tiếp IoTs được hình thành từ sự hội tụ của công nghệ không dây, công nghệ vi cơ điện tử và Internet, tạo ra 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à thế giới bên ngoài để thực hiện các nhiệm vụ cụ thể.
Trong IoTs, một vật thể có thể là con người với trái tim cấy ghép, động vật trang trại với chip sinh học, hoặc xe hơi trang bị cảm biến để cảnh báo tài xế về tình trạng bánh xe Bất kỳ đối tượng nào, tự nhiên hay nhân tạo, có thể gán địa chỉ IP và truyền dữ liệu qua mạng đều thuộc về IoTs Hiện nay, IoTs chủ yếu được ứng dụng trong các liên kết máy-đến-máy trong lĩnh vực sản xuất, năng lượng và ngành công nghiệp xăng dầu, với khả năng tích hợp này thường được coi là thông minh.
2.1.2 Mô hình hệ thống IoTs
Bất kỳ một hệ thống IoTs nào cũng được xây dựng lên từ sự kết hợp của 4 lớp sau:
- Lớp ứng dụng (Application Layer)
- Lớp hỗ trợ dịch vụ và hỗ trợ ứng dụng (Service Support and Application Support Layer)
- Lớp thiết bị (Device Layer)
VI ĐIỀU KHIỂN
2.2.1.1 Giới thiệu dòng vi điều khiển STM32
Vi điều khiển STM32, do ST Microelectronics sản xuất, dựa trên nền tảng lõi ARM Cortex®-M, nổi bật với hiệu suất cao, khả năng xử lý thời gian thực và tiêu thụ năng lượng thấp Sản phẩm 32 bit này không chỉ dễ dàng phát triển ứng dụng mà còn tích hợp đầy đủ các tính năng cần thiết Với lõi tiêu chuẩn công nghiệp, STM32 hỗ trợ nhiều công cụ và phần mềm, trở thành lựa chọn lý tưởng cho các dự án nhỏ và thiết kế nền tảng.
Trên thị trường hiện nay, có nhiều sản phẩm sử dụng vi điều khiển STM32, bao gồm các thế hệ Kit STM32F1 và STM32F4 Ngoài ra, còn có nhiều mạch giải mã, nhận dạng giọng nói và xử lý hình ảnh tích hợp vi điều khiển này, như mạch TCP/IP W5500 và máy ảnh với ổ đĩa tích hợp vi điều khiển STM32 VS1003, cùng nhiều thiết bị phần cứng khác.
Hình 2.2 Mạch giải mã chứa vi điều khiển STM32 VS1003
STM32 sở hữu các ngoại vi tương tự như các vi điều khiển khác, bao gồm hai bộ chuyển đổi ADC, FSMC, Timer, I2C, SPI, CAN, USB và RTC Tuy nhiên, mỗi ngoại vi đều có những đặc điểm nổi bật, chẳng hạn như bộ ADC 12 bit tích hợp cảm biến nhiệt 12°C để tự động hiệu chỉnh theo nhiệt độ và hỗ trợ nhiều chế độ chuyển đổi Các bộ định thời được trang bị 4 khối so sánh hình ảnh, cho phép bắt sự kiện và tạo dạng sóng đầu ra với tính năng so sánh Mỗi khối định thời có thể kết nối với nhau, tạo ra một hệ thống định thời chính xác hơn Đặc biệt, một bộ định thời chuyên dụng hỗ trợ điều khiển động cơ với 6 đầu ra tín hiệu PWM, cho phép điều chỉnh mạch cầu hiệu quả.
Hệ thống lập trình có khả năng thiết lập một đường ngắt ngõ ra để chuyển tín hiệu PWM về trạng thái an toàn khi phát hiện điều kiện dừng khẩn cấp Ngoài ra, giao tiếp ngoại vi nối tiếp SPI được trang bị khối kiểm tổng CRC phần cứng cho cả 8 bit và 16 bit, giúp tối ưu hóa việc giao tiếp với thẻ nhớ SD hoặc MMC.
STM32 hỗ trợ tối đa 12 kênh DMA, cho phép truyền dữ liệu đến và từ các thanh ghi ngoại vi với kích thước dữ liệu 8/16 hoặc 32 bit Mỗi ngoại vi có thể đi kèm với một bộ điều khiển DMA để gửi hoặc truy vấn dữ liệu theo yêu cầu Điều này giúp các đơn vị DMA hoạt động linh hoạt, dễ sử dụng và tự động điều khiển luồng dữ liệu bên trong vi điều khiển STM32 là vi điều khiển tiêu thụ năng lượng thấp nhưng vẫn đạt hiệu suất cao.
Vi điều khiển hoạt động ở điện áp 2V với tần số 72 MHz và dòng tiêu thụ chỉ 36mA khi tất cả các khối bên trong đều hoạt động Nhờ vào các chế độ tiết kiệm năng lượng của Cortex, STM32 tiêu thụ chỉ 2μA ở chế độ Standby Bộ dao động nội RC 8 MHz giúp chip nhanh chóng thoát khỏi chế độ tiết kiệm năng lượng trong khi bộ dao động ngoài khởi động, từ đó giảm đáng kể tổng mức tiêu thụ năng lượng.
Ngày nay, các ứng dụng hiện đại phải hoạt động trong môi trường khắt khe với yêu cầu cao về an toàn và sức mạnh xử lý Để đáp ứng những yêu cầu này, STM32 cung cấp nhiều tính năng phần cứng hỗ trợ tối ưu cho các ứng dụng Các tính năng bao gồm bộ phát hiện điện áp thấp, hệ thống bảo vệ xung Clock và hai bộ Watchdogs Bộ Watchdog đầu tiên là loại cửa sổ, yêu cầu được làm tươi trong khung thời gian xác định; nếu không, nó sẽ kích hoạt Bộ Watchdog thứ hai là độc lập, sử dụng bộ dao động bên ngoài tách biệt với xung nhịp hệ thống chính Hệ thống bảo vệ xung nhịp có khả năng phát hiện lỗi của bộ dao động chính và tự động chuyển sang bộ dao động nội RC 8 MHz khi cần thiết.
Thiết kế hiện đại yêu cầu cao về bảo mật mã chương trình để ngăn chặn sao chép trái phép phần mềm Bộ nhớ Flash của STM32 có thể được khóa để ngăn chặn truy cập đọc thông qua cổng gỡ lỗi, đồng thời bảo vệ ghi cũng được kích hoạt để ngăn chặn mã không tin cậy Hơn nữa, STM32 trang bị đồng hồ thời gian thực và khu vực dữ liệu nhỏ trên SRAM được nuôi bằng pin, có khả năng kích hoạt sự kiện ngắt khi có thay đổi trạng thái tại đầu vào chống giả mạo Nếu có sự cố giả mạo, dữ liệu trên SRAM sẽ được tự động xóa.
Các công cụ phát triển cho ARM hiện nay hỗ trợ tập lệnh Thumb-2 và dòng Cortex, với ST cung cấp thư viện điều khiển thiết bị ngoại vi và bộ thư viện phát triển USB tương thích với các thư viện trước đó cho vi điều khiển STR7 và STR9 Nhiều hệ điều hành thời gian thực RTOS mã nguồn mở và thương mại, cùng với middleware như TCP/IP và hệ thống tập tin, cũng hỗ trợ dòng Cortex Cortex-M3 đi kèm với hệ thống gỡ lỗi CoreSight, cho phép truy cập qua cổng gỡ lỗi hỗ trợ kết nối JTAG hoặc giao diện 2 dây, cung cấp trình điều khiển gỡ lỗi và hệ thống điểm truy cập Công cụ theo dõi của CoreSight có thể gửi thông tin ứng dụng đến công cụ gỡ lỗi, cung cấp thêm thông tin gỡ lỗi và hỗ trợ trong quá trình thử nghiệm phần mềm STM32 có bộ thư viện ngoại vi chuẩn và mẫu, giúp lập trình dễ dàng mà không cần kiến thức sâu về datasheet, từ đó tiết kiệm thời gian phát triển sản phẩm.
2.2.1.2 Giới thiệu kit STM32F4 Discovery Đồ án sử dụng Kit STM32F407VG Discovery để thu thập dữ liệu từ các cảm biến và điều khiển thiết bị điện Bộ kit STM32F4-DISCOVERY với vi điều khiển hiệu suất cao STM32F407VGT6, cho phép người dùng dễ dàng phát triển các ứng dụng xử lý tín hiệu số (ADC, Digital…) Nó bao gồm một công cụ ST-LINK tích hợp sẵn trên bảng mạch giúp nạp chương trình, gỡ lỗi nhanh chóng
Hình 2.3 Kit STM32F407VG Discovery
- Vi điều khiển 32-bit ARM Cortex®-M4 STM32F407VGT6 với lõi FPU hỗ trợ xử lý tính toán dấu phẩy động, 1-MB bộ nhớ Flash, 192 Kbyte RAM
- On-board ST-LINK/V2 trên STM32F4-DISCOVERY giúp nạp chương trình, gỡ lỗi
- Nguồn điện cung cấp cho bảng mạch: thông qua cổng USB hoặc từ một nguồn cung cấp điện áp 5V bên ngoài
- Từ bảng mạch, có thể cấp nguồn 3,3 V và 5 V cho các ứng dụng
- Cảm biến chuyển động LIS302DL, ST MEMS 3 trục gia tốc
- Cảm biến âm thanh MP45DT02 ST-MEMS, mic cảm biến âm thanh vô hướng kỹ thuật số
- Bộ chuyển đổi DAC âm thanh CS43L22
- Hệ thống đèn led báo hiệu cho từng chức năng (giao tiếp USB, nguồn 3,3V.v.v.)
- Header mở rộng cho tất cả LQFP100 I/O
- Phần mềm miễn phí bao gồm một loạt các ví dụ, sử dụng thư viện chuẩn của
Arduino Nano là một bo mạch vi xử lý lý tưởng cho việc lập trình và tương tác với các thiết bị phần cứng như cảm biến, động cơ và đèn Với môi trường phát triển ứng dụng dễ sử dụng và ngôn ngữ lập trình thân thiện, Arduino phù hợp cho cả những người mới bắt đầu Đặc biệt, mức giá thấp và tính chất nguồn mở của Arduino từ phần cứng đến phần mềm đã tạo nên sức hút lớn cho cộng đồng người dùng.
Kích thước của Arduino Nano cực kì nhỏ chỉ tương đương đồng 2 nghìn gấp lại
2 lần thôi (1.85cm x 4.3cm), rất thích hợp cho các mạch nhỏ, vì giá rẻ hơn Arduino Uno nhưng dùng được tất cả các thư viện của mạch này
Arduino Nano có thông số kỹ thuật tương tự như Arduino Uno R3, cho phép các thư viện của Uno hoạt động hiệu quả trên Nano Tuy nhiên, điểm mạnh của Nano là kích thước nhỏ gọn, giúp nó trở thành lựa chọn phổ biến cho các dự án DIY Ngoài ra, Nano còn có 2 chân Analog (A6, A7 chỉ dùng để đọc) và khả năng sử dụng tối đa 40mA cho mỗi chân IO.
Bảng 2.1 Thông số kỹ thuật Kit Arduino Nano
Vi điều khiển ATmega328 (họ 8bit) Điện áp hoạt động 5V – DC
Bộ nhớ flash 32 KB (ATmega328) với 2KB dùng bởi bootloader Dòng tối đa trên mỗi chân I/O 40 mA
Số chân Digital I/O, Analog 14 (6 chân PWM), 8 (độ phân giải
MẠCH ESP8266 V1
Chip ESP8266 do Espressif phát triển mang lại giải pháp giao tiếp Wifi cho thiết bị IoT Đặc điểm nổi bật của ESP8266 là tích hợp các mạch RF như balun, công tắc ăng-ten, bộ khuếch đại công suất TX và bộ lọc RX ngay trong chip với kích thước chỉ 5x5mm Điều này giúp các board sử dụng ESP8266 có kích thước nhỏ gọn và giảm thiểu số lượng linh kiện cần thiết xung quanh.
ESP8266 không có Flash tích hợp để lưu trữ mã ứng dụng, vì vậy cần sử dụng bộ nhớ ngoài như chip SPI Flash hoặc SDCard Chúng ta có thể kết nối một số chân GPIO để chỉ định vị trí lưu trữ mã ứng dụng, giúp ESP8266 đọc và thực thi mã hiệu quả.
Khởi động hay cấu hình ESP8266 đều sử dụng tập lệnh AT
AT Kiểm tra lệnh, luôn trả về "OK" AT
AT+RST Khởi động lại module AT+RST
Truy vấn phiên bản Firmware
Truy vấn chế độ đã cài đặt AT+CWMODE?
Truy vấn các chế độ có thể cài đặt
Cài đặt số lượng các kênh kết nối
Cài đặt chế độ dữ liệu
Truy vấn chế độ dữ liệu cài đặt AT+CIPMODE?
MẠCH GMS GPRS GPS A7
Mạch GMS GPRS GPS A7, được sản xuất bởi Ai Thinker, nổi tiếng với các thiết bị IoT và các module Wifi SoC ESP8266, có thiết kế nhỏ gọn và tích hợp đầy đủ chức năng của các module Sim Đặc biệt, mạch này còn hỗ trợ khả năng định vị GPS, mang lại tiện ích vượt trội cho người dùng.
Hình 2.6 Mạch GMS GPRS GPS A7
Mạch GMS GPRS GPS A7 sử dụng giao tiếp UART với bộ lệnh AT thân thuộc, giúp việc điều khiển và lập trình trở nên đơn giản Người dùng có thể dễ dàng kết nối mạch với các vi điều khiển hoặc trực tiếp với máy tính để kiểm tra hiệu suất hoạt động của nó.
Mạch GMS GPRS GPS A7 là một mạch mới phát triển với các khả năng vượt trội và rất dễ sử dụng
- Hỗ trợ thực hiện cuộc gọi trực tiếp qua module Sim
- Hỗ trợ tập lệnh AT tiêu chuẩn và kết nối chuẩn TCP/IP
- Hỗ trợ GPS và AGPS
MÀN HÌNH GLCD 3.2-INCH TFT - ILI9325
Graphic LCD (GLCD) loại chấm không màu là các loại màn hình tinh thể lỏng nhỏ dùng để hiển thị số chữ hoặc hình ảnh
Hình 2.7 GLCD 3.2-inch TFT - ILI9325
Module hỗ trợ nhiều chuẩn giao tiếp song song 6800, 8080 8 bit/ 9 bit/ 16 bit/
Mạch cảm ứng 18 bit/24 bit tích hợp khe cắm Micro SD, sử dụng IC FT5206, hoạt động với nguồn áp thấp từ 3,5V đến 5V và tiêu thụ điện năng dưới 0,75 mW tại 2,7V với tỉ lệ lấy mẫu lên đến 125 kHz Dòng tiêu thụ ở mức 3.3V là 480mA và 300mA ở 5V, làm cho nó trở thành lựa chọn lý tưởng cho các nguồn pin Sản phẩm này được ứng dụng rộng rãi trong việc điều khiển và giám sát màn hình cảm ứng cũng như trong các thiết bị đo lượng và thiết bị đầu cuối.
2.5.2 Thông số kỹ thuật Điện áp hoạt động: 3,3V Độ phân giải 240 cột × 320 hàng với 262K màu
Chuẩn giao tiếp 2 chế độ 8 bit và 16 bit
Hỗ trợ cảm ứng điện trở
IC điều khiển là ILI9325
Chức năng các chân giao tiếp của màn hình LCD 3,2” ILI9325 với vi điều khiển được mô tả trong bảng 1.12
Bảng 2.3 Các chân giao tiếp màn hình LCD 3,2” ILI9325
Số chân Tên chân Chức năng
Nguồn cung cấp 5V, Chân 1 và chân 2 là nguồn vào, Chân 33 và chân 34 là nguồn ra 3.3V
19 CS Chân tích cực mức thấp
20 RS RS=0 ghi lệnh lên LCD
RS=1 ghi data lên LCD
Ghi dữ liệu, sườn lên của xung trên chân WR sẽ ghi data lên LCD,
22 RD Đọc dữ liệu, sườn lên của xung trên chân RD đọc trạng thái LCD,
23 RESET Reset LCD, tích cực mức thấp
24 NC Chân không kết nối
26 BLGND Chân đèn nối đất
27 BLCNT Chân điều khiển đèn bằng
Chân phát hiển khi nhấn vào màn hình cảm ứng, tích cực mức thấp
30 TP_SCK Chân kết nối SPI SCK
Số chân Tên chân Chức năng
31 TP_SI Chân kết nối SPI MOSI
32 TP_SO Chân kết nối SPI MISO
Khi cung cấp nguồn từ 3.3V, Chân 33 và chân 34 như đầu vào điện, chân 1 và chân 2 giữ NC
34 GND Chân nguồn nối đất
Màn hình có khả năng giao tiếp với vi điều khiển thông qua chế độ song song 8-bit hoặc 16-bit Trong dự án này, chúng tôi đã chọn sử dụng chế độ giao tiếp màn hình 16-bit để đảm bảo hiệu suất tối ưu.
ỨNG DỤNG WEB SERVICE
2.6.1 Tổng quan về web service
Dịch vụ Web (Web Service) là công nghệ tiên phong trong lĩnh vực B2B và B2C, mang lại sự cách mạng trong hoạt động của các dịch vụ này Giá trị cốt lõi của dịch vụ Web nằm ở việc cung cấp các phương thức chuẩn để truy cập vào hệ thống đóng gói và hệ thống kế thừa Các phần mềm viết bằng ngôn ngữ lập trình khác nhau và hoạt động trên các nền tảng khác nhau có thể sử dụng dịch vụ Web để chuyển đổi dữ liệu qua Internet, tương tự như cách giao tiếp trong một máy tính Mặc dù công nghệ xây dựng dịch vụ Web không nhất thiết phải hoàn toàn mới, nhưng nó có thể tích hợp với các công nghệ hiện có như XML, SOAP, WSDL và UDDI.
Với sự bùng nổ của Internet, dịch vụ Web đã trở thành một công nghệ quan trọng giúp giảm chi phí và đơn giản hóa quá trình tích hợp và phát triển hệ thống Bài viết này sẽ khám phá từ khái niệm cơ bản đến phương pháp xây dựng các dịch vụ Web.
Hình 2.8 Mô hình giao tiếp với webservice
Dịch vụ Web chủ yếu được sử dụng để tích hợp các hệ thống, đóng vai trò quan trọng trong quá trình phát triển hệ thống Các ứng dụng cần kết nối với cơ sở dữ liệu và các ứng dụng khác, cho phép người dùng truy cập và phân tích dữ liệu Gần đây, sự phát triển mạnh mẽ của thương mại điện tử và B2B yêu cầu các hệ thống phải có khả năng tích hợp với cơ sở dữ liệu của đối tác kinh doanh, nhằm tương tác không chỉ với các thành phần bên trong doanh nghiệp mà còn với các hệ thống bên ngoài.
2.6.2 Đặc điểm của dịch vụ Web
Dịch vụ Web cho phép tương tác giữa client và server trong các môi trường khác nhau, ví dụ như khi ứng dụng chạy trên máy chủ Linux và người dùng sử dụng máy tính Windows Điều này giúp ứng dụng hoạt động bình thường mà không cần yêu cầu đặc biệt về tính tương thích giữa hai hệ điều hành.
Dịch vụ Web chủ yếu dựa vào công nghệ mã nguồn mở và được phát triển từ các tiêu chuẩn đã được công nhận, chẳng hạn như XML.
- Một dịch vụ Web bao gồm có nhiều module và có thể công bố lên mạng Internet
Sự kết hợp giữa phát triển từng thành phần và hạ tầng Web mang lại nhiều lợi ích cho doanh nghiệp và khách hàng.
- Một ứng dụng khi được triển khai sẽ hoạt động theo mô hình client-server
Nó có thể được triển khai bởi một phần mềm ứng dụng phía server ví dụ như PHP,
Oracle Application server hay Microsoft.Net…
Ngày nay, dịch vụ Web đang phát triển mạnh mẽ và có thể áp dụng rộng rãi trong nhiều lĩnh vực của cuộc sống Các ứng dụng tiêu biểu bao gồm dịch vụ chọn lọc và phân loại tin tức thông qua hệ thống thư viện kết nối với web portal, dịch vụ du lịch cung cấp thông tin về giá vé và địa điểm, đại lý bán hàng trực tuyến, thông tin thương mại như giá cả và tỷ giá hối đoái, cũng như dịch vụ giao dịch trực tuyến cho cả B2B và B2C, chẳng hạn như đặt vé máy bay và thông tin thuê xe.
Hình 2.9 Internet kết nối mọi ngành trên nhiều lĩnh vực
Trong bối cảnh thương mại điện tử phát triển mạnh mẽ cùng với sự bùng nổ của Internet, các ứng dụng tích hợp dịch vụ Web ngày càng trở nên phổ biến Mọi lĩnh vực trong cuộc sống đều có thể kết hợp với dịch vụ Web, tạo ra phương thức kinh doanh và làm việc hiệu quả Thời đại hiện nay là thời đại của truyền thông và trao đổi thông tin qua mạng, vì vậy việc phát triển và tích hợp các ứng dụng với dịch vụ Web đang được chú trọng và đầu tư mạnh mẽ.
PHƯƠNG PHÁP TRUYỀN DỮ LIỆU
Giới thiệu về chuẩn giao tiếp UART
UART là một mạch tích hợp quan trọng trong việc truyền dẫn dữ liệu nối tiếp giữa máy tính và thiết bị ngoại vi Nhiều vi điều khiển hiện đại đã tích hợp UART, nhưng do tốc độ và hiệu suất của nó không còn cạnh tranh với các giao tiếp mới, các dòng PC và Laptop mới không còn tích hợp cổng UART Quá trình truyền dữ liệu bằng UART bắt đầu bằng một bit START, tiếp theo là các bit dữ liệu, và kết thúc bằng một bit STOP.
Hình 2.10 Khung dữ liệu truyền UART
Khi thiết bị ở trạng thái chờ, điện thế sẽ ở mức cao (1) Khi bắt đầu truyền dữ liệu, bit START sẽ chuyển từ 1 xuống 0 để thông báo cho bộ nhận về quá trình truyền Tiếp theo là các bit dữ liệu D0-D7, có thể ở mức cao hoặc thấp tùy thuộc vào thông tin cần truyền Sau khi hoàn tất việc truyền dữ liệu, sẽ có Bit Parity để kiểm tra tính chính xác của dữ liệu Cuối cùng, STOP bit sẽ trở về mức 1 để thông báo rằng tất cả các bit đã được gửi thành công.
THIẾT BỊ PHẦN CỨNG
Các thông số cơ bản trong truyền nhận UART:
- Baud rate (tốc độ baud): Khoảng thời gian dành cho bit được truyền Phải được cài đặt giống nhau ở gửi và nhận
- Frame (khung truyền): Khung truyền quy định về số bit trong mỗi lần truyền
- Start bit (bit bắt buộc): Bit đầu tiên được truyền trong 1 Frame Báo hiệu cho thiết bị nhận có một gói dữ liệu sắp được truyền đến
- Data: dữ liệu cần truyền Bit có trọng số nhỏ nhất LSB được truyền trước sau đó đến bit MSB
- Parity bit: kiểm tra dữ liệu truyền có đúng không
Bit dừng (stop bit) là một hoặc nhiều bit thông báo cho thiết bị rằng quá trình gửi dữ liệu đã hoàn tất Thiết bị nhận sẽ kiểm tra khung dữ liệu để đảm bảo tính chính xác và đúng đắn của thông tin đã nhận.
2.8.1 Cảm biến nhiệt độ, độ ẩm DHT11
DHT11 là một cảm biến chuyên dụng để đo nhiệt độ và độ ẩm, được phát triển nhằm thay thế cho dòng SHT1x ở những ứng dụng không yêu cầu độ chính xác cao.
Hình 2.11 Module cảm biến nhiệt độ, độ ẩm DHT11
Cảm biến DHT11 được ưa chuộng nhờ chi phí thấp và khả năng thu thập dữ liệu dễ dàng thông qua giao tiếp 1 wire (giao tiếp số một dây) Bộ tiền xử lý tín hiệu tích hợp trong cảm biến đảm bảo cung cấp dữ liệu chính xác mà không cần bất kỳ phép tính nào.
Các thông số kỹ thuật DHT11
- Sai số nhiệt độ: ±2ºC
2.8.1.3 Nguyên lý hoạt động: Để có thể giao tiếp với DHT11 theo chuẩn 1 chân vi xử lý thực hiện theo 2 bước:
- Gửi tín hiệu muốn đo (Start) tới DHT11, sau đó DHT11 xá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
2.8.2 Cảm biến khí gas MQ2
Cảm biến khí MQ2 là thiết bị chuyên dụng để phát hiện các khí dễ cháy, được cấu tạo từ chất bán dẫn SnO2 Chất này có độ nhạy thấp với không khí sạch, nhưng khi tiếp xúc với môi trường có khí dễ cháy, độ dẫn điện của nó sẽ thay đổi ngay lập tức Để tận dụng đặc điểm này, nhà sản xuất đã tích hợp một mạch đơn giản nhằm chuyển đổi độ nhạy thành tín hiệu điện áp.
Hình 2.12 Module cảm biến khí gas MQ2
Cảm biến MQ2 hoạt động hiệu quả trong môi trường sạch, với điện áp đầu ra tăng khi nồng độ khí gây cháy như LPG và H2 tăng Sản phẩm này được ứng dụng rộng rãi trong cả công nghiệp và dân dụng nhờ vào mạch thiết kế đơn giản và chi phí thấp Cảm biến có hai chân đầu ra là Aout và Dout, giúp dễ dàng tích hợp vào các hệ thống khác nhau.
- Aout: điện áp ra tương tự Nó chạy từ 0.3V và 4.5V, phụ thuộc vào nồng độ khí xung quang MQ2
- Dout: điện áp ra số, giá trị 0,1 phụ thuộc vào điện áp tham chiếu và nồng độ khí mà MQ2 đo được
Việc sử dụng chân ra số Dout giúp đơn giản hóa quá trình kết nối các ứng dụng mà không cần vi điều khiển Chỉ cần điều chỉnh giá trị biến trở đến nồng độ mong muốn để thiết lập cảnh báo Khi nồng độ khí MQ2 đo được dưới mức cho phép, Dout sẽ bằng 1 và đèn LED sẽ tắt Ngược lại, khi nồng độ khí vượt quá giới hạn cho phép, Dout sẽ bằng 0 và đèn LED sẽ sáng.
CHƯƠNG 3 THIẾT KẾ HỆ THỐNG
Chương thiết kế hệ thống phần cứng và phần mềm trình bày các phương án và giải pháp cho đề tài, đồng thời mô tả cấu tạo, nhiệm vụ và nguyên lý hoạt động của từng khối chức năng.
3.1 ĐẶT VẤN ĐỀ THIẾT KẾ
Dự án thiết kế và thi công hệ thống điều khiển đa năng cho các thiết bị trong nhà, nông trại và công nghiệp sẽ áp dụng nhiều phương pháp khác nhau để tối ưu hóa hiệu quả hoạt động của hệ thống.
Trên thị trường hiện nay, có nhiều loại vi điều khiển trung tâm đáp ứng nhu cầu sử dụng đa dạng, bao gồm các dòng như ARM, Arduino, Tiva C, Raspberry và PIC 16, 18.
Giao tiếp truyền thông có thể được thực hiện qua nhiều phương thức khác nhau, bao gồm việc sử dụng mạch ESP8266 để truyền nhận dữ liệu qua môi trường WiFi Ngoài ra, các kênh CH-05 và CH-06 cho phép truyền nhận dữ liệu trong môi trường Bluetooth Một lựa chọn khác là sử dụng cáp chuẩn RS-232 để thực hiện việc truyền nhận trực tiếp.
Mô hình hộp khối lập phương được thiết kế để chứa các hệ thống mạch điện bên trong, có thể chỉ cần tấm nền mà không cần giá đỡ cho mô hình.
- Về các thiết bị điều khiển: tùy vào nhu cầu sử dụng, người dùng có thể điều khiển bóng đèn sợi tóc, đèn led, quạt, máy bơm v.v
Trong đề tài này, chúng tôi đề cập đến nhiều loại cảm biến phổ biến như cảm biến nhiệt độ, độ ẩm, khói, khí gas, nhịp tim, ánh sáng và âm thanh Trên thị trường hiện nay, các cảm biến này có giá thành đa dạng, vì vậy người tiêu dùng cần cân nhắc kỹ lưỡng trước khi mua, tùy thuộc vào mục đích sử dụng cụ thể.
Phần mềm lập trình và biên dịch cho vi điều khiển bao gồm nhiều công cụ hỗ trợ như CCS, Keil C, Engima và Arduino, giúp chuyển đổi mã lệnh để nạp vào vi điều khiển Đối với lập trình ứng dụng trên hệ điều hành Android, Android Studio là lựa chọn phổ biến, trong khi lĩnh vực phát triển web có các phần mềm như Web Plus, SiteSpinner và Web Creator Pro.
- Về nơi lưu trữ dữ liệu thu thập: HOST, trạm điều khiển trung tâm, trạm cảm biến, robot xe, một máy tính server v.v
- Về nguồn sử dụng: pin dự phòng 5V – 1A, 5V – 2A, nguồn 220V đi qua máy biến áp 5V – 1.5A, mạch nguồn có bên ngoài thị trường v.v
Nhóm đã quyết định thiết kế các trạm riêng biệt bao gồm trạm điều khiển trung tâm, trạm cảm biến A, B và robot xe di chuyển để thu thập và gửi dữ liệu lên webservice tại www.smartcube.ga Dữ liệu từ các cảm biến như nhiệt độ, độ ẩm, cảnh báo khí gas, âm thanh và ánh sáng sẽ được hiển thị trên website Ứng dụng Android sẽ cập nhật thông tin từ webservice và có giao diện riêng để điều khiển robot xe Robot xe là sản phẩm hoàn thiện mà nhóm sử dụng và phát triển trong đề tài này.
Trạm điều khiển trung tâm sử dụng hai pin dự phòng 5V – 1A để cung cấp năng lượng cho vi điều khiển và module A7, được bố trí gọn gàng trong hộp mica 5mm Đối với trạm cảm biến, nguồn điện được chuyển đổi từ 220V xuống 5V – 1A thông qua mạch giảm áp, vì các trạm này được thiết kế để đặt tại vị trí cố định.