Stap 4: succes! Nu laten we I/O pinnen in-/ uitschakelen
Nu dat OpenWrt is geïnstalleerd kunnen we trachten schakelen GPIO pinnen.
Op mijn Meraki is router ik zie GPIO pin 4 verbonden met een LED, als het het hoge verwacht ik dat het wilskracht de LED, als lage de LED gaat weer af.
Ik kan van openwrt gpioctl utility op de opdrachtregel gebruiken om deze pin in-/ uitschakelen:
gpioctl set 4
gpioctl duidelijk 4
Wanneer het wordt getest dit werkt net zoals men zou verwachten.
Laten we deze I/O pin toegankelijk via het web.
OpenWRT de standaard web admininterface heet LuCI. Wijzigen van de instellingen van de server van het web kunt u kijken in /etc/config/uhttpd, maar omwille van de eenvoud van ik ga houden deze als-is voor nu, het toevoegen van bestanden rond datgene wat al bestaat.
Onze web root is www en uitvoerbare scripts gaan in /www/cgi-bin
Maak een bestand ledOn (en ledOff), zoals shellscripts die ziet er ongeveer zo uitziet:
#! / bin/sh
echo "Content-type: text/html"
echo "LED ON"
/usr/bin/gpioctl set 4
exit 0
Wanneer u klaar bent zorg zeker stelt u juiste machtigingen op deze bestanden (chmod 755). Vervolgens bezoeken ze in uw browser:
http://yourRouter/cgi-bin/ledOn
http://yourRouter/cgi-bin/ledOff
Met deze werken u kunt gaan een stap verder en maak een HTML-vraagt pagina die gebruikmaakt van AJAX voor het bepalen van de pin staat (afgebeeld, zie bijgevoegde code)