Mã lệnh Mô tả
AT+HTTPINIT Khởi tạo dịch vụ HTTP
AT+HTTPTERM Hủy dịch vụ HTTP
AT+HTTPPARA Thiết lập các thông số cho HTTP
AT+HTTPDATA Nhập dữ liệu HTTP
AT+HTTPACTION Phương pháp hoạt động HTTP
AT+HTTPREAD Đọc phản hồi của Server
AT+HTTPSCON Lưu lại ứng dụng HTTP
2.4 Giới Thiệu vi điều khiển trên khối Master và Slave.
2.4.1 Kit Tiva TM4C123GH6PM.
Hình 2.14Kit Tiva C Series TM4C123G LaunchPad. Vi xử lý khối Master:Arm Tiva C Cortex M4
- Cấu trúc ARM (viết tắt từ tên gốc là Advanced RISC Machine) là một loại cấu trúc vi xử lý 32 bit kiểu RISC được sử dụng rộng rãi trong các thiết kế nhúng. Chúng có đặc
điểm tiết kiệm năng lượng, vì vậy các bộ CPU ARM chiếm ưu thế trong các sản phẩm điện tử di động.
- Vi điều khiển Tiva C Series ARM CORTEX M4 cung cấp hiệu suất hàng đầu và tiên tiến của hãng Texas Instrument, cung cấp rất nhiều các ngoại vi xung quanh, các ngoại vi có thể cấu hình và điều khiển trực tiếp bằng cách truy cập vào các thanh ghi điều khiển.
Chip TM4C123GH6PM:
- CPU: 32bits ARM Cortex M4. - Thumb2 16/32-bit code. - Flash: 256KB.
- SRAM: 32KB.
- EEPROM: 2KB.
- Speed: Up to 80MHz. - PWM: 16 chanels.
- ADC: 12bits – 12 chanels.
- Communication: SSI/SPI, I2C, UART, USB, CAN, PWM, ADC12. 2.4.2 Vi điều khiển MSP430G2553
Hình 2.15 MSP430G2553.
Vi xử lý khối slave: MSP430G2553.Đây là dịng vi điều khiển 16bit có nhiều ưu điểm nổi trội:
- Bộ tương tự hiệu suất cao cho phép các phép đo chính xác: 12 bit hoặc 10 bit ADC- 200kskp, cảm biến nhiệt độ, Vref.
- Bộ giám sát điện áp nguồn: 16 bit RISC CPU cho phép được nhiều ứng dụng, thể hiện một phần ở kích thước Code lập trình.
- Thanh ghi lớn nên loại trừ được trường hợp tắt nghẽn tập tin khi đang làm việc. - Thiết kế nhỏ gọn làm giảm lượng tiêu thụ điện và giảm giá thành.
- Tối ưu hóa cho những chương trình ngơn ngữ bậc cao như C, C++. - Có 7 chế độ định địa chỉ.
2.4.3 Trình biên dịch CCS.
CCS là trình biên dịch hỗ trợ lập trình bằng ngơn ngữ C cho nhiều loại vi điều khiển khác nhau của TI.
- Trình biên dịch chính hãng từ TI.
- Cho phép người sử dụng làm việc, cấu hình ở mức độ thanh ghi. - Hỗ trợ Debug tới từng thanh ghi, dòng lệnh.
- Nền tảng Eclipse và hỗ trợ toàn bộ các loại MCU của hãng cho nên phần mềm khá nặng.
- Có nhiều tài liệu hướng dẫn sử dụng.
- CCS có bản miễn phí dành cho sinh viên dùng cho việc nghiên cứu học tập.
CHƯƠNG 3:THIẾT KẾ VÀ THỰC HIỆN PHẦN CỨNG
3.1 Yêu cầu thiết kế.
Với đề tài này, các yêu cầu đặt ra khi thiết kế phần cứng như sau: - Khối Master:
o Kết nối Kit Arm Tiva4C123GH6PM với Module Sim900A.
o Kết nối giữa Kit Arm Tiva4C123GH6PM với Module Zigbee. - Khối Slave:
o Kết nối giữa MSP430G2553 với Module Zigbee.
o Kết nối giữa MSP430G2553 với các cảm biến nhiệt độ, cảm biến mưa, cảm biến độ ẩm, relay.
3.2 Sơ đồ khối hệ thống.
Hình 3.16 Sơ đồ tổng quát sơ đồ khối hệ thống vườn thanh long thông minh.
Khối Slave: Có chức năng cập nhật thơng số mơi trường bao gồm nhiệt độ, ánh sáng,
Khối Master: Có chức năng cập nhật thơng số môi trường từ khối Slave gởi lên, đồng
thời gởi dữ liệu lên Web Server bằng kết nối GPRS của sim900.Ngồi ra khối Master cịn cập nhật yêu cầu điều khiển từ Web Server để tiến hành gởi đến các khối Slave.
Web Server: Có chức năng lưu trữ dữ liệu từ Master gởi lên như trạng thái thiết bị, các
thông số nhiệt độ, độ ẩm, ánh sáng, mưa của khu vườn.
Điện thoại thơng minh:Có chức năng kết nối 3G, đăng nhập trang web, theo dõi trạng
thái thiết bị, thông số mơi trường và có khả năng điều khiển thiết bị. 3.2.1 Khối Slave.
Hình 3.17Sơ đồ khối khối Slave.
Khối Slave có các cảm biến nhiệt độ, cảm biến độ ẩm đất, cảm biến ánh sáng, các rờle đóng ngắt đèn, bơm nước. Trên khối Slave có một vi xử lý MSP430G2553.Ngồi ra khối Slave cịn có khối zigbee dùng để trao đổi dữ liệu với khối Master.
3.2.2 Khối Master.
Hình 3.18 Sơ đồ khối Master. Khối Zigbee có chức năng trao đổi dữ liệu với các khối Slave.
Khối Sim900 có chức năng kết nối GPRS, truyền và tải dữ liệu từ khối Master đến Web Server.
3.3 Thiết kế và sơ đồ nguyên lý.
3.3.1 Breakout Board Sim900A.
Hình 3.19 Sơ đồ chi tiết Breakout Sim900.
Breakout Board SIM900A sẽ được kết nối với kit Tiva bằng giao tiếp UART thông qua các chân RXD và TXD. Module SIM900A sẽ làm nhiệm vụ kết nối GPRS, thơng qua đó truy cập Internet.
Breakout Board SIM900A sẽ được khởi động bằng cách cấp một xung mức cao vào chân ON/OFF trong thời gian khoảng 1 giây. Khi đó Module SIM900A sẽ bắt đầu tìm mạng, đèn LED chỉ thị sẽ chớp tắt nhanh. Khi hồn thành q trình kết nối mạng, đèn LED chỉ thị sẽ chớp tắt chậm lại.
Breakout Board SIM900A được cung cấp nguồn 5V -2A hoặc 12V-2A để đảm bảo cho SIM900 hoạt động tốt và ổn định.
3.3.2 Khối Relay.
Để điều khiển các thiết bị điện thông thường, ta không thể sử dụng trực tiếp các chân ngõ ra của vi điều khiển vì hạn chế của điện áp và dòng ra của vi điều khiển. Muốn điều khiển thông qua vi điều khiển, ta cần một mạch Relay. Mạch này bao gồm một BJT đóng vai trị khóa điện tử, nhận tín hiệu điều khiển từ vi điều khiển. BJT sẽ đóng ngắt nguồn điện đi qua
Hình 3.5 Khối Relay.
Hình 3.6 Sơ đồ chi tiết khối Relay.Thông số kỹ thuật: Thông số kỹ thuật:
- Sử dụng điện áp ni 5VDC.
- 4 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 ngồ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.
Hình 3.7 Module Zigbee và sơ đồ chi tiết.3.3.3 Khối Zigbee. 3.3.3 Khối Zigbee.
DRF1605 là module Zigbee dựa trên Chip Zigbee CC2530 của hãng Texas Instruments nhưng đã được hãng DTK viết firmware riêng, ta có thể giao tiếp với nó một cách dễ dàng qua giao thức UART quen thuộc.
Thông số kỹ thuật: - Nguồn: 5– 12V DC. - Nhiệt độ: -40 – 85 độ C.
- Baudrate: 38400bps (Default).Có thể cầu hình: 9600, 19200, 38400, 57600, 115200. - Tần số: 2.4GHz.
- Giao thức truyền phát(Transmitter Protocol): Zigbee 2007/PRO. - Khoảng cách truyền phát(Transmitter Distance): 400m.
- Dòng tiêu thụ khi gửi: 34mA (max). - Dòng tiêu thụ khi nhận: 25mA (max). - Độ nhạy: -96 dBm.
Hình 3.8 Mạch so sánh điện áp LM393.
Hình 3.9 Cảm biến mưa.3.3.4 Module cảm biến mưa. 3.3.4 Module cảm biến mưa.
Cấu tạo Module: tấm cảm biến mưa lớn có thể thay đổi điện trở phụ thuộc vào lượng
nước trên bề mặt và IC so sánh điện áp LM393 dùng để so sánh điện áp ngõ vào với điện áp ngưỡng do người dùng cài đặt để nhận biết mưa.
Thông số kỹ thuật:
- Kích thước tấm cảm biến mưa: 54 x 40mm. - Kích thước board PCB: 30 x 16mm.
- Điện áp: 5V.
- Đầu ra: đầu ra kỹ thuật số DO (0 và 1) và đầu ra tương tự điện áp AO.
- Có đèn báo hiệu nguồn và đầu ra.
- Đầu ra TTL, tín hiệu đầu ra TTL có giá trị thấp. Có thể điều khiển trực tiếp relay, buzzer, a small fan...
- Độ nhạy có thể được điều chỉnh thơng qua chiết áp.
- LED sáng lên khi khơng có mưa đầu ra cao, có mưa, đầu ra thấp LED tắt.
Nguyên lý hoạt động: Dựa vào sơ đồ nguyên lý hình 3.8, tấm cảm biến mưa được mắc
nối tiếp với một điện trở để tạo cầu phân áp, điện áp ngõ ra trên cầu phân áp phụ thuộc vào lượng nước trên bề mặt cảm biến mưa. Điện áp ngõ ra này được so sánh với điện áp ngưỡng, từ đó xuất tín hiệu mức cao hoặc thấp (DO) đến vi điều khiển để nhận biết mưa. Độ nhạy của cảm biến phụ thuộc vào điện áp ngưỡng và có thể điều chỉnh được bằng biến trở gắn trên cảm biến.
3.3.5 Module cảm biến độ ẩm đất.
Cấu tạo module: Hai thanh thép nhỏ có thể thay đổi điện trở phụ thuộc vào lượng nước
trong đất và IC so sánh điện áp LM393 dùng để so sánh điện áp ngõ vào với điện áp ngưỡng do người dùng cài đặt để nhận biết độ ẩm.
Hình 3.20 Mạch so sánh điện áp LM393 cảm biến độ ẩm đất. Thông số kỹ thuật: - Phát hiện độ ẩm trong đất. - Phát hiện nước. - Mạch sử dụng IC so sánh điện áp LM393. - Điện áp sử dụng: 3.3-5V.
- Đầu ra: AOUT, DOUT, VCC, GND
o AOUT : Tín hiệu ADC.
o DOUT: Mức logic 0,1.
- Module khi chưa phát hiện ở mức 1, khi phát hiện độ ẩm cho ra mức 0.
- Biến trở cài đặt ngưỡng cài đặt.
Nguyên lý hoạt động: Dựa vào sơ đồ nguyên lý hình 3.10, hai thanh thép cảm biến được
mắc nối tiếp với một điện trở để tạo cầu phân áp, điện áp ngõ ra trên cầu phân áp phụ thuộc vào lượng nước trong đất. Điện áp ngõ ra này (AOUT) được đưa trực tiếp vào ngõ vào ADC của vi điều khiển, dựa vào giá trị bộ ADC có được ta xác định được độ ẩm của đất.
3.3.6 Cảm biến ánh sáng.
Cảm biến cường độ ánh sáng BH1750 được sử dụng để đo cường độ ánh sáng theo đơn vị lux.
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
Nguyên lý hoạt động :Cảm biến
BH1750 được dùng để đo cường độ ánh sáng theo đơn vị Lux, cảm biến gồm hai khối chính là khối ADC nội và bộ tiền xử lý. Khối ADC nội được dùng để chuyển đổi giá trị
Hình 3.21 Cảm biến độ ẩm đất.
Hình 3.13 Sơ đồ chi tiết cảm biến ánh sáng BH1750.
để trả ra đơn vị cường độ ánh sáng theo dơn vị Lux, giá trị này được đọc bởi vi điều khiển thông qua giao tiếp I2C.
3.3.7 Cảm biến nhiệt độ LM35.
Cảm biến LM35 là bộ cảm biến nhiệt mạch tích hợp chính xác cao mà điện áp đầu ra của nó tỷ lệ tuyến tính với nhiệt độ theo thang độ Celsius. Chúng cũng không yêu cầu cân chỉnh ngồi vì vốn chúng đã được cân chỉnh.
Thơng số kỹ thuật:
- Điện áp đầu vào từ 4V đến 30V. - Điện áp ra: -1V đến 6V.
- Công suất tiêu thụ là 60uA.
- Độ phân giải điện áp đầu ra là 10mV/oC. - Độ chính xác cao ở 25 C là 0.5 C.
- Trở kháng đầu ra thấp 0.1 cho 1mA tải.
- Độ chính xác thực tế: 1/4°C ở nhiệt độ phịng và 3/4°C ngồi khoảng -55°C tới 150°C.
Hình 3.23 Cảm biến nhiệt độ LM35.
Tính tốn nhiệt độ đầu ra của IC LM35.
- Cảm biến LM35 hoạt động bằng cách cho ra một giá trị hiệu điện thế nhất định tại chân Vout (chân giữa) ứng với mỗi mức nhiệt độ.
- Để đo nhiệt độ khi sử dụng IC LM35 thông thường chúng ta đọc điện áp ngõ ra của LM35 bằng ngõ vào ADC của vi điều khiển.
- Cơng thức tính nhiệt độ theo điện áp ngõ ra :
t= u/k
Trong đó :
u là điện áp đầu ra
Giả sử điện áp Vcc cấp cho LM35 là 5V ADC 10bit. Vậy bước thay đổi của LM35 sẽ là 5/(2^10) = 5/1024 . Giá trị ADC đo được thì điện áp đầu vào của LM35 là
(t*k)/(5/1024) = ((10^-2)*1024*t)/5 = 2.048*t Vậy nhiệt độ ta đo được t = giá trị ADC/2048
CHƯƠNG 4: THIẾT KẾ VÀ THỰC HIỆN PHẦN MỀM.
4.1 Yêu cầu thiết kế.
Mục tiêu của luận văn là thiết kế hệ thống có thể giám sát vườn thanh long và thu thập các thông số môi trường từ xa thông qua kết nối không dây như 3G hoặc 2G.
Để làm được điều này chúng ta cần phải có một nơi lưu lại các thơng số môi trường thu thập được theo thời gian,một giao diện tương tác để người dùng có thể điều khiển và đọc được các thông tin cần thiết về hệ thống.
Dựa trên các yêu cầu trên chúng ta đề xuất giải pháp là thiết kế Web Server. Một Web Server bao gồm: Cơ sở dữ liệu,trang Web và chương trình quản lý Server.Thiết kế hệ thống điều khiển trên Web Server sẽ mang cho ta nhiều lợi ích như dung lượng cơ sở dữ liệu lớn, giao diện là một trang Web nên có thể hoạt động trên nhiều nền tảng khác nhau như Android, iOS, window phone… chỉ u cầu có cài đặt trình duyệt web trước đó.
4.2 Trang Web và phía Server.
4.2.1 Phần mềm Microsoft WebMatrix và ASP.NET framework.
Giao diện trang Web, phía Server và cơ sở dữ liệu trong luận văn này đều được tạo trên phần mềm WebMatrix sử dụng ngôn ngữ HTML kết hợp với ASP.NET Razor.
Hình 4.24Giao diện phần mềm WebMatrix 3.
WebMatrix là một phần mềm ứng dụng phát triển Web miễn phí cho hệ điều hành Windows được phát hành bởi Microsoft.WebMatrix cho phép người phát triển xây dựng trang Web sử dụng các mẫu tích hợp có sẵn hoặc các ứng dụng mã nguồn mở thông dụng với sự hỗ trợ tuyệt đối với ASP.NET, PHP, Node.js và HTML5.Microsoft phát triển WebMatrix cho mục đích cung cấp cho người phát triển Web các tính năng lập trình, chỉnh sửa và phát hành trang Web chỉ trên một phần mềm duy nhất. Phiên bản mới nhất hiện nay là Microsoft WebMatrix 3.
ASP.NET là một chương trình khung ứng dụng Web phía Server thiết kế cho việc phát triển Web để tạo các trang Web động. Được phát triển bởi Microsoft cho phép người phát triển Web xây dụng các trang Web động, ứng dụng Web và dịch vụ Web.
ASP.NET Web pages, được biết chính thức với với tên Web Forms, là các khối xây dựng chính cho phát triển ứng dụng. Web forms được chứa trong các tập tin với phần mở rộng “.aspx”, các tập tin này thường chứa các đánh dấu động HTML cũng như các đánh dấu định nghĩa các điều khiển phía Server và các điều khiển của người dùng. Các mã động được chạy trên Server có thể được đặt trong một khối <% -- mã động -- %>.
phép người dùng sử dụng quy trình xây dựng của HTML. Thay vì sử dụng cú pháp đánh dấu với các ký tự <% -- %> để chỉ ra khối mã lệnh, cú pháp Razor bất đầu khối mã lệnh với một ký tự @ duy nhất và khơng cần thêm ký tự nào để đóng khối mã lệnh. Ưu điểm của Razor là cung cấp một cú pháp tối ưu cho HTML sử dụng một cách tiếp cận tập trung vào mã lệnh, với sự thay đổi nhỏ nhất giữa HTML và mã lệnh.
4.2.2 Tạo cơ sở dữ liệu.
Cơ sở dữ liệu được tạo bằng Microsoft SQL Server 2012 trên phần mềm WebMatrix. Cơ sở dữ liệu gồm có các bảng dùng để lưu trữ dữ liệu được gởi lên từ vi điều khiển và Sim900A, đồng thời cũng lưu trữ các yêu cầu được chọn ở giao diện trang Web.
Sơ đồ cấu trúc cơ sở dữ liệu và chức năng các bảng:
- Bảng Devices:gồm các cột
o Cột id chứa số thứ tự.
o Cột Name chứa tên của các thiết bị.
o Cột DStatus chứa trạng thái của các thiết bị.
o Cột DRequest chứa yêu cầu từ giao diện trang Web.
Hình 4.25 Bảng Devices của cơ sở dữ liệu.
- Bảng Dlog:gồm có các cột:
o Cột id chứa số thứ tự.