script

C, C++, Pascal, Assembly, Raspberry, Java, Matlab, Python, BASIC, SQL, PHP, etc.
elfrida
Inlägg: 3
Blev medlem: 19 januari 2023, 11:44:11

script

Inlägg av elfrida »

Jag försöker att göra ett enkelt script till Raspberry pi men lyckas inte. Jag behöver ett script som startar lxterminal och sedan mitt program. Jag skall köra scriptet vid uppstart m h a crontab. Är det någon som kan?
svanted
Inlägg: 5082
Blev medlem: 30 augusti 2010, 21:20:38
Ort: Umeå

Re: script

Inlägg av svanted »

om det ska starta vid uppstart skriver du in kommandon sist i /etc/rc.local
samma som du skriver i terminalen fast med hela sökvägen till exefilen.

googla på "autostart raspberry pi rc.local"
Användarvisningsbild
pi314
Inlägg: 5748
Blev medlem: 23 oktober 2021, 19:22:37
Ort: Stockholm

Re: script

Inlägg av pi314 »

Vid uppstart eller crontab?
Vid uppstart och crontab är olika saker.
Vid uppstart betyder en gång i samband med uppstart.
crontab är tänkt för att utföra något på förutbestämda datum eller kolckslag, gärna med upprepning, t.ex. ett visst klockslag varje dag eller vissa dagar.

/Pi
guckrum
Inlägg: 1683
Blev medlem: 19 juni 2012, 09:04:27
Ort: Lund

Re: script

Inlägg av guckrum »

Vill du verkligen starta en terminalemulator först? Jag gissar att du bara vill att ditt program skall köra?
elfrida
Inlägg: 3
Blev medlem: 19 januari 2023, 11:44:11

Re: script

Inlägg av elfrida »

Tack alla !
Jag har försökt i flera timmar med rc.local. Jag får det inte att fungera.
Jag har följande i crontab: @reboot /home/pi/stugan.sh. Det är stugan.sh jag vill ha hjälp med

Jag har testat följande utan framgång:
command = "xterm -e"
command = "cd /home/pi/stugan/Release"
command = "./stugan"

Och ja jag har gjort ett program i C som jag vill starta i terminal

Jag har haft följande i /etc/xdg/lxsession/LXDE/autostart:
@lxpanel --profile LXDE-pi
@pcmanfm --desktop --profile LXDE-pi
@xscreensaver -no-splash
@lxterminal --command "/home/pi/stugan/bin/Release/./stugan"
point-rpi

Då startade programmet i två upplagor men bara i ett terminalfönster. Jag fick mystiska fel som det tog dagar att hitta.

Jag har skrivit programmet i codeblocks och när jag kör det därifrån skickas följande kommando:
Executing: xterm -T stugan -e /usr/bin/cb_console_runner LD_LIBRARY_PATH=$LD_LIBRARY_PATH:. /home/pi/stugan/bin/Release/stugan (in /home/pi/stugan/.)
guckrum
Inlägg: 1683
Blev medlem: 19 juni 2012, 09:04:27
Ort: Lund

Re: script

Inlägg av guckrum »

Man kan inte starta en x-applikation (som xterm) utan att det
finns en DISPLAY att ansluta till. Och det finns det inte om du
inte specifikt anger det när du startar via tex crontab.
brrmek
Inlägg: 51
Blev medlem: 26 maj 2012, 23:27:37
Ort: Ursviken

Re: script

Inlägg av brrmek »

Vad ska hända när skriptet körs? Kanske du kan göra ett shellskript istället som exekverar utan xterminal?
elfrida
Inlägg: 3
Blev medlem: 19 januari 2023, 11:44:11

Re: script

Inlägg av elfrida »

Jag har i 20 års tid kört ett program i en Windowsdator som mäter och styr värmen i huset och reglerar mina solpaneler. Nu vill jag göra detta i en Rasperry pi.
Fördelen med detta är att den skall starta automatiskt efter ett strömavbrott. Om den inmte startar är det risk att solpanelerna förstörs.

Jag vill alltså starta programmet, och helst på skärmen se vad som händer i realtid. Jag är öppen för alla lösningar som fungerar. Det var tydligen inte så lätt som jag trodde

Jag har alltid både tangentbord, mus och display anslutna.
guckrum
Inlägg: 1683
Blev medlem: 19 juni 2012, 09:04:27
Ort: Lund

Re: script

Inlägg av guckrum »

Hur visualiserar du vad som händer? Via X eller text?

Rekommendationen är annars, speciellt för kritiska saker,
att hålla isär funktionen och visualiseringen. Se till att
ditt "kritiska" program kör, och ha sedan ett annat som
man kan följa vad den gör. Kanske handlar det bara
om att skriva och läsa en textfil?

Är det riktigt viktigt att din applikation kör i alla lägen
och startar om vid krasch osv, så rekommenderar jag
DJ Bernsteins DaemonTools, men det är kanske lite
overkill för detta.

https://cr.yp.to/daemontools.html
agehall
Inlägg: 424
Blev medlem: 12 augusti 2020, 19:27:54

Re: script

Inlägg av agehall »

Jag skulle rekommendera att du tittar på homeassistant istället. Det borde kunna lösa alla dina behov och är ganska enkelt för linux-ovana att jobba med.
MiaM
Inlägg: 9961
Blev medlem: 6 maj 2009, 22:19:19

Re: script

Inlägg av MiaM »

Annars om du absolut vill ha en X-applikation autostartad så får du leta reda på var X i sig startas bland startscripten och där klämma in starten av programmet.

Miljövariablen DISPLAY måste peka på X-servern, och idag så måste man också ha nån slags magigrej (tror det normalt bor i ytterligare en miljövariabel) för att få ansluta till servern. På stenåldern kunde alla ansluta, inklusive hackers från andra datorer som kunde avlyssna tangentbord+mus och liknande elände, därav den där magigrejen. Dock om X-servern först startas och därefter fönsterhanterare osv från ett script så bör allt detta redan vara korrekt satt i det scriptet eftersom det måste vara korrekt för att fönsterhanterare osv ska kunna startas, så tryck in dina grejer i slutet på det scriptet. Eller helst, se om scriptet har stöd för att autostarta et användarscript och lägg saker där i så fall, så är det större chans att allt funkar efter ev uppdatering av operativsystemet.
Användarvisningsbild
AndLi
Inlägg: 17098
Blev medlem: 11 februari 2004, 18:17:59
Ort: Knivsta
Kontakt:

Re: script

Inlägg av AndLi »

elfrida skrev: 20 januari 2023, 10:21:40 Om den inmte startar är det risk att solpanelerna förstörs..
Är verkligen ett skript i ett gui på en rpi4 rätt ställe att köra så mission critical kod?
Användarvisningsbild
sodjan
EF Sponsor
Inlägg: 43176
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping
Kontakt:

Re: script

Inlägg av sodjan »

> Jag har i 20 års tid kört ett program i en Windowsdator...

Fortsätt med det, om det nu är en så väldigt kritisk funktion.
Användarvisningsbild
mrfrenzy
Co Admin
Inlägg: 14850
Blev medlem: 16 april 2006, 17:04:10

Re: script

Inlägg av mrfrenzy »

elfrida skrev: 20 januari 2023, 10:21:40 Fördelen med detta är att den skall starta automatiskt efter ett strömavbrott. Om den inmte startar är det risk att solpanelerna förstörs.
Hur är systemet uppbyggt? Är det alltså solpaneler som genererar varmvatten? Varför kan de gå sönder om inte styrsystemet fungerar, är det pga. överhettning eller frysrisk?
I första hand borde du ha en rent mekanisk enhet som skyddar, exempelvis en bimetalltermostat som styr en pump, eller en SYR-ventil som släpper ut varmvatten.
I andra hand skulle du kunna ha en enkel driftsäker PLC från exempelvis Siemens.

När väl det är klart och fungerar utan risk för några skador så kan man börja bygga ett HMI med raspberry pi, Windows eller något annat.
HMI-enheten kommunicerar med PLC för att göra inställningar och övervakning.
Nerre
Inlägg: 26695
Blev medlem: 19 maj 2008, 07:51:04
Ort: Upplands väsby

Re: script

Inlägg av Nerre »

Är det en X-applikation så fungerar det nog inte att starta den i de vanliga uppstartscripten just eftersom X-servern behöver vara igång för att den ska fungera.

Det är då vettigare att antingen låta X-servern starta applikationen istället för fönsterhanterare (men då har man ingen fönsterhanterare igång), eller låta fönsterhanteraren starta den.

Den senare lösningen körde jag på mina MythTV frontends, jag satt upp fönsterhanteraren med auto-login för användaren mythtv och vill minnas att den enklaste lösningen var att ställa in fönsterhanteraren så den startade en sparad session. (Minns inte vilken fönsterhanterare jag körde, det var nån enkelt med liten footprint.)

Det är ju relativt enkelt att skapa en separat användare för detta, som kan ha begränsad behörighet (som jag gjorde med användaren mythtv), auto-login går att sätta en fördröjning på så att man kan avbryta den och logga in som vanlig användare. Jag tror jag körde 3 sekunder eller nåt sånt.

En relativt stor fördel med denna lösning är att man slipper peta in en massa specialscript som man kanske glömmer bort var de ligger. Man konfigurerar bara fönsterhanteraren för autologin.
Skriv svar