Hình 3.13. Lưu đồ thuật toán chương trình con điều khiển thiết bị
Sau khi module thu wifi nhận tín hiệu điều khiển sẽ được vi điều khiển tiến hành giải mã tín hiệu điều khiển. Lúc này mã điều khiển sẽ được kiểm tra, nếu mã điều khiển là "a", "b", thì sẽ tương ứng thực hiện chế độ điều khiển hệ thống bơm tưới bằng thủ công hoặc tự động theo chương trình lập trình.
3.4.3. Phần mềm Android
3.4.3.1. Giới thiệu về nền tảng Android
Android được xây dựng trên một nền tảng mở và một thư viện đa chức năng, Android đã nhanh chóng được cộng đồng lập trình viên di động hưởng ứng mạnh mẽ. Nền tảng androi tích hợp nhiều tính năng nổi bật:
- Android là một hệ điều hành nhân Linux, đảm bảo sự tương tác với các phần cứng quản lý bộ nhớ, điều khiển các tiến trình tối ưu cho các thiết bị di động.
- Máy ảo Dalvik được tối ưu cho các thiết bị di dộng, chạy các ứng dụng lập trình trên ngôn ngữ Java.
- Các thư viện cho phát triển ứng dụng mã nguồn mở bao gồm SQlite, WebKit, OpenGL và trình quản lý đa phương tiện.
- Hỗ trợ các chuẩn đa phương tiện phổ biến, thoại trên nền GSM, Bluetooth, 3G và WiFi.
- Hỗ trợ Camera, GPS, la bàn máy đo gia tốc…
- Bộ phát triển ứng dụng SDK đầy đủ các phần mềm cho thiết bị di động bao gồm thiết bị giả lập, công cụ sửa lỗi…
- Android cung cấp một tập hợp đầy đủ các phần mềm cho thiết bị di động bao gồm hệ điều hành, các khung ứng dụng và các ứng dụng cơ bản.
Android hoàn toàn có tính mở, một ứng dụng có thể gọi tới bất kể một chức năng lõi của điện thoại như tạo cuộc gọi, gửi tin nhắn hay sử dụng máy ảnh, cho phép người phát triển tạo phong phú hơn, liên kết hơn các tính năng cho người dùng. Android được xây dựng trên nhân Linux mở, thêm nữa nó sử dụng một máy ảo mà đã được tối ưu hoá bộ nhớ và phần cứng với môi trường di dộng. Android là một mã nguồn mở để kết hợp tự do giữa các công nghệ nổi trội. Nền tảng này sẽ tiếp tục phát triển để tạo ra các ứng dụng di động hoàn hảo.
3.4.3.2. Môi trường lập trình trên nền tảng Android App Inventor 2
Chương trình Inventor 2 thực chất là một ứng dụng web, chạy bởi trình duyệt trên máy tính cá nhân. Tuy nhiên, người dùng vẫn phải cài đặt một phần mềm Java mang tên App Inventor Extras, có nhiệm vụ điều khiển điện thoại Android (kết nối với máy tính thông qua cổng USB). Nhờ vậy, người dùng có thể nhanh chóng chuyển ứng dụng từ máy tính cá nhân qua điện thoại Android để chạy thử.
Các thiết bị di động (chủ yếu là điện thoại thông minh) có năng lực xử lý thông tin ngày càng mạnh, đang trở thành một chủng loại “máy tính cá nhân”. Khác với máy tính cá nhân thông thường, các thiết bị di động có bộ đo gia tốc, con quay hồi chuyển, bộ định vị GPS và có thể có thêm các bộ cảm ứng khác trong tương lai, từ đó mở ra những lĩnh vực ứng dụng mới mẻ và rộng lớn.
Với công cụ App Inventor, Google tạo điều kiện để mọi người có thể tự xây dựng phần mềm ứng dụng cho thiết bị di động dùng hệ điều hành Android. Để dùng được App Inventor, người dùng không nhất thiết là lập trình viên. Thay vì viết các câu lệnh,
người dùng có thể thiết kế bộ mặt ứng dụng theo ý mình một cách trực quan và lắp ráp các thẻ lệnh để diễn đạt chức năng của phần mềm.
3.4.3.3. Những tiêu chí cần đạt được đối với phần mềm hệ thống trên nền tảng Android:
Thiết kế, xây dựng chương trình điều khiển hệ thống có các chức năng: - Đăng nhập cho người sử dụng
- Thông tin về phần mềm điều khiển - Các chức năng điều khiển:
+ Điều khiển hệ thống bơm bằng thủ công/tự động.
+ Thực hiện cảnh báo trong trường hợp thông số quá ngưỡng hoặc bể cạn. - Các chức năng thu thập thông số môi trường:
+ Thu thập và hiển thị thông số nhiệt độ, độ ẩm môi trường. + Thu thập thông số độ ẩm đất.
Thiết kế phần mềm trên Android: Ứng dụng Smart-Farming
Sau khi tạo thành công tài khoản giao diện ứn dụng sẽ trở về màn hình đăng nhập, lúc này chương trình nhập tài khoản và mật khẩu vừa tạo để vào giao diện chính của ứng dụng.
Hình 3.14. Giao diện chương trình
Hình 3.15. Giao diện chính của chương trình
Chức năng: Trên giao diện chính của Ứng dụng với biểu tượng nhiệt kế màu đỏ và bên cạnh là thông số °C , đây là nhiệt độ không khí được đo qua cảm biến DHT11 giúp người dùng có thể biết chính xác được nhiệt độ ngoài trời tại nhà trồng. Trong điều kiện nhiệt độ và độ ẩm nhà trồng không đạt yêu cầu, người dùng có thể cho kích hoạt hệ thống tưới tiêu để làm tăng độ ẩm cho đất.
Hình 3.16. Biểu tượng và thông số nhiệt độ
Cùng sử dụng cảm biến DHT11 cho ra dữ liệu để hiển thị trên ứng dụng ngoài nhiệt độ ra còn là độ ẩm % không khí với biểu tượng giọt nước màu xanh và bên cạnh là thông số đo được.
Hình 3.17. Biểu tượng và thông số độ ẩm môi trường.
Biểu tượng hình tròn màu nâu cùng thông số bên cạnh là chỉ số của độ ẩm đất được lấy dữ liệu từ cảm biến đo độ ẩm đất gửi về.
Hình 3.18. Biểu tượng và thông số độ ẩm đất.
Với 3 thông số: Độ ẩm, nhiệt độ không khí, độ ẩm đất khi đạt tới giá trị có thể gây ảnh hưởng, hư hại tới cây trồng, hệ thống sẽ tự gửi cảnh báo qua ứng dụng trên màn hình điện thoại người dùng để kịp thời xử lý…
Hình 3.19. Màn hình cảnh báo khi thông số vượt ngưỡng giới hạn.
Hình 3.20. Thông tin cảnh báo trên thiết bị người dùng.
Khi ấn vào biểu tượng này, màn hình người dùng sẽ chuyển sang 1 giao diện mới đây là nơi chuyển cài đặt giờ để tưới tiêu tự động trong khoảng thời gian nhất định
.
Hình 3.21. Giao diện điều khiển hệ thống bơm tưới
Trên giao diện điều khiển có 3 chức năng chính:
Điều khiển thủ công: Khi người dùng nhấn “BẬT” hoặc “TẮT” trên màn hình, dữ liệu sẽ được gửi về hệ thống và lệnh cho bộ điều khiển bật hoặc tắt theo đúng câu lệnh người đùng đưa ra
Hẹn giờ bơm: Khi người dùng nhấn “chọn thời gian hẹn giờ”, màn hình sẽ đưa ra đồng hồ để chọn thời gian để bật thết bị tưới tiêu, và tắt khi hết thời gian người dùng chọn. Có 2 chế độ chọn thời gian:
Nút “Quay lại” để thực hiện quay lại màn hình chính, người dùng sẽ theo dõi được nhiệt độ, độ ẩm, môi trường của vườn trồng.