Array naar python RPI sturen

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Robert v Ommen

Robert v Ommen

10/01/2014 12:09:05
Quote Anchor link
Goedendag,

ik heb weer een vraag over een stukje programmeerwerk waar ik niet uitkom. Het gaat denk ik om het stuk in PHP vandaar dat ik hem hier stel, maar een gedeelte is ook in Python op mijn Raspberry Pi.
Ik heb daar 10 temperatuursensoren op aangesloten en stuur deze naar een online PHP script welke ze dan weer in een mysql server plaatst. Het python programma krijgt een reactie van het PHP script en in deze reactie plaats ik parameter velden zodat ik deze parameters op de website kan wijzigen en deze daarna in de RPI geschreven worden. Ik hoef op deze manier geen portforwarding in mijn router toe te passen is mijn idee.
Deze parameter velden zet ik in een array mbv

$para[0] = $REGELING_ORG;
$para[1] = $VLVERWL_ORG;
$para[2] = $VLOERVRAAG_ORG;
$para[3] = $TIJDVLOER_ORG;
$para[4] = $SETPOINT_ORG;

echo $para;

de _ORG variabelen zijn dus waardes welke ook uit de mysql komen welke ik net gewijzigd heb via een ander PHP script.

De array komt als volgt in python aan:

para = result.read()


print para geeft dan: [null,null,null,null,null,"J"]

(dit is een test dus dat de velden null aangeven klopt)

Wanneer ik nu in python bijv. print para[1] doe krijg ik n, dus de tweede letter. Blijkt hieruit dat het geen array is wat ik binnenkrijg in python? Ik had namelijk null verwacht. Hoe zorg ik ervoor dat het wel een array is?

Alvast bedankt weer voor het meedenken en tips!

mvg Robert
Gewijzigd op 10/01/2014 12:13:30 door Robert v Ommen
 
PHP hulp

PHP hulp

22/12/2024 19:15:56
 
Erwin H

Erwin H

10/01/2014 12:20:20
Quote Anchor link
Datastructuren over zetten van de ene naar de andere taal is altijd lastig. Met php kan je in principe geen array versturen door middel van 'echo'. Volgens mij zou je dan alleen 'array()' als output moeten krijgen.
Verder weet ik persoonlijk ook niet hoe python de array binnen moet krijgen om het als array te kunnen gebruiken. Waar je naar kan kijken, mocht python het ondersteunen, is JSON. JSON is een gedefinieerd formaat om complexe datastructuren over te zetten tussen applicaties en wordt ondersteund door meerder talen. In feite is het gewoon een string die je moet interpreteren. In php zou je dan dit krijgen:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
echo json_encode( $para );
?>

Hoe je dat in python moet inlezen is mij echter niet bekend.
 
Robert v Ommen

Robert v Ommen

10/01/2014 12:52:39
Quote Anchor link
Hoi Erwin, dank je wel voor je reactie (weer!)

Ik ben ook met JSON bezig geweest en heb daarmee inderdaad ook de array over gekregen naar python. Het resultaat is echter hetzelfde in python.

Overigens wordt ook de data van python naar PHP met json gecodeerd.

mvg Robert
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.