Click here to Skip to main content
Rate this: bad
good
Please Sign up or sign in to vote.
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 7-Feb-13 10:26am
Rate this: bad
good
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
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 ?
  Permalink  
Comments
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
 
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 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
good
Please Sign up or sign in to vote.

Solution 1

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
  Permalink  
v2
Comments
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
good
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?
 
Gianluca
  Permalink  
Comments
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)

  Print Answers RSS
0 OriginalGriff 245
1 Jochen Arndt 155
2 PIEBALDconsult 150
3 Afzaal Ahmad Zeeshan 120
4 DamithSL 115
0 OriginalGriff 5,695
1 DamithSL 4,591
2 Maciej Los 4,012
3 Kornfeld Eliyahu Peter 3,480
4 Sergey Alexandrovich Kryukov 3,190


Advertise | Privacy | Mobile
Web02 | 2.8.141220.1 | Last Updated 7 Feb 2013
Copyright © CodeProject, 1999-2014
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