[PHP/Pascal] Remote LEGO tank

Pagina: 1
Acties:
  • 165 views sinds 30-01-2008
  • Reageer

Onderwerpen


Acties:
  • 0 Henk 'm!

  • Mr GAmba
  • Registratie: Oktober 2003
  • Laatst online: 10-05-2021

Mr GAmba

Ondertitel unavailable

Topicstarter
Hoi,

Ik ben bezig met een project van mij om een LEGO tankje via het internet te kunnen besturen. Ik kan redelijk goed programeren in Pascal.

De bedoeling is om een PHP script te maken die een variable (integer) naar een poort van mijn pc stuurt. En een progje op mijn pc te maken die die variable uitleest en doorstuurt naar de parallelepoort.

Ik heb al wat gegoogled en heb deze site gevonden :
http://www.jawed.com/camera/

Er staat precies op wat ik zoek maar ik snap er geen biet van. Kan iemand mij misschien uitleggen hoe het precies werkt??

Van Lpt1 weet ik al wel hoe ik die aan moet sturen in Pascal maar ik weet niet hoe ik een poort moet uitlezen. En als ik het goed heb begrepen lijkt C++ en Pascal veel op elkaar.

Kan iemand mijn hiermee helpen of heeft zoiets al eens eerder gedaan??

Signature unavailable


Acties:
  • 0 Henk 'm!

  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 02:21

Janoz

Moderator Devschuur®

!litemod

In het voorbeeld wordt een socket gebruikt om verbinding te maken met het aanstuur apperaat. Ik heb geen ID hoe je dat in pascal zou implementeren (delphi heeft wel een tcp/ip stack, maar of turbo pascal of wat je ook maar mag gebruiken dat heeft weet ik niet). Er zijn echter ook andere manieren om gegevens van php in je pascal programma te krijgen. Je zou een bestandje kunnen maken die php volschrijft en pascal uitleest oid.

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


Acties:
  • 0 Henk 'm!

  • SchizoDuckie
  • Registratie: April 2001
  • Laatst online: 18-02 23:12

SchizoDuckie

Kwaak

Als je al goed kan pascal'en, stap dan over op Delphi :) Dat opent volgens mij gelijk wel een hoop meer mogelijkheden :)

Stop uploading passwords to Github!


Acties:
  • 0 Henk 'm!

Verwijderd

Mr GAmba schreef op 24 October 2003 @ 14:28:
Van Lpt1 weet ik al wel hoe ik die aan moet sturen in Pascal maar ik weet niet hoe ik een poort moet uitlezen. En als ik het goed heb begrepen lijkt C++ en Pascal veel op elkaar.
De Parallelle poort FAQ:
Verwijderd schreef op 24 September 2003 @ 15:41:
De status poorten kun je heel simpel uitlezen, ze zitten 1 adres verder dan de datapoorten. Het ligt er natuurlijk aan of je een heximaal of decimaal adres gebruikt, maar bij een decimaal adres zitten de datapinnen op 888. De statuspinnen zitten dan dus op, jawel, 889. Je krijgt dan een decimale waarde van de status poorten. Even een scriptje die deze omzet in een binaire waarde, en je weet de status van de pinnen.
Onderaan Hoe programmeer ik de Parallelle poort staan ook nog diverse linkjes voor het programmeren.

Nu ik toch met m'n eigen posts aan het gooien ben, [rml]Riffic in "[ HowTo] Stappenmotoren"[/rml] gaat over het maken van een robot met lego. Ook nog: [rml][ Mini HowTo] Lego![/rml] (die ik overigens niet meer bij heb gehouden, voor actuele informatie over het aansturen moet je dus in de Parallelle poort FAQ zijn.)

Het aansluiten van een (lego) motor op de Parallelle poort met behulp van een twee polig relais: http://www.theforumisdown.../polariteit-relais-v3.gif

Acties:
  • 0 Henk 'm!

  • Mr GAmba
  • Registratie: Oktober 2003
  • Laatst online: 10-05-2021

Mr GAmba

Ondertitel unavailable

Topicstarter
Bedankt Riffic voor de info. Maar zoals ik al zei de Tank kan ik al aansturen via een printje met 4 relais dat mijn neef ooit is heeft gemaakt op zijn school.

Het gaat mij alleen om het koppelen van een php script aan mijn pc programma.

Maar alvast bedankt.
Ow en Papa Eend, bedankt voor dat idee van Delphi daar zal ik me is wat verder in verdiepen.

Signature unavailable


Acties:
  • 0 Henk 'm!

  • Tomatoman
  • Registratie: November 2000
  • Laatst online: 20-09 19:38

Tomatoman

Fulltime prutser

Mr GAmba schreef op 24 October 2003 @ 21:39:
Ow en Papa Eend, bedankt voor dat idee van Delphi daar zal ik me is wat verder in verdiepen.
Delphi is pascal, maar dan 10 jaar nieuwer :). Borland Delphi is de Windowsvariant, Borland Kylix de Linuxversie. Beide werken ze met de programmeertaal Object Pascal, de objectgeoriënteerde versie van Pascal. Voor scholieren/studenten zijn goedkope studentenlicenties verkrijgbaar.

Een goede grap mag vrienden kosten.


Acties:
  • 0 Henk 'm!

  • Brothar
  • Registratie: Oktober 2000
  • Laatst online: 22-08 21:33

Brothar

meester

Delphi=pascal + DATABASE-functionaliteit.
Tussen Pascal 5.5 en Delphi 1.0 ( of was 2.0 de eerste delphi?) zit overigens slechts 2 jaar.
Ook Delphi 5.5, en Delphi for Windows waren al object-oriented.

En Papa-Eend heeft helemaal gelijk: in Delphi is het mogelijk, door simpel vervangen van een object, van een databasetoepassing een web/internet toepassing te maken (kijk maar 's onder Midas).
En nog leuker: van Delphi is trial-versie Delphi 7.0 te downloaden.
Die mag je volgens mij voor jouw privé/studie-project gebruiken !

eagle


Acties:
  • 0 Henk 'm!

  • Knutselsmurf
  • Registratie: December 2000
  • Laatst online: 20-09 22:57

Knutselsmurf

LED's make things better

Mr Gamba: Zowel op het gebied van poortaansturing als het gebruik van HTTP-poorten onder Delphi heb ik enige ervaring. Je kunt me wel specifieke vragen stellen ovven het een en ander. Mijn gegevens staan wel in mn profile. Voorwaarde is uiteraard dat je de resultaten hier beschikbaar stelt voor de search :)

- This line is intentionally left blank -


Acties:
  • 0 Henk 'm!

  • Tomatoman
  • Registratie: November 2000
  • Laatst online: 20-09 19:38

Tomatoman

Fulltime prutser

Brothar schreef op 25 oktober 2003 @ 03:37:
Delphi=pascal + DATABASE-functionaliteit.
Delphi is objectgeoriënteerd, dat is het grootste verschil met Pascal. Je hebt trouwens volledig gelijk dat er fantastische databasefunctionaliteit in zit.
Tussen Pascal 5.5 en Delphi 1.0 ( of was 2.0 de eerste delphi?) zit overigens slechts 2 jaar.
De eerste Delphiversie was 1, dat was de enige 16-bit versie (Windows 3.x). Alle Delphi-versies vanaf 2 zijn 32-bit (Windows 95 en nieuwer).
Ook Delphi 5.5, en Delphi for Windows waren al object-oriented.
Je bedoelt Turbo Pascal.
En Papa-Eend heeft helemaal gelijk: in Delphi is het mogelijk, door simpel vervangen van een object, van een databasetoepassing een web/internet toepassing te maken (kijk maar 's onder Midas).
En nog leuker: van Delphi is trial-versie Delphi 7.0 te downloaden.
Die mag je volgens mij voor jouw privé/studie-project gebruiken !
De trial-versie is slechts 30 dagen geldig, terwijl je voor een paar tientjes als student aan een studentenlicentie voor Delphi 7 Enterprise kunt komen. Van Kylix is een volledig gratis versie te downloaden (de Open Edition).

Voor database-functionaliteit heb je trouwens de Professional- of Enterpriseversie nodig. Voor beginners is de Standardversie meestal voldoende.

[ Voor 10% gewijzigd door Tomatoman op 25-10-2003 03:53 ]

Een goede grap mag vrienden kosten.


Acties:
  • 0 Henk 'm!

  • MadMarky
  • Registratie: Augustus 2001
  • Niet online

MadMarky

Begint eer ge bezint

Ik heb ook al eens iets dergelijks gemaakt :)
Ik gebruikte een lego robotje met een RCX voor de besturing, en de programma's waren geschreven in Lejos en Java.
- Gebruiker geeft opdracht via LAN (bijvoorbeeld naar een bepaalde locatie rijden)
- Server ontvangt gegevens en stuurt deze door naar de robot
- Robotje voert opdracht uit en keert terug naar de Server
- Robot kan een nieuwe opdracht ontvangen

(Bijna?) hetzelfde idee, maar een compleet andere uitwerking dus aan mij zul je weinig hebben denk ik ;)

🖥️ | 🚗


Acties:
  • 0 Henk 'm!

  • Brothar
  • Registratie: Oktober 2000
  • Laatst online: 22-08 21:33

Brothar

meester

Je hebt gelijk Tomatoman (ooit wel 's de systeemdatum teruggezet bij een trial van 30 dagen :) )
(En heb je nog tips om Kylix te installeren op/voor MySQl ?)

[ Voor 27% gewijzigd door Brothar op 25-10-2003 03:59 ]

eagle


Acties:
  • 0 Henk 'm!

  • Klippy
  • Registratie: Oktober 2000
  • Laatst online: 20-09 22:25

Klippy

Still Game

In het voorbeeld is het trouwens nogal omslachtig gedaan met die VB scripts.

In Delphi kan je idd vrij makkelijk de COM poort aansturen en uitlezen. Ik weet niet precies wat je naar je pport wil sturen, maar hier kan je gratis een vriendelijk en effectief componentje downloaden die die communicatie regelt.

Ga je het PHP scriptje trouwens op een andere server draaien dan het aanstuur programma?
Als het op een andere PC staat kan je goed sockets gebruiken, als het op dezelfde PC staat is er misschien een nadere oplossing? Maar denk niet dat dat nodig is, zoveel zal er niet gebruik van worden gemaakt en sockets programmeren is ook vrij simpel en snel genoeg. Wel een leuke poort uitzoeken die vrij is :)

Suc6 ermee, laat ff zien wat de vorderingen zijn ;)

Steam | SXQncyBhbGwgZ29vZCwgbWFuISDwn5iO


Acties:
  • 0 Henk 'm!

  • Mr GAmba
  • Registratie: Oktober 2003
  • Laatst online: 10-05-2021

Mr GAmba

Ondertitel unavailable

Topicstarter
De bedoeling is dat een Php script een code naar een poort van mijn pc stuurt en een progje op mijn pc thuis die die code gebruikt om het tankje aan te sturen.

Voor het aansturen van de Printerpoort heb ik al een listing gemaakt in turbo Pascal :

Program Test;

Uses Crt;

Const BA = $378; {Lpt1}

Var n : Integer;

Begin
For n:=0 to 255 do {Lus waarbij n steeds 1 groter word}
Begin
Port [BA]:=n; {Stuurt waarde van n naar Lpt1}
Writeln (n);
Delay (500); {Wacht 1/2 seconde}
end;
n:=0;
Port [BA]:=n;
Clrscr;
end.

Dit is gewoon een simpel test progje waarbij alle binaire getallen tot 255 op de datalijnen voorbijkomen.

Het enigste wat ik dus nog nodig heb is een stukje listing die een poort binnen mijn pc uitleest en die in een variable opslaat.

Signature unavailable

Pagina: 1