Click here to Skip to main content
Rate this: bad
Please Sign up or sign in to vote.
Hello World.
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.
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.

Thank you!
Posted 7-Feb-13 10:26am
Rate this: bad
Please Sign up or sign in to vote.

Solution 3

dude - everyone has their own bent on what's 'easier' - that depends on their experience etc - so you're always going to get
"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
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 ?
Borstenhorst at 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 at 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
or, pull up a free web-server, and write a CGI type protocol handler/extension for it that interfaces to your microprocessor ..
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 at 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 at 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!
Rate this: bad
Please Sign up or sign in to vote.

Solution 1

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.
Borstenhorst at 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.
Rate this: bad
Please Sign up or sign in to vote.

Solution 2

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?
Borstenhorst at 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)

Advertise | Privacy | Mobile
Web03 | 2.8.150302.1 | Last Updated 7 Feb 2013
Copyright © CodeProject, 1999-2015
All Rights Reserved. Terms of Service
Layout: fixed | fluid

CodeProject, 503-250 Ferrand Drive Toronto Ontario, M3C 3G8 Canada +1 416-849-8900 x 100