How to start Linux Alljoyn App from scratch?

asked 2015-12-27 13:55:06 -0700

KManu gravatar image

Hi. I intend on creating an Alljoyn application for use on my Raspberry Pi, to act mainly as a WLAN alljoyn router. The application should basically be capable of

  • Detecting all alljoyn enabled devices on the network (Via the Onboarding service)
  • Engaging the alljoyn devices to begin a messaging stream (Via the Notifications service)
  • Writing the messages received to a text file or DB on the device (I think this can be done outside Alljoyn)

I'd like to know, how exactly i can start such a project from scratch. Firstly, i should say i'm pretty new to linux, but I have built and run the sample apps provided with the source, and tried to follow the tutorial for building my first app. I (believe) i understand the concepts behind alljoyn, but i dont know how to go about things without starting by modifying a sample app for my needs. Also seeing as i would need more than one service, i'd like to not have to do that. Also, i'd like to develop this in an IDE environment (i'm comfortable and willing to learn what i dont know with C++ or Java), but i do not know how to use SCons, as the official source does. Is there any general guide i may use? Maybe a barebones application scaffold in an IDE? Like the Alljoyn plugin for Visual Studio does for Windows Alljoyn Apps.

Thank you in advance.

edit retag flag offensive close merge delete

1 answer

Sort by ยป oldest newest most voted

answered 2015-12-28 23:19:02 -0700

praveenb gravatar image

Before I get into the details of developing the application that you are aiming for, here are a couple of clarifications:

  • Looking for applications / devices that emit About annoncements is the most appropriate way to detect AllJoyn-enabled devices on the network (wireless/wired LAN). You can read more on About here. A sample application which looks for About announcements is at allseen/core/alljoyn/alljoyn_core/samples/about/AboutListener.cc.

  • Engaging the discovered AllJoyn devices to begin a message stream is dependent on the kind of information that the devices expose. For instance, one kind of information that devices expose could be alert messages. Such alert messages are sent out as Notifications via Notification Service as your correctly mentioned. Thus, Notificfation Service is a good start. However, there are other kinds of information which are not Notifications and to receive such information, your applications needs to establish sessions.

The codebase does have .sln project files that enable one to use Visual Studio to build apps for Windows desktop (you can find them here). Eclipse has been used to develop Android applications using Java Bindings of AllJoyn Standard Core library. At the moment, there is no out-of-the-box IDE support to build code on embedded targets viz. OpenWrt / Raspberry Pi.

Given that you are looking to use a Raspberry Pi, you have two options:

  • Try Windows 10 IoT Preview for Raspberry Pi 2 (if applicable), and use Visual Studio to develop the application
  • Use the standard Linux on Raspberry Pi and related tools to develop application

Note: Onboarding Service is a mechanism that makes wireless network configuration of headless devices easy. It is not very suitable for the purposes of deteching AllJoyn-enabled applications/devices.

edit flag offensive delete publish link more
Login/Signup to Answer

Question Tools

1 follower


Asked: 2015-12-27 13:55:06 -0700

Seen: 700 times

Last updated: Dec 28 '15