Ce putem face cu un telefon vechi Android?

Chiar dacă îndrăgim telefonul inteligent pe care îl avem în prezent și chiar dacă el nu are nici o problemă de funcționare, totuși, la un moment dat, el va trebui schimbat cu unul nou – apar aplicații ce au nevoie de mai multe resurse de calcul, suntem sclavii modei în permanență schimbare, apar noi standarde de comunicație GSM (3G/4G) – nu contează motivul înlocuirii telefonului dar înlocuirea în sine la o perioadă din ce în ce mai scurtă de timp este o certitudine. În urma acestui proces de îmbunătățire continuă a dispozitivelor de comunicație mobilă rămân disponibile telefoane mobile pe care le uităm printr-un colț al dulapului sau pe care le ducem direct la centrul de reciclare. În ambele cazuri valoarea recuperată este zero. Există mai multe modalități prin care putem pune în valoare mult mai bine aceste dispozitive modificându-le scopul principal de funcționare – nu trebuie să uităm că un telefon mobil inteligent este un sistem de calcul puternic cu mult mai multe resurse hardware decât majoritatea plăcilor de dezvoltare cu care lucrăm (Arduino sau Raspberry Pi). Proiectul de față face referire la telefoanele mobile inteligente ce rulează sistemul de operare Android și dă ca exemplu trei situații în care putem pune în valoare componentele hardware ale telefonului mobil în alte scopuri decât cel pentru care a fost proiectat în ciuda arhitecturii Android total neprietenoase cu modificările la nivel funcțional.

Utilizarea unui telefon mobil Android ca și cameră de supraveghere IP (WiFi sau GSM)

Telefoanele mobile inteligente, chiar și de generație mai veche, dețin camere video performante ce pot servi foarte bine ca și camere de supraveghere. Conectivitatea de rețea (WiFi sau GSM) oferită de arhitectura unui telefon mobil inteligent contribuie excelent la scopul propus în acest prim exemplu. În acest mod transformăm un obiect inutil, un telefon mobil disponibilizat, într-un dispozitiv util și, echivalent, foarte scump. Pentru a face acest lucru este necesar să instalăm un software specializat. Există mai multe astfel de programe de acest gen dar vă recomandăm IP Webcam:

2

https://play.google.com/store/apps/details?id=com.pas.webcam

Aplicația IP Webcam permite transmiterea în rețea a imaginilor preluate de la camera video a  telefonului (oricare dintre camerele telefonului). Accesarea transmisiei on-line se poate face de pe orice client cu un browser web, inclusiv un alt telefon mobil, accesând IP-ul telefonului mobil pe portul 8080. Printre alte facilități ale aplicației putem enumera: înregistrarea video, preluarea unui singur cadru (fotografie), pornirea blitz-ului, filmarea pe timp de noapte, controlul focusului și a zoom-ului și chiar și afișarea valorilor citite de la senzorii telefonului mobil (accelerometru, senzorul de lumina, senzorul de proximitate, senzorul de temperatura și nivel de încărcare a bateriei). Aplicația poate fi configurată să pornească automat la inițializarea telefonului mobil astfel încât funcționalitatea de cameră de supraveghere să nu fie afectată de repornirea accidentală a dispozitivului. Toate aceste funcționalități pot fi accesate prin intermediul conexiunii WiFi dar și printr-o conexiune de date mobilă GSM pentru supravegherea unor spații izolate. Accesul la cameră se poate proteja prin parolă.

3

În cazul în care dorim să accesăm dispozitivul dintr-o altă rețea decât cea din care face parte (supraveghere la distanță prin Internet) se poate înregistra un cont gratuit pe serviciul cloud Ivideon ce permite accesul de oriunde la camerele înregistrate în serviciul cloud. Mai mult decât atât serviciul cloud permite și stocarea înregistrărilor video, detecția mișcării și notificări diverse. Pentru o conexiune WiFi nu este nevoie ca telefonul mobil să aibă cartelă SIM GSM.

4

Cloud Video Surveillance | Ivideon

https://www.ivideon.com/

O alternativă la instalarea unui software specializat de transmisie video este instalarea pe telefonul mobil a unui software de control la distanță ce permite accesul la toate funcționalitățile mobilului inclusiv accesul la camerele video ale acestuia. Accesul la toate funcționalitățile telefonului mobil poate deschide noi oportunități funcționale cum ar fi, de exemplu, transformarea telefonului mobil în dispozitiv de urmărire GPS. Un software foarte cunoscut este TeamViewer.

5

https://www.teamviewer.com/

Pe telefonul ce urmează a fi controlat la distanță se instalează versiunea Host a aplicației TeamViewer:

TeamViewer Host

https://play.google.com/store/apps/details?id=com.teamviewer.host.market

Controlul la distanță se poate realiza dintr-o interfață web sau instalând versiunea Viewer a aplicației (disponibilă pe Windows dar și pe telefonul mobil). Controlul la distanță a dispozitivului Android necesită înregistrare dar utilizarea este gratuită pentru scop personal. Aplicația Host pornește în mod automat o dată cu sistemul de operare Android și permite atât controlul complet al interfeței utilizator dar și supravegherea la distanță a parametriilor de funcționare.

6

Utilizarea unui telefon mobil Android ca și modem GSM / placă de rețea WiFi

Este foarte bine cunoscută posibilitatea telefoanelor mobile de a se transforma în hot-spoturi WiFi mobile pentru a partaja conexiunea la Internet cu alte dispozitive (laptop-uri sau alte telefoane mobile) – facilitatea de tethering:

https://en.wikipedia.org/wiki/Tethering

Aceiași facilitate poate fi utilizată pentru diverse plăci de dezvoltare (Raspberry Pi sau Arduino Yun) pentru a oferi acestora conectivitate Internet prin intermediul rețelei GSM sau prin intermediul unei rețele WiFi (este cazul plăcilor Raspberry Pi mai vechi ce nu au interfață WiFi integrată). În acest fel se utilizează un dispozitiv disponibil (un telefon mobil vechi) în locul unor shield-uri sau dispozitive scumpe (shield GSM, modem GSM). Este de preferat ca tethering-ul să se facă prin intermediul conexiunii USB deoarece asigură o viteză mare de transfer, nu ocupă intefața WiFi sau bluetooth a plăcii de dezvoltare și asigură și alimentarea telefonului mobil.

7

Configurarea plăcii de dezvoltare este identică pentru o conexiune de rețea GSM sau una WiFi. Pentru o placă Raspberry Pi, după conectarea fizică la portul USB al plăcii de dezvoltare a telefonului mobil se poate verifica recunoașterea hardware a acestuia prin instrucțiunea dmesg (în exemplificare s-a utilizat un telefon mobil Orange Zilo, Android 4.2.2, produs în 2014 și o placă de dezvoltare Raspberry Pi rulând Raspbian GNU/Linux 8 (jessie), kernel 4.4.43-v7+)  :

8

Instalarea lui ca dispozitiv USB cu ajutorul comenzii lsusb:

9

Și configurația de rețea asociată cu ajutorul comenzii ifconfig:

10

Configurarea dispozitivului se realizează automat în cazul configurației dată ca exemplu. Pentru detalii legate de configurația manuală se pot consulta proiectele următoare:

How to use an Android tablet as a Raspberry Pi console terminal and internet router

http://elinux.org/How_to_use_an_Android_tablet_as_a_Raspberry_Pi_console_terminal_and_internet_router

Raspberry Pi USB Tethering (using an Android phone)

https://www.youtube.com/watch?v=x_yhJ_QBfaU

Android USB Tethering to Connect a Raspberry Pi to the Internet

http://mobilesociety.typepad.com/mobile_life/2015/03/android-usb-tethering-to-connect-a-raspberry-pi-to-the-internet.html

Sau pentru utilizarea unei plăci Arduino Yun:

Configure Arduino Yun for Android Tethering

https://www.youtube.com/watch?v=wqvwG2xD-_g

Connect Arduino Yun to 3g 4g Mobile Networks

http://selfbuilt.net/wiki/doku.php?id=arduino_yun_mobile_networks

Use 3g/UMTS USB Dongle for WAN connection

https://wiki.openwrt.org/doc/recipes/3gdongle

Utilizarea unui telefon mobil Android ca și ecran tactil pentru o placă Arduino

Cu toții ne-am lovit de problema realizării unei interfețe utilizator compacte și multifuncționale pentru sistemele dezvoltate cu ajutorul plăcilor Arduino – ecrane alfanumerice sărăcăcioase, butoane ce trebuie integrate solid în carcasa sistemului sau ecrane tactile color scumpe și care consumă imediat memoria internă a plăcii de dezvoltare. Acesta este motivul pentru ce de a treia propunere de utilizare a unui telefon mobil Android vechi. Putem reutiliza telefonul mobil și îl putem transforma într-un ecran tactil color pentru un sistem Arduino fără a cheltui suplimentar și fără a epuiza memoria internă a plăcii de dezvoltare. Mai mult decât atât, dacă se combină interfațarea cu accesul la distanță – prezentat în prima parte a proiectului – vom obține un sistem cu o interfață grafică color dar și controlabil de oriunde din Internet. Conexiunea între telefonul mobil și placa de dezvoltare se realizează prin USB și există două posibilități:

Utilizând modul accesoriu bazat pe extensia Android ADK – este necesară utilizarea unei plăci Arduino Mega ADK:

11

https://www.robofun.ro/arduino/arduino_mega_adk

sau a unui shield USB Host împreună cu o placă Arduino Uno sau Arduino Mega:

12

https://www.robofun.ro/shields/usb_host_shield

A se vedea și:

Arduino ADK – Running Examples in Accessory Mode

http://labs.arduino.cc/ADK/AccessoryMode

Pentru implementare este necesară dezvoltarea aplicației Arduino dar și realizarea unei aplicații Android care să definească interfața utilizator. Există mai multe proiecte ce pot fi utilizate ca punct de plecare în implementarea acestei variante:

Arduino ADK LED Lighting

http://www.instructables.com/id/Arduino-ADK-LED-Lighting/

mover-bot – Android-based Mobile Robotics Platform

https://code.google.com/archive/p/mover-bot/

AndroidADKLED

https://sites.google.com/site/arduinosite/exercise/androidadkled/

Handbag™ for Android

http://handbagdevices.com/

Din păcate această variantă necesită un telefon mobil Android ce include în distribuția sistemului de operare extensia ADK, a se vedea și:

Android ADK supported devices

http://stackoverflow.com/questions/10186760/android-adk-supported-devices

Utilizând modul bridge (ADB: Android Development Bridge Mode) ce permite conectarea directă între telefonul mobil și o placă de dezvoltare prin intermediul unei conexiuni USB (utilizând un USB Host shield sau nu). A se vedea și:

Mega ADK – Running Examples over the ADB

http://labs.arduino.cc/ADK/ADB

Această variantă necesită ca telefonul mobil să suporte o conexiune USB OTG de tip Host și este nevoie de un adaptor de conectare USB OTG între telefonul mobil și cablul USB clasic al plăcii de dezvoltare. Dificultatea acestei variante vine din implementarea programului Android și din necesitatea ca dispozitivul Android să suporte USB OTG Host. Câteva exemple de proiecte bazate pe modul bridge:

USB_BRIDGE_ANDROID_OTG App Inventor 2

https://github.com/S2I71/usb_otg_bridge_app_inventor/

ProcessingAdb

https://github.com/agoransson/processingadb

Control an Arduino from Android device

http://solderer.tv/control-an-arduino-from-your-android-device/

Android + Arduino + USB Host + Simple Digital Output

http://mitchtech.net/android-arduino-usb-host-simple-digital-output/

În cazul în care cele două variante de implementare prezentate mai sus vi se par prea complicate există și posibilitatea de conectare a plăcii Arduino la telefonul Android prin intermediul unei conexiuni Bluetooth. Câteva exemple:

How to control arduino board using an android phone and a bluetooth module

http://www.instructables.com/id/How-control-arduino-board-using-an-android-phone-a/

Connect Arduino Uno to Android via Bluetooth

http://www.instructables.com/id/Connect-Arduino-Uno-to-Android-via-Bluetooth/

Control an Arduino with Bluetooth

http://www.allaboutcircuits.com/projects/control-an-arduino-using-your-phone/

Arduino Bluetooth Interfacing – Simplest tutorial on Bluetooth Basics

https://diyhacking.com/arduino-bluetooth-basics/