= RTEMS Internet of Things (IoT) Infrasructure = [[TOC(Developer/Projects/Open/InternetOfThings, depth=2)]] '''Mentors:''' This project idea was suggested by Pierre Ficheux. He and other RTEMS community members may be appropriate mentors depending on what part of the infrastructure is being ported/provided. '''Students:''' No student has worked on this project before. '''Status:''' Uninitiated. Definition and refinement required. '''Introduction:''' The Internet of Things (IoT) is the current buzzword. What this means in reality is connected devices. This connection is usually via a wireless communications mechanism like Wifi, Bluetooth, or a more specific infrastructure like Zigbee. Beyond communications infrastructure, there are some communications protocols supported by open source packages which should be supported. Finally, these devices are usually low end, low power, etc. and thus attention should be paid to footprint. '''Goal:''' The goal is to provide a robust set of capabilities which provide IoT capabilities. This will not be achieved by porting a single package. Some of the capabilities/packages will only be appropriate for small target boards. However, the IoT RTEMS vision is to be able to provide IoT support for both low and higher end (e.g. Beagle, Pi, etc.) devices. '''Requirements:''' Someone working on this project will need access to appropriate target hardware to test on. They will most likely need C or C++ programming experience although some application packages may be in other languages. Some of the capabilities are communications oriented and someone working on this will need familiarity with and a way to test. Other capabilities will be protocols over TCP/IP or HTTP and the student should be familiar with that. Some of the communications packages may only be testable on specific hardware. Application level capabilities may be able to be tested on any RTEMS BSP with TCP/IP support. '''Specific Capabilities:''' There is no particular priority to the various projects listed. It would be helpful to define an IoT demo project for RTEMS, target hardware, and then focus on that vertical stack first. This is a list of packages/capabilities that have been identified as following under the IoT stack umbrella: * [https://en.wikipedia.org/wiki/6LoWPAN 6LoWPAN] Support - Identify and port a stack. * Bluetooth Support - Identify and port a stack. * [https://github.com/tass-belgium/picotcp PicoTCP] Support - Port if viable. * [http://xmpp.org/uses/internet-of-things.html XMPP IoT] Support - The XMPP project has grown to include standard message protocols and software packages for IoT interactions. Joel and Chris saw a presentation at the 2015 GSoC Mentor Summit on some of this. It could be fairly high payoff but needs to be investigated and activities defined. * TBD more... These existing projects support this goal. Each has its own status: * [wiki:Projects/Open/PortMonkey Port Monkey HTTP Server] - Port the [http://monkey-project.com/ Monkey HTTP Server]. * [wiki:Projects/Open/TIPC Port Transparent IPC] - Port [http://tipc.sourceforge.net/index.html Transparent IPC (TIPC)]. * [wiki:Packages/LWIP LWIP] - LWIP Support. '''Resources:''' * TBD '''Acknowledgements''' * TBD = Miscellaneous Sections = As the project progresses, you will need to add build instructions, etc and this page will evolve from a project description into a HOWTO. = References = * TBD