Project

General

Profile

Raspberry Pi IoT Status » History » Version 12

Spencer Sutterlin, 06/12/2014 09:45 AM

1 1 Spencer Sutterlin
Raspberry Pi IoT Status
2
=======================
3 3 Spencer Sutterlin
4 1 Spencer Sutterlin
On each Pi, get:
5 3 Spencer Sutterlin
6 2 Spencer Sutterlin
* ndnx (just compile locally, doesn't take long)
7
* PyNDN2
8
* ndn-pi
9 1 Spencer Sutterlin
* libcec (only needed on HDMI-CEC node)
10
11 3 Spencer Sutterlin
Devices:
12
13 6 Spencer Sutterlin
* NDN-PI-HDMI-CEC-1: 131.179.196.225 (WAN), 192.168.1.1 (LAN)
14 1 Spencer Sutterlin
* NDN-PI-OCCUPANCY-1: 192.168.1.2 (LAN)
15
* NDN-PI-OCCUPANCY-2: 192.168.1.3 (LAN)
16 12 Spencer Sutterlin
17
## Application Architecture
18
See attached image ndn-pi_application_architecture.png
19 5 Spencer Sutterlin
20 7 Spencer Sutterlin
## Full Example
21 5 Spencer Sutterlin
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.
22
23
Run the following in order.
24
25
Window 1 (Occupancy Node 1)
26
27
    ssh pi@131.179.196.225
28
    ssh 192.168.1.2
29
    nfd-start
30
    nfdc register /home 2
31
    sudo python app/occupancy_node_1.py
32
33
Window 2 (Occupancy Node 2)
34
35
    ssh pi@131.179.196.225
36
    ssh 192.168.1.3
37
    nfd-start
38
    nfdc register /home 2
39
    sudo python app/occupancy_node_1.py
40
41
Window 3 (HDMI-CEC Node)
42
43
    ssh pi@131.179.196.225
44
    nfd-start
45
    nfdc register /home 3
46
    python app/hdmi_cec_node.py
47
48
Window 4 (Consumer Node, physically, same node as HDMI-CEC Node)
49
50
    ssh pi@131.179.196.225
51
    # don't start nfd here since already started
52 1 Spencer Sutterlin
    python app/consumer.py
53 7 Spencer Sutterlin
54
## Future Work
55
Ask Jeff for prioritization
56
57
### Enable ethernet faces in NFD
58
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.
59
60
### Web interface gateway
61
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/...
62
63
### Webcam Node
64
Leverage NDN-RTC code to capture and publish video as data. Consume this with the HDMI-CEC node and display on the TV.
65 8 Spencer Sutterlin
66
### Integrate bootstrapping into application
67
app/bootstrap.py and app/gateway.py have pseudocode that can be combined with Wentao's key distribution ideas