Hop til indhold

Udlæse værdier fra IHC til php


Recommended Posts

Tak Lars, den var forresten god inspiration da jeg rodede med PHP og curl.Der er også denne tråd: http://www.ihc-user.dk/forum/teknik/12709-kommunikation-mod-websceneview-losning-i-phpNu skal jeg bare have lavet det så den hver time udlæser sidste times elforbrug og indsætter det i en database, så jeg kan lave grafer og meget mere!!

Link til kommentar
Del på andre sites

Det er måske lidt "off tipic" men jeg vil da gerne "prale" lidt :) Eksempel på data opsamlet af min Arduino, overført via http post til SQL server vha php, og vist vha noget flash haløj:Seneste time:http://87.58.116.68:8080/sensor1.htmlSeneste 24 timer:http://87.58.116.68:8080/sensor1-24.htmlpt 9 sensorer i drift.

Link til kommentar
Del på andre sites

Nu startede det hele med Bullerjas php projekt, der brugte nogen PECL extensions, som min Synology NAS server bare overhovedet ikke kunne lide at lege med.:evil: Men Curl er en standard funktion i PHP, så det var jo bare at komme igang...Synes ikke jeg har set noget om Arduino tidligere.. nogen links?

Link til kommentar
Del på andre sites

Ja det er da også pokers at alle de hardwareproducneter ikke kan blive enige om at anvende samme de teknologier.Jeg overvejede også flere muligheder,bla. www.liab.dk men efter at have læst disse artikler: http://www.altomdata.dk/arduino_programmering_af_hjemmeelektronik_del_1http://www.altomdata.dk/arduino_programmering_af_hjemmeelektronik_del_2http://www.altomdata.dk/arduino_programmering_af_hjemmeelektronik_del_3endte det med Arduino da den er simpel, globalt anvendt/anerkendt og meget billig (under. kr. 200,-).http://www.let-elektronik.dk/Og der er nærmes uanede muligheder for at interface med den.Nå men en Google søgning på Arduino giver 2.7 millioner hits så der er lidt at gå igang med ;) Et godt sted at starte er:www.arduino.cchttp://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?board=scandinavia

Link til kommentar
Del på andre sites

Tak :) Ja det har nu ikke meget med IHC at gøre, men jeg tror nu de fleste af os herinde er lidt teknik nørder, som syntes det er interessant.Nu mangler jeg bare at få præsenteret de aktuelle/live data ovenpå min tegning de rigtige steder, istedet for denne tabelform:http://87.58.116.68:8080/varme.php

Link til kommentar
Del på andre sites

Man kan altid få dimser nok... Jeg har ikke behov for flere tekniske dimser, der skal køre... Mit elforbrug er rigeligt over normen... Jeg har IHC og en Webserver(her en Synology NAS) og det bør være nok... :silly: så nu er det bare igang med at få genereret nogen data, som er brugbare, og så få dem hentet ud...

Link til kommentar
Del på andre sites

  • 1 year later...

Hejsa og bump til en 1 år gammel tråd :)Så blev det min tur til at starte med at forsøge at trække data ud af IHC'en, og jeg har været super glad for det arbejde som allerede er blevet udført :)Jeg har dog tilladt mig at forbedre det allerede udviklede script en lille smule.Så hvis der er nogle der bruger den oprindelige kode, kunne det måske være værd at overveje at prøve denne opdatering, følgende ting er forbedret:- Udlæsnings hastigheden er kraftigt forbedret, iom. at der ikke spørges enkeltvis efter hver elementid's egen Details.ijp webside. Men derimod behandles Textplan.ijp's xml out hvori alle data er tilgængelige (dette forventer jeg belaster IHC controlleren væsentligt mindre).- Det er nu IKKE nødvendigt at hardcode et ARRAY, med hvilke elements der skal udlæses, klares automatisk via tjek af antal elements i XML output fil.- og til sidst er hele data output'et blevet formateret til JSON output som gør det nemt at videre behandle data'en.Derved er der nu kun et sted man skal oprette sin "primary key" for data'erne, og det er på navnet i Webscenen, således er det nemt at tilføje og fjerne elements i webscenen, uden at skulle opdatere sit "ihc->php" output script.Jeg håber der er nogen der kan bruge forbedringerne, eller komme med yderligere forbedrings forslag./Worm

ihc.zip

Link til kommentar
Del på andre sites

  • 5 weeks later...

Jo det kan gode lade sig, det vil blot kræve en yderligere IF/ELSE tjek.Jeg er bare ikke selv kommet rigtigt meget videre siden jeg lavede dette, så jeg har ikke fået begyndt at proppe dataen i databaser endnu. Til at starte med bliver det bare til en mysql men på sigt skal det over i RRD filer når jeg finder ud af at få installeret RRD på min NAS.Jeg har lige forsøgt at rette i ny_scenefil.php, dette er ikke testet, så du må lige prøve dig frem.Hvis du erstatter linie 85 med nedenstående "tror" jeg måske det virker, php er ikke mit stækeste... // Denne if er for at rette output fra at være on/off til at være 1/0 if($between1[0] = 'on') { echo '1'; } if($between1[0] = 'off') { echo '0'; } if ($between1[0] <> 'on' and $between1[0] <> 'off') { echo $between1[0]; }

Link til kommentar
Del på andre sites

Jo det kan gode lade sig' date=' det vil blot kræve en yderligere IF/ELSE tjek.Jeg er bare ikke selv kommet rigtigt meget videre siden jeg lavede dette, så jeg har ikke fået begyndt at proppe dataen i databaser endnu. Til at starte med bliver det bare til en mysql men på sigt skal det over i RRD filer når jeg finder ud af at få installeret RRD på min NAS.Jeg har lige forsøgt at rette i ny_scenefil.php, dette er ikke testet, så du må lige prøve dig frem.Hvis du erstatter linie 85 med nedenstående "tror" jeg måske det virker, php er ikke mit stækeste... // Denne if er for at rette output fra at være on/off til at være 1/0 if($between1[0'] = 'on') { echo '1'; } if($between1[0] = 'off') { echo '0'; } if ($between1[0] <> 'on' and $between1[0] <> 'off') { echo $between1[0]; }
Bruger ikke dit script.Men kan da hurtigt se, at den er gal med syntaxen :)Prøv dette istedet:
if($between1[0] == 'on'){  echo '1';}if($between1[0] == 'off'){  echo '0';}if ($between1[0] != 'on' && $between1[0] != 'off'){  echo $between1[0];} 

Link til kommentar
Del på andre sites

Hej er ikke den store php nørd. Er der nogen der kan fortælle hvorfor den skriver :Warning: tempnam(): SAFE MODE Restriction in effect. The script whose uid is 500 is not allowed to access /tmp owned by uid 0 in /home/virtual/henriksen.in/public_html/ihc/ny_scenefil.php on line 16 Warning: curl_setopt(): open_basedir restriction in effect. File() is not within the allowed path(s): (/home/virtual/henriksen.in:/home/virtual/_tmp/henriksen.in) in /home/virtual/henriksen.in/public_html/ihc/ny_scenefil.php on line 21 Warning: curl_setopt(): open_basedir restriction in effect. File() is not within the allowed path(s): (/home/virtual/henriksen.in:/home/virtual/_tmp/henriksen.in) in /home/virtual/henriksen.in/public_html/ihc/ny_scenefil.php on line 22 Warning: curl_setopt(): open_basedir restriction in effect. File() is not within the allowed path(s): (/home/virtual/henriksen.in:/home/virtual/_tmp/henriksen.in) in /home/virtual/henriksen.in/public_html/ihc/ny_scenefil.php on line 35 Warning: curl_setopt(): open_basedir restriction in effect. File() is not within the allowed path(s): (/home/virtual/henriksen.in:/home/virtual/_tmp/henriksen.in) in /home/virtual/henriksen.in/public_html/ihc/ny_scenefil.php on line 36 {"Sceneid":1,"values":[]}lige meget hvilken en af de php versioner jeg lægger op på mit webhotel?mvh Allan

Link til kommentar
Del på andre sites

  • 1 year later...

[attachment=1319]ihc-til-php.zip[/attachment]Så skulle der være dokumentation

Nu er jeg gået i gang med Martins ihc-til-php, og forsøger at følge readme filen, men er gået i stå, på grund af for lidt kendskab til de beskrevne teknologier

Håber der er nogen der kan guide mig

Der står:

- Opret et websceneview med visning af de/den værdi/værdier som du ønsker at udlæse.

Check!

- Log ind på webscene view og noter hvilket sceneid dit oprettede scene har.

  Noter desuden hvilke id, de forskellige værdier har.

Check!

 

- Opret database og tabel i MySQL. Se database dump eksempel: elmaaler.sql

Har installeret WampServer, men har ingen ide om hvordan jeg udfører dette punkt

 

- Kopier phpfiler til webserver, behold filstruktur. 

Som jeg har læst mig frem til skal de kopieres til www mappen, under WampServer, er det korrekt?

 

- Tilret ihc/sql.php

Hvad skal der stå i de login oplysninger?

- Tilret ihc/ihcinputvaluesindb.php

Her er det vel kun de første 4 linier der skal tilrettes?

- Kald  ihc/ihcinputvaluesindb.php i din webbrowser.

Ja, så langt er jeg jo ikke kommet endnu :(

   Du vil nu se de udlæste værdier på hver sin linie i browseren.

  Du vil desuden kunne se værdierne i din database.

 

Eksempel på datavisning

I IHC-visual opbygges et program der læser antal pulser og for hver 5 minutter sætter et antal pulser på en tæller, som vises på websceneview.

sæt din webserver op til at kalde ihc/ihcinputvaluesindb.php for hvert 5 minut.

- Kald elmaaleryesterday.php i din browser, og du vil se dit elforbrug pr. time. for dagen i går. Incl. totalforbrug for dagen.

Link til kommentar
Del på andre sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Gæst
Svar på dette emne...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loader...
 Share

×
×
  • Tilføj...

Important Information

Privatlivspolitik og We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.

1200x630bb.png

ok