Netduino home hardware projects downloads community

Jump to content


The Netduino forums have been replaced by new forums at community.wildernesslabs.co. This site has been preserved for archival purposes only and the ability to make new accounts or posts has been turned off.
Photo

Kaushik SPOT Services for .NET Micro Framework


  • Please log in to reply
11 replies to this topic

#1 Vishal Kaushik

Vishal Kaushik

    Member

  • Members
  • PipPip
  • 16 posts
  • LocationGhaziabad, India

Posted 18 September 2011 - 09:54 AM

This Project provides a Library that can be used on all kinds of .NET Framework i.e. .NET Regular Framework, .NET Micro Framework etc for RPC/RMI. This definitely does not replace .NET Remoting, Web Services and WCF but certainly add one more to the same stack; and it is very simple to be used for very light weight but still mission critical applications.

Please refer to Codeplex for more details. And a demo can be seen at YouTube. On Codeplex Home page and Documentation page have useful information.

This is my First project on Netduino Plus (In fact first on any Micro Controller and .NET Micro Framework). I hope all of you will like it and use it for further more to come.

Update Sep 21, 2011 : Added support for Windows Phone 7.1 (RC). Now Windows Phone can act as a Kaushik SPOT Services client.

#2 Mario Vernari

Mario Vernari

    Advanced Member

  • Members
  • PipPipPip
  • 1768 posts
  • LocationVenezia, Italia

Posted 18 September 2011 - 01:35 PM

Hey, congrats for the amazing framework! I wonder how you were able to fit all that into a Netduino Plus! It's best if you move this thread in the "Project showcases" section of this forum. Thanks for sharing. Cheers
Biggest fault of Netduino? It runs by electricity.

#3 Moskus

Moskus

    Advanced Member

  • Members
  • PipPipPip
  • 132 posts
  • LocationNorway

Posted 18 September 2011 - 03:04 PM

Thanks! I'll be using this. :)

#4 Vishal Kaushik

Vishal Kaushik

    Member

  • Members
  • PipPip
  • 16 posts
  • LocationGhaziabad, India

Posted 18 September 2011 - 05:41 PM

Thanks for having a look at it. I have moved it to Project Showcase

Hey, congrats for the amazing framework!
I wonder how you were able to fit all that into a Netduino Plus!

It's best if you move this thread in the "Project showcases" section of this forum.
Thanks for sharing.
Cheers



#5 Stavros Tekes

Stavros Tekes

    Member

  • Members
  • PipPip
  • 17 posts
  • LocationThessaloniki, Greece

Posted 19 September 2011 - 07:09 AM

Thanks, sounds really promising and will definitively have a look
Stavros

#6 Moskus

Moskus

    Advanced Member

  • Members
  • PipPipPip
  • 132 posts
  • LocationNorway

Posted 19 September 2011 - 08:59 AM

May we have some more sample code than the one shown in the video?

#7 Vishal Kaushik

Vishal Kaushik

    Member

  • Members
  • PipPip
  • 16 posts
  • LocationGhaziabad, India

Posted 19 September 2011 - 09:12 AM

In Codeplex I already have 4 sample services that are hosted on Netduino. Their names are SpotServiceTest, BlinkLedService, SwitchService and SayHello. All of these are in Kaushik.Spot.MicroServer.

To make it simple I have summarized steps below:

1. Define an Interface that acts as a Service Contract. Interface should be marked with attribute SpotService and respective RMI methods should be marked SpotMethod
2. Implement interface defined in step 1 in a class
3. Register the class defined in step 2 using SpotServices.RegisterService(new <serviceclassname>());
4. Start Spot Services server using SpotServices.StartServer(<socketport>);
5. Code Generate proxy class using Kaushik.Spot.CodeGenerator, steps are explained in Demo Video and include in your client app (like Kaushik.Spot.ControllerApp)

You can see steps 1 to 4 in project named Kaushik.Spot.MicroServer. Step 5 is implemented in Kaushik.Spot.ControllerApp (UI project used in Demo) and Kaushik.Spot.ConsoleClient.TestApp (A simple load test project)

You are ready to have fun….

You can give me a specific example that you might want to implement and I will be glad to help you.

May we have some more sample code than the one shown in the video?



#8 Vishal Kaushik

Vishal Kaushik

    Member

  • Members
  • PipPip
  • 16 posts
  • LocationGhaziabad, India

Posted 21 September 2011 - 07:32 AM

Latest Update : Added support for Windows Phone 7.1 (RC). Now Windows Phone can act as a Kaushik SPOT Services client.

#9 Vishal Kaushik

Vishal Kaushik

    Member

  • Members
  • PipPip
  • 16 posts
  • LocationGhaziabad, India

Posted 28 September 2011 - 04:47 AM

There are few things that I want to add to this framework before I make a formal release. As of now those are: 1. Add asynchronous calls in proxy generation. 2. Proxy generation should be part of Visual Studio itself and not a separate utility. 3. Add a project template and item templates in Visual Studio 2010 for these services. 4. Add config file for proxy. 5. Add few symmetric and asymmetric encryption algorithms (need suggestions on names) these will be provided on all of the platforms. 6. Try to add feature to host services on Windows Phone (though I see it not possible right now as listeners are not allowed) I also would like to hear from people on current state of work and any issue they face. What features I will add or wish to add depend on overall size of library, runtime memory requirement and performance. I plan to have first release by this year end on Codeplex.

#10 Vishal Kaushik

Vishal Kaushik

    Member

  • Members
  • PipPip
  • 16 posts
  • LocationGhaziabad, India

Posted 20 November 2011 - 04:35 PM

Update : On popular demand now I have added security feature to my framework using RC4 Cipher algorithm. My old examples are updated to demonstrate how to use it. RC4 is symmetric key cipher, there could be other cipher algorithms (may be asymmetric key) to implement security model (remember to implement ICryptographicServiceProvider). I also fixed a related issue in my core library for security support. Major challenge here is UTF8, the only encoding supported by .NET Micro Framework. I did not add more ciphers in here as .NET Micro Framework 4.2 will soon have many that will interoperate across all .NET Frameworks.

Code if there on CodePlex. Happy Programming!!!

#11 Chris Walker

Chris Walker

    Secret Labs Staff

  • Moderators
  • 7767 posts
  • LocationNew York, NY

Posted 20 November 2011 - 04:53 PM

Cool, Vishal. With crytpo even! Thanks for sharing...and for all the updates, Chris

#12 Vishal Kaushik

Vishal Kaushik

    Member

  • Members
  • PipPip
  • 16 posts
  • LocationGhaziabad, India

Posted 21 November 2011 - 04:55 AM

Thanks Chris!!! It is my pleasure. All of you are always welcome for improvement suggestions and/or clarifications.

For those who did not understand what my work is all about I would like to explain it again..

This is a digital world where devices collaborate to solve some business problem. As we move ahead these devices are not limited to High end servers; we have PCs, Laptops, Smart Phones and Embedded systems that play a vital role in this collaboration.

My framework unites these devices by providing a communication platform based on RPC/RMI and Microsoft’s .NET Framework. You will be able to control and manipulate embedded systems from click of a button on your laptop or a windows phone. Any MS Developer can adopt this RPC/RMI Framework and use it as if (s)he is working with Web Services or WCF. (S)he does not require specialized skills to be able to establish such communication.

Netduino Plus is a Netduino with network capabilities. It gives us opportunity to communicate with this cool thing from other devices like PC and Phone using Ethernet. Writing stuff from ground up to realize what business problem you want to address would not be required if you use this. DPWS for sure is another thing that you may use, but then it is too heavy to run. If you use DPWS, you will be left with nothing on Netduino to do your own work.

Possibilities: You can securely control things in following setup:

1. Host RPC/RMI enabled Services on Netduino and control it from a PC and/or Windows Phone.
2. Host RPC/RMI enabled Services on PC and control it with a Netduino and/or Windows Phone.

It is Internet Of Things :)




0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users

home    hardware    projects    downloads    community    where to buy    contact Copyright © 2016 Wilderness Labs Inc.  |  Legal   |   CC BY-SA
This webpage is licensed under a Creative Commons Attribution-ShareAlike License.