Skip to content

Information Centric Phone - Chatting application software to enable CCNx based 1:1/1:N text and voice walkie-talkie.

License

Notifications You must be signed in to change notification settings

MobileConvergenceLab/icPhone-phoneapp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

icPhone & Phone app

 

What is icPhone?

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).

  

Install

  1. Set prerequisites

    $ sudo rpi-update

    $ sudo apt-get update

  2. Install Java JDK & Git

    $ sudo add-apt-repository ppa:webupd8team/java

    $ sudo apt-get install oracle-java7-jdk

    $ sudo apt-get install git-core

  3. 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

  4. Download the CCNx source code

    $ wget www.ccnx.org/releases/ccnx-0.8.2.tar.gz

    $ tar -zxvf ccnx-0.8.2.tar.gz

  5. Build the CCNx source code

    $ cd ccnx-0.8.2/

    $ sudo ./configure

    $ sudo make

    $ sudo make install

  6. Clone icPhone App from GitHub

    $ git clone https://github.com/MobileConvergenceLab/icPhone-phoneapp.git

  7. Run CCNTalk or CCNVoice application by JAR file

    $ cd icPhone-phoneapp

    $ java -jar CCNTalk.jar or $ java -jar CCNVoice.jar

  

Run icPhone & applications

(1) Turn on the icPhone

(2) Start CCNx Daemon

$ ccndstart

(3) Connect each devices by tunneling

$ ccndc add ccnx:/ tcp ***.***.***.***

(4) Run applications(CCN Talk or CCN Voice) by double-clicking JAR file

$ cd icPhone-phoneapp/jar

$ java -jar CCNTalk.jar or $ java -jar CCNVoice.jar

(5) Enter a room name(chatting room)

(6-1) In case of CCN Talk, Enter a message in text field and Press send button

(6-2) In case of CCN Voice, Record your voice by pressing record button and Press send button. If you want to listen

   

Import the project (IDE : Eclipse)

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

(2) Unzip eclipse file & Execute eclipse
(3) Import the project(CCNTalk or CCNVoice)

(4) Configure build path

(5) Add external library

    


##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

   

How to set Touch Screen

(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

      

About

Information Centric Phone - Chatting application software to enable CCNx based 1:1/1:N text and voice walkie-talkie.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages