Click here to Skip to main content
15,886,059 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!
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.
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 :)

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