Project

General

Profile

Actions

Raspberry Pi IoT Status » History » Revision 11

« Previous | Revision 11/14 (diff) | Next »
Spencer Sutterlin, 06/12/2014 09:43 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/... 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

Updated by Spencer Sutterlin over 6 years ago · 11 revisions