Professional Documents
Culture Documents
ĐỒ ÁN MÔN HỌC
Em xin gửi lời cảm ơn chân thành đến thầy Nhữ Khải Hoàn – giảng viên bộ môn
“Kỹ Thuật Vi Xử Lý” trong Khoa Điện – Điện Tử đã trang bị cho em những kiến thức,
kỹ năng cơ bản cần có để hoàn thành đề tài nghiên cứu này
Vì lý do Bluetooth không thể truyền đi xa nên em xin được sử dụng hình thức gửi
data giám sát về server mà module SIM 800A có sẵn. Đồng thời có thể truy cập được ở
bất cứ đâu trên mọi thiết bị.
Ngoài ra, em cũng thiết kế giao diện giao tiếp để người dùng tiện thao tác thông qua
web server một cách thân thiện, dễ hiểu và dễ thao tác.
Do thời gian còn hạn chế, cũng như mức độ rộng lớn của đề tài, nên dù đã cố gắng
hết sức nhưng phương án giải quyết bài toán của em chắc chắn không thể tránh khỏi
những thiếu sót. Em rất mong nhận được sự đóng góp ý kiến của quý thầy cô và bạn bè
để đề tài của em càng được hoàn thiện hơn.
Em xin chân thành cảm ơn!
2
TÓM TẮT
Đề tài nghiên cứu “Xây dựng mô hình tưới cây tự đông theo độ ẩm đất.” được thực
hiện tại trường Đại Học Nha Trang.
Đề tại được thực hiện theo những yêu cầu sau :
3
DANH SÁCH CÁC CHỮ VIẾT TẮT
PLC: ............................... Programmable logic controller.
AT: .................................. Attention.
GSM: ............................... Global System for Mobile Communications.
GPRS:............................... General Packet Radio Service.
GPS:.................................. Global Positioning System.
SMS: ................................ Short Message Service.
CR: ................................... Carriage return.
LF: .................................... Line Feed.
MT: ................................... Mobile Terminal.
TE: .................................... Terminal Equipment.
HTTP: ............................... Hypertext Transfer Protocol.
HTML: ............................. HyperText Markup Language.
IP: ..................................... Internet Protocol.
CSS: .................................. Cascading Style Sheets.
URL:.................................. Uniform Resource Locator.
PHP: ................................. Hypertext Preprocessor.
CMS:................................. Content management system.
IDE: .................................. Integrated Development Environment.
PVC:.................................. Polyvinyl clorua
4
Chương 1
MỞ ĐẦU
1.1 Đặt vấn đề
Hiện nay trên thế giới việc ứng dụng các công nghệ điều khiển vào trong sản xuất là
rất nhiều và cần thiết trong các ngành nghề kể cả trong nông nghiệp. Nhờ có ứng dụng
các công nghệ điều khiển hiện đại mà năng suất và chất lượng nông sản tăng lên đáng kể.
So với nước ta hiện nay thì nền nông nghiệp vẫn còn lạc hậu cũng như chưa có nhiều ứng
dụng khoa học kĩ thuật áp dụng vào thực tế. Trong nông nghiệp ngoài những kĩ thuật
trồng trọt, chăm sóc thì tưới nước là một trong các khâu quan trọng nhất trong trồng trọt
để đảm bảo cây sinh trưởng và phát triển bình thường. Tưới đúng và tưới đủ theo yêu cầu
nông học của cây trồng sẽ không sinh sâu bệnh, hạn chế thuốc trừ sâu cho sản phẩm an
toàn, đạt năng suất hiệu quả cao.
Mặt khác hiện nay nước ta đang trong giai đoạn công nghiệp hóa hiện đại hóa các
thiết bị máy móc tự động được đưa vào phục vụ thay thế cho sức lao động của con người.
Vì vậy thiết bị tưới đang được nghiên cứu, thiết kế, chế tạo để đưa vào thực tiễn ngày
càng nhiều. Thiết bị tưới cũng rất đa dạng về chủng loại (vòi phun mưa, phun sương, vòi
nhỏ giọt bù áp, vòi không bù áp,..) có thông số khác nhau phục vụ cho các loại cây khác
nhau được chế tạo từ nhiều quốc gia khác nhau tiêu biểu như: Israel, Mỹ, Trung Quốc,..
Rất tiện cho người sử dụng lựa chọn phù hợp với nhu cầu sử dụng của mình. Việc thiết
kế, chế tạo một hệ thống tưới cây tự động sẽ giúp con người không phải tưới cây, không
phải tốn chi phí nhân công tưới nước và có thể giám sát thời gian tưới 1 cách cụ thể nhất.
Người lao động sẽ không cần quan tâm tới việc tưới cây mà cây vẫn sinh trưởng phát
triển tốt hơn nhờ việc tưới phù hợp và chính xác hơn. Đồng thời can thiệp vào nền nông
nghiệp nước ta hạn chế phụ thuộc vào điều kiện khí hậu tự nhiên.
Ngoài ra trên những tuyến đường ở khu vực trung tâm thành phố, chúng ta vẫn hay
bắt gặp hình ảnh các xe bồn chở nước tưới cây dọc đường gây cản trở, mất an toàn giao
thông.
Do đó đề tài “Thiết kế, chế tạo mô hình giám sát và điều khiển tưới cây tự động”
được chọn để giải quyết các vấn đề nêu trên.
5
1.2 Mục tiêu đề tài
Vận dụng kiến thức đã học để nghiên cứu và thực hiện: “Thiết kế, chế tạo mô hình
giám sát và điều khiển tưới cây” từ đó đưa vào ứng dụng trong thực tiễn. Giúp cho việc
tươi tiêu cây trồng ở nước ta có những phương án mới và đạt được hiệu quả cao.
Hệ thống tích hợp module gọi điện/SMS sử dụng mạng di động, xử lý dữ liệu. Hệ
thống sẽ thu nhận các tín hiệu của thiết bị đầu cuối (mobile), để thực hiện các lệnh điều
khiển tưới cây và phản hồi lại trạng thái của thiết bị được điều khiển.
Module SIM 800A GSM/GPRS/GPS có thể làm việc tại các ví trí có phủ sóng của
mạng điện thoại di động đang hoạt động trong nước như Viettel, Mobile Phone, Vina
Phone...
1.3 Nội dung đề tài
Vì thời gian có hạn cũng như mức độ rộng lớn của đề tài nên em chỉ thực hiện
nghiên cứu các vấn đề cơ bản như sau:
- Cơ sở lý thuyết Arduino, module SIM900A mini, cảm biến độ ẩm đất.
- Mô hình mạch nguyên lý, giải thuật và code điều khiển.
- Thi công mô hình hệ thống tưới cây tự động theo độ ẩm đất theo yêu cầu :
- Tự ổn định độ ẩm đất.
- Điều khiển và giám sát hệ thống thông qua bluetooth/Server
- Đánh giá kết quả đạt được và kiến nghị.
-
6
Chương 2
TỔNG QUAN
2.1 Tổng quan về hệ thống tưới cây
2.1.1 Hệ thống tưới là gì?
Hệ thống tưới là một công cụ để chuyền tải một lượng nước từ nguồn nước đến các
điểm khác nhau trên một phạm vi đất nào đó với mật độ bao phủ đồng đều cao phù hợp
cho từng giai đoạn sinh trưởng khác nhau của cây.
Ngày nay với sự phát triển của xã hội, khoa học công nghệ cụ thể là công nghệ ứng
dụng vào nông nghiệp cũng từng bước nâng cao. Lao động chân tay dần được thay thế
bằng máy móc và hệ thống tưới nước cũng là một trong số đó. Hệ thống tưới hay còn gọi
là hệ thống tưới tự động là một trong những hệ thống ứng dụng công nghệ tiên tiến nhất
hiện nay. Trước kia, để có nước canh tác người lao động phải tìm kiếm những nơi có
nguồn nước dồi giàu hoặc là phải dùng sức mình vận chuyển từng khối nước tới tưới cho
cây trồng thì ngày nay chỉ cần một nút bấm cây đã có nước để hấp thụ. Vừa giảm được
thời gian, giảm được nhân công lao động lại vừa có thể kiểm soát tiết kiệm cho nguồn
nước tránh khỏi việc hao phí nước.
2.1.2 Lịch sử phát triển của hệ thống tưới cây.
Vì vấn đề có thể cung cấp đủ nước đảm bảo độ ẩm cho cây trồng phát triển, cũng
như là tiết kiệm thời gian, tiết kiệm chi phí nhân công, tiết kiệm được nguồn nước nên hệ
thống tưới cây được ra đời và ngày càng hiện đại hơn:
7
Tưới thủ công bằng sức Tưới thủ công có hỗ trợ máy
người móc
8
2.1.3 Các phương pháp tưới được áp dụng hiện nay:
Tưới cây không chỉ đơn giản là hình thức tưới bình thường như chúng ta nghĩ mà nó
là một trong những biện pháp chủ yếu để sử dụng nước hợp lý, thích hợp cho từng loại
cây trồng, nhằm tăng năng suất lao động và tăng năng suất cho cây trồng.
Trong số những hệ thống tưới phổ biến, nổi bật lên ba hệ thống tưới tự động là tưới phun
sương, tưới phun mưa và tưới nhỏ giọt. Đặc điểm riêng của từng hệ thống như sau:
2.1.3.1 Hệ thống tưới phun sương
Hệ thống tưới phun sương là một hệ thống tưới nước chịu áp suất của máy bơm
tăng áp khiến dòng nước phun ra có dạng hạt rất nhỏ, khuất tán nhanh vào không khí. Vì
đặc tính đó nên tưới phun sương chịu ảnh hưởng rất lớn bởi gió, nên thường chỉ được lắp
đặt ở trong nhà kính, hoặc ở những nơi không chịu ảnh hưởng mạnh bởi các yếu tố khí
hậu. Tưới phun sương thường được lắp trong các khu vườn ươm giống, các vườn hoa
trong nhà kính, trồng rau hữu cơ, rau thủy canh, trồng hoa, tưới cảnh quan,… Ngoài ra
tưới phun sương còn được lắp trong các trang trại, nhà xưởng, quán café, giúp cho không
gian xung quanh luôn mát mẻ và dễ chịu.
Khi bốc hơi nhanh sương hấp thu nhiệt và do đó làm giảm nhiệt độ của môi trường
xung quanh từ 5 – 70C.
9
Ưu điểm:
- Cho phép khả năng kết hợp phân hóa học, thuốc khử trùng hòa tan vào nước
để rãi lên mặt vườn một cách đều và hiệu quả hơn.
- Kích thước hạt nhỏ, mịn nên sẽ an toàn đối với hoa và cây trồng, không gây
hại cho cây.
- Tiết kiệm nước tối ưu. Thỏa mãn yêu cầu sinh lý của cây trồng: không chỉ về
nước mà còn về dinh dưỡng cũng như bảo vệ lớp đất có bộ rễ cây hoạt động.
- Chống nóng, chống lạnh, điều hòa vi khí hậu, không gây ra hiện tượng sương
muối và giúp điều hòa khí hậu tốt hơn hẳn. Phù hợp với nhiều địa hình.
Nhược điểm:
- Đòi hỏi người sử dụng phải có hiểu biết nhất định về kỹ thuật và quản lý để
vận hành.
- Chi phí đầu tư lớn.
- Nguồn nước phải đảm bảo sạch.
- Chịu ảnh hưởng lớn bởi gió và nhiệt độ.
2.1.3.2 Hệ thống tưới phun mưa
Đây là phương pháp tưới mới được phát triển rộng rãi trong vòng 40 năm nay.
Nguyên tắc chính của hệ thống tưới nước này là dùng máy bơm, ống dẫn nước và vòi
phun để tạo các tia nước bắn ra xung quanh nhờ đầu phun tạo mưa, phun trực tiếp lên bề
mặt lá cây. Hệ thống này giúp người nông dân tưới cây nhanh hơn, hiệu quả hơn, nâng
cao hiệu quả kinh tế. Hệ thống này được áp dụng phổ biến nhất do phù hợp với nhiều mô
hình canh tác từ hoa màu cho đến cây ăn quả, cây công nghiệp.
11
Ở Việt Nam hiện nay đang được áp dụng rất phổ biến phương pháp tưới phun mưa
cho các vùng chuyên canh rau ở Hà Nội, Hải Phòng, Đà Lạt... và các vùng trồng cây công
nghiệp ở Tây Nguyên.
2.1.3.3 Hệ thống tưới nhỏ giọt
Tưới nhỏ giọt là hệ thống tưới nước đưa nước đến từng gốc cây, nước sẽ được tưới
trực tiếp lên bề mặt của đất chứ không phải phun trên bề mặt lá. Từ đây hạn chế đến tối
đa việc bốc hơi của nước, giúp cây thu đủ chất dinh dưỡng để phát triển. Tưới nhỏ giọt đã
có từ thời cổ đại với các bình đất sét đục lỗ cho nước thấm qua hay hệ thống ống dẫn đục
lỗ tại Đức (năm 1920) nhưng phải đến 1959, nhờ công sức của 2 cha con Simcha Blass
và Yeshayahu người Israel, phương pháp này mới được hoàn thiện.
Hệ thống tưới nhỏ giọt đơn giản bao gồm: bồn chứa nước, hệ thống ống dẫn và đầu
tưới nhỏ giọt hay dây nhỏ giọt.
12
- Phạm vi tưới nước trên mặt đất nhỏ nên trên mặt đất phần lớn vẫn giữ được
khô, các loại cỏ dại sẽ không đủ độ ẩm để phát triển và giữ được thoáng khí.
Nhược điểm:
- Đây là vấn đề chủ yếu trong sử dụng tưới nhỏ giọt, nghiêm trọng có thể làm
cho hệ thống tưới hoạt động không bình thường, ngừng hoạt động. Nguyên
nhân gây tắc có thể do phù sa trong nước, chất hữu cơ, vi sinh vật hoặc vật
lắng kết hóa học.
- Tưới nhỏ giọt không có khả năng làm mát cây và cải tạo vi khí hậu như tưới
phun mưa, không có khả năng rửa lá giúp cây quang hợp.
- Tưới nhỏ giọt cần có vốn đầu tư ban đầu, người đầu tư phải có trình độ tiến
cận kỹ thuật tưới.
- Khi tưới nhỏ giọt bị gián đoạn, cây trồng sẽ xấu đi nhiều so với phương pháp
tưới cây khác
2.1.4 Một số công trình nghiên cứu trước
2.1.4.1 Các nghiên cứu trong nước
Hệ thống tưới của trường Cao đẳng Công Nhiệp Huế:
Hệ thống phun tự động đa năng của hai giảng viên trường Cao đẳng Công Nghiệp
(CĐCN) Huế: tiến sĩ Lê Văn Luận và thạc sĩ Lê Đình Hiếu. Các thiết bị chính của hệ
thống tưới phun đa năng gồm 1 cảm biến đo nhiệt độ và 1 cảm biến đo độ ẩm đất cài đặt
tại nhà màng trồng hoa, hệ điều khiển được lập trình trên PLC- S7- 1200. Khi các cảm
biến cho thông số độ ẩm của đất và nhiệt độ của không khí tại nhà màng báo hiệu cần
nước, tín hiệu sẽ đưa về bộ điều khiển PLC. Tại đây các chức năng sẽ được điều khiển tử
động nhận nước và đưa tưới tự động tưới phun theo cái vòi lắt đặt và tự ngừng trong 5
phút, khi cảm biến báo độ ẩm hoặc nhiệt độ đã đạt yêu cầu.
Một thuận lợi nữa là Hệ thống tưới phun đa năng này còn có thể sử dụng để phun
thuốc sâu cho cây hoa bằng cách, thay đấu nối từ nguồn nước tưới sang nguốn nước đã
hòa thuốc sâu. Hệ điều khiển thay vì tự động nhận tín hiệu sẽ được điều khiển bán tự
động bằng tay, mọi hoạt động của hệ thống sẽ chạy cơ chế tương tự.
Với các ưu điểm: tự động hóa, tiết kiệm công sức, tiết kiệm điện, thân thiện với môi
trường, dễ sử dụng… hệ thống tưới phun đa năng này còn cải thiện được hàng loạt các
nhược điểm của các phương pháp tưới truyền thống khác. Đó là giảm bám bẩn, tắc
13
nghẽn ống tưới, làm mát toàn thân cây kịp thời, tự nhiên, không gây gãy đổ. Có thể tưới
rửa bẩn bám trên thân lá, hoa. Tiết kiệm nước và có giá thành thấp, dễ bảo dưỡng.
Hệ thống tưới bằng điện thoại của nông dân trẻ Nguyễn Quốc Huy
Để chăm sóc khu vườn rộng hàng ngàn mét vuông của gia đình mình, giờ đây chàng
nông dân trẻ Nguyễn Quốc Huy (22 tuổi, ngụ tại thôn Đa Lộc, xã Xuân Thọ, thành phố
Đà Lạt, tỉnh Lâm Đồng) có thể ngồi cách xa hàng trăm km điều khiển hệ thống thiết bị
tưới nước hiện đại tự động, thông qua chiếc điện thoại thông minh.
Hệ thống bơm nước với các van điện từ đóng mở nhịp nhàng theo một chương trình
đặt trước sẽ lần lượt dẫn nước tới các béc phun nước dựng đều trên các luống rau, tưới đủ
nước lần lượt cho từng khu vực.
Chỉ bằng những tin nhắn từ điện thoại dù ở cách xa cả ngàn km, hệ thống thiết bị
của Huy sẽ tự động vận hành, làm những công việc như hút nước từ giếng lên bể chứa;
dẫn nước tới các bép phun đã chôn sẵn trên các luống cây trồng lần lượt từng khu vực;
tưới theo thời gian đã cài đặt từ hệ thống cho từng khu vực, tùy thuộc vào từng loại cây
trồng…
2.1.4.2 Các nghiên cứu của nước ngoài:
Máy tự động dùng trong nông nghiệp.
Đầu những năm 80 Liên Xô đã chế tạo ra một loại mấy tự động dùng trong năm
nghiệp. Khi làm việc loại máy này có thể đo được độ ẩm đất, nhiệt độ không khí, sức
gió... có thể xác định được phương pháp tưới và tiến hành tưới cho cây trồng thông qua
một loại máy làm mưa nhân tạo.
Robot tưới cây của hãng Droplet
14
Hình 2.5: Robot tưới cây của hãng Droplet.
Hãng robot Droplet giới thiệu robot tưới cây tích hợp những công nghệ mới nhất,
điện toán đám mây và một số dịch vụ kết nối khác cho phép Droplet có khả năng điều
chỉnh hướng vòi phun, lượng nước, tần suất nước để tự động tưới nước cho cây theo lịch
trình tự tính toán dựa trên phân tích của các dữ liệu đầu vào.Theo thông từ hãng sản xuất,
robot Droplet chẳng những có thể thay thế con người chăm sóc cây cối mà còn có thể
giúp tiết kiệm tới 90% lượng nước lãng phí trong quá trình tưới nước cho cây.
Về mặt kỹ thuật, Droplet là 1 chiếc vòi phun tự động có khả năng tự điều chỉnh
hướng dòng nước phun ra từ ống đến thân cây trong bán kính 9,14 mét. Trước khi robot
tự động vận hành, người dùng chỉ cần khai báo tên của các loại cây có mặt trong vườn
thông qua điện thoại, máy tính bảng,... được kết nối không dây với robot. Tiếp theo,
người dùng cần điều chỉnh hướng vòi phun bằng tay đến mỗi cây và Droplet sẽ lưu từng
vị trí của các cây vào bộ nhớ của mình.
Dựa trên thông tin về tên các loại cây, Droplet sẽ tự tra cứu thông tin trên mạng
nhằm xác định lượng nước cũng như tần số tưới cho phù hợp với từng loại cây.Bên cạnh
đó, Droplet cũng tự tra cứu dữ liệu về tình hình thời tiết của địa điểm làm việc để xác
định mưa/nắng nhằm đưa ra lịch làm việc thích hợp.
Hệ thống điều khiển tưới cây tự động của Israel.
Nói về công nghệ tưới thì không thể nói đến hệ thống tưới của Israel, đó là cả một
thành công về một nền nông nghiệp gặp nhiều khó khăn, một nền nông nghiệp đã vượt
qua được sự thiếu hụt về tài nguyên nước, nơi có lượng mưa thấp nhất thế giới, một vùng
đất được xem là khô cằn thế nhưng Israel đã chứng tỏ là một quốc gia đi đầu cho những
15
tiến bộ công nghệ không chỉ về nông nghiệp mà còn các lĩnh vực khác ảnh hưởng đến
toàn thế giới.
Bộ điều khiển tưới cây tự động Israel dễ dàng được lập trình theo yêu cầu tưới của
người sử dụng. Chỉ cần vài thao tác lập trình, cung cấp cho hệ thống nguồn nước đầu vào
và dẫn các đầu tưới đến các vị trí cần tưới là đã hoàn tất việc lắp đặt hệ thống tưới tự
động.
Có 3 loại điều khiển: Điều khiển theo giờ tưới và điều khiển theo chu kỳ.
- Điều khiển theo giờ tưới: Hệ thống hoạt động đúng theo thời gian đồng hồ
yêu cầu
- Điều khiển theo chu kì tưới: Hệ thống hoạt động theo vòng lặp thời gian.
- Điều khiển bằng tay : người sử dụng có thể tưới cây hoặc ngừng tưới ngay
mà không cần đến thời gian đã hẹn, chỉ cần nhấn nút trực tiếp trên timer
Bộ điều khiển thời gian và van điện từ.
Bộ điều khiển tự động: dùng để cài đặt thời gian tưới tự động, như giờ hoạt
động, thời gian hoạt động, thời gian dừng hay chuyển đổi các vị trí tưới. Bộ cảm
biến mưa sẽ tự động ngừng tưới khi có mưa hay độ ẩm cao.
Van điện từ: là thiết bị nhận và truyền tín hiệu từ bộ điều khiển đến các đầu
tưới, để các đầu tưới hoạt động.
16
Hình 2.6: Bộ hẹn giờ và van điều khiển
Hoạt động của hệ thống tưới: Hệ thống được mặc định giờ tưới, đến giờ hoạt
động thì bộ điều khiển sẽ tự động truyền tín hiệu đến các van điện từ, các van sẽ tự
động mở ra và cung cấp nước cho các đầu phun. Thời gian tưới được cài đặt sẵn
theo ý muốn của người sử dụng.
Sau quá trình nghiên cứu, tìm hiểu thì em chọn cho đề tài phương án tưới cây bằng
phương pháp phun mưa, hình thức tưới trực tiếp bằng điện thoại và hẹn giờ trên web. Do
phương pháp phun mưa tối ưu trên nhiều địa hình, phù hợp với nhiều loại cây trồng đặc
biệt là nhưng cây hoa màu nông nghiệp với việc điều khiển tưới thông qua điện thoại di
động hoặc hẹn giờ trên web sẽ giúp được người điều khiển bớt đi thời gian cũng như
không gian. Chỉ cần kết nối mạng vào địa chỉ trang web thực hiện đặc lịch cho hệ thống
hay một cuộc gọi đến thì máy bơm sẽ được hoạt động bơm nước tưới cho cây trồng dù
cho người điều khiển có ở đâu đi chăng nữa thì cũng có thể tưới cây trồng của mình một
cách dễ dàng.
2.2 Tổng quan tập lệnh AT trong đề tài
2.1.1 Tập lệnh AT
Tập lệnh AT viết tắt là Attention các hướng dẫn được sử dụng để điều khiển một
modem. Là tập lệnh chuẩn được hỗ trợ bởi hầu hết các thiết bị di động như điện thoại di
17
động, GSM modem mà có hỗ trợ gửi và nhận tin nhắn tin nhắn dưới dạng SMS (Short
Message Service) và điều khiển cuộc gọi.
Từ các lệnh “AT” này, người lập trình có thể làm một số bước sau:
- Ban đầu đọc tin nhắn, viết tin nhắn và xóa tin nhắn.
- Thực hiện gửi tin nhắn SMS.
- Kiểm tra toàn bộ chiều dài nội dung tin nhắn.
- Thực hiện gọi điện, nghe máy, gác máy.
Trong khuôn khổ của đồ án này em chỉ tìm hiểu 1 số tập lệnh cơ bản phục vụ cho
việc làm đồ án của mình. Sau đây em xin giới thiệu 1 số tập lệnh cơ bản để cài đặt dùng
cho dịch vụ gọi điện bao gồm:
- Bước đầu tiên là công việc khởi tạo.
- Bước thứ hai là nhận, xử lý cuộc gọi và lấy thời gian thực từ nhà mạng của
sim.
- Bước làm cuối cùng là gửi tín hiệu đi.
2.2.2 Các thuật ngữ
<CR>: Carriage return (được dịch từ mã ASCII là $0D).
<LF>: Line Feed (được dịch từ mã ASCII là 0x0A)
MT : Mobile Terminal – Thiết bị đầu cuối mạng (ở đây là Module simA7).
TE : Terminal Equipment – Thiết bị đầu cuối (ở đây là máy tính giao tiếp được
dùng để giao tiếp với Module sim).
2.2.3 Cú pháp lệnh AT
Lệnh khởi đầu: luôn là “AT” hoặc “at”. Lệnh kết thúc là: ký tự <CR>. Thông
thường sau mỗi lệnh AT là một đáp ứng, cấu trúc của đáp ứng này là:
“<CR><LF><Response><CR><LF>” Cú pháp chính của lệnh AT có thể được phân chia
thành 3 loại : cú pháp có cấu trúc cơ bản, cú pháp có cấu trúc tham số S, cú pháp có cấu
trúc mở rộng.
Với các cú pháp nêu trên thì các lệnh có thể hoạt động ở nhiều chế độ khác nhau.
Các chế độ này được thống kê như sau:
Bảng 2.1: Các chế độ lệnh AT.
<Lệnh kiểm tra> AT+<x>=? Thống kê lại các tham số trong câu lệnh và các
giá trị có thể thiết lập cho tham số.
<Lệnh đọc> AT+<x>? Đọc nội dung tin nhắn được gửi đến, kiểm tra
18
giá trị tin nhắn về mặt dữ liệu.
<Lệnh thiết lập> AT+<x>=<…> Được sử dụng để thiết lập các giá trị cho tham
số.
<Lệnh thực thi> AT+<x> Thực thi nội dung tin nhắn được tiến hành bên
trong của Module sim
Lệnh AT + CMGL: danh sách thư đã nhận trong chế độ văn bản.
Lệnh AT + CMGL liệt kê các tin nhắn nhận được trên modem GSM. Nó có thể
được sử dụng để nhận được tất cả các tin nhắn nhận được, tất cả các tin nhắn chưa đọc
hoặc tất cả các tin nhắn đã đọc.
Thông số
- <stat>: Trạng thái = "TẤT CẢ", "REC UNREAD" hoặc "REC READ"
- <index>: Số chỉ mục của thư
- <oa>: Địa chỉ người tạo
- <alpha>: Tên trình khởi tạo (nếu có trong danh bạ)
- <scts>: Tem thời gian trung tâm dịch vụ
19
- <data>: Nội dung của tin nhắn văn bản
- <CR>: ký tự ASCII 13
- <LF>: Ký tự ASCII 10
Lệnh ATDxxxxx...: Cuộc gọi gốc đến số điện thoại nào đó.
Lệnh này có thể được sử dụng để thiết lập các cuộc gọi thoại, dữ liệu hoặc fax đi.
Với “xxxx...” là số điện thoại muốn gọi đi. Nó cũng phục vụ để kiểm soát các dịch vụ bổ
sung. Lưu ý: Lệnh này có thể bị hủy bỏ thường bằng cách nhận lệnh ATH hoặc ký tự
trong khi thực thi.
Lệnh ATH : tắt máy
Ngắt kết nối cuộc gọi hiện tại với TE cục bộ từ dòng lệnh và kết thúc cuộc gọi
Tổng quan về WEBSERVER
- Ngày nay cùng với sự phát triển của IOT ngày càng có nhiều WEBSERVER miễn
phí đã được tạo ra miễn phí ( hoặc bỏ ra một khoản phí nhỏ để nâng cấp tính năng
sử dụng ). Các trang chủ này khá dễ dàng sử dụng qua phương thức/giao thức API.
Tiêu biểu như ThingsBoard - Open-source IoT Platform , Blynk IoT platform: for businesses
and developers , https://cloud.google.com/iot , Thinger.io – Open Source IoT Platform, Node-
RED (nodered.org)…
- API là các phương thức, giao thức kết nối với các thư viện và ứng dụng khác. Nó
là viết tắt của Application Programming Interface – giao diện lập trình ứng
dụng. API cung cấp khả năng cung cấp khả năng truy xuất đến một tập các hàm
hay dùng. Và từ đó có thể trao đổi dữ liệu giữa các ứng dụng.
Web API: là hệ thống API được sử dụng trong các hệ thống website. Hầu hết
các website đều ứng dụng đến Web API cho phép bạn kết nối, lấy dữ liệu hoặc
cập nhật cơ sở dữ liệu. Ví dụ: Bạn thiết kế chức nằng login thông Google,
Facebook, Twitter, Github… Điều này có nghĩa là bạn đang gọi đến API của.
Hoặc như các ứng dụng di động đều lấy dữ liệu thông qua API.
API trên hệ điều hành: Windows hay Linux có rất nhiều API, họ cung cấp các
tài liệu API là đặc tả các hàm, phương thức cũng như các giao thức kết nối. Nó
giúp lập trình viên có thể tạo ra các phần mềm ứng dụng có thể tương tác trực
tiếp với hệ điều hành.
API của thư viện phần mềm hay framework: API mô tả và quy định các hành
động mong muốn mà các thư viện cung cấp. Một API có thể có nhiều cách triển
khai khác nhau và nó cũng giúp cho một chương trình viết bằng ngôn ngữ này
20
có thể sử dụng thư viện được viết bằng ngôn ngữ khác. Ví dụ bạn có thể dùng
Php để yêu cầu một thư viện tạo file PDF được viết bằng C++.
API hiện nay đều tuân thủ theo tiêu chuẩn REST và HTTP, tạo sự thân thiện dễ
sử dụng với nhà phát triển. Giúp người dùng dễ dàng truy cập, dễ hiểu hơn.
Web API hiện đại dùng cho các đối tượng cụ thể, chẳng hạn như mobile
developer với document, version khác nhau.
API key: Đây là loại code (string) được truyền tải bởi các chương trình máy
tính gọi là API để xác định chương trình, nhà phát triển hoặc người dùng nó tới
trang web. Các API key được sử dụng với mục đích nhằm giới hạn, kiểm soát
sử dụng API. Chẳng hạn như ngăn chặn sự việc lạm dụng API.
API Key thường hoạt động như một mã định danh duy nhất và mã thông báo bí mật để
xác thực và thường sẽ có một bộ quyền truy cập trên API được liên kết với nó. Các API
Key có thể dựa trên hệ thống định danh duy nhất toàn cầu (UUID) để đảm bảo chúng sẽ
là duy nhất cho mỗi người dùng.
Web API là một phương thức dùng để cho phép các ứng dụng khác nhau có thể giao
tiếp, trao đổi dữ liệu qua lại. Dữ liệu được Web API trả lại thường ở dạng JSON hoặc
XML thông qua giao thức HTTP hoặc HTTPS.
Web API hỗ trợ restful đầy đủ các phương thức: Get/Post/put/delete dữ liệu. Nó giúp bạn
xây dựng các HTTP service một cách rất đơn giản và nhanh chóng. Nó cũng có khả năng
hỗ trợ đầy đủ các thành phần HTTP: URI, request/response headers, caching, versioning,
content format.
Với web API, chúng ta sẽ tự động hóa quản lý công việc, cập nhật luồng công việc, giúp
tăng năng suất và tạo hiệu quả công việc cao hơn.
API cho phép lấy nội dung từ bất kỳ website hoặc ứng dụng nào một cách dễ dàng nếu
được cho phép, tăng trải nghiệm người dùng. API hoạt động như một chiếc cổng, cho
phép các công ty chia sẻ thông tin được chọn nhưng vẫn tránh được những yêu cầu không
mong muốn.
21
Cập nhật thông tin thời gian thực
API có chức năng thay đổi và cập nhật thay đổi theo thời gian thực. Với công nghệ này,
dữ liệu sẽ được truyền đi tốt hơn, thông tin chính xác hơn, dịch vụ cung cấp linh hoạt
hơn.
Bất kỳ người dùng, công ty nào sử dụng cũng có thể điều chỉnh nội dung, dịch vụ mà họ
sử dụng.
Hỗ trợ đầy đủ các thành phần MVC như: routing, controller, action result, filter, model
binder, IoC container, dependency injection, unit test.
1. Đầu tiên là xây dựng URL API để bên thứ ba có thể gửi request dữ liệu đến
máy chủ cung cấp nội dung, dịch vụ thông qua giao thức HTTP hoặc HTTPS.
2. Tại web server cung cấp nội dung, các ứng dụng nguồn sẽ thực hiện kiểm tra
xác thực nếu có và tìm đến tài nguyên thích hợp để tạo nội dung trả về kết quả.
3. Server trả về kết quả theo định dạng JSON hoặc XML thông qua giao thức
HTTP/HTTPS.
4. Tại nơi yêu cầu ban đầu là ứng dụng web hoặc ứng dụng di động , dữ liệu
JSON/XML sẽ được parse để lấy data. Sau khi có được data thì thực hiện tiếp
các hoạt động như lưu dữ liệu xuống Cơ sở dữ liệu, hiển thị dữ liệu…
Mỗi một ứng dụng bất kỳ đều có những ưu nhược điểm riêng, hỗ trợ tốt cho các ứng
dụng. Vì vậy mà web API cũng không ngoại lệ:
1. Ưu điểm
Web API được sử dụng hầu hết trên các ứng dụng desktop, ứng dụng mobile và
ứng dụng website.
Linh hoạt với các định dạng dữ liệu khi trả về client: Json, XML hay định dạng
khác.
Nhanh chóng xây dựng HTTP service: URI, request/response headers, caching,
versioning, content formats và có thể host trong ứng dụng hoặc trên IIS.
22
Mã nguồn mở, hỗ trợ chức năng RESTful đầy đủ, sử dụng bởi bất kì client nào
hỗ trợ XML, Json.
Hỗ trợ đầy đủ các thành phần MVC như: routing, controller, action result,
filter, model binder, IoC container, dependency injection, unit test.
Giao tiếp hai chiều được xác nhận trong các giao dịch, đảm bảo độ tin cậy cao.
2. Nhược điểm
Do web API còn khá mới nên chưa thể đánh giá nhiều về nhược điểm của mô hình nay.
Tuy nhiên, có hai nhược điểm dễ dàng nhận thấy:
Web API chưa hoàn toàn phải là RESTful service, mới chỉ hỗ trợ mặc định
GET, POST
Để sử dụng hiệu quả cần có kiến thức chuyên sâu, có kinh nghiệm backend tốt
Tốn thời gian và chi phí cho việc phát triển, nâng cấp và vận hành
Có thể gặp vấn đề về bảo mật khi hệ thống bị tấn công nếu không giới hạn điều
kiện kỹ.
-
2.4 Tổng quan về một số linh kiện được sử dụng trong đề tài.
2.4.1 Arduino nano
Board Arduino Nano là một trong những phiên bản nhỏ gọn của board Arduino.
SRAM 2 KB (ATmega328)
24
EEPROM 1 KB (ATmega328)
Tính năng
Module SIM800A GSM GPRS Mini là phiên bản thay thế cho module SIM900A đã quá
đỗi quen thuộc. Module cải thiện về độ bền, độ ổn định và vẫn có các tính năng cơ bản
của một chiếc điện thoại như gọi điện thoại, nhắn tin, truy cập GPRS…
Mô-đun tích hợp nguồn xung và ic đệm được thiết kế nhỏ gọn nhưng vẫn giữ được các
yếu tố cần thiết của thiết kế như: mạch chuyển mức tín hiệu logic sử dụng Mosfet, IC
giao tiếp RS232 MAX232, mạch nguồn xung dòng cao, khe sim chuẩn và các đèn led báo
hiệu.
Thông số kỹ thuật:
25
Kết nối theo kiểu USB-TTL:
Pin3 là chân RxD kết nối với chân TxD của MCU/USB-TTL
Pin4 là chân TxD kết nối với chân RxD của MCU/USB-TTL
GND kết nối với chân GND của MCU/USB-TTL
Pin1 ban đầu JUMP với Pin3 khi mua về
Pin2 ban đầu JUMP với Pin4 khi mua về
Pin6 là chân cấp nguồn cho MCU, nhưng sử dụng nguồn ngoài nên không dùng
chân này.
Một số lệnh thông dụng để cấu hình và test cho module sim.
(1) Lệnh tắt chức năng ECHO cho AT command, cú pháp: ATE0.
(2) Lệnh báo các số điện thoại khi gọi đến, cú pháp: AT+CLIP=1
(3) Lệnh lưu 2 cú pháp (1) và (2) trên: AT&W
(4) Lệnh cấu hình chức năng truyền nhận SMS dưới dạng TEXT: AT+CMGF=1
(5) Lệnh thông báo khi có SMS tới(không hiển thị nội dung tin nhắn): AT+CNMI=2,1.
Lệnh AT+CNMI=2,2 lệnh hiển thị trực tiếp nội dung tin nhắn.
(6) Lệnh lưu 2 cú pháp (4) và (5) trên: AT+CSAS
Lệnh AT, cú pháp: AT. Kết quả trả về là OK.
Cú pháp ATDxxx;
Test hủy cuộc gọi
Cú pháp: ATH
Test gửi tin nhắn với xxx là số điện thoại cần gửi theo 3 bước:
(1) AT+CMGS=”xxx”
(2) Gửi chuối SMS cẩn gửi.
(3) 1A(Gửi lệnh kết thúc).
Test nhận tin nhắn
Cú pháp: AT+CMGR=1
Các lệnh trên áp dụng cho các loại module sim khác nhau: SIM800L, SIM800A,
SIM900, etc…
26
Cảm Biên Nhiệt Độ, Độ Ẩm Không Khí.
Trong đề án này em xin sử dụng cảm biến nhiệt độ độ ẩm là AHT20.
Tính năng
AHT20 là một cảm biến nhiệt độ và độ ẩm mới được thiết kế với kích thước vô cùng nhỏ
gọn. Cảm biến xuất ra tín hiệu kỹ thuật số đã hiệu chỉnh và tích hợp giao tiếp I2C để bạn
dễ dàng kết nối với Vi điều khiển.
Thông số kỹ thuật:
Model: AHT20
Điện áp cấp: 2-5.5VDC
Phạm vi đo (độ ẩm): 0-100% RH
Phạm vi đo (nhiệt độ): -40 ~ + 85 ° C
Độ ẩm chính xác độ ẩm: ± 2% RH (25 ° C)
Độ chính xác nhiệt độ: ± 0.3 ° C
Độ phân giải:
Nhiệt độ: 0.01 ° C
Độ ẩm: 0.024% RH
Giao tiếp: I2C
27
SMS-V2 Cảm Biến Độ Ẩm Đất có thể được sử dụng để phát hiện độ ẩm của đất hoặc phát hiện
nếu có nước xung quanh cảm biến, rất dễ sử dụng, chỉ cần cắm nó vào đất và sau đó đọc giá trị
analog đầu ra và giao tiếp với vi điều khiển.
Bề mặt đầu dò cảm biến được chế tạo bằng kim loại, có thể kéo dài tuổi thọ của nó.
Thiết bị SMS-V2
<20mA
Dòng điện
Analog
Ngõ ra
DS3231 là một mạch thời gian thực cho Raspberry Pi nhưng nó cũng có thể được sử
dụng cho Arduino. IC RTC DS3231 tự điều chỉnh 3.3V và 5V, cung cấp pin dự phòng
cho thời gian liên tục, tiêu thụ điện năng thấp. Các chức năng đồng hồ hoàn chỉnh bao
gồm thời gian giây, phút, giờ, ngày, ngày, tháng và năm và cung cấp giá trị đến 2100.
28
Mạch thời gian này có hai báo thức lịch, đầu ra 1Hz và 32.768kHz và giao tiếp I2C ở tốc
độ cao lên đến 400kHz.
Thông số kỹ thuật:
Nhiệt độ: -40 ~ +85°C, độ chính xác thời gian ở ± 5ppm (± 0.432 giây/ngày)
Công suất thấp
Có đầy đủ các chức năng lịch đồng hồ bao gồm giây, phút, giờ, ngày, tháng và
năm, giá trị cho đến năm 2100
Đầu ra 1Hz và 32,768kHz
Có nút Reset để chỉnh thời gian về ban đầu
Giao tiếp I2C (400kHz)
Điện áp cấp: 2.3 ~ 5.5 VDC
Pin Out:
Module Relay
Module Relay 5V 10A cấu tạo đơn giản, không có opto cách ly, kích thước khá nhỏ gọn
so với các loại khác. Module relay 5V 10A là Module kích hoạt relay gồm 1 rơ le hoạt
động tại điện áp 5VDC, kích trạng thái đóng mở ở múc cao. Được sử dụng để đóng
ngắt tải với công suất phù hợp, đầu ra có thường đóng, thường mở dễ sử dụng và tiết
kiệm chi phí.
Điện áp : 5VDC
29
Kích mức cao
+ Tiếp điểm relay 220V 10A ( Lưu ý tiếp điểm , không phải điện áp ra)
+ NC : Thường đóng
+ NO: Thường mở
+ COM: Chân chung
Ký hiệu nguồn:
+ VCC, GND là nguồn nuôi Relay
+ In là chân tín hiệu điều khiển
Chương 3
VẬT LIỆU VÀ PHƯƠNG PHÁP NGHIÊN CỨU
30
Sơ Đồ Kết Nối Phần Cứng Của Mô Hình
31
Tóm tắt vai trò của từng linh kiện trong hệ thống:
Hệ thống gồm
- Thực hiện thu thập dữ liệu từ các sensor : độ ẩm, Nhiệt độ, thời gian, độ ẩm đất.
- Xử lý theo thuật toán mong muốn và đưa ra quyết định Tưới / Không tưới thông
qua chân D4 để đóng/ cắt relay.
- Gửi data về độ ẩm, Nhiệt độ, Độ ẩm đất sang cho Module Sim800A gửi lên
Server.
- Gửi cảnh báo nhiệt độ, Độ ẩm đất khi vượt ngưỡng qua SIM800A.
Module SIM800A Giao tiếp với Arduino để gửi SMS và data lên server.
Tiến Hành kết nối theo sơ đồ phần cứng giữa Arduino và Sim800A :
Tạo dashbards cho hệ thống bằng cách truy cập vào https://demo.thingsboard.io/
Như đã nói ở phần trước, Các trang web này hoạt động theo giao thức API, HTTP mục đích lấy
access token nhằm mục đích giúp sim 800A gửi data theo cú pháp đến sever hợp lệ.
25
Tiến hành nạp code mẫu cho arduino với Acess token:
// This sketch demonstrates connecting and sending telemetry
// using ThingsBoard SDK and GSM modem, such as SIM900
//
// Hardware:
// - Arduino Uno
// - SIM900 Arduino shield connected to Arduino Uno
#include <TinyGsmClient.h>
#include <SoftwareSerial.h>
#include "ThingsBoard.h"
// See https://thingsboard.io/docs/getting-started-guides/helloworld/
// to understand how to obtain an access token
#define TOKEN "hyc3BmwKsDqVkdXuKaQs"
#define THINGSBOARD_SERVER "demo.thingsboard.io"
#define THINGSBOARD_PORT 80
#ifdef DUMP_AT_COMMANDS
#include <StreamDebugger.h>
StreamDebugger debugger(serialGsm, Serial);
TinyGsm modem(debugger);
27
#else
// Initialize GSM modem
TinyGsm modem(serialGsm);
#endif
void setup() {
// Set console baud rate
Serial.begin(SERIAL_DEBUG_BAUD);
28
Serial.println(F("Initializing modem..."));
modem.restart();
void loop() {
delay(1000);
if (!modemConnected) {
Serial.print(F("Waiting for network..."));
if (!modem.waitForNetwork()) {
Serial.println(" fail");
delay(10000);
return;
}
Serial.println(" OK");
Serial.print(F("Connecting to "));
Serial.print(apn);
if (!modem.gprsConnect(apn, user, pass)) {
Serial.println(" fail");
delay(10000);
return;
}
modemConnected = true;
29
Serial.println(" OK");
}
Khi kết nối lần đầu tiên thành công Các biến arduino send cho thingsboard sẽ được note
lại và có thể sử dụng được:
30
Bây giờ chúng ta có thể tiến hành thiết kế giao diện cho dashboard này :
31
Sau khi sever đã ok có thể tiến hành chỉnh lại code cho chức năng SMS cảnh báo độ ẩm.
Sơ đồ thuật toán :
32
Điều Chỉnh lại code theo sơ đồ trên :
// Date and time functions using a DS3231 RTC connected via I2C and Wire lib
#include "RTClib.h"
#define TINY_GSM_MODEM_SIM800
RTC_DS3231 rtc;
#include "AHT20.h"
AHT20 AHT;
33
#include <Wire.h>
#include <TinyGsmClient.h>
#include <SoftwareSerial.h>
#include "ThingsBoard.h"
// Your GPRS credentials
// Leave empty, if missing user or pass
const char apn[] = "internet";
const char user[] = "";
const char pass[] = "";
// See https://thingsboard.io/docs/getting-started-guides/helloworld/
// to understand how to obtain an access token
#define TOKEN "j9jxH3be4ThAODL62UEv" // ACCESS TOKEN from Dashboard
#define THINGSBOARD_SERVER "demo.thingsboard.io" // link from Dashboard
#define THINGSBOARD_PORT 80
#define CB_do_am A0
// Baud rate for debug serial
#define SERIAL_DEBUG_BAUD 115200
void setup() {
Serial.begin(9600);
Serial.setTimeout(100);
AHT.begin();
if (! rtc.begin()) {
Serial.println("Couldn't find RTC");
while (1);
}
if (rtc.lostPower()) {
Serial.println("RTC lost power, let's set the time!");
// When time needs to be set on a new device, or after a power loss, the
// following line sets the RTC to the date & time this sketch was compiled
rtc.adjust(DateTime(F(__DATE__), F(__TIME__)));
// This line sets the RTC with an explicit date & time, for example to set
// January 21, 2014 at 3am you would call:
// rtc.adjust(DateTime(2014, 1, 21, 3, 0, 0));
35
}
GSM_Init();
//GSM_MakeCall(myphone);
//GSM_MakeSMS(myphone,"I'm a test");
}
void loop() {
delay(1000);
int ret = AHT.getSensor(&humi, &temp);
if (ret) // GET DATA OK
{
float nhiet_do = (temp);
float huminity = 100.0 * (temp);
}
else // GET DATA FAIL
{
36
Serial.println("GET DATA FROM ATH20 FAIL");
}
if (!modemConnected) {
Serial.print(F("Waiting for network..."));
if (!modem.waitForNetwork()) {
Serial.println(" fail");
delay(10000);
return;
}
Serial.println(" OK");
Serial.print(F("Connecting to "));
Serial.print(apn);
if (!modem.gprsConnect(apn, user, pass)) {
Serial.println(" fail");
delay(10000);
return;
}
modemConnected = true;
Serial.println(" OK");
}
String content_sms;
content_sms = "Bom da duoc Bat";
GSM_MakeSMS(myphone, content_sms);
}
if (Serial.available()) { //Khi co tin nhan gui den module sim thi tien hanh doc va dieu
khien
serialEvent_GSM();
}
}
38
void tinhieu_cambien() {
GSM_MakeCall(myphone);
bool statusLed = !digitalRead(status_led);
digitalWrite(status_led, statusLed);
}
//----Ham phuc vu ngat khi nhan tin nhan SMS ve SIM800L------
void serialEvent_GSM() {
while (Serial.available()) { //Doi den khi co du lieu nhan ve
char inChar = (char)Serial.read(); //Doc 1 byte du lieu vua nhan
RxBuff += inChar; //Ghi byte do vao bo dem RxBuff
if (RxBuff.length() >= 128) {
RxBuff = "";
}
}
int i;
Index_Rxdata = -1; //
RxBuff = ""; // Xoa bo dem
digitalWrite(4, HIGH); // Dong Relay de bat den // Bat bong den
if (digitalRead(4)) {
String content_sms;
content_sms = "Den da duoc Bat";
GSM_MakeSMS(myphone, content_sms);
}
}
Index_Rxdata = RxBuff.indexOf("TIMER"); // Tim vi tri cua chuoi "sw1on" trong bo
dem nhan RxBuff
if (Index_Rxdata >= 0) // Neu tim thay "LAMP_ON" trong
RxBuff
39
{
String h = RxBuff.substring(RxBuff.indexOf("R") + 1, RxBuff.indexOf("H"));
String p = RxBuff.substring(RxBuff.indexOf("H") + 1, RxBuff.indexOf("P"));
String d = RxBuff.substring(RxBuff.indexOf("P") + 1);
gio = h.toInt();
phut = p.toInt();
thoigian = d.toInt();
String str = "Den se bat vao luc:" + String(gio) + String('h') + String(phut) + String('p') + "
trong " + String(thoigian) + " phut" ;
//
//Serial.println(str);
Index_Rxdata = -1; //
RxBuff = ""; // Xoa bo dem
String content_sms;
content_sms = str;
GSM_MakeSMS(myphone, content_sms);
}
Index_Rxdata = RxBuff.indexOf("SETDOAM"); // Tim vi tri cua chuoi "sw1on" trong
bo dem nhan RxBuff
if (Index_Rxdata >= 0) // Neu tim thay "LAMP_ON" trong
RxBuff
{
String do_am = RxBuff.substring(RxBuff.indexOf("SETDOAM") + 1);
do_am_dat = do_am.toInt();
String str = "set do am dat:" + String(do_am_dat) + " /1024" ;//set độ ẩm đặt theo thang đo
ADC max =1024
//
//Serial.println(str);
Index_Rxdata = -1; //
RxBuff = ""; // Xoa bo dem
String content_sms;
content_sms = str;
GSM_MakeSMS(myphone, content_sms);
}
40
Index_Rxdata = RxBuff.indexOf("TATDEN"); // Tim vi tri cua chuoi "sw1on" trong
bo dem nhan RxBuff
if (Index_Rxdata >= 0) // Neu tim thay "LAMP_ON" trong
RxBuff
{
Index_Rxdata = -1; //
RxBuff = ""; // Xoa bo dem
digitalWrite(4, LOW); // Dong Relay de bat den // Bat bong den
if (!digitalRead(4)) {
String content_sms;
content_sms = "Den da duoc Tat";
GSM_MakeSMS(myphone, content_sms);
}
}
Index_Rxdata = RxBuff.indexOf("KIEMTRA"); // Gui tin nhan bao trang thai cua cac relay
dieu khien
if (Index_Rxdata >= 0) {
String content_sms;
if (digitalRead(4)) {
content_sms = "Den dang Bat";
GSM_MakeSMS(myphone, content_sms);
} else {
content_sms = "Den dang Tat";
GSM_MakeSMS(myphone, content_sms);
}
}
RxBuff = "";
}
//-----Cau hinh module GSM------------
void GSM_Power_On() {
digitalWrite(4, HIGH); // Du chan PWR_KEY len cao it nhat 1s
delay(1500); // o day ta de 1,5s
digitalWrite(4, LOW); // Du chan PWR_KEY xuong thap
41
delay(100); // cac ban xem trong Hardware designed sim800C de
hieu ro hon
}
void GSM_Init() {
Serial.println("ATE0"); // Tat che do phan hoi (Echo mode)
delay(2000);
Serial.println("AT+IPR=9600"); // Dat toc do truyen nhan du lieu 9600 bps
delay(2000);
Serial.println("AT+CMGF=1"); // Chon che do TEXT Mode
delay(2000);
Serial.println("AT+CLIP=1"); // Hien thi thong tin nguoi goi den
delay(2000);
Serial.println("AT+CNMI=2,2"); // Hien thi truc tiep noi dung tin nhan
delay(2000);
}
void GSM_MakeCall(String phone) {
Serial.println("ATD" + phone + ";"); // Goi dien
delay(10000); // Sau 10s
Serial.println("ATH"); // Ngat cuoc goi
delay(2000);
}
void GSM_MakeSMS(String phone, String content) {
Serial.println("AT+CMGS=\"" + phone + "\""); // Lenh gui tin nhan
delay(3000); // Cho ky tu '>' phan hoi ve
Serial.print(content); // Gui noi dung
Serial.print((char)26); // Gui Ctrl+Z hay 26 de ket thuc noi dung tin
nhan va gui tin di
delay(5000); // delay 5s
Viết App ứng dụng tự gửi tin nhắn đến SIM 800A
42
Vì lý do mã AT rất rườm rà và khó nhớ. Nên Em xin phép được viết một app nhỏ để thực hiện việt gửi tin
nhắn đến SIM800 bằng http://ai2.appinventor.mit.edu/ . Nội dung giao diện và block được thể hiện
như bên dưới.
43
Phần Block của app cần gửi những câu lệnh mà arduino muốn nhận được.
25
Chương 5
KẾT LUẬN VÀ KIẾN NGHỊ
Sau quá trình nghiên cứu, thiết kế và chế tạo và vận hành điều khiển tưới cây, đề tài
đã thực hiện được một số kết quả:
- Hoàn thành tìm hiểu về các phương pháp giám sát và điều khiển tưới cây tự
động.
- Hoàn tất việc thiết kế, xây dựng phần cơ khí mô hình tưới cây tự động.
- Xây dựng giải thuật điều khiển tự động mô hình tưới với 2 mode tưới là hẹn
giờ tưới cây trên web server với giao diện đơn giản, có các thông số về ẩm
độ, nhiệt độ để tiện giám sát cho khu vườn nhỏ và gọi điện để trực tiếp điều
khiển tưới cây.
- Xây dựng mạch điều khiển để giám sát và điều khiển tưới cây tự động.
- Thiết bị có khả năng vận hành theo thông số đã cài đặt.
- Khảo nghiệm và đánh giá mô hình.
5.2 Kiến nghị
Để điều khiển hẹn giờ trên web một cách tối ưu hơn cùng với việc nên phát triển
giao diện web có thể thiết kế sinh động thêm với nhiều tính năng có thể điều khiển thẳng
máy bơm trên web. Việc điều khiển trên web ổn định hoặc thêm chức năng thì phải phụ
thuộc vào tốc độ truyền dự liệu từ sim lên server. Khắc phục việc mạng 2G và GSM để
điều khiển k bị gián đoạn khi chuyển từ chế độ này sang chế độ kia.
Do hạn chế về thời gian và kinh phí nên thiết bị chỉ dừng lại ở mức độ mô hình
giám sát và điều khiển tưới cây. Vì thế nên mô hình máy chỉ mang tính chất khảo
nghiệm, vân hành , phương thức điều khiển và đánh giá. Vì vậy, cần chế tạo sản phẩm
hoàn chỉnh với quy mô lớn hơn và sử dụng công nghệ chế tạo hiện đại để mô hình có thể
đạt được hiệu quả cũng như năng suất làm việc tối ưu nhất
25
Tài liệu tham khảo
26