rasProject_01 / weSweetHome
R. 240
process control / RasPi software by weinert-automation
|
A CGI program to co-operate with hometerControl. More...
Functions | |
int | main (int argc, char **argv) |
The program. More... | |
Variables | |
char const | prgNamPure [] |
The pure program name. More... | |
char const | prgSVNdat [] |
The complete SVN date string. More... | |
char const | prgSVNrev [] |
The complete SVN revision string. More... | |
A CGI program to co-operate with hometerControl.
Revision history
Client functions
This program gets values from hometersControl via shared memory synchronised with a set of semaphores:
sem # 0: exclusive lock of shared memory (for the shortest time possible !)
sem # 1: signal from from hometersControl to other program
sem # 2: signal from from hometersControl to this program (meteRead)
Under the same semaphore (#0) lock it may set command codes in the shared memory according to the query string. A query will usually be part of the request when buttons were pressed in the web page.
GCI server functions
This program's output (i.e. AJAX answer) are physical readings, status values and times as JSON object, leaving selection of values and their display to the HTML page respectively its Javascript code.
In the JSON object's text delivered all numerical values (int, float) are put as strings in appropriate form and precision. The rationale is to avoid auto parsing of data, all or most of which will probably be formatted (back to text) to be put in the web page. And, alas, formatting is not Javascript's strong point, while parsing a string to a number would not be a problem, if a number is needed.
GCI back-link – command by query
This program evaluates a query string parameter command=command. command (2nd) = startPump | stopPump etc. see sweetHome.h and cmdLookUp.
Library usage
The program uses the library (lib...): pthread
Build the program
cross-compile by:
program by:
due to bugs in c make use winscp directly by entering the command displayed
load the matching html page by:
due to bugs in c make use winscp directly by entering the command displayed:
for the css use:
int main | ( | int | argc, |
char ** | argv | ||
) |
The program.
Run by (Apache) web server as (cgi) script with optional (query string) parameters.
char const prgNamPure[] |
The pure program name.
To be provided in the application's / program's source.
char const prgSVNrev[] |
The complete SVN revision string.
To be provided in the application's / program's source.
char const prgSVNdat[] |
The complete SVN date string.
To be provided in the application's / program's source.