CroqPower

  • Organization : EIGSI
  • Date : 2018
  • Skills : Java, Android Native Programming, SQL, SysAdmin, Networking, Raspberry, Linux, PHP, JavaScript

For my first multi-disciplinary project, I made part of a 4 students team to conceptualise and build a connected pet feeder. Our goal was simple: build a functionnal prototype permitting the user to be able to distribute a precise amount of food to his pet and monitor the amount of water remaining in the tank no matter his location, with a simple internet connection. The team have been splitted into two subteams; the first one being responsible of the mechanics of the prototype and the other one being responsible of the software part of the project. I made part of this second subteam, and as long as my colleague was responsible of coding the android application (coming from a strong desire to learn in this field), I was responsible of coding and putting together everything else. This project was the widest for me, as long as it concerned network architecture, server configuration, web programming, motor controlling, databases... As explained in the Android Apps page of this website, I finally had to code the android application for this project too, in the two last weeks of the project schedule.

Starting from the network architecture, I configured the server (a raspberry that was also responsible, via the GPiO ports, for interfacing the sensors and motor), linked it to my home rooter and configured the NAT and the DynDNS with my domain name. I coded all the python programs to command the motor and get informations from the sensors, before coding the website (HTML, CSS, PHP, JavaScript) and linking it to the python programs. I then secured the access to the website with a login page using an SQL Database. With this database, I was able to code the calibration webpage that permits to the user to distribute food for a few seconds, mesure its weight, type it in a textfield and store it in the database to calibrate the weight distribution with every type of food.


With the desire to bring to the user a friendly experience with convenient interfaces, the development of an Android application to pilot and monitor our pet feeder has been chosen as a main part of the project. Because of a human ressources issue, I had to code this app in two weeks with my only available free time, and I accepted this challenge with ambition. This app permits the user to order a precise amount of food to distribute, but also to consult the amount of water that left in the tank. Coding this kind of application was something totally new for me, as it had to intergrate a network-comunicating part to be linked to our server. Here again, I learned how this different parts could be built, and how to put them together to achieve our final product. I reached our goals with onyl two versions of the application, integrating all the securing parts in it as an authentification to make sure the user was allowed to access and command the device.

Ending with a fully functionnal application containing its own client-to-server communciation, this project conforted me in my confidence to learn quickly and to build some applications that could be used by people in the real world.