Stap 4: Een web-interface toevoegen aan het project
Na inloggen met SSH (eerst ik gebruikte seriële via haar GPIO headers, zoeken naar het IP-adres), mij installateur php5.
Dit was heel gemakkelijk dankzij de aptitude package manager die wordt standaard geïnstalleerd.
Enkel het volgende commando:
sudo ad rem-worden installeren php5
Dit moet een apache webserver met php installatie setup. Als dit is voltooid, probeer te typen in het adres van de framboos in uw browser, en u moet zien een standaard login pagina.
Na het installeren van deze webserver, moet je proberen de arduino op van de framboos USB-poort aansluiten. De FTDI-stuurprogramma voor de UNO standaard moet worden geïnstalleerd, en als dit werkt, een interface (waarschijnlijk onder de/dev/ttyUSB0) zal worden gemaakt. Net controleren uw kernel log (type sudo dmesg) om te zien of alles goed werkte.
Vervolgens kunt u eenvoudig testen of de communicatie tussen de framboos en de Arduino OK via de USB-basishub werkt. Probeer het volgende typt
echo "Hallo" >/dev/ttyUSB0
en je moet zien de RX LEDS komen op de Arduino.
Om een PHP script die werken met de seriële poort op Linux, gebruikten we de PhpSerial -bibliotheek. Dit is in wezen enkel een wrapper rond een paar elementaire shell-opdrachten die uw leven een beetje verlicht. De standaardmap voor webinhoud onder linux lijkt te zijn van /var/www/var/www (Bedankt Tom!). Net drop uw PHP bestand in daar en je moet goed om te gaan!
We een aantal problemen die de volgende tegenkomen
- In de eerste plaats moet u de gebruiker toevoegen onder welke apache draait aan de groep zelf bellen met Remote (useradd - G {zelf bellen met Remote} Uw_naam) om te kunnen communiceren met seriële apparaten
- Ten tweede, moet u de code van de PhpSerial , die in ons geval het voorvoegsel van de naam van de seriële apparaat vervangen door een 'tty', waardoor de communicatie niet dubbel te controleren. Verander gewoon de naam van de interface in de code aan wat je misschien nodig hebt (bijv. /dev/ttyUSB)
- Het zou gemakkelijk een staart om weergave te openen op het PHP error.log bestand (u kunt het vinden in de map/var/log ) om te zien wat er fout gaat
Tot slot ik snel gemonteerd een eenvoudige web-pagina die behandeld van de POST-aanvraag van één invoerveld en het resultaat verzonden via USB aan de Arduino (code is bijgevoegd in het bestand php.zip!)