Quality RTOS & Embedded Software

 Real time embedded FreeRTOS RSS feed 
Quick Start Supported MCUs PDF Books Trace Tools Ecosystem TCP & FAT




Loading

exchanging data between HTTP server and c

Posted by rasty1 on July 16, 2016

Hi, I'm trying to find information regarding interface between HTTP server and c. I was searching source code for CGI, but did not find anything. Is there any example or documenation? I need to read data (string, numeric) from form and put results back.

Thanks Rasty


exchanging data between HTTP server and c

Posted by rtel on July 16, 2016

You can do this using AJAX. See http://www.w3schools.com/ajax/


exchanging data between HTTP server and c

Posted by rasty1 on July 16, 2016

I'd appreciate any example that we can follow.


exchanging data between HTTP server and c

Posted by rasty1 on July 16, 2016

I googled internet for AJAX and FreeRTOS and did not find anything usable. There is simple example that shows dynamic change of page from local file, which is nice, but how to exchange data with run-time, not via files?


exchanging data between HTTP server and c

Posted by heinbali01 on July 16, 2016

The HTTP server as it is currently, doesn't have any hooks yet to pass data to the application. But it would certainly be very useful.

The approach that I like is using JQuery, which is a library "on top of" JS and AJAX. The JQuery application in the browser will send requests to the embedded application in a form like this:

~~~~ /request?temperature=? /request?temperature=23.5 ~~~~

Or using JSON expressions:

~~~~ /request?add={"colour":"red","weight":1200} ~~~~

When loading pages, the browser sends GET commands. The above requests will also be sent as a GET. The difference is the question mark: if it is present the HTTP driver will no even attempt to search for a directory or file named "/request". In stead the string will be forwarded


exchanging data between HTTP server and c

Posted by rasty1 on July 17, 2016

" In stead the string will be forwarded" to ... ? I played a little bit with AJAX and lhttpd on Linux, it can pass strings (via CGI) to python script. What would be equivalent in FreeRTOS httpd?


exchanging data between HTTP server and c

Posted by heinbali01 on July 17, 2016

I played a little bit with AJAX and lhttpd on Linux, it can pass strings (via CGI) to python script.

Great. Maybe you can you record this communication by running WireShark? The you can see what HTTP commands are exchanged, literally.

What would be equivalent in FreeRTOS httpd?

For instance, like I described shortly here above.

I'm thinking of a callback that can be defined in the application:

~~~~ BaseTypet xHTTPApplicationHook( char *pcCommand, sizet uxMaxLength ) { } ~~~~

The function will check the command and write the reply into the same buffer.


exchanging data between HTTP server and c

Posted by rasty1 on July 17, 2016

Above is simple request, it starts python script and sends DIR command via python to the target. It is not ajax - I didn't managed to access form field from ajax - I'll finish ajax example in few days.

When do you think xHTTPApplicationHook will be available?

Attachments

http-python.pcapng (32000 bytes)

exchanging data between HTTP server and c

Posted by rasty1 on July 24, 2016

Hi, Everything works fine once I set correct gateway address. When do you think you will have application Hooks for Dymamic contents?

Best regards rasty


exchanging data between HTTP server and c

Posted by heinbali01 on July 24, 2016

Still on holiday, but I restart on the first of August. If you write me an email ( h point tibosch on freertos point org ), we'll make a setup for this and test it.

Regards, Hein


[ Back to the top ]    [ About FreeRTOS ]    [ Sitemap ]    [ ]




Copyright (C) Amazon Web Services, Inc. or its affiliates. All rights reserved.

Latest News

FreeRTOS kernel V10 is available for immediate download. Now MIT licensed.


FreeRTOS Partners

ARM Connected RTOS partner for all ARM microcontroller cores

IAR Partner

Microchip Premier RTOS Partner

RTOS partner of NXP for all NXP ARM microcontrollers

STMicro RTOS partner supporting ARM7, ARM Cortex-M3, ARM Cortex-M4 and ARM Cortex-M0

Texas Instruments MCU Developer Network RTOS partner for ARM and MSP430 microcontrollers

OpenRTOS and SafeRTOS