icPhone is Information-Centric Networking based communication mobile-device. Its hardware is Single Board Computer called Raspberry Pi and includes 2.8 TFT LCD touchscreen. The icPhone is based on CCN(Content-Centric Networking) architecture that is among ICN architecture. This device has Group chatting and PTT(Push To Talk; walkie-talkie) application which operate over the CCN architecture using open source project implementing CCN, called CCNx. CCNx is one of the CCN projects that are studied in Palo Alto Research Center(PARC).
-
Set prerequisites
$ sudo rpi-update
$ sudo apt-get update
-
Install Java JDK & Git
$ sudo add-apt-repository ppa:webupd8team/java
$ sudo apt-get install oracle-java7-jdk
$ sudo apt-get install git-core
-
Install default package for CCNx
$ sudo apt-get install libssl-dev expat libexpat1-dev libcrypto++9 libcrypto++-doc libssl1.0.0 libssl1.0.0-dbg ant libpcap-dev libxml2-dev python-software-properties
-
Download the CCNx source code
$ wget www.ccnx.org/releases/ccnx-0.8.2.tar.gz
$ tar -zxvf ccnx-0.8.2.tar.gz
-
Build the CCNx source code
$ cd ccnx-0.8.2/
$ sudo ./configure
$ sudo make
$ sudo make install
-
Clone icPhone App from GitHub
$ git clone https://github.com/MobileConvergenceLab/icPhone-phoneapp.git
-
Run CCNTalk or CCNVoice application by JAR file
$ cd icPhone-phoneapp
$ java -jar CCNTalk.jar
or$ java -jar CCNVoice.jar
$ ccndstart
$ ccndc add ccnx:/ tcp ***.***.***.***
$ cd icPhone-phoneapp/jar
$ java -jar CCNTalk.jar
or $ java -jar CCNVoice.jar
(6-2) In case of CCN Voice, Record your voice by pressing record button and Press send button. If you want to listen
If you want to modify the code of these apps or to re-build these apps, follow thie procedure
(1) Download eclipse IDE from https://www.eclipse.org
##Hardware main component of icPhone
List of icPhone's components
(1) Raspberry Pi (Pi B / Pi B+ / Pi2)
(2) 320x240 2.8" TFT LCD + Touch screen (SPI Interface or USB, etc)
(3) USB wireless LAN card(dongle)
(4) 3.5mm speaker or earphones for walkie-talkie app
(5) USB audio adaptor and mic for recording voice in walkie-talkie app
(1) Download firmware
$ sudo wget http://goo.gl/1BOfJ -O /usr/bin/rpi-update && sudo chmod +x /usr/bin/rpi-update
(2) Update firmware
$ sudo rpi-update
(3) Update kernel version
$ sudo apt-get upgrade
$ sudo apt-get update
(4) Install software related LCD (check your LCD model: hy28a or hy28b)
$ git clone https://github.com/rasplay/RPiHY28bShield
$ cd RPiHY28bShield
$ sh setup.sh hy28b
(5) Turn on the touch screen
$ sudo con2fbmap 1 1
$ FRAMEBUFFER=/dev/fb1 startx