Thiết kế mô hình hệ thống Aquaponics dựa trên thuật toán điều khiển thời gian thực

pdf 6 trang Gia Huy 21/05/2022 2220
Bạn đang xem tài liệu "Thiết kế mô hình hệ thống Aquaponics dựa trên thuật toán điều khiển thời gian thực", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên

Tài liệu đính kèm:

  • pdfthiet_ke_mo_hinh_he_thong_aquaponics_dua_tren_thuat_toan_die.pdf

Nội dung text: Thiết kế mô hình hệ thống Aquaponics dựa trên thuật toán điều khiển thời gian thực

  1. Hội nghị Quốc gia lần thứ 23 về Điện tử, Truyền thông và Công nghệ Thông tin (REV-ECIT2020) Thiết kế mô hình hệ thống Aquaponics dựa trên thuật toán điều khiển thời gian thực Phạm Chí Kiên*, Nguyễn Đình Tuấn , Phan Thị Thanh Ngọc* Nguyễn Đăng Khoa , Lê Anh Ngọc* *Trường Đại Học Điện Lực Email: anhngoc@epu.edu.vn Cục Công nghệ thông tin, Bộ công an Trường Đại học Phenikaa Email: khoa.nguyendang@phenikaa-uni.edu.vn Tóm tắt – Bài báo trình bày một giải pháp thiết kế hệ thống Bài báo được trình bày với nội dung sau: Phần II giới aquaponic – nuôi trồng thủy sản và trồng cây theo phương pháp thủy canh dựa trên nền tảng FreeRTOS. Hệ thống thiệu tổng quan về Aquaponnics, dịch vụ điện toán đám được tích hợp các cảm biến cho phép điều khiển, giám sát mây và các hệ điều hành thời gian thực RTOS (Real tình trạng của aquaponic thông qua IoT nhằm đảm bảo Time Operating Systems). Trong phần III, chúng tôi đề hiệu quả của quá trình nuôi trồng thủy sản. Kết quả thực xuất hệ thống Aquaponics sử dụng nền tảng FreeRTOS. nghiệm đã chỉ ra mức độ tối ưu phân phối thời gian khi sử Phần IV cung cấp các kết quả thử nghiệm và đánh giá. dụng FreeRTOS so với các công nghệ truyền thống. Cuối cùng, kết luận bài báo được trình bày trong phần V. Từ khóa- FreeRTOS, Ubidots, Aquaponics, realtime scheduling II. TỔNG QUAN VỀ HỆ THỐNG AQUAPONICS, DỊCH VỤ ĐIỆN TOÁN ĐÁM MÂY I. GIỚI THIỆU VÀ FREERTOS Việt Nam vẫn là một trong những nước chú trọng việc 2.1. Hệ thống Aquaponics nuôi trồng thủy hải sản. Tuy nhiên, nguồn nước đang bị ô nhiễm, ảnh hưởng trực tiếp đến hiệu quả nuôi cá và Mô hình Aquaponics là sự kết hợp của cả hai hệ thống: trồng trọt. Hơn nữa, diện tích đất nông nghiệp đang bị Nuôi trồng thủy sản (aquaculture) và trồng cây theo giảm, nên áp dụng công nghệ và tự động hóa nhằm giúp phương pháp thủy canh (hydroponics) [1,2]. Sự kết hợp tiết kiệm tài nguyên đất và nước, kết hợp với chọn lựa này mang lại lợi ích thiết thực và tính độc đáo. Thay vì các loại sản phẩm để mang lại năng suất tối đa cho nông bổ sung phân bón và các hóa chất để trồng cây, mô hình nghiệp. Aquaponics là một hệ thống nông nghiệp bền này sử dụng chất thải từ cá nhờ sự chuyển hóa từ các vững trong một môi trường cộng sinh bằng cách kết hợp loài vi sinh vật thành chất dinh dưỡng cần thiết và đầy nuôi trồng thủy sản và thủy canh. Hệ thống nước cần đủ cho sự phát triển của cây. Ngược lại, thay vì xả nước được phân bổ trên môi trường trồng định kỳ để đảm bảo ra môi trường, nó sử dụng cây trồng để làm sạch nước cây có được các chất dinh dưỡng, trong khi nước có thể và trả lại cho bể cá. Nước này có thể được tái sử dụng được lọc đúng cách bằng môi trường. vô thời hạn và chỉ cần thay thế khi nó bị mất do bay hơi (Hình 1). Hiện nay mô hình Aquaponics truyền thống chưa đáp ứng đủ nhu cầu của sản xuất. Đặc biệt, các thông số đo đạc của mô hình aquaponic cần được theo dõi, điều khiển và giám sát qua Internet, điện toán đám mây. Điều đó dẫn đến vấn đề xử lý dữ liệu cần phải có những đáp ứng nhanh chóng. Cách giải quyết vấn đề đó là tăng tốc độ của bộ xử lý trung tâm, tối ưu các tác vụ, tăng băng thông truyền dữ liệu . Tuy nhiên, các hệ thống Aquaponics IoT (Internet of things) cũ không đáp ứng được do không có cơ chế ưu tiên thực thi các tác vụ và kinh phí thực hiện xây dựng khá cao. Để xử lý vấn đề đó, bài báo này đề xuất giải pháp sử dụng FreeRTOS trong việc phân phối và tối ưu các tác vụ thu thập dữ liệu cảm biến và các tác vụ điều khiển từ máy chủ xuống. Hình 1: Mô hình Aquaponics ISBN: 978-604-80-5076-4 330
  2. Hội nghị Quốc gia lần thứ 23 về Điện tử, Truyền thông và Công nghệ Thông tin (REV-ECIT2020) Một số yếu tố chính cần quan tâm của Aquaponics: Oxy OpenIoT, Google Cloud, Amazon, GENI, Ubidots Ví hòa tan: Cá cần oxy để sống vì vậy cũng cần chú ý đến dụ, Xively đại diện cho một trong những ứng dụng đầu việc đảm bảo hàm lượng oxy thích hợp cho cá phát tiên đưa ra dịch vụ lưu trữ dữ liệu từ cảm biến và hiển triển. Hàm lượng oxy hòa tan thường thấp vào lúc sáng thị trên website. Xively hướng đến mục tiêu đảm bảo sớm và phụ thuộc vào nhiều yếu tố khác như mật độ cá, kết nối giữa thiết bị và ứng dụng phần mềm theo thời nhiệt độ nước, độ mặn, người sử dụng nên có bộ dụng gian thực. Xively cung cấp một nền tảng như giải pháp cụ kiểm tra hàm lượng oxy hàng ngày để đảm bảo cho phù hợp cho lập trình viên và nhà cung cấp dịch vụ. Nó cá phát triển tốt. giúp thống nhất các thiết bị thông qua nền tảng bởi những bộ thư viện có sẵn (như ARM mbed, Electric Nhiệt độ: Nhiệt độ nước rất quan trọng trong hệ Imp and iOS/OSX) và liên lạc thuận tiện thông qua giao thống Aquaponics. Nhiệt độ nước cao quá sẽ làm cá sốc thức HTTP(S), Sockets/Websocket, hoặc MQTT. và có thể chết ảnh hưởng đến sự phát triển của cây trồng. Ngược lại, khi nhiệt độ hạ xuống thấp cũng gây hại cho cây trồng và cá. Vì vậy người sử dụng cũng nên thường xuyên theo dõi để có biện pháp hợp lí giữ nhiệt độ nước ổn định giúp cho hệ thống phát triển tốt đẹp. Giá trị pH: Đây cũng là một yếu tố quan trọng cần quan tâm theo dõi trong hệ thống. Độ pH chính là độ axit hay độ chua của nước và giá trị pH biểu diễn cũng chính là giá trị biểu diễn cho sự hiện diện của ion H+ trong môi trường (nước hoặc đất). Giá trị pH thường thấp vào ban đêm và sáng sớm nên duy trì giữ pH trong Hình 2: Mô hình tổng quan về điện toán đám mây khoảng 6 – 8 là thích hợp nhất. Dinh dưỡng trong nước: Cả dinh dưỡng dạng Nó cũng có thể sử dụng những nền tảng khác với bộ thư NO3/NH44 (Macro Nutrients) và vi lượng (Micro viện của Java, JS, Python và Ruby. Một trong những Nutrients) đều cần thiết cho cây trồng trong hệ thống đặc điểm khiến Xively là dịch vụ nền tảng đám mây Aquaponics. Phần lớn nguồn dinh dưỡng này đến từ được ưa thích chính là: chất thải của cá và một phần hòa tan từ thức ăn của cá. Trong một số trường hợp (thường là do chất lượng thức • Mã nguồn mở, không mất phí và dễ dàng sử dụng giao ăn của cá kém) cần thiết phải bổ sung thêm một số diện lập trình ứng dụng (API). nguyên tố vi lượng cần thiết cho cây trồng. • Tương thích với nhiều giao thức, môi trường và khả Kiểm soát lượng nước: Người sử dụng nên có dụng năng quản lý cảm biến thời gian thực và phân phối dữ cụ kiểm tra các yếu tố môi trường để kiểm soát chất liệu dưới nhiều dạng như JSON, XML và CSV. lượng nước nuôi cá trong hệ thống. Cần ghi lại sự biến • Cho phép người dùng thấy được biểu đồ dữ liệu theo động trong suốt quá trình vận hành hệ thống để so sánh, thời gian thực để giám sát hoạt động của cảm biến. Nó đối chiếu hoặc có thể dùng như một tài liệu tham khảo cũng cho phép người dùng điều khiển cảm biến từ xa. cho những hệ thống khác mà sau này ta có thể phát triển. • Hỗ trợ nhiều nhà sản xuất phần cứng (OEM) như Ánh sáng: Vì các hệ thống aquaponics thường đặt Arexx, Nanode, OpenGear, Arduino và mBed. trong các không gian tiết kiệm diện tích nên đôi khi ánh sáng tự nhiên không đủ cho cây quang hợp vì vậy ta cần 2.3. RTOS và FreeRTOS bổ sung ánh sáng thích hợp cho cây, giải pháp ở đây là dùng ánh sáng thay thế bằng đèn chiếu sáng. Hệ điều hành (Operating System – OS) là chương trình hệ thống đóng vai trò giao diện giữa phần cứng và 2.2. Dịch vụ điện toán đám mây chương trình ứng dụng.Các tính năng chung của hệ điều hành là đồng bộ hóa giữa tác vụ, `đa nhiệm, quá trình Điện toán đám mây là mô hình điện toán mà mọi giải giao tiếp, xử lý ngắt và quản lý bộ nhớ. Một hệ điều pháp liên quan đến công nghệ thông tin đều được cung hành thời gian thực (real-time operating system - cấp dưới dạng các dịch vụ qua mạng Internet, giải RTOS) là một hệ điều hành nhằm phục vụ các ứng dụng phóng người sử dụng khỏi việc phải đầu tư nhân lực, thời gian thực, xử lý dữ liệu khi nó đi vào, mà không có công nghệ và hạ tầng để triển khai hệ thống [3,4]. Từ sự chậm trễ của bộ đệm. Các yêu cầu thời gian xử lý đó điện toán đám mây giúp tối giản chi phí và thời gian (bao gồm bất kỳ sự chậm trễ nào của hệ điều hành) được triển khai, tạo điều kiện cho người sử dụng nền tảng tính bằng phần mười của giây hoặc thời gian ngắn hơn. điện toán đám mây tập trung được tối đa nguồn lực vào Chúng hoặc là được sự kiện điều khiển hoặc chia sẻ thời công việc chuyên môn (hình 2). Các ứng dụng IoT có gian. Các hệ thống do sự kiện điều khiển chuyển đổi thể dùng nhiều nền tảng đám mây với những khả năng giữa các nhiệm vụ dựa trên các ưu tiên của chúng trong và sức mạnh xử lý khác nhau như ThingWorx, ISBN: 978-604-80-5076-4 331
  3. Hội nghị Quốc gia lần thứ 23 về Điện tử, Truyền thông và Công nghệ Thông tin (REV-ECIT2020) khi các hệ thống chia sẻ thời gian chuyển công việc dựa Blocked: Nhiệm vụ đang chờ sự kiện cụ thể. Các trên ngắt đồng hồ [5]. nhiệm vụ sẽ chặn cho đến khi khoảng thời gian trì hoãn có hết hạn. FreeRTOS là hệ điều hành nguồn mở thời gian thực dành cho các bộ vi điều khiển, cho phép dễ dàng lập Suspend: Trạng thái này giống như chặn nhiệm vụ, trình, triển khai, bảo mật, kết nối và quản lý các thiết bị nhưng nhiệm vụ không chờ đợi bất cứ điều gì. ngoại biên nhỏ, công suất thấp. Được phân phối miễn III. THIẾT KẾ MÔ HÌNH AQUAPONIC DỰA phí theo giấy phép nguồn mở MIT, FreeRTOS bao gồm TRÊN NỀN TẢNG FREERTOS một nhân và một bộ thư viện phần mềm đang phát triển phù hợp để sử dụng trong nhiều lĩnh vực và ứng dụng 3.1. Thiết kế mô hình hệ thống aquaponic công nghiệp. Việc sử dụng bao gồm cả kết nối bảo mật Mô hình hệ thống aquaponics gồm các thành phần (hình thiết bị nhỏ, công suất thấp của bạn với các dịch vụ đám 4): mây AWS như AWS IoT Core hoặc với các thiết bị Acquy (12V): Lưu trữ điện năng, cung cấp nguồn ngoại biên mạnh mẽ hơn chạy AWS IoT Greengrass. cho toàn bộ hệ thống. FreeRTOS được xây dựng chú trọng vào độ tin cậy và Tấm pin năng lượng mặt trời: Nhận bức xạ mặt trời khả năng sử dụng dễ dàng [6-8]. FreeRTOS linh hoạt để chuyển hóa thành điện năng nạp vào acquy. thực hiện không giới hạn số lượng các nhiệm vụ. Nhưng Bộ điều khiển sạc: Là thiết bị thực hiện chức năng tại một thời điểm chỉ có một nhiệm vụ được thực thi. điều tiết sạc cho acquy, bảo vệ cho acquy chống Nhiệm vụ được định nghĩa là một loại công việc hoặc nạp quá tải và xả quá sâu nhằm nâng cao tuổi thọ quy trình thực hiện trong thời hạn xác định. Mọi nhiệm của bình acquy và giúp hệ thống pin mặt trời sử vụ cụ thể đã được thông qua thông qua các loại trạng dụng hiệu quả và lâu dài. thái khác nhau như Sẵn sàng, Đang chạy, Chặn và tạm Module ổn áp 5V: Hạ áp từ 12V xuống 5V cho dừng. servo hoạt động. Động cơ servo: Điều hướng tối ưu cho tấm pin năng lượng mặt trời. Cảm biến ánh sáng: Nhận và gửi tín hiệu đến bộ xử lí trung tâm được dùng để điều khiển hướng tối ưu của pin năng lượng mặt trời. Hình 4: Mô hình hệ thống aquaponic Bộ xử lí trung tâm: Nhận tín hiệu từ các cảm biến Hình 3: Trạng thái nhiệm vụ freeRTOS và xử lí theo lệnh của người điều khiển. Đẩy dữ liệu qua khối truyền thông để lưu trữ trên server để Trong RTOS, Bộ lập lịch sẽ quyết định tác vụ cụ thể giám sát và điều khiển, nhận phản hồi và điều khiển nào trong trạng thái nào. Như được mô tả trong Hình 3, các thiết bị theo yêu cầu. ý nghĩa trạng thái của từng nhiệm vụ riêng lẻ như sau: Khối truyền thông: Là cổng giao tiếp giữa hệ thống Running: Tác vụ thực sự đang thực thi. aquaponics và dịch vụ đám mây, có nhiệm vụ Ready: Nhiệm vụ đã sẵn sàng để thực thi nhưng một chuyển tiếp dữ liệu lên và xuống nhiệm vụ ưu tiên bằng hoặc cao hơn đang chạy. Khối IoT Aquaponics: Thực hiện tất cả các chức năng của mô hình aquaponics. 3.2. Thuật toán điều khiển hệ thống ISBN: 978-604-80-5076-4 332
  4. Hội nghị Quốc gia lần thứ 23 về Điện tử, Truyền thông và Công nghệ Thông tin (REV-ECIT2020) Bộ xử lý trung tâm sẽ thực hiện việc giám sát và điều thực được áp dụng để phân phối công việc dựa trên mức khiển trực tiếp toàn bộ hệ thống theo thuật toán điều ưu tiên khác nhau: khiển (hình 5). Bắt đầu chương trình có mức ưu tiên cao nhất được chạy trước, sau khi chương trình mức ưu tiên cao hơn đã chạy xong thì nó sẽ chạy chương trình có mức ưu tiên thấp hơn, khi các chương trình có cùng một mức ưu tiên chương trình nào đến trước sẽ chạy chương trình đó trước. Hình 5: Lưu đồ thuật toán điều khiển hệ thống aquaponics Để thực hiện việc giám sát các thông số hệ thống, bộ xử lý trung tâm định kỳ đọc các giá trị cảm biến và tự động xác định dung lượng acquy trong acquy, sau đó gửi lên máy chủ đám mây. Để điều chỉnh hướng của tấm pin năng lượng mặt trời sao cho tối ưu nhất, bộ xử lý trung tâm dựa vào Hình 6: Lưu đồ thuật toán điều khiển thời gian thực giá trị cảm biến ánh sáng để tự động điều chỉnh góc quay của 02 động cơ servo gắn với tấm pin năng Mỗi chương trình sẽ được phân phối thời gian chạy lượng mặt trời. và có một khoảng nghỉ (vtask delay) để nhường chỗ cho các chương trình khác chạy trong khoảng thời Để điều khiển hệ thống Aquaponics, bộ xử lý trung gian rỗi đó của bộ xử lý (hình 7). tâm cho phép hoạt động ở hai chế độ: điều khiển tự động và điều khiển theo yêu cầu (bằng tay). Trong chế độ điều khiển tự động, hệ thống sẽ tự động bật/tắt các thiết bị máy bơm, đèn và còi cảnh báo dựa trên các dữ liệu nhận được từ các cảm biến (pH, mực nước, nhiệt độ, độ ẩm, ánh sáng). Khi dung lượng acquy dưới ngưỡng cho phép (10%) thì hệ thống đưa ra cảnh báo với người dùng. Trong chế độ điều khiển bằng tay, hệ thống sẽ nhận lệnh bật/tắt các thiết bị trong hệ thống aquaponics theo yêu cầu qua giao diện của dịch vụ đám mây Ubidots. Hình 7: Phân phối thời gian FreeRTOS 3.3. Phân phối thời gian thực sử dụng FreeRTOS Để hệ thống có thể hoạt động một cách hiệu quả cần có IV. THỬ NGHIỆM VÀ ĐÁNH GIÁ MÔ HÌNH một cơ chế phân phối thời gian để phân phối công việc 4.1. Mô hình thực tế cho hệ thống. FreeRTOS là hệ điều điều hành thời gian ISBN: 978-604-80-5076-4 333
  5. Hội nghị Quốc gia lần thứ 23 về Điện tử, Truyền thông và Công nghệ Thông tin (REV-ECIT2020) Mô hình thử nghiệm thực tế bao gồm các thành phần chính như: tấm pin năng lượng mặt trời, cảm biến ánh Bước 1: Áp dụng thuật toán điều khiển (hình 5) cho sáng, acquy, bộ điều khiển sạc, module ổn áp 5V, 02 hệ thống aquaponics. động cơ servo, bo mạch arduino mega 2560 (hình 8). Bước 2: Gửi lệnh điều khiển từ người dùng qua giao diện đám mây Ubidots đến hệ thống aquaponics (hình 10). Bước 3: Đo độ trễ truyền từ lúc thực hiện lệnh điều khiển từ người dùng qua giao diện đám mây Ubidots đến hệ thống aquaponics Hình 8: Mô hình thực tế hệ thống Aquaponics Ngoài ra, hệ thống còn bao gồm các thành phần của Hình 10: Giao diện giám sát điều khiển trên máy tính và aquaponics như bể cá, máng cạn trồng rau, bể lọc, máy smartphone bơm, cảm biến mực nước, cảm biến độ pH, cảm biến nhiệt độ, cảm biến độ ẩm, cảm biến ánh sáng (hình 9). Bước 4: Lặp bước 2 và 3 nhiều lần để thu được các giá trị độ trễ khác nhau Bước 5: Thay đổi đường truyền Internet khác nhau (Int – đường truyền cáp quang, 4G – đường truyền Internet di động 4G) để lấy mẫu một cách khách quan, sau khi thay đổi xong thực hiện lại từ bước 2, khi đã thay đổi đủ đường truyền thì chúng ta sẽ thu được giá trị thông số độ trễ trung bình của hệ thống (hình 11). Hình 11: Độ trễ truyền trung bình của hệ thống aquaponics không sử dụng FreeRTOS Kịch bản 2: Đo đạc độ trễ truyền dữ liệu hệ thống Hình 9: Mô hình hệ thống Aquaponics aquaponic sử dụng FreeRTOS phân phối thời gian thực 4.1. Thử nghiệm và đánh giá Bước 1: Áp dụng thuật toán điều khiển thời gian thực (hình 6) cho hệ thống aquaponics. Kịch bản 1: Đo đạc độ trễ truyền dữ liệu hệ thống aquaponic không có tác vụ phân phối thời gian thực ISBN: 978-604-80-5076-4 334
  6. Hội nghị Quốc gia lần thứ 23 về Điện tử, Truyền thông và Công nghệ Thông tin (REV-ECIT2020) Bước 2: Gửi lệnh điều khiển từ người dùng qua giao [2]. Sylvia Bernstein, “Aquaponic gardening : a step-by-step guide to raising vegetables and fish together”, New Society Publishers, diện đám mây Ubidots đến hệ thống aquaponics (hình 2011. 10). [3]. Hwang, Kai, Jack Dongarra, and Geoffrey C. Fox, “Distributed Bước 3: Đo độ trễ truyền từ lúc thực hiện lệnh điều and cloud computing: from parallel processing to the internet of khiển từ người dùng qua giao diện đám mây Ubidots things”,.Morgan Kaufmann,2013. đến hệ thống aquaponics [4]. Rountree, Derrick, and Ileana Castrillo, “The Basics of Cloud Bước 4: Lặp bước 2 và 3 nhiều lần để thu được các Computing: Understanding the Fundamentals of Cloud Computing in Theory and Practice”, Newnes, 2013. giá trị độ trễ khác nhau [5]. Real Time Engineers Ltd., Using the FreeRTOS Real Time Bước 5: Thay đổi đường truyền Internet khác nhau Kernel, ARM Cortex-M3 Edition, 2010. (Int – đường truyền cáp quang, 4G – đường truyền [6]. D. Rinku & M. Arshad, “Design & Implementation of freeRTOS Internet di động 4G) để lấy mẫu một cách khách quan, Based Online Data Acquisition And Controlling System Using sau khi thay đổi xong thực hiện lại từ bước 2, khi đã Cortex M3core”, International Journal of Engineering Science & thay đổi đủ đường truyền thì chúng ta sẽ thu được giá Advanced Technology, Volume 3, Issue 5, 2013, pp. 259-263. trị thông số độ trễ trung bình của hệ thống (hình 12). [7]. UBM / EE Times Group, "2011 Embedded Market Study", EE Times. 2011. [8]. Sergey Kolesnik, "Comparing microcontroller real-time operating systems". Embedded by AspenCore, 2013. Hình 12: Độ trễ truyền trung bình của hệ thống aquaponics khi sử dụng FreeRTOS Kết quả đánh giá của hình 11 và 12 cho thấy hệ thống aquaponics điều khiển thời gian thực đã mang lại hiệu quả tốt hơn rất nhiều so với hệ thống cũ về thời gian đáp ứng. Đặc biệt, kết quả còn cho thấy với kết nối Internet sử dụng công nghệ di động 4G thu được kết quả nhanh hơn các kết nối Internet cố định cáp quang, điều này cho thấy xu hướng sử dụng nhiều dịch vụ trên cáp quang làm tăng mức độ nghẽn của hạ tầng mạng, cũng như triển vọng của các công nghệ không dây băng rộng 4G, 5G cho các ứng dụng IoT. KẾT LUẬN Bài báo đã đề xuất giải pháp điều khiển thời gian thực dựa trên nền tảng FreeRTOS cho hệ thống aquaponic. Hệ thống điều khiển các tác vụ khác nhau với các mức ưu tiên khác nhau trong đó lưu ý đến mức ưu tiên cao hơn đối với các tác vụ điều khiển từ giao diện người dùng đám mây đến hệ thống aquaponics. Kết quả thực nghiệm đã chỉ ra hiệu quả của giải pháp khi sử dụng FreeRTOS so với các công nghệ truyền thống. TÀI LIỆU THAM KHẢO [1]. FAO, “FAO Fisheries and Aquaculture Technical Paper: Small- scale Aquaponic food production", 2014 ISBN: 978-604-80-5076-4 335