[ca] La idea principal d'aquest projecte és esbrinar com podem crear una xarxa mesh en un Smartphone Android i així poder aprofitar els avantatges d'aquest tipus de xarxes. Les xarxes mesh tenen unes característiques que podrien millorar dràsticament l'experiència de l'usuari i fins i tot salvar vides en situacions extremes. Per exemple, en una situació on la densitat d'usuaris faci col·lapsar la xarxa telefònica convencional, estadis de futbol , grans manifestacions, o quan passa alguna gran catàstrofe, tornados, tsunamis, terratrèmols, les xarxes mesh ens permetran fer aplicacions que permetin a les persones comunicar-se . Per al desenvolupament de tot el projecte he triat l'Android Stick MK808B perquè compleix amb tots els requisits necessaris per ser capaç de crear una xarxa mesh. A més de les especificacions tècniques el cost del producte també s'ha tingut en compte. S'han buscat dispositius barats per que fos possible comprar varis d'ells i així comprovar la xarxa en un gran nombre de dispositius. Per crear la xarxa mesh vaig utilitzar el SPAN framework. El SPAN framework ens permet crear una xarxa mesh utilitzant OLSR en uns pocs dispositius Android, així que després de realitzar algunes modificacions al framework, aquest va ser capaç de crear la xarxa mesh en els dispositius mk808b. Totes les modificacions es van fer a nivell d'aplicació ja que no vaig trobar cap dispositiu que tingués el codi font del kernel obert. A causa d'això, no és possible crear una aplicació que utilitzi xarxes Mesh en qualsevol dispositiu Android. El principal problema és que Android no permet el mode Ad-hoc i això fa impossible crear una aplica cio que funcioni per a qualsevol dispositiu sense necessitat de modificar i gravar un kernel per a cadascun. Les xarxes mesh poden ser molt útils tant en situacions quotidianes com en situacions extremes, però mentre Android no suporti el mode ad-hoc no serà possible crear una aplicació que aprofiti els avantatges de les xarxes mesh sense modificar el kernel de cada dispositius, cosa impossible de fer per a un usuari normal.

[en] The main idea of this project is to figure out how we can create a mesh network in Android smartphone in order to take advantage of the benefits of this kind of networks. Mesh networks has some special characteristics that could improve the user experience or even save lives in some extreme situations. For example in some situation where the density of people collapse the regular network, football stadiums or big demonstrations, or when some big catastrophe happens, tornados, tsunamis, earthquakes that take down the network, mesh networks would allow us to make some applications that make the people able to communicate with the people that is near to them. In order to develop the entire project the Android Stick MK808B had been chosen as it fulfilled all the requirements for being able to create a mesh network. Apart from the technical specifications the cost of the product had also been taken in account. Cheap devices were bough in order to make possible to buy many of them and check the network working. To create the mesh network SPAN framework was used. SPAN framework allowed us to create a mesh network using OLSR in a few android devices, so after some modifications SPAN framework was able to create the mesh network in mk808b devices too. All modifications were made at Application Level as no suitable device had the Kernel Source published. Because of this, it is no possible at the moment to build any application that uses Mesh Networks in all android devices. The main problem is that Android doesn't allow Ad-hoc mode itself and this makes impossible to create an application that creates a mesh network for any device without modifying and flashing a kernel for each one. Mesh networks could be really useful in everyday or extreme situation with smartphone. But as long as Android doesn't support it and make it possible to work with ad-hoc mode it is no possible to create an application that uses it without modifying the kernel of every device, which is impossible to be done for a regular user.