Click here to Skip to main content
15,902,893 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
Hello World.

Preamble:
I'm a electrical engineering student and I'm going to write my thesis in a few month.
My topic will be the development of a web based Microcontroller programmer.

This means that students can develop their programs for the µC on any PC(with the installed SDK) and then upload their projects (its just a single file) to test them on a real chip over the Internet.

Also they should be able to see some information from the µC like IO status.
A dynamic view of the status (like with ajax) would be perfect

The Communication (both, programming and get_status) between the µC and the server should be realized by a simple serial connection like UART.

Question:
I have a few years of experience with php and mysql "programming" and experience with C#. Which environment should I use for my project. Of course I can just try some things, but I don't want to start with something and then have everybody saying: "With XXXXX it had been much easier/simple/effective/whatever".

I'm open for trying new thinks, and as I still have some time to start with the project, I want to use the time to prepary everything as good as possible.


Trailer:
Thank you!
Thomas
Posted

dude - everyone has their own bent on what's 'easier' - that depends on their experience etc - so you're always going to get
Quote:
"With XXXXX it had been much easier/simple/effective/whatever".


I think you need to 'doodle' on paper and write the functions you need - eg

Web Layer
upload a file (code) to the server
run a CLI interface to the microprocessor
return the output to the client
Interface to Serial/UART layer
Microprocessor Layer
Web to serial/UART bridge
run code file

.. and then see if your php knowledge for example can implement the functions you need - simulate, mock up etc to start with

Quote:
Of course I can just try some things


I think you HAVE to try some things - there may not be one way of doing it - I would have thought, that it could be done with almost any 'web kit' .. you mention AJAX for example, that may steer you down a track - eg ASP.NET - ultimately, you need to experiment a bit with what you know already - php, and see if you can build up the functionality you need - you can surely include this process as part of your thesis "I started with x but ended up using y becuase of ....." its like testing a hypothesis isnt it ?
 
Share this answer
 
Comments
Borstenhorst 9-Feb-13 13:45pm    
Well ok then I will try something with php and c#.
I could connect them over a mysql database for example. Or is there any kind of interface?

My question also was meant a bit like:
What should I try? Are there any combinations/systems that are predestined for a job like this.
I never had a project where I had a connection between a local program and a web server. I just can imagine that changing files or communication trough a database is probably not the best way ;)
Garth J Lancaster 10-Feb-13 16:42pm    
well, I thought of some more options - write 'something like a webserver' in c#, and handle the response yourself - here you could invoke the command-line interface, read the result of your micro-program run, and return that as the content .. thats quite simple ..

so, 2 links

http://www.techcoil.com/blog/a-mechanism-for-serving-http-requests-in-c/

http://www.codehosting.net/blog/BlogEngine/post/Simple-C-Web-Server.aspx

or, pull up a free web-server, and write a CGI type protocol handler/extension for it that interfaces to your microprocessor ..

http://appwebserver.org/downloads/appweb/download.ejs

at the end, you are limited by the interface to the microprocessor - if you can wrap/encapsulate that then you can get away from the commandline type approach
Garth J Lancaster 10-Feb-13 16:51pm    
Ultimately what I would do, it I had the source code to the micro-processor system, is embed a web server directly in that - obviously this is a lower level but tighter integration approach - and would likely use c++ or c ... it all depends on what tyou have to work with
Borstenhorst 11-Feb-13 14:48pm    
that of course would be ultimate but since those chips are not very powerful, this will not work. My idea is to have a PCB where you can connect pins from the chip to some lanes. Like there are some IO Lanes and some analogue lanes. These lanes are also connected to a micro controller which collect the status of the lanes or is able to switch them.

I thought of programming this sensor-microcontroller to give me all his information cyclic via UART. This isnt a to complicated. So I have the information on my server.

Building a own Webserver will be the best way, giving me as much freedom as I need :) THis is a good Idea, thanks a lot for the links!
So you mean that the microcontroller is an "hardware extension" of your server/pc right?

You want to control this hardware passing through the server from any connected client? Is this what you need?

Gianluca
 
Share this answer
 
Comments
Borstenhorst 11-Feb-13 14:40pm    
yep :)
Hi
Integration of a complete Ajax system into a little microcontroller could be really difficult, this due limited resources and processor power.

In the network you can find a lot of projects of µC-based HTTP servers, let's say, the major µC manufaturers offer free demo projects for their chips for this kind of application.

Gianluca
 
Share this answer
 
v2
Comments
Borstenhorst 7-Feb-13 15:54pm    
Thanks for your answer but thats not what I meant :)

There is a Server. Its a normal PC running windows.
This is Server is connected to a µC via programmer (programming with command line interface, no problem there).

Now the students should be able to connect to this server, using a normal Web Browser, and to test their programs on real hardware.


Sorry if me text was unclear.

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900