- Mentor availability: 9-11am Wed and Thu, plus other slots if needed. Webex is preferred medium that we will set up.
- Min-max team size: 3-5
- Expected project hours per week (per team member): 10
- Will the project be open source? Yes
- Competency in Java, Python, Databases, WEB App Frameworks,
- Arduino, sensors, ODL Architecture and Infra, mobile app development,
- OpenStack, OpenDaylight
- Concepts and protocols of computer networks (Ethernet, IP, transport protocols)
OpenDaylight (ODL)  is an open platform for network programmability to enable software defined networking (SDN) for networks at any size and scale. ODL is supported by a large number of major vendors (Brocade, Cisco, Citrix, Dell, HP, IBM, Intel, …). The ODL and OpenStack Neutron teams have collaborated to integrate the two projects such that ODL can provide virtual tenant networking for OpenStack tenants, as a plug-in for OpenStack Neutron. But, ODL applies beyond SDN, notably, to the new and vast world of the “Internet of Things” (IoT).
There is a dearth of IoT [2, 3] applications supporting large-scale “multi-thing” IoT networks (Multi-Thing is loosely defined as a network composed of IoT components of different sizes, shape and scale). The requirement for this project is to design and prototype two or more IoT applications running over the ODL IoT data store, supporting a large-scale multi-thing network.
It is envisioned that the development team will have some degree of latitude in creating the prototype applications. The context is smart cities . Imagine you can embed any sort of sensor, camera, data acquisition devices, whatever throughout a city. How would you help the population of this city to have a better life? Do a little research and you will find many ways to extract data from your environment and reuse it in a beneficial way.
ODL is being used as an IoT data collection platform . The IoT data is organized in a massive resource tree (potentially millions of nodes). This tree contains measurements from devices (the things) and its associated attributes. The attributes represent metadata about the resource, for example access rights, creation time, children list, owner, size, quota etc.
The goal of this project is to create at least 2 unrelated, smart cities IoT applications, which will use different type of “things” to gather data and send it to our IoT collection facility. Once there, the data must be extracted using oneM2M (an IoT standard) APIs and processed using the reasoning tool of your choice. The result must be presented on a smart phone.
- Smart devices (you may use raspberry Pie, Arduinos, etc.) which are capable of collecting data and send it to our ODL data store using oneM2M APIs
- A reasoner: a software module in Java running within or on top of ODL, capable of extracting IoT data from the ODL data store (or a back-end database), and process it to produce the solution of the problem. You may use an off the shelve SW or write your own logic for the problem you’re trying to solve. Even better, reuse what has already been developed at MIT (AIs etc.)
- A rendering engine which takes the output of the reasoner and makes it available to be consumed by a client IoT application
- A mobile app or a way to display the output of the reasoner by accessing a URL located on the ODL server.
- You must be able to show the two or more apps with a reasonable amount of hardware (i.e., you don’t need to have a city bus or a 20 foot high traffic light to make the demo!)
- OpenDaylight: http://www.opendaylight.org
- Internet of Things Data Management (IOTDM): https://wiki.opendaylight.org/view/Project_Proposals:Internet_of_Things_Data_Management_(IOTDM)
- oneM2M: http://www.onem2m.org
- Tomorrow's cities: How big data is changing the world: http://www.bbc.com/news/technology-23253949
- more oneM2M
- oneM2M Functional Architecture: TS0001
- oneM2M Webinar: Taking a look inside oneM2M