[Python] Python parameters naar PHP script voor upload in dB

Pagina: 1
Acties:

Acties:
  • 0 Henk 'm!

  • NielsTn
  • Registratie: December 2006
  • Laatst online: 09:52
Ik ben druk bezig om van een aantal sensoren de data automatisch in een (MySQL) database by mijn provider te laden.
Inmiddels is het mij gelukt:
* sensoren uit te lezen;
* een PHP script te schrijven die de upload naar de database regelt (syntax: update_temp.php?temp1=23.32&temp2=45.19 ....etc. naar 7 sensoren). Het handmatig starten in de browser van deze regel resulteert in het opslaan in de database. Echter vanuit Python lukt het mij (nog) niet, ondanks de nodige fora en internet-zoekacties.

Wie heeft iets meer inzicht?
Ja ik weet dat je ook vanuit Python rechtstreeks naar de database kan, maar vooralsnog volstaat dit (Python --> PHP script --> database).

In feite volstaat een oplossing in het samenstellen van de regel (www.website.com/AddData.php?temp1=23&temp2=34), maar hoe dan ook: het is mij nog niet gelukt.

Tesla Model 3 LR DualMotor - AP & FSD | 4800Wp solar panels | 11.4GJ thermal solar panels


Acties:
  • 0 Henk 'm!

  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 12:04

Creepy

Tactical Espionage Splatterer

Maar wat heb je dan qua Python code al geprobeerd om zo'n URL aan te roepen?

"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney


Acties:
  • 0 Henk 'm!

  • NielsTn
  • Registratie: December 2006
  • Laatst online: 09:52
De meetwaarden staan in een string gereed.
Heb oa vanuit python getracht eea te realiseren met oa deze links (slechts een selectie van wat ik op internet zoal tegen kwam)
http://iada.nl/blog/artik...oring-met-de-raspberry-pi
https://www.tweaking4all....duino-ethernet-data-push/

Ja ik weet arduino andere hardware is :)

Tesla Model 3 LR DualMotor - AP & FSD | 4800Wp solar panels | 11.4GJ thermal solar panels


Acties:
  • 0 Henk 'm!

  • Ramon
  • Registratie: Juli 2000
  • Laatst online: 11:22
Begrijp niet helemaal goed wat je wil, maar het lijkt erop dat je met Python het php script wil aanroepen?

In dat geval zou je eens kunnen kijken naar de requests library: http://docs.python-requests.org/en/master/ , een hele makkelijke manier om met http te werken.

Check mijn V&A ads: https://tweakers.net/aanbod/user/9258/


Acties:
  • 0 Henk 'm!

  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 12:04

Creepy

Tactical Espionage Splatterer

Dus effectief heb je nog 0 regels Python geschreven om de URL aan te roepen? Door alleen al "Python" en "URL" in google te gooien kom ik best wel een flink aantal links met informatie tegen. Zat daar bij jou niks bruikbaars tussen?

"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney


Acties:
  • 0 Henk 'm!

  • NielsTn
  • Registratie: December 2006
  • Laatst online: 09:52
Ho ho, ben al enige tijd (lees: weken) bezig.
Als ik op de webbrowser de add-data aanroep met data/parameters, komen ze in de dB terecht.
Nu echter deze parameters via python wil t niet lukken. Zal even kijken welke relevante code ik kan delen.

Tesla Model 3 LR DualMotor - AP & FSD | 4800Wp solar panels | 11.4GJ thermal solar panels


Acties:
  • 0 Henk 'm!

  • Drawer
  • Registratie: November 2004
  • Niet online
Laat eens zien wat je nu al hebt inderdaad.

Ik denk dat je met wat basic Python concatenation voor de url en met Python's Requests al een heel eind moet kunnen komen.

Acties:
  • 0 Henk 'm!

  • NielsTn
  • Registratie: December 2006
  • Laatst online: 09:52
okay, even wat aanvullende details.
Ik gebruik Python op de Raspberry met als versie 2.7.9 (default by Raspbian meegeleverd).

mijn script heeft reeds als import de volgende libraries/add-ons:
import urllib
import urllib2
import requests
import httplib

doel is dus dat de Pi een http-request afschiet in het formaat
<padopwebsite>\add-data.php?temp1=12&temp2=34
het add-data.php script werkt al, als ik handmatig dus dit copy-paste-enter. Dan staat in no-time de data in de MySQL dB.

Python:
1
2
3
4
5
6
7
8
 AddData='https:<pad-naarmijn-site/add_data.php'
        values = {"?temp1=",temp1,"&temp2=",temp2,"&temp3=",temp3,"&temp4=",temp4,"&temp5=",temp5,"&temp6=",temp6,"&temp7=",temp7}
        #header = {"User-Agent":"Mozilla/4.0 (compatible; MSIE 5.5; Windows NT)"}
        #values = urllib.urlencode(values)
        #request = urllib2.Request(url, values, header)
        #response = urllib2.urlopen(request)
        #html_content=response.read()
        r = requests.post('https<pad naar website>add_data.php?', data=values)


FYI, de '#' zijn nu zo dat eea uitgecommentarieerd is, maar is dus een hoeveelheid zoek/googlewerk wat ik in tussentijd geprobeerd heb.

[ Voor 3% gewijzigd door NielsTn op 31-03-2017 22:48 ]

Tesla Model 3 LR DualMotor - AP & FSD | 4800Wp solar panels | 11.4GJ thermal solar panels


Acties:
  • +1 Henk 'm!

  • Daedalus
  • Registratie: Mei 2002
  • Niet online

Daedalus

Moderator Apple Talk

Keep tryin'

Al die imports heb je niet nodig, alleen requests is voldoende. Voor requests: zie Passing Parameters In URLs voor meer informatie :)

“You know what I've noticed Hobbes? Things don't bug you if you don't think about them. So from now on, I simply won't think about anything I don't like, and I'll be happy all the time!” | 宇多田ヒカル \o/


Acties:
  • +1 Henk 'm!

  • Ramon
  • Registratie: Juli 2000
  • Laatst online: 11:22
Weet je zeker dat je ontvangende PHP script een POST wil en geen GET?

Check mijn V&A ads: https://tweakers.net/aanbod/user/9258/


Acties:
  • 0 Henk 'm!

  • NielsTn
  • Registratie: December 2006
  • Laatst online: 09:52
@Ramon, daar zat inderdaad de clou in... ik dacht... k zal het veranderen!
resultaat is nu up-en-running (qua datacollectie in db),

soms zit je zo dicht bij een oplossing... thanks!

[ Voor 34% gewijzigd door NielsTn op 31-03-2017 23:04 ]

Tesla Model 3 LR DualMotor - AP & FSD | 4800Wp solar panels | 11.4GJ thermal solar panels

Pagina: 1