Project

General

Profile

Raspberry Pi IoT Status » History » Revision 9

Revision 8 (Spencer Sutterlin, 06/10/2014 02:10 PM) → Revision 9/14 (Spencer Sutterlin, 06/12/2014 09:41 AM)

Raspberry Pi IoT Status 
 ======================= 

 !ndn-pi_application_architecture.png! 

 On each Pi, get: 

 * ndnx (just compile locally, doesn't take long) 
 * PyNDN2 
 * ndn-pi 
 * libcec (only needed on HDMI-CEC node) 

 Devices: 

 * NDN-PI-HDMI-CEC-1: 131.179.196.225 (WAN), 192.168.1.1 (LAN) 
 * NDN-PI-OCCUPANCY-1: 192.168.1.2 (LAN) 
 * NDN-PI-OCCUPANCY-2: 192.168.1.3 (LAN) 

 ## Full Example 
 In order to ssh into gateway pi (HDMI-CEC), must be on CS dept network. ssh into CS dept server first or be physically there. 

 Run the following in order. 

 Window 1 (Occupancy Node 1) 

     ssh pi@131.179.196.225 
     ssh 192.168.1.2 
     nfd-start 
     nfdc register /home 2 
     sudo python app/occupancy_node_1.py 

 Window 2 (Occupancy Node 2) 

     ssh pi@131.179.196.225 
     ssh 192.168.1.3 
     nfd-start 
     nfdc register /home 2 
     sudo python app/occupancy_node_1.py 

 Window 3 (HDMI-CEC Node) 

     ssh pi@131.179.196.225 
     nfd-start 
     nfdc register /home 3 
     python app/hdmi_cec_node.py 

 Window 4 (Consumer Node, physically, same node as HDMI-CEC Node) 

     ssh pi@131.179.196.225 
     # don't start nfd here since already started 
     python app/consumer.py 

 ## Future Work 
 Ask Jeff for prioritization 

 ### Enable ethernet faces in NFD 
 NFD supports ethernet faces and we want to move away from IP dependency. Enable etnernet faces in NFD, cross-compile, and install on pi. Change nfdc register /home 2|3 command to use ethernet face. You might want to back up the current working NFD on the pi (in /usr/local) in case anything goes wrong in the cross-compile/install. 

 ### Web interface gateway 
 Use ndn-js and Node-JS. Display sensor data in an organized fashion and expose control of networked devices remotely. Connect gateway to ndn testbed listen for names /ndn/<home-address>/home/... and translate /home/... 

 ### Webcam Node 
 Leverage NDN-RTC code to capture and publish video as data. Consume this with the HDMI-CEC node and display on the TV. 

 ### Integrate bootstrapping into application 
 app/bootstrap.py and app/gateway.py have pseudocode that can be combined with Wentao's key distribution ideas