AllJoyn Router Implementation (Kinetis KW2x)

asked 2014-07-28 09:39:29 -0700

vinitvyas09 gravatar image

updated 2014-07-28 09:46:20 -0700


I already have the KW2x device implemented as a client, using my Linux PC as the host, on an IP stack over Ethernet. Now the next project is to implement the router onto the same device, for implementing various control applications. My questions are:

  1. I understand that the router implementation is in Cpp. I'll need to have it converted to C. Still, do you think it will be feasible to port a code of that size onto a RAM/flash memory of an embedded device like the KW2x (512KB flash memory)? Please note that using a cross-compiler would be infeasible in terms of code size.
  2. Which parts of the Linux AllJoyn Router code should be ported onto the KW2x for a simple implementation of exchanging messages between AJ router and client/node (both KW2x)? Initially, the plan was to analyze the 'WHO_HAS' and 'ISAT' messages and then implementing the same in C. Do you think there is a better approach to have?

I'm using the image obtained from the hackathon - https://wiki.allseenalliance.org/develop/hackfests/1may2014hackfest/details

edit retag flag offensive close merge delete

1 answer

Sort by ยป oldest newest most voted

answered 2014-07-28 13:39:12 -0700

this post is marked as community wiki

This post is a wiki. Anyone with karma >75 is welcome to improve it.

There is no need for the AJ Router to run on the Kinetis KW2x. The design of the Thin Client Library is that the AJ Router functionality is remoted to another machine such that the Thin Client Library application is as light weight as it needs to be. in the use case you are trying to solve the Thin Library application is connecting to your Linux Machine. If you were to deploy something like this you would either have a Mobile Application (Android or iOS) that the Kinetis board would connect to the Bundled Router instance and be able to communicate with other AJ Devices. Or you could promote the use of a 3rd party developer application that receives Notifications or implements the Control Panel Service.

Again, the design of a Thin Client is that it does not need the extra software that would bloat it past the ability to be supported on a memory constrained device (IE if a small RAM/ROM footprint). The Thin Clients offloading of work onto a more power device also allows the embedded device to save power by going into low power mode and letting the AllJoyn Router on another device do work and interact with other AllJoyn routers on its behalf.

edit flag offensive delete publish link more


Thanks for the quick reply. Let me make myself clear. I'm trying to implement the router onto the KW2x so that communication is betn 2 KW2xs, taking the Linux machine out of the equation. With that in mind, do you think this implementation can/should be done?What do you think of the above questions?

vinitvyas09 ( 2014-07-28 14:24:24 -0700 )edit

There is not enough RAM/ROM on the system to allow for it to run the AllJoyn Standard Library to meet the complete capabilities of an AllJoyn Router. In the current system 2 or more Thin Library applications can not communicate without an AllJoyn Router present in the network.

bspencer ( 2014-07-31 07:45:55 -0700 )edit
Login/Signup to Answer

Question Tools

1 follower


Asked: 2014-07-28 09:39:29 -0700

Seen: 596 times

Last updated: Jul 28 '14