Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| report [2015/06/22 12:55] – team4 | report [2015/06/23 12:06] (current) – [7.2 Architecture] team4 | ||
|---|---|---|---|
| Line 14: | Line 14: | ||
| ^ Abbreviation ^ Description ^ | ^ Abbreviation ^ Description ^ | ||
| |$a$|Constant for use for natural convection| | |$a$|Constant for use for natural convection| | ||
| - | |A|Ampere| | ||
| |$A$< | |$A$< | ||
| |$A$< | |$A$< | ||
| Line 24: | Line 23: | ||
| |C++|General-purpose programming language| | |C++|General-purpose programming language| | ||
| |$c$< | |$c$< | ||
| - | |cm|Centimetre| | ||
| |CPU|Central Processing Unit| | |CPU|Central Processing Unit| | ||
| |CRM|Customer Relationship Management| | |CRM|Customer Relationship Management| | ||
| Line 34: | Line 32: | ||
| |FMEA|Failure Modes and Effects Analysis| | |FMEA|Failure Modes and Effects Analysis| | ||
| |$g$|Gravitational acceleration| | |$g$|Gravitational acceleration| | ||
| - | |GB|Gigabyte| | ||
| |GHG|Greenhouse Gas| | |GHG|Greenhouse Gas| | ||
| |GPIO|General Purpose Input/ | |GPIO|General Purpose Input/ | ||
| Line 42: | Line 39: | ||
| |$h$< | |$h$< | ||
| |$h$< | |$h$< | ||
| - | |h|Hour| | ||
| |HR|Human Resource| | |HR|Human Resource| | ||
| |HRM|Human Resource Management| | |HRM|Human Resource Management| | ||
| Line 54: | Line 50: | ||
| |I/ | |I/ | ||
| |IEEE|Institute of Electrical and Electronics Engineers| | |IEEE|Institute of Electrical and Electronics Engineers| | ||
| - | |J|Joule| | ||
| - | |K|Kelvin| | ||
| |$k$< | |$k$< | ||
| - | |kg|Kilogram| | ||
| |LVD|Low Voltage Directive| | |LVD|Low Voltage Directive| | ||
| |$m$|Constant for use for natural convection| | |$m$|Constant for use for natural convection| | ||
| - | |m< | ||
| - | |MB|Megabyte| | ||
| - | |Mbit|Megabit| | ||
| |MCS|Management Control System| | |MCS|Management Control System| | ||
| |MD|Low Voltage EU Directive| | |MD|Low Voltage EU Directive| | ||
| |MD5|Message Digest algorithm| | |MD5|Message Digest algorithm| | ||
| - | |MHz|Megahertz| | ||
| |microSD|Micro Secure Digital| | |microSD|Micro Secure Digital| | ||
| |MIS|Management Information System| | |MIS|Management Information System| | ||
| - | |mm|Millimetre| | ||
| |MMC|MultiMediaCard | | |MMC|MultiMediaCard | | ||
| |$N$< | |$N$< | ||
| |$N$< | |$N$< | ||
| |$N$< | |$N$< | ||
| - | |l|Litre| | ||
| |$L$|Length in meters| | |$L$|Length in meters| | ||
| |LED|Light-Emitting Diode| | |LED|Light-Emitting Diode| | ||
| Line 97: | Line 84: | ||
| |RoHS|Restriction of Hazardous Substances| | |RoHS|Restriction of Hazardous Substances| | ||
| |RPI|Risk Priority Index| | |RPI|Risk Priority Index| | ||
| - | |s|Second| | ||
| |SD|Secure Digital | | |SD|Secure Digital | | ||
| |SDHC|Secure Digital High-Capacity | | |SDHC|Secure Digital High-Capacity | | ||
| Line 113: | Line 99: | ||
| |USB|Universal Serial Bus| | |USB|Universal Serial Bus| | ||
| |USD|US-Dollar| | |USD|US-Dollar| | ||
| - | |V|Volt| | ||
| |WAEE|Wisconsin Association for Environmental Education| | |WAEE|Wisconsin Association for Environmental Education| | ||
| |WBS|Work Breakdown Structure| | |WBS|Work Breakdown Structure| | ||
| Line 125: | Line 110: | ||
| |$ρ$|Density| | |$ρ$|Density| | ||
| </ | </ | ||
| + | |||
| + | ^ Units ^ ^ | ||
| + | |A |Ampere| | ||
| + | |cm |Centimetre| | ||
| + | |GB |Gigabyte| | ||
| + | |h |Hour| | ||
| + | |J |Joule| | ||
| + | |K |Kelvin| | ||
| + | |kg |Kilogram| | ||
| + | |m2 |Square meter| | ||
| + | |MB |Megabyte| | ||
| + | |Mbit |Megabit| | ||
| + | |MHz |Megahertz| | ||
| + | |mm |Millimetre| | ||
| + | |l |Litre| | ||
| + | |s |Second| | ||
| + | |V |Volt| | ||
| + | |W|Watt| | ||
| + | |||
| ===== 1. Introduction ===== | ===== 1. Introduction ===== | ||
| Line 228: | Line 232: | ||
| 8. Conclusion: We draw a final conclusion on the project, our achievements and future perspectives. | 8. Conclusion: We draw a final conclusion on the project, our achievements and future perspectives. | ||
| - | Additionally the report contains Acknowledgement, | + | |
| ===== 2. Aquaponic System ===== | ===== 2. Aquaponic System ===== | ||
| Line 419: | Line 423: | ||
| ==== 3.2 Time ==== | ==== 3.2 Time ==== | ||
| - | The time management is an essential part of our project development. In order to work efficiently and to properly utilize all resources available, several tools described below were being used: \\ | + | Time management is an essential part of our project development. In order to work efficiently and to properly utilize all resources available, several tools described below were being used: \\ |
| - Task definition and allocation \\ | - Task definition and allocation \\ | ||
| - Required time estimation for tasks \\ | - Required time estimation for tasks \\ | ||
| Line 524: | Line 528: | ||
| For the actual product each module is tested independently before merged with another module. For example the website must be fully functional and the Raspberry Pi must reliably send and receive data, before the Pi is allowed to automatically send data to the data server. | For the actual product each module is tested independently before merged with another module. For example the website must be fully functional and the Raspberry Pi must reliably send and receive data, before the Pi is allowed to automatically send data to the data server. | ||
| ==== 3.5 People ==== | ==== 3.5 People ==== | ||
| - | As far as regarded to people within a project, there are different groups taken into account. By the term people we mainly think of stakeholders, | + | As for people within a project, there are different groups taken into account. By the term people we mainly think of stakeholders, |
| It is not only the way and methods of communication that form a foundation of highly functional team work and by this a successful progress within the project progress. The behaviour of the people involved must also be considered. There are many manners of either positive or negative human nature that can influence a project' | It is not only the way and methods of communication that form a foundation of highly functional team work and by this a successful progress within the project progress. The behaviour of the people involved must also be considered. There are many manners of either positive or negative human nature that can influence a project' | ||
| In this chapter we focus on the task allocations of each member as well as on how to arrange the constraint of Human Resources (HRs). Furthermore we evaluate roles and responsibilities of the entirety of people involved in the ongoing project.\\ | In this chapter we focus on the task allocations of each member as well as on how to arrange the constraint of Human Resources (HRs). Furthermore we evaluate roles and responsibilities of the entirety of people involved in the ongoing project.\\ | ||
| "Human resource management (HRM) includes five broad activities that together constitute the HRM system: staffing, retention, development, | "Human resource management (HRM) includes five broad activities that together constitute the HRM system: staffing, retention, development, | ||
| - | "Human resource management can be viewed as core processes of the project-oriented company, affecting the way the organization acquires and uses human resources, and how employees experience the employment relationship." [(hrm2)].\\ | + | "Human resource management can be viewed as core processes of the project-oriented company, affecting the way the organization acquires and uses human resources, and how employees experience the employment relationship" |
| Identifying every person taking part in the project development is crucial for maintaining efficient communication, | Identifying every person taking part in the project development is crucial for maintaining efficient communication, | ||
| Line 636: | Line 640: | ||
| $P$ - Risk Probability\\ | $P$ - Risk Probability\\ | ||
| - | Next this method is applied in the following Tables | + | Next this method is applied in Table {{ref> |
| Line 727: | Line 731: | ||
| ==== 3.9 Stakeholders management ==== | ==== 3.9 Stakeholders management ==== | ||
| - | Stakeholders management is a process of identifying parties which are somehow involved in the project and have a certain range of power/ | + | Stakeholders management is a process of identifying parties which are somehow involved in the project and have a certain range of power/ |
| Through this it is possible to develop a strategy that allows us to maintain positive relationship with all of them. As such the process is crucial for effective project management. | Through this it is possible to develop a strategy that allows us to maintain positive relationship with all of them. As such the process is crucial for effective project management. | ||
| As stakeholders we mainly identified ourselves as a team, Abel Duarte as our client, Benedita Malheiro as the head of the EPS program and Paulo Ferreira as the supervisor with the greatest interest as well as the greatest capability to help developing our product.\\ | As stakeholders we mainly identified ourselves as a team, Abel Duarte as our client, Benedita Malheiro as the head of the EPS program and Paulo Ferreira as the supervisor with the greatest interest as well as the greatest capability to help developing our product.\\ | ||
| Line 805: | Line 809: | ||
| The simplest device to use for aquaponic systems starts from 749 USD.\\ | The simplest device to use for aquaponic systems starts from 749 USD.\\ | ||
| - | == 4.2.3.4 | + | == 4.2.3.4 |
| OsmoBot and Cooking Hacks don't show a real gap when it comes to prices. Sensaphone is a typical higher priced competitor from outside of the aquaponic industry.\\ | OsmoBot and Cooking Hacks don't show a real gap when it comes to prices. Sensaphone is a typical higher priced competitor from outside of the aquaponic industry.\\ | ||
| Open Aquarium offers a higher degree of flexibility and individualisation due to the fact that several components can be purchased additively.\\ | Open Aquarium offers a higher degree of flexibility and individualisation due to the fact that several components can be purchased additively.\\ | ||
| Line 1372: | Line 1376: | ||
| __Website__ | __Website__ | ||
| - | The website is the only interface with the user. The website serves as a hub to send and receive information about the system. When the user logs into the website they can view information from the tank sensors on the check status page. The user can then access a page to send changes to the system. There is an additional page to view a live video feed of the fish tank. The sitemap is displayed in Figure {{ref>flabel600}}. | + | The website is the only interface with the user. The website serves as a hub to send and receive information about the system. When the user logs into the website they can view information from the tank sensors on the check status page. The user can then access a page to send changes to the system. There is an additional page to view a live video feed of the fish tank. The sitemap is displayed in Figure {{ref>flabel71}}. |
| The functionality of website is written in PHP. This language allows the website to communicate with the data server. The data server in other words is a MySQL database. The check status page reads the displayed information form the data server via the TankStatus table. The change status page allows the user to submit changes to the data server. This sends the changes to ChangePack table in the data server. | The functionality of website is written in PHP. This language allows the website to communicate with the data server. The data server in other words is a MySQL database. The check status page reads the displayed information form the data server via the TankStatus table. The change status page allows the user to submit changes to the data server. This sends the changes to ChangePack table in the data server. | ||
| < | < | ||
| - | < | + | < |
| {{: | {{: | ||
| < | < | ||
| Line 1476: | Line 1480: | ||
| __Arduino Sketch__ | __Arduino Sketch__ | ||
| - | The Arduino runs a continuous sketch | + | The Arduino runs a continuous sketch |
| - | Used libraries: | + | **Used libraries:** |
| * One Wire – allows using waterproof temperature sensor DS18B20, is applied to detect the sensor and create monitoring instance. | * One Wire – allows using waterproof temperature sensor DS18B20, is applied to detect the sensor and create monitoring instance. | ||
| Line 1483: | Line 1487: | ||
| * Stepper – allows the control of stepper motor movement e.g. number and speed of rotations. | * Stepper – allows the control of stepper motor movement e.g. number and speed of rotations. | ||
| * IRremote – library operating infrared shooting sensor and allowing to create modulated infrared signal emitted from the connected diode. | * IRremote – library operating infrared shooting sensor and allowing to create modulated infrared signal emitted from the connected diode. | ||
| + | |||
| + | The code structure is presented below. | ||
| + | |||
| + | < | ||
| + | <figure flabel87> | ||
| + | {{: | ||
| + | < | ||
| + | </ | ||
| + | </ | ||
| The initial setup for Arduino consists of defining the pin status and first temperature request in order to turn the heater on automatically if the water is too cold. | The initial setup for Arduino consists of defining the pin status and first temperature request in order to turn the heater on automatically if the water is too cold. | ||
| - | Further code flow is controlled by Raspberry Pi //i.e.// that the microcontroller only responds to the requests sent through the serial port. Firstly there is a ready check performed, then the several values are obtained from sensors, afterwards, the user input from website is applied //i.e.// the settings for feeder, pump, lamp and heater are uploaded and performed. The code runs in continuous loop. | + | Further code flow is controlled by Raspberry Pi //i.e.// that the microcontroller only responds to the requests sent through the serial port. Firstly there is a ready check performed, then the several values are obtained from sensors, |
| ==== 7.3 Components ==== | ==== 7.3 Components ==== | ||
| Line 1645: | Line 1658: | ||
| ^Price [€]|185.92|58.96|12.24|**11.19**| | ^Price [€]|185.92|58.96|12.24|**11.19**| | ||
| </ | </ | ||
| - | |||
| - | The flow sensor in Figure {{ref> | ||
| - | |||
| - | < | ||
| - | <figure flabel550> | ||
| - | {{ : | ||
| - | < | ||
| - | </ | ||
| - | </ | ||
| * Depth sensor | * Depth sensor | ||
| Line 1787: | Line 1791: | ||
| \begin{aligned} | \begin{aligned} | ||
| {β} =& {\frac{\rho_{25} - \rho_{22.5}}{\rho_{22.5}(T_{22.5}-T_{25})}} = \\ | {β} =& {\frac{\rho_{25} - \rho_{22.5}}{\rho_{22.5}(T_{22.5}-T_{25})}} = \\ | ||
| - | {β} =& {\frac{997.1-997.7}{997.7-(22.5-25)}} = 2.4 \cdot 10^{-4} \\ | + | {β} =& {\frac{997.1-997.7}{997.7-(22.5-25)}} = 2.4 \cdot 10^{-4} K^{-1} \\ |
| \label{eq: | \label{eq: | ||
| \end{aligned} | \end{aligned} | ||
| Line 1822: | Line 1826: | ||
| \begin{aligned} | \begin{aligned} | ||
| {β}= & {\frac{\rho_{15} - \rho_{17.5}}{\rho_{17.5}(T_{17.5}-T_{15})}} \\ | {β}= & {\frac{\rho_{15} - \rho_{17.5}}{\rho_{17.5}(T_{17.5}-T_{15})}} \\ | ||
| - | {β}= & {\frac{1.219-1.216}{1.216-(17.5-15)}} = 9.9 \cdot 10^{-4} \\ | + | {β}= & {\frac{1.219-1.216}{1.216-(17.5-15)}} = 9.9 \cdot 10^{-4} K^{-1} \\ |
| \label{eq: | \label{eq: | ||
| \end{aligned} | \end{aligned} | ||
| Line 1851: | Line 1855: | ||
| $A$< | $A$< | ||
| - | $A$< | + | $A$< |
| - | $k$< | + | $k$< |
| $A$< | $A$< | ||
| $A$< | $A$< | ||
| Line 1907: | Line 1911: | ||
| \begin{aligned} | \begin{aligned} | ||
| {β}= & {\frac{\rho_{25} - \rho_{15}}{\rho_{15}(T_{25}-T_{15})}} \\ | {β}= & {\frac{\rho_{25} - \rho_{15}}{\rho_{15}(T_{25}-T_{15})}} \\ | ||
| - | {β}= & {\frac{1.183-1.227}{1.227-(25-15)}} = 3.6 \cdot 10^{-3} \\ | + | {β}= & {\frac{1.183-1.227}{1.227-(25-15)}} = 3.6 \cdot 10^{-3} K^{-1}\\ |
| \label{eq: | \label{eq: | ||
| \end{aligned} | \end{aligned} | ||
| Line 2061: | Line 2065: | ||
| < | < | ||
| </ | </ | ||
| + | |||
| + | === 7.4.4 Components === | ||
| + | |||
| + | The original automatic feeder didn’t fulfil the demanded requirements for the client. The purchased device at its original stage could not be connected and controlled via internet. For this purpose we redesigned the feeder. A stepper motor was bought for the modified version in order to control the food dispensation. \\ | ||
| + | A plate was required so that the stepper could properly be installed in a fixed position. This is illustrated in the 3D drawing of Figure {{ref> | ||
| + | |||
| + | <figure flabel8881> | ||
| + | {{: | ||
| + | < | ||
| + | </ | ||
| + | |||
| + | The final design with the integrated circuit providing the stepper motor is displayed in Figure {{ref> | ||
| + | |||
| + | <figure flabel8882> | ||
| + | {{: | ||
| + | < | ||
| + | </ | ||
| + | |||
| + | A waterproof case was designed and built for the camera, so it would be possible to stream the fish’s activities under water. Perspex was used as the major component to construct this case as it is illustrated in Figure {{ref> | ||
| + | |||
| + | <figure flabel8883> | ||
| + | {{: | ||
| + | < | ||
| + | </ | ||
| + | |||
| + | For the ultrasonic sensor, which measures the water level, it was necessary to create a case that could avoid water splash on the sensor’s circuit. For this purpose it was chosen to use perspex again. This model is displayed in Figure {{ref> | ||
| + | |||
| + | <figure flabel8884> | ||
| + | {{: | ||
| + | < | ||
| + | </ | ||
| + | |||
| + | Initially it was planned to mount the heater vertically, for which a simple support was designed and built as it is shown in Figure {{ref> | ||
| + | |||
| + | <figure flabel8885> | ||
| + | {{: | ||
| + | < | ||
| + | </ | ||
| + | |||
| + | |||
| ==== 7.5 Functionalities ==== | ==== 7.5 Functionalities ==== | ||
| Line 2073: | Line 2117: | ||
| ==== 7.6 Tests and Results ==== | ==== 7.6 Tests and Results ==== | ||
| - | In order to visualize the functionalities test and results Table {{ref> | + | In order to visualize the functionalities test and results Table {{ref> |
| + | For the tests and results concerning the feeder, light and heater it was necessary to hook up the devices with the Arduino in order to test the code. For the next step the challenge was to control the devices through the serial port from Raspberry Pi to Arduino. The final step was to control all three components from our website via Wi-Fi.\\ | ||
| <table tlabel654> | <table tlabel654> | ||
| Line 2106: | Line 2151: | ||
| The main success was staying under the budget threshold while keeping the product fully functional and sustainable. We managed to find cheap solutions offering the same as products even four times as expensive.\\ | The main success was staying under the budget threshold while keeping the product fully functional and sustainable. We managed to find cheap solutions offering the same as products even four times as expensive.\\ | ||
| The biggest problems during development were the heating of the board which we solved by mounting the box in a specific position, the current consumption which was solved by Arduino coding turning the sensors and stepper motor on only when requested by Raspberry Pi.\\ | The biggest problems during development were the heating of the board which we solved by mounting the box in a specific position, the current consumption which was solved by Arduino coding turning the sensors and stepper motor on only when requested by Raspberry Pi.\\ | ||
| - | The other issue was to integrate Arduino code with Raspberry Pi controls and the web application. That problem took a lot of trials to solve but the ultimate solution was to make Raspberry Pi the master device responsible for writing to database and controlling the slave – Arduino. | + | The other issue was to integrate Arduino code with Raspberry Pi controls and the web application. That problem took a lot of trials to solve but the ultimate solution was to make Raspberry Pi the master device responsible for writing to database and controlling the slave – Arduino.\\ |
| + | The final prototype was mounted in a used PC power supply box. There were multiple modifications to be undergone in order to make all components fit in the right way. The installed final system is displayed in Figure {{ref> | ||
| + | Inside the box are the following components: | ||
| + | * Raspberry Pi | ||
| + | * Converter from 12 V to 5 V | ||
| + | * Arduino Uno | ||
| + | * 4-channel Relay | ||
| + | * Power supply | ||
| + | * Principle switch button | ||
| + | * Power light converter from 240 V to 25 V | ||
| + | |||
| + | <figure flabel8886> | ||
| + | {{: | ||
| + | < | ||
| + | </ | ||
| ===== 8. Conclusions ===== | ===== 8. Conclusions ===== | ||
| ==== 8.1 Discussion ==== | ==== 8.1 Discussion ==== | ||