Báo cáo đồ án ngành Kỹ thuật máy tính. Đề tài giám sát và điều khiển nhiệt độ, độ ẩm qua GPRS , điện thoại di động.Đề tài đã thực hiện được việc đo các thông số môi trường như nhiệt độ, độ ẩm, độ sáng,... và gửi dữ liệu qua điện thoại di động. Có thể dùng điện thoại để điều khiển một số thiết bị đơn giản.Có thể làm thêm phần giám sát và điều khiển thông qua GPRS
Trang 1BÁO CÁO
ĐỒ ÁN NGÀNH
KỸ THUẬT MÁY TÍNH
ĐỀ TÀI:
HỆ THỐNG GIÁM SÁT, ĐIỀU KHIỂN NHIỆT ĐỘ, ĐỘ ẨM, ÁNH SÁNG
QUA ĐIỆN THOẠI
Trang 2MỤC LỤC
PHẦN A MỞ ĐẦU 2
PHẦN B NỘI DUNG 3
CHƯƠNG 1 GIỚI THIỆU 3
1 Yêu cầu, chức năng hệ thống 3
2 Công cụ hổ trợ 3
3 Kế hoạch thực hiện 4
4 Phân công công việc 4
CHƯƠNG 2 THIẾT KẾ 5
1 Sơ đồ các khối chức năng 5
2 Cấu tạo và chức năng các khối 6
CHƯƠNG 3 HIỆN THỰC 12
1 Mô tả các source code trong chương trình 12
2 Kết quả thực hiện 13
3 Hướng dẫn sử dụng 13
CHƯƠNG 4 TỔNG KẾT 14
1 Kết luận 14
2 Đánh giá 14
3 Phương hướng phát triển 14
PHẦN C TÀI LIỆU THAM KHẢO 15
Trang 3PHẦN A MỞ ĐẦU
Trong một xã hội hiện đại ngày nay, sự phát triển của ngành điện tử, kỹ thuật máy tính là một trong những yêu cầu không thể thiếu thúc đẩy nền kinh tế phát triển và góp phần nâng cao đời sống xã hội Ngày nay, trên thế giới, điện tử viễn thông vẫn không ngừng phát triển với tốc độ rất cao và thâm nhập vào tất cả các lĩnh vực của đời sống xã hội Đặc biệt là các ngành như thiết kế vi mạch, xu hướng IoT (intenet of things) là một trong những xu hướng lớn, triển vọng của thế giới và đang bắt đầu phát triển ở Việt Nam
Một trong số đó có đề tài thu thập thông tin, quản lý, giám sát điều khiển hệ thống, điều khiển thiết bị từ xa, ở bất cứ nơi đâu, bất cứ lúc nào Đây là một đề tài rất hay có nhiều cơ hội phát triển, có khả năng ứng dụng cao trong thực tế Vì thế nhóm đã quyết định chọn một đề tài nhỏ liên quan đến vấn đề này đó là giao tiếp với SIM900A giám sát các thông
số môi trường như nhiệt độ độ ẩm, ánh sáng và điều khiển thiết bị thông qua
GMS/GPRS Nhóm sẽ hiện thực và demo phần đo các thông số như nhiệt độ, độ ẩm, độ sáng của môi trường xung quanh Khi các thông số vượt quá ngưỡng cho phép, hệ thống
sẽ tự động kích hoạt các thiết bị để điều chỉnh Hệ thống có thể gửi các thông tin hay cảnh báo qua điện thoại Ta cũng có thể dùng điện thoại để điều khiển các thiết bị trong
hệ thống Vì thế đối với nhóm đây là bước cơ sở để nhóm nghiên cứu những ứng dụng lớn hơn sau này
Trong quá trình thực hiện đề tài, tuy đã cố gắng song do những hạn chế nhất định về kiến thức cũng như thời gian và kinh nghiệm thực tế nên nhóm không tránh khỏi những thiếu sót Chúng em rất mong nhận được những ý kiến đóng góp của thầy cô và các bạn để đề tài của nhóm em được hoàn thiện hơn
Trang 4PHẦN B NỘI DUNG
CHƯƠNG 1 GIỚI THIỆU
1 Yêu cầu, chức năng hệ thống
Yêu cầu:
Đây là một hệ thống giám sát và điều khiển thông qua điện thoại di động Nó
có thể được áp dụng vào hệ thống phun tưới, hệ thống chiếu sáng, điều khiển máy bơm,… trong trồng trọt, chăn nuôi
Trên cơ sở đó hệ thống phải có các yêu cầu cơ bản sau:
Tính chính xác, kịp thời: thu thập, xử lý các, xứ lý các thông số một cách liên tục hoặc trong một khoảng thời gian trễ chấp nhận được, để có các
xử lý đúng lúc, phù hợp
Dễ sử dụng: người dùng có thể sử dụng một cách dễ dàng, nhanh chóng, tiện lợi
Chức năng:
Chức năng giám sát: thu thập và cập nhật các thông số cần thiết trong trồng trọt, chăn nuôi như nhiệt độ, độ ẩm, ánh sáng, …
Chức năng điều khiển: tự động điểu khiển các thiết bị để đảm bảo các thông số đặt ra, và đưa ra thông báo đến người quản lý khi các giá trị vượt quá ngưỡng quy định để có những xử lý, điều chỉnh kịp thời Hệ thống cũng cho phép người dùng điều khiển các thiết bị thông qua điện thoại
2 Công cụ hổ trợ
Phần cứng:
Board mạch ARM STM32F103
Mạch SIM900A
Các sensor đo nhiệt độ, độ ẩm, độ sáng
Các Rơle đóng ngắt, motor, led
LCD 16x2
Điện thoại di động
Trang 5Phần mềm:
Keil ARM
Demonstrator GUI
Tera Term
3 Kế hoạch thực hiện
Tiến hành tìm hiểu và hiện thực theo các chức năng
Chức năng giám sát:
Tìm hiểu cách giao tiếp, chuẩn giao tiếp với các sensor
Hiện thực giao tiếp vi xử lý với các sensor đo nhiệt độ, độ ẩm, độ sáng
Hiển thị các giá trị đo được
Kiểm tra sự chính xác của các giá trị đo so với thực tế và khắc phục, điều chỉnh nếu sai số quá lớn
Chức năng điều khiển:
Kết nối vi xử lý với Role điều khiển các thiết bị như motor, đèn LED
Tìm hiểu tập lệnh giao tiếp với SIM900A
Tìm hiểu cách giao tiếp giữa vi xử lý với SIM900A
Dùng vi xử lý điều khiển SIM900A gửi và nhận tin nhắn với điện thoại
Thực hiện điều khiển các thiết bị bằng điện thoại thông qua SIM900A
Kiểm tra khắc phục lỗi (nếu có) Kết nối các khối chức năng thành một hệ thống hoàn chỉnh đáp ứng yêu cầu chức năng đặt ra
4 Phân công công việc
Tìm tài liệu: Phạm Khánh Duy + Huỳnh Văn Ý
Hiện thực các chức năng: Phạm Khánh Duy
Kiểm tra, khắc phục các lỗi xảy ra: Huỳnh Văn Ý
Báo cáo: Phạm Khánh Duy
Trang 6ĐIỆN THOẠI
ĐIỀU KHIỂN GIÁM SÁT
CHƯƠNG 2 THIẾT KẾ
1 Sơ đồ các khối chức năng
Hệ thống gồm 2 khối chức năng chính là giám sát và điều khiển thông qua điện thoại di động dùng vi xử lý ARM STM32F103
VI XỬ LÝ ARM TRUYỀN NHẬN DỮ LIỆU
(SIM900A)
Trang 72 Cấu tạo và chức năng các khối
Khối TRUYỀN NHẬN DỮ LIỆU:
Chức năng: truyền lệnh và nhận thông tin qua tin nhắn SMS dùng
SIM900A
Cấu tạo: mạch SIM900A
Phiên Bản mudule sim V5.1 (8 chân):
+ Nguồn cấp: 4.5-5V, có thể sử dụng với nguồn dòng thấp từ 500mAh trở lên (như cổng USB, nguồn từ Board Arduino) Khuyên dùng nguồn 2A để đảm bảo hiệu suất hoạt động của SIM
+ Dòng khi ở chế độ chờ: 10 mA + Dòng khi hoạt động: 100 mA đến 2A
+ Kích thước: 2.5 cm x 3.1 cm + Thứ tự các chân như hình:
+ Chức năng các chân:
- VCC: Nguồn vào 5V
- TXD: Chân truyền Uart TX
- RXD: Chân nhận Uart RX
- Headphone: Chân phát âm thanh.-
- Microphone: Chân nhận âm thanh (phải gắn thêm Micro từ GND vào chân này thì mới thu được tiếng)
- GND: Chân Mass, cấp 0V
Cổng giao tiếp nối tiếp cung cấp các tốc độ truyền dữ liệu sau: 300, 1200,
2400, 4800, 9600, 19200, 38400, 57600, 115200 Tốc độ giao tiếp mặc định là 115200
Việc điều khiển SIM900 được thực hiện thông qua việc truyền các lệnh AT (các lệnh này thường bắt đầu bằng “AT”, dùng để điều khiển các thiết bị tương tác với mạng
Trang 8HIỂN THỊ
(LCD 16x2)
CẢM BIẾN ĐO NHIỆT
ĐỘ, ĐỘ ẨM
(DHT11)
CẢM BIẾN ĐO
ĐỘ SÁNG
(BH1750)
Khối GIÁM SÁT:
Chức năng: dùng các sensor đo các thông số nhiệt độ, độ ẩm, ánh sáng và hiển thị thông số cũng như các cảnh báo hay tình trạng của thiết bị qua màn hình LCD
Cấu tạo:
Hiển thị: dùng LCD16x2
+ Màn hình text LCD1602, có khả năng hiển thị 2 dòng với mỗi dòng 16 ký
tự
+ Thông số kỹ thuật:
- Điện áp hoạt động là 5 V
- Kích thước: 80 x 36 x 12.5 mm
- Chữ trắng, nền xanh dương
- Khoảng cách giữa hai chân kết nối là 0.1 inch tiện dụng khi kết nối với Breadboard
- Tên các chân được ghi ở mặt sau của màn hình LCD hổ trợ việc kết nối, đi dây điện
- Có đèn led nền, có thể dùng biến trở hoặc điều chình độ sáng
- Có thể được điều khiển với 6 dây tín hiệu
- Có bộ ký tự được xây dựng hổ trợ tiếng Anh và tiếng Nhật
Trang 9 Cảm biến do nhiệt độ, độ ẩm: dùng DHT11
+ Cảm biến độ ẩm và nhiệt độ DHT11 là cảm biến rất thông dụng hiện nay
vì chi phí rẻ và rất dễ lấy dữ liệu thông qua giao tiếp 1 wire (giao tiếp digital 1 dây truyền dữ liệu duy nhất) Bộ tiền xử lý tín hiệu tích hợp trong cảm biến giúp bạn có được dữ liệu chính xác mà không phải qua bất kỳ tính toán nào
+ Thông tin kỹ thuật:
- Nguồn: 3 -> 5 VDC
- Dòng sử dụng: 2.5mA max (khi truyền dữ liệu)
- Đo tốt ở độ ẩm 20-80%RH với sai số 5%
- Đo tốt ở nhiệt độ 0 to 50°C sai số ±2°C
- Tần số lấy mẫu tối đa 1Hz (1 giây 1 lần)
- Kích thước 15mm x 12mm x 5.5mm
- 4 chân, khoảng cách chân 0.1''
Cảm biến đo độ sáng: dùng BH1750
+ Cảm biến cường độ ánh sáng BH1750 đượ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á 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
+ Thông số kỹ thuật:
- Nguồn: 3 -> 5VDC
- Giao tiếp: I2C
- Khoảng đo: 1 -> 65535 lux
- Kích cỡ: 21*16*3.3mm
Trang 10RELAY ĐÓNG NGẮT
MOTOR
ĐÈN
Khối ĐIỀU KHIỂN:
Chức năng: đóng, ngắt các thiết bị như motor, đèn để điều chỉnh các thông
số nhiệt độ, độ ẩm Tự động kích hoạt role đóng ngắt khi các thông số vượt quá ngưỡng quy định Nhận lệnh điều khiển từ người dùng bằng tin nhắn điện thoại thông qua SIM900A
Cấu tạo:
Relay đóng ngắt:
+ Module 2 relay thích hợp cho các ứng dụng đóng ngắt điện thế cao AC hoặc DC, các thiết bị tiêu thụ dòng lớn, module thiết kế nhỏ gọn, có opto và transistor cách ly, kích đóng bằng mức thấp (0V) phù hợp với mọi loại MCU và thiết kế có thể sử dụng nguồn ngoài giúp cho việc sử dụng trở nên thật linh động và dễ dàng
+ Thông số kỹ thuật:
- Sử dụng điện áp nuôi 5VDC
- 2 Relay đóng ngắt ở điện thế kích bằng 0V nên có thể sử dụng cho cả tín hiệu 5V hay 3v3 (cần cấp nguồn ngoài), mỗi Relay tiêu thụ dòng khoảng 80mA
- Điện thế đóng ngắt tối đa: AC250V - 10A hoặc DC30V - 10A
- Có đèn báo đóng ngắt trên mỗi Relay
MOTOR: dùng motor DV 5V để mô phỏng cho máy bơm hay hệ thống phun tưới, điều chỉnh nhiệt độ, độ ẩm
ĐÈN: dùng đèn LED để mô phỏng cho hệ thống chiếu sáng
Trang 11Khối VI XỬ LÝ ARM
Chức năng: xử lý, tính toán và điều khiển tất cả các các khối chức năng
Cấu tạo:
Cốt lõi:
+ ARM 32-bit Cortex ™-M3 CPU
+ Dùng KITthí nghiệm Hlib – Bboard-1
+ Các thành phần cơ bản của BBoard-1 được mô tả như trên hình
+ Vi điều khiển STM32F103RCT6 (ARM Cortex M3, max System clock freq: 72MHz, 256KB
+ Embedded Flash, 48KB Embedded SRAM, 3 12-bits ADC, 2 12-bits DAC, CAN, I²C, IrDA, LIN, SPI, UART/USART, USB v.v.) (Thao khảo thêm trong file STM32F103RC datasheet)
+ Thạch anh 8MHz, và 32,768KHz lần lượt được cấp cho HSE (High-speed external clock) clock và LSE (Low-(High-speed external clock) của vi điều khiển
+ 3V coin battery cấp cho module RTC (Real time counter) nội và vùng nhớ Backup của STM32
+ Trên board có 2 cổng USB:
- Cổng Programming (tên nằm ở mặt dưới board) được nối qua
IC PL2303 (USB2COM) và nối với USART1 của STM32
- Cổng Native được nối trực tiếp đường USB với STM32
+ Cổng Serial Wire Debug (SWD) được sử dụng để debug STM32 thông qua giao thức JTAG với số chân được giản tiện (SWIO, SWCLOCK) thay vì 4 chân (TMS, TCK, TDO, TDI) như chuẩn JTAG thông thường
Trang 12+ Jack nguồn DC, nguồn DC cấp cho BBoard-1 phải có điện áp > 7V để đảm bảo ổn định cho mạch Khi cả nguồn DC và nguồn từ cổng USB đều được cấp, nguồn DC sẽ được ưu tiên làm nguồn chính cho mạch + Cổng Micro-SD (mặt dưới) được nối trực tiếp theo chuẩn SDIO – 1 chân với STM32
+ 2 Test point cho Clock output từ STM32 và GND
+ LED báo sáng nguồn cho 3V3 và Vin
+ 3 nút nhấn tactile: Reset, Btn0/Prog và Btn1
+ 7 port I/O đã chuẩn hoá với 6 port 8-pins và 1 port 6-pins Các port chức năng luôn bắt đầu với
+ 3V3, GND và 4 pin (port 6-pins) hoặc 5 pin (port 8-pins) cho một chức năng cụ thể (USART, SPI, ADC, I2C …) và kết thúc với 5V (port 8-pins) Chú ý rằng một port có nhiều hơn 1 chức năng
+ 1 port nguồn 6-pin gồm: Vin, 5V, 3V3, GND, RFU (reversed for future use), nRESET
Trang 13CHƯƠNG 3 HIỆN THỰC
1 Mô tả các file source code trong chương trình
main.c
File này dùng để chạy chương trình chính
Khởi tạo các hàm Init LCD, Init USART, Init I2C,…
Cấu hình các I/O giao tiếp với các thiết bị
Gọi các module đo nhiệt độ, độ ẩm, ánh sáng và module SIM900A
delay.c
Tạo các hàm delay từ xung clock của hệ thống
delay_us( ): tạo độ trễ theo us
delay_ms( ): tạo độ trễ theo ms
lcd16x2.c
Hiển thị các ký tự hoặc chuổi lên màn hình LCD
Dùng để hiển thị các thông số nhiệt độ, độ ẩm, ánh sáng, các cảnh báo, cũng như trạng thái của các thiết bị
sim900.c
Cấu hình các chân kết nối SIM900A với vi xử lý
Send_SMS( ): gửi tin nhắn SMS đến số điện thoại nào đó, dùng để gửi các thông báo về tình trạng của thiết bị và các cảnh báo đến người quản lý
DATA_Process( ): xử lý các nội dung nhận được đưa ra các lệnh điều khiển
lsensor.c
Cấu hình các chân kết nối cảm biến đo độ sáng BH1750 với vi xử lý
Đo và thực hiện tính toán giá trị độ sáng
chỉnh kịp thời cũng như gửi các thông báo cho người quản lý
dht11.c
Cấu hình các chân kết nối cảm biến đo nhiệt độ, độ ẩm DHT11 với vi xử lý
Send_SMS( ): gửi tin nhắn SMS đến số điện thoại nào đó
So sánh các giá trị đo được với các mức quy định để có các xử lý, điểu chỉnh kịp thời cũng như gửi các thông báo cho người quản lý
Trang 142 Kết quả thực hiện
Được các giá trị nhiệt độ (0C), độ ẩm (%), độ sáng (lux)
Gửi được các thông số đo được qua điện thoại
Khi giá trị đo vượt ngưỡng quy định hệ thống đã tự động đóng, ngắt các thiết bị để điều chỉnh, cũng như thông báo đến điện thoại
3 Hướng dẫn sử dụng
Để xem các giá trị nhiệt độ, độ ẩm, độ sáng đo được ta dùng điện thoại nhắn tin đến số điện thoại của sim gắn trên mạch SIM900A
+ Nội dung tin nhắn: TEST
+ Đợi vài giây ta sẽ nhận lại được tin nhắn từ sim với nội dung là các giá trị nhiệt độ, độ ẩm, độ sáng
Để có thể đóng (hay ngắt) các thiệt bị motor, led ta cũng dùng điện thoại nhắn tin đến số điện thoại của sim gắn trên mạch SIM900A
+ Tin nhắn bật motor: ON_MOTOR + Tin nhắn tắt motor: OFF_MOTOR + Tin nhắn bật đèn led: ON_LIGHT + Tin nhắn tắt đèn led: OFF_LIGHT
Khi giá trị nhiệt độ quá cao (hay quá thấp) hệ thống sẽ tự động bật (hay tắt) motor quạt làm giảm (hay tăng) nhiệt độ và gửi tin nhắn đến số điện thoại người dùng cho biết nhiệt độ quá cao (hay quá thấp)
Tương tự, khi giá trị độ sáng quá thấp (hay quá cao) hệ thống sẽ tự động bật (hay tắt) đèn led làm giảm (hay tăng) độ sáng độ và gửi tin nhắn đến số điện thoại người dùng cho biết độ sáng quá thấp (hay quá cao)
Trang 15
CHƯƠNG 4 TỔNG KẾT
1 Kết luận
Qua quá trình tiềm hiểu, nghiên cứu nhóm chúng em đã thiết kế và hiện thực hệ thống đáp ứng yêu cầu cơ bản là đo các thông số môi trường và gửi
dữ kiệu qua điện thoại cũng và có thể dùng điện thoại để điều khiển các thiết bị từ xa
Để ứng dụng vào thực tế, hệ thống này còn cần được chỉnh sửa để tăng tính
ổn định và kết nối với thiết với các thiết bị thực tế như hệ thống đèn, quạt, máy phun tưới
2 Đánh giá
Hệ thống hoàn thành các chức năng cơ bản đặt ra
Vẫn còn có 1 số khuyết điểm như :
+ Do sử dụng tín nhắn SMS nên có lúc tín nhắn đến chậm, không xử lý kịp thời
+ Dùng DHT11 để đo nhiệt độ, độ ẩm có sai số nhưng vẫn có thể chấp nhận được
+ Hệ thống chỉ xử lý dữ liệu tức thời không có bộ phận lưu trữ dữ liệu nên không thể theo dõi hay đưa ra các thống kê trong thời gian dài
3 Phương hướng phát triển
Thiết kế thêm hệ thống lưu trữ dữ liệu
Có thêm hệ thống thống kê dữ liệu, đưa ra các hằng ngày hay hàng tuần, hàng tháng,…
Tạo Web Server quản lý, gửi dữ liệu qua mạng lên Server để có thể quản lý
và điều khiển một cách dễ dàng hơn, có thể truy cập ở bất cứ nới nào
Trang 16PHẦN C TÀI LIỆU THAM KHẢO
Tập lệnh AT SIM900
http://banlinhkien.vn/
http://arm.vn
https://github.com/
…