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