E-logger | Manualer | Forum
Loggerforum - supportforum
2024-03-28 11:48 *
Välkommen Gäst. Var snäll och logga in eller registrera dig som ny medlem.

Logga in med användarnamn, lösenord och önskad sessionslängd
 
   Forum   Hjälp Sök Logga in Registrera  
Sidor: [1]
  Skriv ut  
Författare Ämne: L3030 - ta emot HTTP-anrop från Python/wget- Rasberry Pi.  (läst 3189 gånger)
Peosn
Medlem

Antal inlägg: 126


Visa profil
« skrivet: 2018-08-16 15:29 »

Hej!

Har en fråga om http-anrop från en Rasberry Pi.

Jag har ingen som helst erfarenhet av Rasberry eller någon annan Linuxdator, så detta är helt nytt för mig.

Det finns ju några exempel i manualen till L3030 hur man skickar anrop till Logger 3030, både från PC och Linux.

Har gjort lite tester, dels med att skicka anrop från en webbläsare i Windows och även från ett Terminalfönster i Linux på Rasberry Pi datorn och det fungerar bra, får önskad text i den externa OLED-displayen.

En ide jag har är att i den externa displayen visa prognos för temp, vind och nederbörd för något dygn framåt, varvat med infon från anslutna utvalda givare.

Har kollat runt lite och det finns många programexempel i Python hur man ska få till det. Men innan jag bestämde mig för programspråket Python så ville jag testa om det går att skicka anrop från Python till L3030.

Exemplet ” wget "http://192.168.1.66?rel1=0" -q -S -O - 2>&1” från manualen fungerar bra i Terminalfönster, om man ändrar till min Loggers ip men inte i Python. Jag har kört ”import wget” så wget funkar i Python. Har testat att hämta en mp3-fil från internet. Det kanske bara är att stuva om lite i URL strängen eller lägga till/ta bort någon info i den.

Så innan jag kollar vidare på detta så vill jag fråga om du Andreas har testat detta med att skicka anrop från Python/wget eller om du tror det ska gå. Om du testat detta eller någon annan på forumet så skulle ett anropsexempel som funkar i Python vara en stor hjälp för mig.

Det går ju att köra ett annat programspråk istället eller ett Linux script men att jag vill hålla mig till Python är ju för att det finns många exempel på nätet att kolla på och det går ju att klipp o klistra också…
 
/Peo
« Senast ändrad: 2018-08-16 15:32 av Peosn » Loggat
Andreas
Administrator
*****
Antal inlägg: 4044


Visa profil
« Svara #1 skrivet: 2018-08-17 08:47 »

Hej!

Hur ser din specifika Python-rad ut med anropet?

Det skall fungera oavsett vad du använder för programspråk. Antagligen handlar det om att citationstecknena inte går igenom, när de hamnar inuti en sträng behövs omvända snedstreck (backslashar) innan för att de inte skall tolkas som text utan skickas vidare. Dvs. "wget \"http://192.168.1.66?rel1=0\" -q -S -O - 2>&1"
Loggat

Läs igenom manualen och sök efter svar i forumet innan du frågar. Ställ dina frågor i forumet, vi ger ej personlig support. Obs! Regel 2: dålig stämning = avstängning, i detta forum är vi hjälpsamma och trevliga!
Peosn
Medlem

Antal inlägg: 126


Visa profil
« Svara #2 skrivet: 2018-08-19 20:35 »

Hej!

Det var nog inte citationstecknen som krånglade för mig, men tack ändå för svaret. Det hjälpte till ändå....
 

Det verkar som att ”Wget” i Linux och den version som man har i Python inte vill ha information presenterade för sig på riktigt samma sätt.
De exempel som är i L3030 manualen fungerar perfekt i Linux men inte direkt i ”Pythons wget” som man installerar med ” sudo apt-get install python3-pip”, ” sudo pip3 install wget”.

Exempel att styra en trådlös utgång från Linux, som fungerar.
raspberrypi:~ $ wget "http://192.168.0.101?rsw1=1" -q -S -O - 2>&1
successpi@raspberrypi:~ $ wget "http://192.168.0.101?rsw1=0" -q -S -O - 2>&1
successpi@raspberrypi:~ $

Ska man använda wget.py i ”Python Shell” så måste man skriva ”wget.någonting(…….), (val ”promtas” efter det att man tryckt ”.”). Med detta sätt så går det skicka ”begäran” till L3030, lite röda utskrifter fick jag men det finns säkert lösningar på det.


Men så finns det ytterligare ett ”wget sätt” som fungerar utan några varningar med de exempel som finns i med i L3030 manualen

I stället för ”import wget” så körde jag ”Import os” och då vekar det som man anropar den ”wget version” som är med i Linux för Rasberryn, tror jag.
Exempel:

import os
os.system('wget "http://192.168.0.101?rsw1=1" -q -s -o - 2>&1')

Verkar funka jättebra bra, har provat att skicka olika begäran att styra utgångar och även att skicka text till ”Extern display”

Lite luddigt skrivit, men jag är helt "grön" på Rasberry och Linux....  Leende (smiley)

Spännande detta med att L3030 har den möjligheten att ta emot ”http anrop”.

/Peo
« Senast ändrad: 2018-08-19 20:41 av Peosn » Loggat
Sidor: [1]
  Skriv ut  
 
Gå till:  

Drivs med MySQL Drivs med PHP Powered by SMF 1.1.21 | SMF © 2011, Simple Machines Giltig XHTML 1.0! Giltig CSS!