Parameterar mellan PHP och ett C-program på RPi

Trädvy Permalänk
Medlem
Plats
Dalarna
Registrerad
Apr 2016

Parameterar mellan PHP och ett C-program på RPi

Hej!
Jag har fått Apache och PHP att funka på min RPi3 samt skrivit PHP kod som i sin tur aktiverar ett C-program. Bra så långt. PHP-programmet använder shell_exec("...."). Nu till frågan: Hur skicka parametrar från PHP till C-programmet?
Jag är ju total novis på PHP men nog kan jag nog sätta ihop strängar i PHP så jag kan få shell_exec att likna "MittCProgram Param1 Param2". Räcker det?
Blir det mer params, ska man gå via en fil då tro? typ shell_exec("MittCProgram /home/pi/paramfil.txt");
Det är inga stora mängder data och väldigt sällan det ska skickas....btw.

Tacksam för lite tips.

Trädvy Permalänk
Medlem
Plats
Järfälla
Registrerad
Jan 2004
Trädvy Permalänk
Medlem
Plats
Dalarna
Registrerad
Apr 2016

Ja, exakt. Jag tänkte också på dessa parametrar som main hanterar! De bör ju kunna fungera som pipe? De bör ju gå att använda från PHP...måste testa på måndag!

Trädvy Permalänk
Medlem
Plats
Dalarna
Registrerad
Apr 2016

TIllägg: Det fungerade utmärkt och skicka params från PHP till C-programmet. Nu sliter jag med att få data andra vägen...

Trädvy Permalänk
Medlem
Plats
Järfälla
Registrerad
Jan 2004

Okej, berätta lite mer annars.

Är C-programmet något som ligger och kör i bakgrunden eller ska det startas och köras av PHP applikationen? shell_exec returnerar outputet från programmet som en sträng. http://php.net/manual/en/function.shell-exec.php

Trädvy Permalänk
Medlem
Plats
Dalarna
Registrerad
Apr 2016
Skrivet av trexake:

Okej, berätta lite mer annars.

Är C-programmet något som ligger och kör i bakgrunden eller ska det startas och köras av PHP applikationen? shell_exec returnerar outputet från programmet som en sträng. http://php.net/manual/en/function.shell-exec.php

Bra tips igen!
Det finns en daemon som ligger o scannar CAN-bussen och loggar ner allt till fil. Den behöver så vitt jag kan se nu ingen styrning mer än att avbryta den (måste läsa på om det...).
Sen har du rätt i det andra. PHP anropar små program som skriver till CAN och som sen får svar från "CAN-klienterna" och ska förmedla det till användaren på "hemsidan". Sen avslutas programmet. Operatören läser vad som står på sidan och gör en ytterligare "action" och aktiverar annat program - som kan ex.vis vara "ladda ner log.listan".
Det är just detta förmedlandet från C-programmet till PHP-scriptet och sen vidare till operatören som är mitt problem nu.

Detaljer.
Just nu har ett C-program som ligger o snurrar och skriver till en fil (en rad) och som PHP-scriptet läser och som kör ECHO+flush för att förmedla vad som C-programmet säger. Det är mer för att jag ska lära mig hur en dynamisk komm från C->PHP ska fungera...