Cách làm này sẽ tiếtkiệm công sức, thời gian lao động đồng thời tăng tính hiệu quả kinh tế vì có thể tướitheo một lưu lượng nhất định, phù hợp với chu trình sinh trưởng của cây và tránhg
Trang 1CHĂM SÓC VƯỜN RAU TỰ ĐỘNG ỨNG DỤNG CÔNG NGHỆ IOT
Trang 2UART Universal Asynchronous Receiver – Transmitter
Trang 3CHƯƠNG 1 GIỚI THIỆU
1.1 Tên đề tài
Chăm sóc vườn rau tự động ứng dụng công nghệ IoT là đề tài được em lựa chọn đểtiến hành làm đồ án tốt nghiệp Đề tài được tiến hành nghiên cứu dựa trên ứng dụngcủa IoT trong lĩnh vực điện, điện tử đối với nông nghiệp Việc tự động hóa quy trìnhtưới nước, chiếu sáng cần thiết cho cây trồng ứng dụng công nghệ IoT với mục tiêulàm tăng năng suất trồng trọt trên quy mô diện tích nhỏ, góp phần hình thành vườnrau sạch từ đó đem lại hiệu quả kinh tế so với những mô hình bán tự động hay thủcông có sẵn trên thị trường
1.2 Lý do chọn đề tài
Việc chọn đề tài xuất phát từ nhu cầu có được một vườn rau sạch với quy mô hộ giađình để đáp ứng nhu cầu thực phẩm hàng ngày thay cho các loại rau kém chấtlượng, sử dụng nhiều thuốc bảo vệ thực vật vẫn tồn tại trên thị trường Tuy nhiên,
do mặt bằng chung của đô thị, diện tích vườn cây thường được trồng trong các giàn,chậu với quy mô nhỏ trên sân thượng nên thường không được chăm sóc để mang lạinăng suất mong muốn Ngoài ra, do đặc thù công việc, người trồng rau ít có thời giờchăm sóc, tưới nước dẫn đến việc vườn rau thường không duy trì được lâu, dễ bị bỏquên sau một thời gian sử dụng Để giúp việc trồng rau được thuận lợi và góp phầntăng năng suất, giảm công sức tiêu tốn để chăm sóc nhưng vẫn mang lại kết quảđáng mong đợi, em tìm cách tự động hóa một số công việc như chiếu sáng, tướinước để tối ưu quy trình sản xuất Việc theo dõi nhiệt độ, độ ẩm, tình trạng thờitiết của vườn rau sẽ giúp người trồng có thể chủ động quyết định việc chăm sócvườn một cách hợp lý từ xa mà vẫn đảm bảo hiệu quả sản xuất Cách làm này sẽ tiếtkiệm công sức, thời gian lao động đồng thời tăng tính hiệu quả kinh tế vì có thể tướitheo một lưu lượng nhất định, phù hợp với chu trình sinh trưởng của cây và tránhgây lãng phí không cần thiết trong suốt quá trình chăm sóc cây trồng
1.3 Đối tượng nghiên cứu
Trang 4Đối tượng nghiên cứu được hướng đến trong đồ án tốt nghiệp là công nghệ IoT.Việc ứng dụng công nghệ IoT trong nông nghiệp, cụ thể như trong đồ án tốt nghiệpphù hợp với xu hướng hiện nay của thị trường Trong bối cảnh Việt Nam đangchuyển đổi sang kinh tế số và sự bùng nổ của cuộc cách mạng công nghiệp 4.0 thìứng dụng IoT là rất quan trọng, đặc biệt trong lĩnh vực thế mạnh của Việt Nam lànông nghiệp Việc làm ra các mô hình thực tế với quy mô vừa và nhỏ phù hợp vớithực tế nhu cầu của người dân hiện nay, nhất là người dân sống tại các khu đô thịmuốn sở hữu một vườn rau sạch nho nhỏ cho riêng gia đình, mang lại hiệu quả caonhưng vẫn không tiêu tốn nhiều thời gian chăm sóc.
1.4 Mục đích nghiên cứu
Đề tài chăm sóc vườn rau tự động ứng dụng công nghệ IoT được em chọn làm đồ
án tốt nghiệp nhằm đạt các mục đích sau:
- Giảm được công sức, thời gian chăm sóc và cho năng suất vượt trội
- Hệ thống cảm biến sẽ thu thập thông tin về môi trường như nhiệt độ, độ ẩmkhông khí, độ ẩm đất từ đó có những điều chỉnh phù hợp với sự phát triểncủa cây trồng dựa vào chu kỳ sinh trưởng của cây
- Dữ liệu thu thập được sẽ được quản lý bằng hệ thống quản lý cơ sở dữ liệu
để tiện cho việc truy/xuất Từ những dữ liệu thu được, người ta dễ dàng đánhgiá được hiệu quả của hệ thống và những ưu điểm của hệ thống so với cáchtrồng thủ công hay những mô hình tự động khác có sẵn trên thị trường
1.5 Phương pháp nghiên cứu
Phương pháp nghiên cứu được tiến hành như sau:
- Tìm hiểu cách thức hoạt động của board mạch Arduino Thông qua đó tíchlũy những kinh nghiệm cho việc thiết kế, lập trình hệ thống
Trang 5- Tìm hiểu về các cảm biến cần thiết và cách kết nối các cảm biến với boardmạch chính để thu thập dữ liệu Tìm hiểu về phương thức truyền wifi, cáchhiển thị, điều khiển và truy xuất dữ liệu từ xa.
- Xây dựng sơ đồ giải thuật, nguyên lý hoạt động của hệ thống dựa vào chu kỳsinh trưởng của cây trồng cùng các yếu tố môi trường thu thập được Đánhgiá tính khả thi, điều chỉnh số liệu phù hợp để hệ thống hoạt động đạt đượcchất lượng tối đa
- Tiến hành xây dựng cơ sở dữ liệu của các loại cây trồng khác nhau để người
sử dụng dễ dàng tìm kiếm và điều chỉnh quá trình tự động chăm sóc cho phùhợp với từng loại cây trồng
- Xây dựng mô hình thực tế Tiến hành chạy thử và đánh giá tính hiệu quả của
mô hình Kiểm tra, đánh giá, sửa lỗi trong quá trình hoạt động của hệ thống
để giảm thiểu các rủi ro đáng tiếc có thể xảy ra
- Quyết định việc tưới nước, bật đèn chăm sóc vườn cây được thực hiện mộtcách hiệu quả dựa vào thông số môi trường mà hệ thống thu thập được
Trang 6CHƯƠNG 2 CƠ SỞ LÝ THUYẾT VÀ VẤN ĐỀ ĐẶT RA
1.7 Công nghệ IoT (Internet of Things)
1.1.1 Khái niệm
Internet of Things được hiểu là mạng lưới vạn vật kết nối với nhau thông quamôi trường Internet Ở môi trường này, mỗi một đồ dùng, thiết bị hay con người đềuđược gắn với một mã số định danh của riêng mình và có thể truyền tải, trao đổithông tin giữa hai hay nhiều thiết bị với nhau thông qua mã số định danh này màkhông cần đến sự tác động của con người hay là sự tương tác giữa người với máytính Hiểu một cách đơn giản, Internet of Things là một môi trường mà ở đó, mọivật đều được kết nối với Internet và “giao tiếp” với nhau Ở đó, con người có thểtheo dõi, giám sát và điều khiển các thiết bị khác thông qua các thiết bị thông minhnhư điện thoại di động, máy tính bảng, máy tính xách tay được kết nối vớiInternet
Hình 2-1: Tổng quan về Internet of Things [9]
Internet of Things là một khái niệm được đưa ra bởi Kenvin Ashton vào năm
1999 dùng để chỉ các thiết bị có thể được nhận biết cũng như chỉ ra sự tồn tại củachúng trong một khối kiến trúc mang tính kết nối Một hệ thống IoT cơ bản phải cóđược hai thuộc tính là phải có một ứng dụng Internet và phải lấy được thông tin từvật chủ IoT là xu hướng tất yếu của tương lai, nơi mà con người không phải trực
Trang 7tiếp tác động đến mọi thứ nhưng vẫn thu được chất lượng cao cho mọi nhu cầutrong cuộc sống hằng ngày.
1.1.2 Xu hướng và tính chất của Internet of Thing
- Thông minh: Mục tiêu khi thực hiện hệ thống IoT là xây dựng được mạng
lưới các thực thể có khả năng tự tổ chức và hoạt động theo từng tình huống,môi trường khác nhau Đồng thời giữa các thực thể cũng có sự kết nối, chia
sẻ dữ liệu qua lại lẫn nhau
- Kiến trúc dựa trên sự kiện: Các thiết bị hoạt động trong hệ thống IoT sẽ
phản hồi các sự kiện diễn ra trong lúc chúng hoạt động theo thời gian thực.Một mạng lưới các sensor chính là một thành phần cơ bản của hệ thống IoT
- Phức tạp: IoT là một hệ thống cực kỳ phức tạp khi đòi hỏi rất nhiều thiết bị
kết nối với nhau Mạng lưới IoT có thể chứa từ 50 đến 100 nghìn tỉ đốitượng được kết nối mạng và mạng lưới này sẽ theo dõi hoạt động của từngđối tượng cụ thể Một cư dân sống trong thành phố có thể bị bao bọc xungquanh từ 1000 – 5000 thiết bị có khả năng theo dõi
- Vấn đề không gian, thời gian: Về lý thuyết, IoT sẽ là hệ thống thu thập rất
nhiều dữ liệu, trong đó có dữ liệu về vị trí chính xác của một vật nào đó Sovới Internet được quản lý và xử lý thông tin bởi con người, hệ thống IoT sẽthu thập thêm rất nhiều dữ liệu thừa không cần thiết trong quá trình xử lýthông tin Ngoài ra, việc xử lý một khối lượng dữ liệu lớn trong một khoảngthời gian ngắn để đáp ứng nhu cầu của các đối tượng cũng là thách thứckhông nhỏ hiện nay khi áp dụng hệ thống IoT với quy mô lớn
- Các hệ thống phụ trong IoT: Không phải tất cả mọi thứ nằm trong hệ thống
IoT đều phải kết nối với mạng lưới Internet toàn cầu mà chúng có thể hoạtđộng đơn lẻ, tương tác với nhau không cần Internet giống như mạng nội bộWAN, LAN hiện nay
1.1.3 Sự phát triển của Internet of Things
Trên thế giới hiện nay, tác động của IoT rất đa dạng ở nhiều lĩnh vực như kinh
tế, giáo dục, dịch vụ y tế, kỹ thuật, giao thông, xây dựng, quản lý cơ sở hạ tầng Theo dự báo, đến năm 2024 sẽ có 500 tỉ thiết bị được kết nối với nhau Đây là một
Trang 8con số khổng lồ dự báo sự phát triển nhảy vọt theo cấp số nhân của những ứng dụngIoT trong tương lai IoT được coi là chìa khóa của sự thành công, là bước ngoặt và
cơ hội lớn của tương lai để tối ưu hóa mọi vấn đề đang hiện hữu, phục vụ để nângcao giá trị cuộc sống của người dùng
Hình 2-2: Sự phát triển của IoT dự đoán đến năm 2020 [5]
Là một nước đi lên từ nông nghiệp, việc áp dụng công nghệ IoT vào sản xuất sẽ
làm thay đổi hoàn toàn bộ mặt kinh tế của nước ta khi chuyển từ hình thức sản xuấtthủ công sang hình thức sản xuất tự động Đây là phương pháp để giảm thời gian,công sức chăm sóc nhưng vẫn đem lại hiệu quả kinh tế cao
Đối với đề tài đồ án là chăm sóc vườn rau tự động ứng dụng công nghệ IoT, để
có thể xây dựng được một hệ thống hiệu quả, ổn định và mang lợi ích kinh tế cao,chúng ta cần phải tìm hiểu về chu trình sinh trưởng của cây rau, cụ thể trong đề tàihướng đến là cây rau cải để từ đó xây dựng chương trình chăm sóc tự động
1.8 Ảnh hưởng của các yếu tố ngoại cảnh đến cây trồng
Đề tài được xây dựng và phát triển, thiết lập sơ đồ khối điều khiển dựa trên chutrình sinh trưởng của cây rau cải Các biện pháp kỹ thuật canh tác trồng rau chỉ cóthể mang lại những kết quả tốt khi được xây dựng trên cơ sở các yêu cầu của cây
Trang 9rau đối với các yếu tố thời tiết và điều kiện ngoại cảnh Đối với các loại rau màukhác, chúng ta sẽ có các phương pháp khác nhau tùy vào yêu cầu của từng loại câyđối với các yếu tố môi trường (nhiệt độ, độ ẩm, ánh sáng ).
Có rất nhiều các yếu tố ngoại cảnh tác động lên cây trồng, trong số đó các yếu tốchủ yếu là:
- Nhiệt độ: Gồm có nhiệt độ không khí và nhiệt độ đất Nhiệt độ tác động lên
cây trồng bằng nhiều cách: Bằng số lượng, trị số nhiệt; bằng biến động củatrị số nhiệt độ; bằng tần suất xuất hiện các trị số nhiệt; bằng thời gian tácđộng; bằng thời kỳ tác động; bằng độ chênh lệch nhiệt độ theo thời gian
- Ánh sáng: Gồm có thành phần ánh sáng, cường độ ánh sáng, thời gian chiếu
sáng
- Nước: Gồm có độ ẩm không khí, độ ẩm đất Nước tác động lên cây trồng
thông qua khối lượng và chất lượng
Ngoài ra, cây rau còn chịu những yếu tố tác động khác như đất trồng, không khí,các loài vi sinh vật
1.1.4 Yêu cầu của rau cải đối với nhiệt độ
Nhiệt độ là một trong những yếu tố có ý nghĩa quyết định đối với sự sinh trưởng
và phát triển của cây Tác động của nhiệt độ lên cây trồng là một chuỗi các tác độngvới những ý nghĩa khác nhau, thay đổi tuần tự và liên tục từ những trị số ở miềnthích hợp đến không thích hợp rồi chuyển sang miền gây hại Miền nhiệt độ thíchhợp để trồng cây rau cải là 20-28oC Từ miền nhiệt độ thích hợp đi về 2 phía hìnhthành các miền nhiệt độ ít thích hợp, gây hại và gây chết
Trang 10Hình 2-3: Phân bố các miền ảnh hưởng của nhiệt độ đối với cây [7]
Yêu cầu của cây cải đối với nhiệt độ thay đổi theo từng giai đoạn sinh trưởng Ởthời kỳ nảy mầm, hạt có yêu cầu đối với nhiệt độ tương đối cao Những loại rau cảinảy mầm nhanh ở nhiệt độ 25-30oC Nhiệt độ cao hay thấp trong giai đoạn nàykhông những ảnh hưởng tới tốc độ nảy mầm nhanh hay chậm mà còn ảnh hưởng tớitốc độ sinh trưởng và phát triển của cây
Ở thời kỳ cây con, bộ rễ cây mới hình thành nên còn ít và yếu, cây sinh trưởngchủ yếu dựa vào chất dự trữ trong hạt Nếu gặp nhiệt độ cao, hô hấp tăng, chất dinhdưỡng bị tiêu hao nhiều trong khi chất dự trữ trong hạt chỉ có rất ít thì cây nhanhchóng bị mất sức, thân cây vàng vọt Vì vậy, cần tạo điều kiện nhiệt độ tương đốithấp để tránh hiện tượng cây vống Khi cây lớn hơn khoảng 3-4 ngày tuổi, ta lại đểcho cây sinh trưởng trong điều kiện nhiệt độ bình thường
Ở thời kỳ dinh dưỡng, cây phát triển với tốc độ nhanh, quang hợp tăng lên nhiều
so với thời kỳ trước Ở giai đoạn này, nhiệt độ cao hơn sẽ có lợi cho quang hợp Tuy
Trang 11nhiên, vào giai đoạn chất dinh dưỡng bắt đầu được dự trữ thì cây rau lại cần nhiệt
độ thấp Ở giai đoạn này nếu nhiệt độ cao trên 28°C thì cải sinh trưởng chậm, nếunhiệt độ cao hơn 30°C lá bắt đầu héo và cây không phát triển được
Ở thời kỳ sinh thực, đối với các loại rau cải cần có nhiệt độ cao 20- 30oC Nhiệt
độ ban đêm cao quá 22oC hoặc thấp hơn 15oC đều làm cho cây sinh trưởng kém
1.1.5 Yêu cầu của rau đối với ánh sáng
Đối với rau cải, ánh sáng tác động thông qua cường độ ánh sáng, thời gian chiếusáng và thành phần ánh sáng Cường độ ánh sáng thay đổi theo vĩ độ, theo thời vụ,theo mùa Cường độ ánh sáng mạnh nhất vào mùa hè, rồi đến mùa xuân và mùa thu,yếu nhất vào mùa đông Trên vườn rau, cường độ ánh sáng thay đổi phụ thuộc vàomật độ cây trên ruộng, hướng của luống, cách bố trí cây, tình hình trồng xen, hìnhdáng cây
Dựa trên yêu cầu của rau đối với ánh sáng, người ta sắp xếp rau cải thành nhóm
rau có yêu cầu thời gian chiếu sáng dài Các loài rau thuộc nhóm này phát triển
nhanh trong điều kiện ánh sáng dài 12-14h/ngày Nếu thời gian chiếu sáng ngắn hơnthì cây phát triển chậm Thời gian chiếu sáng dài hơn thì cây ra hoa sớm Cường độánh sáng thích hợp để cây rau cải quang hợp tốt nhất là trên 2000 lux
1.1.6 Yêu cầu của rau đối với nước
Rau cải cần nhiều nước và có nhu cầu cao đối với nước trong suốt quá trình sinhtrưởng và phát triển Trong cây rau có chứa 75 – 85% nước Thiếu nước ảnh hưởngrất lớn đến chất lượng rau Thiếu nước rau chóng bị già cỗi, nhiều xơ, đắng, chấtlượng kém, ăn không ngon, rau bị cứng, héo úa
Tuy vậy, thừa nước cũng làm giảm chất lượng cây rau: Hàm lượng đường, muốihoà tan trong rau giảm, rau ăn nhạt Nước nhiều làm cho mô bào mềm yếu, sứcchống chịu của rau đối với sâu bệnh và các yếu tố thời tiết giảm sút Rau cải là loàirau có diện tích lá lớn, tán cây rậm, các mô tế bào non mềm nên có khả năng chốnghạn yếu
Yêu cầu của rau đối với nước ở các thời kỳ sinh trường khác nhau không giốngnhau:
Trang 12- Ở thời kỳ nảy mầm,cây rau cần rất nhiều nước Để cho hạt trương lên mà nảymầm, hạt cải cần 50% nước so với trọng lượng hạt Vì vậy, sau khi gieo cầntưới nước, giữ ẩm và che, đậy cho hạt.
- Ở thời kỳ cây con, bộ rễ cây còn yếu và chưa ăn sâu vào đất cho nên cây cầnđược cung cấp nước đầy đủ Cây con thường phát triển nhanh nên tiêu haonhiều nước Cần tưới đều đặn cho cây trong thời kỳ này nhưng chỉ nên tướinhẹ, vì tưới quá nhiều cây dễ bị vống và yếu
- Ở thời kỳ sinh trưởng, cây cải có thân lá phát triển mạnh, bốc thoát hơi nướcnhiều do hoạt động hút và đồng hoá chất dinh dưỡng diễn ra mạnh, do đó raucần rất nhiều nước Thiếu nước trong thời gian này sẽ làm giảm đáng kể đếnnăng suất cây trồng
Trên cơ sở yêu cầu của rau đối với nước, người ta xếp loại rau cải thành nhómtiêu hao nhiều nước nhưng khả năng hút nước kém Nhóm này có diện tích lá tươngđối lớn, bốc thoát hơi nước mạnh, nhưng bộ rễ lại kém phát triển Độ ẩm thích hợpcho nhóm cây này là 80% độ ẩm đất và 90% độ ẩm không khí
Căn cứ vào yêu cầu của rau cải đối với độ ẩm tương đối của đất và không khí,người ta sắp xếp loài rau cải vào nhóm rau thích nghi với độ ẩm cao: Khoảng 85 –90%
1.9 Đề xuất các giải pháp
Đối với đề tài nghiên cứu là thực hiện việc chăm sóc vườn rau tự động ứng dụngcông nghệ IoT, giải pháp tưới nhỏ giọt và thực hiện chiếu sáng cho vườn cây đượcchọn làm phương pháp chăm sóc cây trồng theo cách sau:
- Tưới nước: Thực hiện việc tưới nhỏ giọt hàng ngày vào chiều tối Ngoài ra,
chủ động làm ẩm đất nếu độ ẩm đất <70%
- Chiếu sáng: Tiến hành bật đèn bổ sung ánh sáng giúp cây quang hợp tốt hơn
trong khung giờ từ 6h – 18h nếu cường độ ánh sáng nhỏ hơn 2000 lux
Ưu điểm của giải pháp đề ra:
- Tiết kiệm nước, tránh gây hiện tượng ứ đọng không cần thiết Tưới nhỏ giọttiết kiệm 40-50% nước so với phương pháp tưới mặt
Trang 13- Tiết kiệm điện, tránh hiện tượng dư sáng Đảm bảo cây trồng có thời giannghỉ ngơi, hô hấp bên cạnh quá trình quang hợp.
- Không gây xói mòn, trôi màu, không phá vỡ kết cấu đất trong chậu cây
- Tăng diện tích trồng trọt, mật độ trồng được dày hơn
- Đảm bảo phân bố độ ẩm đều trong toàn bộ chậu cây, tạo điều kiện thuận lợi
về không khí, nhiệt độ, độ ẩm cho cây trồng
- Hạn chế cỏ dại xung quanh gốc cây và sâu bệnh vì chỉ tập trung tưới vào cây
- Có thể kết hợp tưới với bón phân hữu cơ bổ sung dưỡng chất cần thiết chocây trồng
- Sử dụng những ống nước áp lực thấp, lưu lượng nhỏ nên tiết kiệm nănglượng, giảm chi phí vận hành
Phạm vi triển khai: Sản phẩm có thể được ứng dụng ở những mô hình quy mô
vừa và nhỏ, có thể áp dụng với nhiều loại cây trồng khác nhau tùy vào nhu cầusinh trưởng của cây mà thiết lập chế độ chăm sóc khác nhau Phù hợp áp dụngtrong mô hình trồng cây hộ gia đình, mô hình trồng cây trong đô thị hướng đếnngười sử dụng không có thời gian chăm sóc nhưng vẫn đảm bảo vườn cây pháttriển an toàn, hiệu quả
CHƯƠNG 3 Ý TƯỞNG VÀ PHƯƠNG PHÁP NGHIÊN CỨU1.11 Sơ đồ giải thuật của hệ thống
Trang 14Hình 3-4: Sơ đồ giải thuật của hệ thống
Sơ đồ giải thuật được xây dựng dựa trên cơ sở lý thuyết là ứng dụng công nghệ IoTvào sản xuất nông nghiệp và phù hợp với chu trình sinh trưởng của cây rau cải
1.12 Sơ đồ khối hệ thống tưới tự động dựa vào độ ẩm đất
Hình 3-5: Sơ đồ khối tưới tự động của hệ thống dựa vào độ ẩm đất
Trang 151.13 Sơ đồ khối hệ thống tưới tự động
Hình 3-6: Sơ đồ khối hệ thống tưới tự động dựa vào thời gian thực
1.14 Sơ đồ khối hệ thống chiếu sáng tự động
Hình 3-7: Sơ đồ khối chiếu sáng tự động của hệ thống
1.15 Nội dung nghiên cứu
Trang 16Nội dung thực hiện đồ án tốt nghiệp được phân chia theo một trật tự nhất định vàxây dựng dựa trên các nền tảng kiến thức cơ bản đi từ mức độ đơn giản và nâng dần
sự phức tạp trong việc nghiên cứu, thiết kế, chế tạo hệ thống Các nội dung nghiêncứu chính của đồ án có thể được phân chia như sau:
- Nghiên cứu board mạch Arduino và những chức năng liên quan
- Nghiên cứu về phương thức truyền wifi thông qua ESP8266
- Nghiên cứu các loại cảm biến cần thiết phục vụ cho nội dung đề tài
- Xây dựng cơ sở dữ liệu của các loại cây trồng khác nhau
- Xây dựng việc hiển thị, điều khiển hệ thống từ xa qua app, web
- Tiến hành xây dựng mô hình thực tế dựa vào các nội dung đã nghiên cứu,xây dựng và phát triển
- Thi công phần cứng, đánh giá hiệu quả, tính khả thi và hiệu quả kinh tế của
mô hình khi được tiến hành trên thực tế
1.16 Xây dựng các module thành phần của hệ thống
Dựa trên các loại cảm biến cũng như mục đích của đề tài, đồ án sẽ được chia thànhcác module thành phần như sau:
- Module thông tin đầu vào là thông tin từ các cảm biến nhiệt độ, độ ẩm, ánhsáng
- Module thông tin đầu ra là bật/ tắt van nước điện từ; bật/ tắt đèn dựa vàocác thông số thu thập được cho phù hợp với mục đích sản xuất
- Module điều khiển trung tâm của hệ thống là Arduino
- Website hiển thị thông tin cơ sở dữ liệu của nhiều loại cây trồng khác nhau
để phù hợp với mục đích sản xuất
Trang 17CHƯƠNG 4 TÌM HIỂU LINH KIỆN
1.17 Arduino
Arduino là một board mạch vi xử lý được sinh ra ở thị trấn Ivrea, Italia Đượcgiới thiệu lần đầu vào năm 2005, Arduino được nghiên cứu nhằm xây dựng các ứngdụng tương tác một cách hiệu quả và dễ dàng phổ biến Phần cứng của Arduino baogồm một board mạch mã nguồn mở được thiết kế trên nền tảng vi xử lý AVR Atmel8bit hoặc ARM Atmel 32-bit Những Model Arduino hiện tại được trang bị gồm 1cổng giao tiếp USB, 6 chân đầu vào Analog, 14 chân I/O Digital tương thích vớinhiều board mở rộng khác nhau Arduino sử dụng ngôn ngữ lập trình giống C/C++nên có thể được tiếp nhận dễ dàng đối với những người có kiến thức cơ bản về lậptrình Ngoài ra, đối với Arduino, các thiết bị ngoại vi trên board mạch đều đã được
chuẩn hóa nên không cần biết nhiều về điện tử chúng ta cũng có thể lập trình đượcnhững ứng dụng thú vị
Arduino là một platform đã được chuẩn hóa nên có rất nhiều các board mạch mởrộng (shield) để cắm chồng lên board mạch Arduino Arduino được chọn làm viđiều khiển chính trong đề tài đồ án vì nó được viết trên nền tảng mã nguồn mở, dễdàng thay đổi, phát triển cho phù hợp với từng yêu cầu cụ thể và có một cộng đồngngười dùng rất lớn, có khả năng hỗ trợ lẫn nhau So với lập trình lập trình trực tiếpvới vi điều khiển, lập trình với Arduino đơn giản hơn nhiều vì bạn chỉ phải giao tiếpvới phần cứng thông qua các thư viện Trên website chính thức và các diễn đàncông nghệ hiện nay, có khá nhiều các library viết sẵn để điều khiển các thiết bịngoại vi: LCD, sensor, motor… nên công việc chúng ta cần làm chỉ là kết hợpchúng với nhau để tạo ứng dụng cho riêng mình
Khi làm việc với Arduino board, một số thuật ngữ sau cần được lưu ý:
- Bộ nhớ Flash: Bộ nhớ có thể ghi được, dữ liệu không bị mất ngay cả khi tắt
điện Ta có thể hình dung bộ nhớ này như ổ cứng để chứa dữ liệu trên board.Chương trình được viết cho Arduino sẽ được lưu ở đây Kích thước của vùngnhớ này thông thường dựa vào vi điều khiển được sử dụng
Trang 18- RAM: Tương tự như RAM của máy tính, RAM trên board mạch Arduino sẽ
bị mất dữ liệu khi ngắt điện nhưng bù lại tốc độ đọc ghi xoá rất nhanh
EEPROM: Tương tự như Flash Memory nhưng có chu kì ghi/xoá cao hơn
-khoảng 100.000 lần và có kích thước rất nhỏ Để đọc/ghi dữ liệu ta có thểdùng thư viện EEPROM của Arduino
1.1.7 Arduino Uno R3
Arduino Uno R3 là dòng sản phẩm thông dụng nhất trong họ Arduino ArduinoUno R3 được xây dựng với vi điều khiển trung tâm là chip ATMega328 phù hợp vớihầu hết các ứng dụng điện tử hiện nay và được hỗ trợ toàn bộ thư viện lập trình củaArduino
Hình 4-8: Board mạch Arduino Uno [1]
Arduino Uno R3 có những thông số kỹ thuật cơ bản như sau:
Bảng 4-1: Thông số kỹ thuật của board Arduino Uno R3
Trang 19Hình 4-9: Board Arduino Mega2560 [1]
Arduino Mega2560 có thông số kỹ thuật cơ bản như sau:
Bảng 4-2: Thông số kỹ thuật của board Arduino Mega2560
Trang 20EEPROM 4 KB
1.18 ESP8266
1.1.9 Giới thiệu chung
ESP8266 là dòng chip tích hợp wifi 2.4 Ghz có thể lập trình được Là một vi xử lýđược thiết kế bởi Espressif System, đặc điểm nổi bật của ESP8266 làcó thể kết nốivới mạng wifi một cách nhanh chóng, dễ dàng Đây là một board mạch rất hữu dụng
để mọi người có thể tiếp cận với Internet of Things Được phát hành lần đầu tiênvào tháng 8 năm 2014, ESP8266 có một cộng đồng các nhà phát triển trên thế giớirất lớn ESP8266 cung cấp mã nguồn mở giúp người dùng có thể dễ dàng tiếp cận
và xây dựng ứng dụng
Hình 4-10: ESP8266 [6]
1.1.10 Thông số kỹ thuật
ESP8266 là một chip tích hợp cao và có thông số phần cứng khá ấn tượng so với giá
cả của nó trên thị trường Các thông số cụ thể như sau:
- Có hỗ trợ Flash ngoài
- 64 Kb RAM thực thi lệnh
- 96 Kb RAM dữ liệu
- 64 Kb boot ROM
- Hỗ trợ WPA/WPA2, Open Netwwork
- Chuẩn IEEE 802.11 b/g/n , Wifi 2.4 Ghz
- Tích hợp sẵn giao thức TCP/IP
- Hỗ trợ kết nối nhiều loại angten
- Hỗ trợ nhiều giao thức khác nhau: UART, SPI, I2C, PWM
- Dải nhiệt rộng: -40 oC ~125oC
Trang 21Hình 4-11: Sơ đồ chân ESP8266 [6]
1.19 Cảm biến nhiệt độ, độ ẩm SHT10
Để thu thập nhiệt độ, độ ẩm không khí tại vườn cây, ta sử dụng cảm biến nhiệt độ,
độ ẩm SHT10 Đây là cảm biến có giá thành rẻ, dải đo rộng, độ chính xác cao cùngkhả năng hoạt động liên tục trong thời gian dài Ngoài ra, cảm biến được thiết kế cólớp vỏ chống thấm nước nên phù hợp với những ứng dụng trong nông nghiệp đòihỏi phải đặt cảm biến ngoài trời
1.1.11 Giới thiệu chung
SHT10 là cảm biến đo nhiệt độ, độ ẩm Đây là dòng cảm biến đo nhiệt độ, độ ẩmcủa Sensirion Cảm biến này được tích hợp các bộ cảm biến và bộ xử lý cung cấpđầu ra kỹ thuật số được hiệu chỉnh đầy đủ Cảm biến điện dung duy nhất được sửdụng để đo độ ẩm tương đối, trong khi nhiệt độ được đo bằng cảm biến band-gap.Cảm biến SHT10 được áp dụng dựa trên công nghệ CMOS đem lại độ chính xáccao và ổn định lâu dài Hai cảm biến được kết nối với bộ chuyển đổi ADC 14 bit,điều này dẫn đến SHT10 cho chất lượng tín hiệu vượt trội, thời gian đáp ứng nhanh
và không bị ảnh hưởng bởi nhiễu bên ngoài SHT10 giao tiếp với vi điều khiểnthông qua giao thức truyền SHT1x
Trang 22Hình 4-12: Cảm biến nhiệt độ, độ ẩm SHT10 [6]
Chức năng các chân của cảm biến:
- Màu đỏ: Nối nguồn 3 - 5 VDC.
- Màu đen: GND.
- Vàng: Clock.
- Xanh dương: Data.
1.1.12 Thông số kỹ thuật
SHT10 có các thông số kỹ thuật cơ bản như sau:
Bảng 4-3: Thông số kỹ thuật của SHT10
Khoảng nhiệt độ đo -40-120 oC với sai số 0.5%
1.1.13 Nguyên lý hoạt động
Quá trình gửi dữ liệu xuống SHT1x gồm 5 bước:
- Bước 1: Chân DATA ở mức cao; chân SCK có xung (chuyển trạng thái từ
mức thấp lên mức cao) Sau đó vi điều khiển kéo chân DATA từ mức caoxuống mức thấp
- Bước 2: Chân SCK có xung tiếp theo, vi điều khiển giữ chân DATA ở mức
thấp Khi đó SHT1x biết là vi điều khiển muốn giao tiếp với nó Sau đó, chânDATA được đưa lên mức 1 để chuẩn bị quá trình gửi lệnh xuống SHT
Trang 23- Bước 3, gửi lệnh xuống SHT: Gửi bit 0 bằng cách cho chân DATA xuống
mức 0, sau đó kích xung SCK từ thấp lên cao; gửi bit 1 bằng cách cho chânDATA lên mức 1, sau đó kích xung SCK từ thấp lên cao
- Bước 4: Vi điều khiển gửi một lệnh gồm 8 bit xuống SHT1x với 3 bit đầu là
bit 0, 5 bit sau là các bit xác định yêu cầu của vi điều khiển với SHT1x
- Bước 5, kiểm tra lỗi: Sau khi gửi lệnh xuống SHT1x thì bắt đầu tiến hành
kiểm tra lỗi, nếu không có lỗi thì bắt đầu quá trình truyền tín hiệu
Hình 4-13: Quá trình giao tiếp giữa SHT10 với vi điều khiển [1]
Bảng 4-4: Bit xác định yêu cầu của vi điều khiển với SHT10 [1]
4.1 Cảm biến cường độ ánh sáng BH1750
BH1750 được dùng để đo cường độ ánh sáng tại vườn rau để giám sát tình hìnhchiếu sáng tại vườn Từ những thông số này, người dùng có thể quyết định điềuchỉnh ánh sáng để thích hợp với điều kiện sinh trưởng của cây trồng
4.1.1 Giới thiệu chung
BH1750 là cảm biến kỹ thuật số gồm một IC điện tử cảm biến ánh sáng sử dụnggiao tiếp I2C Cảm biến tích hợp bộ chuyển đổi ADC 16 bit trong chip và cho phépxuất ra dữ liệu trực tiếp theo dạng số và không cần phải tính toán gì thêm BH1750
Trang 24sử dụng đơn giản, chính xác hơn nhiều lần so với việc dùng cảm biến quang trở để
đo cường độ ánh sáng Với cảm biến BH1750, dữ liệu dược xuất ra trực tiếp vớiđơn vị LUX thông qua chuẩn giao tiếp I2C
Hình 4-14 : Cảm biến cường độ ánh sáng BH1750 [6]
4.1.2 Thông số kỹ thuật
BH1750 có các thông số kỹ thuật như sau:
- Chuẩn kết nối I2C
- Có độ phân giải cao (1-65535lux)
- Sự biến đổi về ánh sáng thấp (~20%), ít bị ảnh hưởng bởi ánh sáng hồngngoại, tiêu hao nguồn ít
- Trời nhiều mây trong nhà: 5 -50 lux.
- Nhiều mây ngoài trời: 50 – 500 lux.
- Trời nắng trong nhà: 100 – 1000 lux.
- Ánh sáng để đọc sách: 50 -60 lux.
1.1.14 Nguyên lý hoạt động
BH1750 hoạt động theo chuẩn truyền I2C, nó sử dụng hai đường truyền tín hiệugồm một đường xung nhịp đồng hồ (SCL) do thiết bị chủ (Master) phát đi và mộtđường truyền dữ liệu (SDA) theo 2 hướng Chân SCL là chân Clock, có tác dụng
Trang 25đồng bộ hóa việc truyền dữ liệu giữa các thiết bị do Master tạo ra Chân SDA làchân truyền dữ liệu (DATA) Hai chân này luôn hoạt động ở chế độ mở, vì vậy để
sử dụng được, ta cần nối nguồn với điện trở kéo với bus I2C
BH1750 có thể cùng được kết nối vào một bus I2C cùng với nhiều thiết bị khác
mà không xảy ra chuyện nhầm lẫn giữa các thiết bị vì mỗi thiết bị khi kết nối đượcđịnh danh bởi một địa chỉ riêng biệt với quan hệ chủ/tớ tồn tại trong suốt thời giankết nối Điểm mạnh của giao thức I2C chính là hiệu suất và sự đơn giản Chỉ vớimột vi điều khiển trung tâm, ta có thể điều khiển cả một mạng lưới các thiết bị màchỉ cần sử dụng hai lối ra
Hình 4-15: Giao thức truyền/ nhận dữ liệu theo chuẩn I2C [1]
1.20 Cảm biến độ ẩm đất
Cảm biến độ ẩm đất được dùng để đo độ ẩm trực tiếp tại vườn cây Thông qua
độ ẩm thu được, người dùng có thể giám sát, điều chỉnh việc tưới vườn cây để đảmbảo độ ẩm cần thiết phù hợp với nhu cầu sinh trưởng của cây Độ nhạy của cảmbiến độ ẩm đất có thể được điều chỉnh bằng cách điều chỉnh biến trở màu xanh trênboard mạch Phần đầu dò của cảm biến được cắm trực tiếp vào đất để đo giá trị
Trang 26Hình 4-16: Cảm biến độ ẩm đất [6]
Cảm biến độ ẩm đất có thể đo và tính toán ra phần trăm độ ẩm dựa vào khả năngdẫn điện của đất Module cảm biến độ ẩm đất có thể sử dụng ở một trong hai chế độ
là Analog hoặc Digital:
- Đọc giá trị Digital (đọc bằng chân D0): Khi độ ẩm đạt ngưỡng thiết lập, đầu
ra D0 sẽ chuyển trạng thái từ mức thấp lên mức cao
- Đọc giá trị Analog (đọc bằng chân A0): Giá trị đầu ra sẽ có điện áp từ 0 – 5V
DC tương ứng với độ ẩm từ 0 - 100%
Sơ đồ chân:
- Chân VCC: Chân cấp nguồn.
- Chân GND: Chân nối đất.
- Chân A0: Chân lấy tín hiệu analog.
- Chân D0: Chân lấy tín hiệu digital.
1.21 DS18B20
1.1.15 Tìm hiểu chung
Nhiệt độ của đất trồng là một thông số quan trọng cần được quan tâm khi tiếnhành xây dựng hệ thống nông nghiệp thông minh để đảm bảo sự phát triển tối ưucho cây trồng Dựa vào cơ sở dữ liệu được xây dựng sẵn và nhiệt độ đo đạc được,người dùng có thể điều chỉnh miền nhiệt độ thích hợp đối với từng loại cây trồngkhác nhau để đem lại hiệu quả sản xuất cao DS18B20 được chọn làm cảm biến đonhiệt độ đất vì kết quả đo đạc có độ chính xác cao và có thể hoạt động ngoài trờitrong thời gian dài vì có lớp vỏ bảo vệ
Trang 27Hình 4-17: Cảm biến nhiệt độ DS18B20 [6]
1.1.16 Thông số kỹ thuật
DS18B20 có những đặc điểm nổi bật sau đây:
- Sử dụng giao thức 1- wire để truyền/nhận dữ liệu
- Có thể cấp nguồn từ 3 – 5.5V DC
- Dải đo rộng: -55oC – 125oC với sai số
- Độ chính xác cao, có khả năng hoạt động liên tục trong thời gian dài
1.1.17 Nguyên lý hoạt động
Thông tin được ghi và nhận giữa vi điều khiển với DS18B20 được thực hiện trêngiao tiếp 1-wire, do đó chỉ cần hai đường dẫn gồm một đường để truyền tín hiệu vàmột đường làm GND để kết nối Mỗi cảm biến DS18B20 có một mã số định danhduy nhất được tạo thành trong quá trình chế tạo vi mạch bằng kỹ thuật khắc lasernên có thể kết nối nhiều cảm biến vào một bus 1-wire mà không sợ việc nhầm lầnđịa chỉ Việc đo nhiệt độ trên DS18B20 được thực hiện bằng phương pháp lấy mẫu.Mỗi lần lấy mẫu được ngăn cách bởi một tín hiệu reset và một tín hiệu presencepulse Tín hiệu reset được xem như tín hiệu khởi động lại quá trình đo nhiệt độ còntín hiệu presence pulse là tín hiệu báo hiệu cho vi điều khiển biết sự tồn tại củaDS18B20
Quá trình lấy mẫu được thực hiện theo các bước sau:
- Khởi tạo xung reset
- Gửi các lệnh ROM
Trang 28- Gửi các lệnh chức năng.
1.22 Mạch thu phát RF HC-12
Mạch thu phát RF HC-12 được sử dụng để truyền các thông số của môi trườngnhư nhiệt độ, độ ẩm từ trạm con về trạm chính để chuyển thông tin lên Internetphục vụ cho việc hiển thị và điều khiển hệ thống Mạch thu phát HC-12 có thể dễdàng cài đặt và sử dụng, giao tiếp bằng giao thức UART Module hoạt động ở tần số433MHz cho khoảng cách truyền lý tưởng đạt 1 km nên có thể thu thập được thôngtin của các cảm biến từ khoảng cách xa
Hình 4-18: HC-12 [6]
HC-12 có các thông số kỹ thuật cơ bản như sau:
Bảng 4-5: Thông số kỹ thuật của HC-12
Trang 290 để thông báo quá trình truyền tín hiệu chuẩn bị xảy ra Sau đó, các bit DATA D7 sẽ được truyền theo thứ tự từ bit có trọng số nhỏ nhất đến bit có trọng số lớnnhất Bit PARITY được truyền đi sau các bit DATA để bộ nhận tín hiệu kiểm tratính đúng đắn của dữ liệu được truyền Sau cùng, STOP bit được truyền đi để thôngbáo cho thiết bị nhận việc kết thúc một khung truyền.
D0-Hình 4-19: Quá trình truyền dữ liệu theo giao thức UART [1]
CHƯƠNG 5 GIAO DIỆN HIỂN THỊ, ĐIỀU KHIỂN
1.23 Blynk
1.1.19 Giới thiệu chung
Blynk là một ứng dụng chạy trên nền tảng Android và IOS được thiết kế choInternet of Things Nó có thể hiển thị dữ liệu các cảm biến, điều khiển thiết bị phầncứng từ xa, lưu trữ dữ liệu Hướng đến việc phổ cập IoT, Blynk giải quyết hầu hếtcác vấn đề liên quan đến IoT khi xây dựng hệ thống như hỗ trợ việc kết nối thiết bị
Trang 30lên Internet, kết nối với smartphone thông qua App, quản lý nhiều thiết bị, chia sẻquyền điều khiển với mọi người, điều khiển thời gian thực, cập nhật lại trạng tháihoạt động Blynk không bị giới hạn bởi phần cứng Thay vào đó, nó hỗ trợ phầncứng cho người dùng có thể lựa chọn như Arduino, ESP8266 hay Raspberry Pi.Blynk sẽ giúp mọi người có thể dễ dàng thực hiện các dự án IoT mà không cần quánhiều kiến thức về việc lập trình ứng dụng.
Hình 5-20: Mô hình Blynk [3]
1.1.20 Cách hoạt động
Blynk hoạt động dựa vào ba phần chính trong nền tảng, đó là:
- Blynk App: Cho phép tạo giao diện App theo các Widget khác nhau mà nhà
thiết kế đã chế tạo sẵn
- Blynk Server: Chịu trách nhiệm xử lý dữ liệu trung tâm giữa điện thoại và
thiết bị phần cứng Vì là mã nguồn mở, chúng ta có thể sử dụng Blynk Cloud
do Blynk cung cấp hoặc tự xây dựng máy chủ Blynk của riêng mình
- Library Blynk : Hỗ trợ cho hầu hết nền tảng phần cứng phổ biến, cho phép
thiết bị giao tiếp đến máy chủ và xử lý tất cả thông tin đến và đi
Trang 31Hình 5-21: Cách thức hoạt động của Blynk [4]
1.1.21 Cấu hình App Blynk
Việc cấu hình App Blynk được thực hiện theo các bước sau:
- Tạo tài khoản Blynk (có thể dùng Gmail, Facebook )
- Tạo một Project
- Điền tên Project và chọn phần cứng
Mỗi Project sẽ cung cấp một mã Auth Token khác nhau Tiến hành nhập mã AuthToken này vào code của board mạch điều khiển NodeMCU Sau đó tiến hành lựachọn những chức năng do Blynk cung cấp sẵn để đưa vào Project và tiến hành cấuhình chân, các mức logic Sau khi cài đặt xong điện thoại, ta tiến hành lập trình choboard mạch phần cứng Thư viện Blynk trên Arduino IDE hỗ trợ rất nhiều ví dụ choBlynk để có thể dùng thử và tìm hiểu cách thức hoạt động
1.1.22 Ưu điểm của Blynk
Khi tiến hành các dự án về IoT, việc sử dụng Blynk mang lại nhiều ưu điểm, nhất làđối với những người không có những kiến thức chuyên sâu về lập trình ứng dụng vìnhững lý do sau:
- Dễ sử dụng: Việc cài đặt ứng dụng, đăng ký tài khoản Blynk trên 2 nền tảng
Android và IOS hoàn toàn miễn phí và dễ dàng
Trang 32- Chức năng phong phú: Blynk hỗ trợ nhiều chức năng với giao diện đẹp,
sinh động Các chức năng được lập trình để dễ dàng cấu hình, kéo thả và sửdụng
- Đơn giản: Blynk thích hợp với những người dùng có kiến thức về lập trình
ứng dụng một cách hạn chế Blynk là một ứng dụng tuyệt vời giúp ngườidùng tiếp cận với thế giới IoT
- Dễ dàng điều khiển, giám sát thiết bị: Có thể xem, điều khiển trên nhiều
thiết bị khác nhau chỉ cần có Internet với khả năng đồng bộ hóa trạng thái.1.24 Thingspeak
5.1.1 Giới thiệu
Thingspeak là một mã nguồn mở được sử dụng phổ biến cho các ứng dụngInternet of Things Thingspeak là một webserver cho phép kết nối các thiết bị thôngqua mạng Internet để chia sẻ thông tin dữ liệu với nhau Ngoài ra, chúng ta có thể
sử dụng Thingspeak để chuyển tiếp dữ liệu tới các máy chủ khác như Google để cóthể sử dụng những công cụ xử lý, quản lý dữ liệu của Google một cách hiệu quả
Trang 33Là một sản phẩm của tập đoàn Mathworks, ưu điểm của Thingspeak là cung cấpcác chức năng như lưu trữ, hiển thị dữ liệu Ngoài ra, Thingspeak còn được tíchhợp, kết nối với công cụ Matlab để có thể phân tích, xử lý dữ liệu được thu thập Dữliệu cập nhật lên Thingspeak được lưu trữ, xử lý một cách liên tục, có thể cập nhật,truy xuất ở bất kỳ thời điểm nào và có thể được quan sát, hiển thị dưới dạng biểu
đồ, số liệu cụ thể hay dưới dạng thông báo qua giao diện web hoặc tích hợp trongcông cụ phân tích như Matlab Analysis hay Matlab Visualization
Hình 5-22: Mô hình hệ thống IoT với blynk và Thingspeak [4]
5.1.2 Cách thiết lập một kênh thông tin trên máy chủ Thingspeak
Để làm việc với Thingspeak, chúng ta cần tạo một tài khoản Thingspeak và Chanelmới để lấy Chanel ID và write APIKey Đây là những thông tin quan trọng cần lưu
ý khi lập trình để những dữ liệu gửi lên có thể hiển thị đúng ở Chanel do ngườidùng khởi tạo
1.25 Tổng quan về PHP
1.1.23 Giới thiệu
PHP (Hypertext Preprocessor) là một ngôn ngữ lập trình web phổ biến nhất thế giới
do Rasmus Lerdorf tạo ra năm 1994 Đây là ngôn ngữ lập trình được kết nối chặtchẽ với máy chủ, chủ yếu được dùng để phát triển các ứng dụng viết cho máy chủ,
Trang 34mã nguồn mở và dùng cho mục đích tổng quát PHP là ngôn ngữ lập trình thôngdụng cho việc viết web và có thể dễ dàng nhúng vào trang HTML
1.1.24 Phương thức hoạt động
Khi người dùng muốn truy cập một tập tin PHP thì họ phải gửi yêu cầu thông quaviệc truy cập vào đường dẫn nơi nó được lưu trên máy chủ web Sau đó, máy chủweb sẽ tiếp nhận yêu cầu này và biên dịch tập tin PHP thành các đoạn mã HTMLrồi trả về cho trình duyệt của người dùng
Hình 5-23: Phương thức hoạt động của PHP [10]
1.1.25 Ưu điểm của PHP
Ưu điểm của PHP là ngôn ngữ được tối ưu hóa cho các ứng dụng web, tốc độnhanh, nhỏ gọn, dễ học và thời gian xây dựng sản phẩm tương đối ngắn hơn so vớiviệc lập trình bằng các ngôn ngữ khác PHP có khả năng thực hiện và tích hợp chặtchẽ với hầu hết các cơ sở dữ liệu có sẵn, linh động, bền vững và khả năng phát triểnkhông giới hạn Đặc biệt, PHP là mã nguồn mở nên tất cả các ưu điểm của ngônngữ PHP đều là miễn phí Ngoài ra, cộng đồng các nhà phát triển ngôn ngữ PHPluôn có ý thức cải tiến, nâng cao để khắc phục các lỗi còn xảy ra trong các chươngtrình PHP vừa dễ đối với người mới sử dụng vừa có thể đáp ứng mọi yêu cầu củacác lập trình viên chuyên nghiệp Hiện nay, PHP đã có mặt trên 12 triệu website và
có xu hướng sẽ phát triển nhanh hơn nữa trong tương lai gần
Trang 35nhau Với tốc độ và tính bảo mật cao, lại hoàn toàn miễn phí, MySQL là một trongnhững ví dụ rất cơ bản về hệ quản trị cơ sở dữ liệu quan hệ sử dụng ngôn ngữ truyvấn có cấu trúc (SQL) MySQL được sử dụng cho việc bổ trợ PHP, Perl, và nhiềungôn ngữ khác, nó làm nơi lưu trữ những thông tin trên các trang web viết bằngPHP hay Perl Mục đích sử dụng cơ sở dữ liệu bao gồm các chức năng như: Lưutrữ, truy cập, tổ chức và xử lý.
1.27 Mối liên hệ giữa PHP và MySQL
PHP là một ngôn ngữ lập trình dùng để xây dựng các ứng dụng Website Nóicách khác, PHP là ngôn ngữ lập trình phía server nhằm xử lý các yêu cầu của clientcòn MySQL là một hệ quản trị cơ sở dữ liệu PHP và MySQL là một bộ đôi hoànhảo để lập trình web, chúng có mối quan hệ mật thiết và hỗ trợ cho nhau PHP được
ví như một cơ thể còn MySQL được ví như là trái tim hay bộ não của cơ thể đó.MySQL là nơi lưu trữ toàn bộ dữ liệu của trang web, là nơi cũng cấp tất cả thông tincần thiết cho người sử dụng Nếu bạn tạo một trang web mà không có cơ sở dữ liệu,
cụ thể ở đây là không có MySQL thì trang web chỉ ở trạng thái tĩnh và không có bất
kỳ sự tương tác nào với người sử dụng Vì vậy, việc lập trình php kết hợp với cơ sởquản lý dữ liệu MySQL là cần thiết và tất yếu
Để thực hiện được thao tác truy xuất dữ liệu thì cần phải tạo sự kết nối vớiMySQL Để làm được điều này đầu tiên chúng ta cần phải khởi tạo liên kết giữaPHP và MySQL Các thông tin cần thiết để kết nối bao gồm:
- Host: Server của MySQL.
- User: Tài khoản đăng nhập vào cơ sở dữ liệu MySQL.
- Pass: Mật khẩu đăng nhập vào cơ sở dữ liệu MySQL.
- DB Name: Tên của MySQL.
Sau khi đã tạo được liên kết giữa PHP và MySQL rồi thì chúng ta có thể thựchiện việc truy xuất dữ liệu bằng các hàm và câu lệnh cụ thể tương ứng với từngtrường hợp khác nhau
Trang 36Hình 5-24: Kết hợp giữa PHP và MySQL [10]