EPS@ISEP | The European Project Semester (EPS) at ISEP


Differences

This shows you the differences between two versions of the page.

Link to this comparison view

report [2020/06/17 18:15] – [8.1 Discussion] team4report [2021/03/23 11:28] (current) – external edit 127.0.0.1
Line 6: Line 6:
  
  
-**Author(s)**:+**Authors**:
  
   * Juho Ruusunen   * Juho Ruusunen
Line 312: Line 312:
 <WRAP centeralign> <WRAP centeralign>
 <figure Gantt1> <figure Gantt1>
-{{::gantt100.png|}} +{{::gantt100.jpg|}} 
-<caption> Updated Gantt Chart </caption>+{{ :gantt101.jpg|}} 
 +<caption> Gantt Chart </caption>
 </figure> </figure>
 </WRAP> </WRAP>
Line 886: Line 887:
 <WRAP centeralign> <WRAP centeralign>
 <figure SMTG> <figure SMTG>
-{{::smart.png?600|}}+{{::smart.jpg?600|}}
 <caption> SMART Goals [(SMARTgoals)]</caption> <caption> SMART Goals [(SMARTgoals)]</caption>
 </figure> </figure>
Line 1031: Line 1032:
 <WRAP centeralign> <WRAP centeralign>
 <figure Fb> <figure Fb>
-{{::fb.png?200|}}+{{::fb.jpg?200|}}
 <caption> Facebook target group, estimate reach and clicks [(ADDprice)]</caption> <caption> Facebook target group, estimate reach and clicks [(ADDprice)]</caption>
 </figure> </figure>
Line 1043: Line 1044:
 <WRAP centeralign> <WRAP centeralign>
 <figure Insta> <figure Insta>
-{{::insta.png?200|}}+{{::insta.jpg?200|}}
 <caption> Instagram target group, estimate reach and clicks [(ADDprice)]</caption> <caption> Instagram target group, estimate reach and clicks [(ADDprice)]</caption>
 </figure> </figure>
Line 1106: Line 1107:
 <WRAP centeralign> <WRAP centeralign>
 <figure PDCA> <figure PDCA>
-{{:pdca-multi-loop.png?600|}}+{{:pdca-multi-loop.jpg?600|}}
 <caption> PDCA-cycle [(PDCA1)]</caption> <caption> PDCA-cycle [(PDCA1)]</caption>
 </figure> </figure>
Line 1600: Line 1601:
 </WRAP> </WRAP>
  
-After comparisons between all sensors, we decided to use sensor CCS811, due to calibration reasons.+After comparisons between all sensors, considering all of them are in simmilar price and quality range, we decided to use sensor CCS811, since it is the easiest one to integrate in the project without the need for the user to calibrate it before first use.
  
 === - Dynamo Component === === - Dynamo Component ===
Line 1747: Line 1748:
 <WRAP centeralign> <WRAP centeralign>
 <figure kolmedeetulostus> <figure kolmedeetulostus>
-{{::3d.png?600|}}+{{::3d.jpg?600|}}
 <caption> 3D Printing [(kolmedee)]</caption> <caption> 3D Printing [(kolmedee)]</caption>
 </figure> </figure>
Line 1843: Line 1844:
  
 **Arduino software:** \\ **Arduino software:** \\
-The Arduino software has two primary functions. One is to gather data from the sensors in timed intervals, using built in timer and sending them via Bluetooth module to the application. The second one is to detect light levels and turn on the front light in response to that. \\ +The Arduino software has two primary functions. One is to gather data from the sensors in timed intervals, using built in timer and sending them via Bluetooth module to the application. The second one is to detect light levels and turn on the front light in response to that. 
 +The software works in a loop, checking the light level and then switching the level output on pins connecected to the front light. Next it should check whether a Bluetooth conncection has been established. If so, is should read all sensors and send the results to the application. 
 <WRAP centeralign> <WRAP centeralign>
 <figure arduinoFlow> <figure arduinoFlow>
Line 1851: Line 1852:
 </figure> </figure>
 </WRAP> </WRAP>
 +
  
  
Line 1891: Line 1893:
 <WRAP centeralign> <WRAP centeralign>
 <figure softArd1> <figure softArd1>
-{{::simulation1.png?800|}}+{{::simulation1.jpg?800|}}
 <caption> Dark environment, pollution source nearby </caption> <caption> Dark environment, pollution source nearby </caption>
 </figure> </figure>
Line 1899: Line 1901:
 <WRAP centeralign> <WRAP centeralign>
 <figure softArd2> <figure softArd2>
-{{::simulation2.png?800|}}+{{::simulation2.jpg?800|}}
 <caption> Bright environment, pollution source further away </caption> <caption> Bright environment, pollution source further away </caption>
 </figure> </figure>
 </WRAP>\\ </WRAP>\\
 +In **Figure {{ref>light}}** we can see the function controlling the light switching. First, the light level output is read from the sensor pin. Then, if the light is insufficient all 3 pins connected to lights are set to high level, otherwise they are set to low in order to turn the lights off when not needed. 
 +<WRAP centeralign>
 +<figure light>
 +{{ ::light.jpg?400 |}}
 +<caption>Light control  function</caption>
 +</figure>
 +</WRAP>
 +**Figure {{ref>air}}** shows reading of the air quality sensor and sending the data via Bluetooth.
 +<WRAP centeralign>
 +<figure air>
 +{{ ::air.jpg?400 |}}
 +<caption>Air quality detection function</caption>
 +</figure>
 +</WRAP>
 +In **Figure {{ref>temp}}** a function controlling the temperature redings is shown. Like the previous one it reads and sends data via Bluetooth but also converts the sensor output to Celcius.
 +<WRAP centeralign>
 +<figure temp>
 +{{ ::temp.jpg?400 |}}
 +<caption>Temperature read function</caption>
 +</figure>
 +</WRAP>
 +Finally, **Figure {{ref>loop}}** shows part of the main loop where functions which use Bluetooth are called if the conncetion is available.
 +<WRAP centeralign>
 +<figure loop>
 +{{ ::loop.jpg?400 |}}
 +<caption>Main loop fragment</caption>
 +</figure>
 +</WRAP>
 **Software testing results**\\ **Software testing results**\\
 The front LEDs react appropriately to the changes detected by photoresistor. The temperature is printed correctly and matches the one set on the sensor. Finally, the diodes indicating pollution react to the change in proximity between the sensor and the source of pollution.  The front LEDs react appropriately to the changes detected by photoresistor. The temperature is printed correctly and matches the one set on the sensor. Finally, the diodes indicating pollution react to the change in proximity between the sensor and the source of pollution. 
Line 1908: Line 1938:
 === - Application testing === === - Application testing ===
 Due to the circumstances we could not test the connection between Arduino and the application. In order to test the main functionalities, we generated fake data while traveling around the streets. This data was then used to fill both the internal and external storage. Next it was downloaded back from the database and used to simulate routing in the map component. We also tested the user authentication by creating some accounts and emulating casual use of the application while logged in. \\ Due to the circumstances we could not test the connection between Arduino and the application. In order to test the main functionalities, we generated fake data while traveling around the streets. This data was then used to fill both the internal and external storage. Next it was downloaded back from the database and used to simulate routing in the map component. We also tested the user authentication by creating some accounts and emulating casual use of the application while logged in. \\
-The application GUI presents as shown in **Figure {{ref>index}}** while the IoT platfrom can be seen in **Figure {{ref>firebase}}**. 
- 
  
 +In the home screen **Figure {{ref>index}}** the user can view the data that is currently gathered by their device. The current pollution levels are also visualised using different colours of the logo. Upon clicking the "i" button, the user can see an explanation of the graphical representation of the pollution and the Bluetooth button. In all screens, in the top left corner the user can login or logout. The "?" button triggers a popup explaining the need for authentication. 
 <WRAP centeralign> <WRAP centeralign>
 <figure index> <figure index>
-{{::2020.png?400|}}{{::user2.jpg?260|}} +{{:indeks.jpg?200|}}{{:legend.jpg?200|}} 
-<caption> View of application </caption>+<caption> View of homescreen with legend </caption>
 </figure> </figure>
 +</WRAP>
 +The login button opens the login screen **Figure {{ref>login}}** allowing for authentication with username and password. The password can be set as visible using the "eye" icon.
 +<WRAP centeralign>
 +<figure login>
 +{{::signin.jpg?200|}}{{::signin2.jpg?200|}}
 +<caption> View of login page </caption>
 +</figure>
 +</WRAP>
  
 + In case of forgotten password, new window opens **Figure {{ref>reset}}** prompting for the user's email in order to send verification message. 
 +<WRAP centeralign>
 +<figure reset>
 +{{::reset.jpg?200|}}
 +<caption> Reset password screen</caption>
 +</figure>
 +</WRAP>
 +
 +
 +In case the user has no account, signup button opens new window **Figure {{ref>signup}}** allowing the user to register with their email and password of choice.
 +<WRAP centeralign>
 +<figure signup>
 +{{::signup.jpg?200|}}
 +<caption> Signup page </caption>
 +</figure>
 +</WRAP>
 +
 +
 +The map page **Figure {{ref>map}}** allows the user to set the coordinates of the start and end of their route by clicking on the map or writing them into the text fields. Start is represented by green pointer and end by red one. The user's current location is represented by blue pointer. "Choose city" button allows the user to choose which city to load data for. Start button begins the calculation of the route. Arrow icons allow for quick switch of end point with the start point. 
 +<WRAP centeralign>
 +<figure map>
 +{{:map.jpg?200|}}{{:choice.jpg?200|}}
 +<caption> View of map page and city choice </caption>
 +</figure>
 +</WRAP>
 +
 +
 +The settings page **Figure {{ref>settings}}** contains several options. First, the "Reset data" button allows the user to clear their measurement's history on their device. The "About us" button shows a page containing information about the team and the project. Finally, when logged in, the user can change their profile settings using "Edit profile" button. This opens new window (**Figure {{ref>update}}**).
 +<WRAP centeralign>
 +<figure settings>
 +{{:userloggedout.jpg?200|}}{{:user3.jpg?200|}}
 +<caption> Settings page logged out and logged in </caption>
 +</figure>
 +</WRAP>
 +
 +The update profile page **Figure {{ref>update}}** allows the user to change their profile picture by clicking on the current one and choosing new one from their phone gallery. Below, they can change their name, both of whitch are then displayed in settings page **Figure {{ref>settings}}**. Here the user can also change their password and delete their profile upon entering their current password. 
 +<WRAP centeralign>
 +<figure update>
 +{{:update.jpg?200|}}{{:change.jpg?200|}}{{:delete.jpg?200|}}
 +<caption> Update profile screen with password change and account deleting </caption>
 +</figure>
 +</WRAP>
 +
 +In **Figure {{ref>firebase}}** we can see the desktop view of the IoT database storing the measurements performed by all users. IoT platforms usually do not use SQL syntax of tables and keys, so in our project's case we used Cloud Firestore that implements hierarhical stucture of collections and documents. To the left we can see different collections of data, one for each measured value and the locations. Each collection contains documents(in the middle) that  each correspond to a single measurement and contain a collection of values associated with it. In the figure we can see to the right a single record of carbondioxide measurement containing the measured value, user key - IdBiker(assigned during authentication), measurement key  and a timestamp. Upon download of the data by the application, it associates the measurements with their location using the IdBiker and timestamp fields that are present for each record.  
 +<WRAP centeralign>
 <figure firebase> <figure firebase>
 {{:firebase.jpg?600|}} {{:firebase.jpg?600|}}
Line 1922: Line 2004:
 </figure> </figure>
 </WRAP> </WRAP>
- 
  
 **Application testing results**\\ **Application testing results**\\
Line 1929: Line 2010:
  
 ==== - Conclusion ==== ==== - Conclusion ====
-\\+
 This chapter summarized the entire process of creating the prototype visuals, starting from concept and sketches, through technical drawings and finally 3D renders of the product. It shows the steps taken in developing the electronic circuit, which included schematics of the circuits, choosing appropriate components from ones available on the market and calculating the power usage. As the manufacturing process was described, we considered both the method, being 3D printing of the prototype and injection molding for mass production, as well as the materials which should be used. The functionalities of both the application and the device itself were discussed and finally, we recounted the process of testing the circuit elements, Arduino software and the application. \\ \\ This chapter summarized the entire process of creating the prototype visuals, starting from concept and sketches, through technical drawings and finally 3D renders of the product. It shows the steps taken in developing the electronic circuit, which included schematics of the circuits, choosing appropriate components from ones available on the market and calculating the power usage. As the manufacturing process was described, we considered both the method, being 3D printing of the prototype and injection molding for mass production, as well as the materials which should be used. The functionalities of both the application and the device itself were discussed and finally, we recounted the process of testing the circuit elements, Arduino software and the application. \\ \\
 The concept visuals are well defined and thought through. Materials were chosen with great care to make sure they are both ethical and sustainable while still fulfilling the needs and requirements of the project. The circuits were designed to both be safe for the user and to provide a sustainable energy source. The application was designed having in mind the comfort of use for the device owner, allowing them to apply the gathered data in their daily lives with the use of navigation. While regretfully, we could not test it with real data, most of the planned functionalities were realized. \\ The concept visuals are well defined and thought through. Materials were chosen with great care to make sure they are both ethical and sustainable while still fulfilling the needs and requirements of the project. The circuits were designed to both be safe for the user and to provide a sustainable energy source. The application was designed having in mind the comfort of use for the device owner, allowing them to apply the gathered data in their daily lives with the use of navigation. While regretfully, we could not test it with real data, most of the planned functionalities were realized. \\
Line 1945: Line 2026:
 dynamo operated by the cyclist. The proposed design would not be possible without the preliminary work on related products, marketing,  dynamo operated by the cyclist. The proposed design would not be possible without the preliminary work on related products, marketing, 
 sustainability, and ethics. This study led to a viable product that can be easily industrialized, including a sustainable, reusable packaging solution. Besides, communicative supports have been carried out to promote the qualities of GOairLight, like posters, leaflets, or even a  sustainability, and ethics. This study led to a viable product that can be easily industrialized, including a sustainable, reusable packaging solution. Besides, communicative supports have been carried out to promote the qualities of GOairLight, like posters, leaflets, or even a 
-self-explanatory video of the 3D model.+self-explanatory video of the 3D model. As far as the prototyping was not possible, the team managed to do everything tasks it was required to do. Instead of doing the prototyping,  
 +we did simulate how the app and the device should have been working.
  
 <WRAP centeralign> <WRAP centeralign>
 <figure conclusion> <figure conclusion>
 {{ :conclusion.jpg?400 |}} {{ :conclusion.jpg?400 |}}
-<caption> How does it work ? </caption>+<caption> How does GOairLight work ? </caption>
 </figure> </figure>
 </WRAP> </WRAP>
  
-Apart from giving access to pollution levels, GOairLight tries to bring the community around the cause of the air pollution, especially in big cities.+Apart from giving access to pollution levels, GOairLight tries to bring the community around the cause of air pollution, especially in big cities
 +By collecting data and sharing them with a common cloud, the whole community can have free access to the pollution map. In that sense, people can  
 +link together, share their feelings about the air conditions, try new routes provided by the map together and connect to bike users. Furthermore,  
 +the device has another important role that is to make people use their bikes. As GOairLigth is made to improve the road conditions for bikes,  
 +people are more willing to take their bicycles to commute throughout the city. The feeling of safety can, even more, be improved by the creation  
 +of real bike lanes
  
 +==== - Team members' personnal outcomes ====
  
-As far as the prototyping was not possible, the team managed to do everything tasks it was required to doInstead of doing the prototyping,  +**Zuzanna**: "My overall experience with the project was very positive. The classes accompanying the project forced me to work outside of my area  
-we did simulate how the app and the device should have been working.+of expertise, allowing me a broader look at my field of studies. I have also learned many skills connected to my field, such as knowledge on  
 +embedded systems and mobile android applications. I believe these skills will further aid me in the future both as a student and as a  
 +professional.  The online learning we were forced to adopt was a challenge, especially coordinating work with distant teammates. However,  
 +I believe it was a valuable lesson on how to work with remote teams, which is not uncommon in the IT job market".\\ 
 +**Logan**: "During the EPSI have learned how to work in a multinational team effectively and efficiently. The EPS has definitely improved my  
 +communication skills, in terms of conveying different ideas and messages across the board to the whole team. Unfortunately, the COVID-19  
 +pandemic played a big part in our EPS semester. However, skills were still developed through the use of online teaching and video software.  
 +In the time spent completing the EPS, a part that I will look back fondly on, was the opportunity of meeting new people from all over the world  
 +and to contribute my skills in a multi-skilled group."\\ 
 +**Mélissa**: "EPS@ISEP was quite a challenge for me as the creation process from the design to the development of a proof-of-concept prototype  
 +is out of my study fieldHowever, EPS is more than the creation of a product, it is about international teamwork. Specifically, it helped me to  
 +develop team management, searching and scientific writing skills. Thanks to this project, I now know more about the marketing fieldand its  
 +important role in a company, and how to communicate efficiently through visual communication supports as well as with my team. COVID-19  
 +situation hardened the realisation of the project and made it even more challenging, but we successfully managed it!\\ 
 +**Kaan**: "I have learned a lot by working together with students from different fields and seeing their strengths and weaknesses. It ranged  
 +from self-learning (working with new tools and improving my design skills) to peer-learning (understanding how other fields are equally relevant  
 +to the design of functional devices). Due to the outbreak of the pandemic, we were forced to switch to distance teamwork, resorting to online  
 +tools for communication. Although it was a challenge, the team was able to continue working and communicating remotely. Overall, this gave me  
 +experience and knowledge on how to work as a team without being physically together."\\ 
 +**Juho**: "My experience with the EPS programme has been positive. I have learned how a team should work as a whole and how to improve my own  
 +doing within the group. EPS was not just focused on doing a project, but on learning other skills as well. I have learned other subjects like  
 +Portuguese, basics of coding, project management, marketing, energy and sustainability. The team was composed of students from all over  
 +the world and everyone had a different educational background. Before I used to do my work just before the deadline and now, after this teamwork  
 +experience, I realised that team partners have to work side by side to go further."
 ==== - Future Development ====  ==== - Future Development ==== 
  
Line 1969: Line 2080:
 ===== Bibliography ===== ===== Bibliography =====
  
 +This section shows the sources that were used to create the content of the report. Websites, reports, articles, and papers were the main sources used. 
QR Code
QR Code report (generated for current page)