Angepinnt Spielplatz-Extrem -- oder BusyBox-MIPS in der Vollversion und offiziell ;)

      eMKay77 schrieb:

      naja - da hat der SPH ja auch mal richtig was zu tun bekommen...

      ja das belastet ihn schon ein bisschen :D

      eMKay77 schrieb:

      eventuell kannst Du noch ein wenig an Compilerflags drehen zur Optimierung.

      muss ich mal schauen

      eMKay77 schrieb:

      Ich glaub' ich mach erstmal den Gegentest mit Scripts oder Executables als CGI - das sollte flinker sein

      sollte es :D

      bin aber positiv überrascht das ich überhaupt php für die kiste kompilieren konnte

      eMKay77 schrieb:

      jupp... der Server is auch ausreichend soweit ich das sehen kann.


      jo nur muss ich mal schauen ob man ne "index" file festglegen kann
      z.b. ne index.html frisst er aber ne index.php nicht (wenn man nur 192.168.2.1:8080 ohne datei aufuft)

      eMKay77 schrieb:

      im httpd sind ein paar kleine tools enthalten um Parameter zu decodieren etc. --> Shell-Scripting ist dadurch auch extrem simple


      ich glaub damit ist jede sprache nutzbar die man per cgi einbinden kann

      eMKay77 schrieb:

      Am PHP sieht man halt, das der SPH durchaus als kleiner Home-Server herhalten könnte

      wäre so für mich uninteressant dafür hab ich nen banana-pi (aber da ich ein php fanatiker bin ist für mich php auf der kiste von extemen vorteil)
      @Stricted: natürlich sollten alle CGI-Sprachen nutzbar sein... aber für Shell-Scripting sind zB. decode und encode-tools für die Parameter enthalten. So das man die Daten nicht von Hand umwandeln muß.

      PHP hab' ich auch mal gelernt... (hab damit mal auf die Schnelle 'nen ganzen Fax-Server gebaut - da waren sogar die Demons in PHP ;) ) aber sonst bin ich eher C/C++ / und shell als Interface dazu find ich durchaus interessant ;)

      (wenn Shellscript geht, dürfte allerdings sogar ein natives Binary als CGI durchgehen...)

      mfg, emkay
      Moin Leutz!

      Mal als Beispiel ein einfaches WebUI für sphfreq:

      HTML-Quellcode

      1. #!/bin/sh
      2. ### extract Arguemnts to Vars
      3. eval $(echo "$QUERY_STRING"|awk -F'&' '{for(i=1;i<=NF;i++){print $i}}')
      4. ###
      5. echo "Content-type: text/html"
      6. ###
      7. tmp=""
      8. meta=""
      9. if [ -n "$cmd" ]
      10. then
      11. tmp=$(busybox-mips httpd -d $cmd)
      12. fi
      13. case $tmp in
      14. all|800|1800|2600|low|high|show) rcmd=$tmp;;
      15. watch) rcmd="show"
      16. meta="<meta http-equiv=\"refresh\" content=\"1\">";;
      17. *) rcmd='';;
      18. esac
      19. echo "
      20. <!DOCTYPE html>
      21. <html>
      22. <head>
      23. $meta
      24. <title>sphfreq</title>
      25. </head>
      26. <body>
      27. <h1>Command -- $rcmd</h1>
      28. <h2>
      29. <a href=\"/cgi-bin/sphfreq?cmd=watch\">watch</a> <a href=\"/cgi-bin/sphfreq?cmd=show\">show</a> <a href=\"/cgi-bin/sphfreq?cmd=all\">all</a>
      30. <a href=\"/cgi-bin/sphfreq?cmd=800\">800</a> <a href=\"/cgi-bin/sphfreq?cmd=1800\">1800</a> <a href=\"/cgi-bin/sphfreq?cmd=2600\">2600</a>
      31. <a href=\"/cgi-bin/sphfreq?cmd=low\">low</a> <a href=\"/cgi-bin/sphfreq?cmd=high\">high</a>
      32. </h2>
      33. <hr>
      34. <textarea rows=\"25\" cols=\"80\">$(sphfreq $rcmd)</textarea>
      35. </body>
      36. </html>
      37. "

      Aufrufen kann man das über: speedport.ip:8080/cgi-bin/sphfreq (wenn der Port auf 8080 gesetzt - und das Script sphfreq heißt)

      mfg, emkay

      Stricted schrieb:

      jo nur muss ich mal schauen ob man ne "index" file festglegen kann
      z.b. ne index.html frisst er aber ne index.php nicht (wenn man nur 192.168.2.1:8080 ohne datei aufuft)

      kann man :)

      mal meine httpd.conf

      Quellcode

      1. I:index.php
      2. *.php:/tmp/php/bin/php-cgi

      genauere infos über alle optionen gibt es hier git.busybox.net/busybox/tree/networking/httpd.c
      @Stricted: bei mir läuft der Server jetzt schon seit Stunden... und vereinfacht die Steuerung meiner LTE-Frequenz schonmal drastisch. Wie man sieht kann man im Shell-Script die ganze HTML-Seite mit einem einzelnen 'echo' und Variablen-Ersetzung im String ausgeben ;)
      Was mir noch einfiel: das ganze macht mein sphfreq auch Fern-Scriptbar --> kann ja die entsprechenden Seiten/Befehle auch per 'wget' oder 'curl' erreichen. (zB. 'curl http://speedport.ip:8080/cgi-bin/sphfreq?cmd=800 >/dev/null' in meiner Ubuntu-Shell schaltet die Frequenz auf 800MHz ;) )

      mfg, emkay

      eMKay77 schrieb:

      Was mir noch einfiel: das ganze macht mein sphfreq auch Fern-Scriptbar --> kann ja die entsprechenden Seiten/Befehle auch per 'wget' oder 'curl' erreichen. (zB. 'curl speedport.ip:8080/cgi-bin/sphfreq?cmd=800 >/dev/null' in meiner Ubuntu-Shell schaltet die Frequenz auf 800MHz )

      genau dafür wollt ich ja nen zweiten webserver ;)
      mit php kann man halt noch ne json und soap api mit einbauen, heißt man könnte nen verwaltungs programm dafür schreiben
      Schon mal überlegt sowas wie das rukerneltool für den Hybrid zu machen?

      Ich könnte mir vorstellen, dass das Tool, was die Config entschlüsselt und den telnet aktiviert, direkt danach den webserver "installiert" sowie eine HTML-Seite aufspielt, mir der man dann weitere "Plugins" wie das sphfreq-tool nachladen kann....
      ein freetz für den Hybrid sozusagen...

      xdjbx schrieb:

      Schon mal überlegt sowas wie das rukerneltool für den Hybrid zu machen?

      Ich könnte mir vorstellen, dass das Tool, was die Config entschlüsselt und den telnet aktiviert, direkt danach den webserver "installiert" sowie eine HTML-Seite aufspielt, mir der man dann weitere "Plugins" wie das sphfreq-tool nachladen kann....
      ein freetz für den Hybrid sozusagen...


      Ganz lustige Idee: LuCi auf dem SPH ans laufen kriegen. Also das Teil so halber in ein OpenWrt verwandeln... Fuer nen Router hat es einige Leistung (Dual-Core 1GHz MIPS)
      @doridian: der SPH hat meines Wissens nur 2x400MHz, aber läuft ja trotzdem nich schlecht...
      LuCi könnte gehen - mit Anpassungen...

      Wie schon erwähnt - der Extrem-Fall wäre volles Debian im chroot ;)

      Ich werd' jetzt erstmal schauen, was man so an Messwerten bekommen kann - die Kommandozeilentools des SPHs sind da recht ausführlich - muß man nur als CGI scripten ;)
      --> und was man nicht direkt bekommt, kann man sich per JSON-API vom Standard-Server ausborgen... JSON-API des SPHs ist ja mittlerweile in allen möglichen Programmiersprachen verfügbar ;)

      mfg, emkay

      eMKay77 schrieb:

      der SPH hat meines Wissens nur 2x400MHz, aber läuft ja trotzdem nich schlecht...

      jup

      Quellcode

      1. # cat /proc/cpuinfo
      2. system type : Hybrid
      3. processor : 0
      4. cpu model : Broadcom BMIPS4350 V8.0
      5. BogoMIPS : 397.31
      6. wait instruction : yes
      7. microsecond timers : yes
      8. tlb_entries : 32
      9. extra interrupt vector : no
      10. hardware watchpoint : no
      11. ASEs implemented :
      12. shadow register sets : 1
      13. kscratch registers : 0
      14. core : 0
      15. VCED exceptions : not available
      16. VCEI exceptions : not available
      17. processor : 1
      18. cpu model : Broadcom BMIPS4350 V8.0
      19. BogoMIPS : 403.45
      20. wait instruction : yes
      21. microsecond timers : yes
      22. tlb_entries : 32
      23. extra interrupt vector : no
      24. hardware watchpoint : no
      25. ASEs implemented :
      26. shadow register sets : 1
      27. kscratch registers : 0
      28. core : 0
      29. VCED exceptions : not available
      30. VCEI exceptions : not available
      so hier die php binaries mit alles kompilierbaren modulen

      Quellcode

      1. # /tmp/php/bin/php -r "print_r(get_loaded_extensions());"
      2. Array
      3. (
      4. [0] => Core
      5. [1] => date
      6. [2] => ereg
      7. [3] => pcre
      8. [4] => ctype
      9. [5] => fileinfo
      10. [6] => filter
      11. [7] => iconv
      12. [8] => json
      13. [9] => SPL
      14. [10] => PDO
      15. [11] => posix
      16. [12] => Reflection
      17. [13] => session
      18. [14] => standard
      19. [15] => tokenizer
      20. )

      edit: ggf. sind mehr module möglich, muss ich mir aber nochmal genau anschauen
      Dateien
      • php.zip

        (3,4 MB, 811 mal heruntergeladen, zuletzt: )
      Whj

      Stricted schrieb:

      eMKay77 schrieb:

      der SPH hat meines Wissens nur 2x400MHz, aber läuft ja trotzdem nich schlecht...

      jup

      Quellcode

      1. # cat /proc/cpuinfo
      2. system type : Hybrid
      3. processor : 0
      4. cpu model : Broadcom BMIPS4350 V8.0
      5. BogoMIPS : 397.31
      6. wait instruction : yes
      7. microsecond timers : yes
      8. tlb_entries : 32
      9. extra interrupt vector : no
      10. hardware watchpoint : no
      11. ASEs implemented :
      12. shadow register sets : 1
      13. kscratch registers : 0
      14. core : 0
      15. VCED exceptions : not available
      16. VCEI exceptions : not available
      17. processor : 1
      18. cpu model : Broadcom BMIPS4350 V8.0
      19. BogoMIPS : 403.45
      20. wait instruction : yes
      21. microsecond timers : yes
      22. tlb_entries : 32
      23. extra interrupt vector : no
      24. hardware watchpoint : no
      25. ASEs implemented :
      26. shadow register sets : 1
      27. kscratch registers : 0
      28. core : 0
      29. VCED exceptions : not available
      30. VCEI exceptions : not available


      Whoops, hab mich verlesen dann wohl. Naja, 2*400MHz MIPS is trotzdem nicht allzu schlecht. Vor allem mit Hardware-NAT, was er zu haben scheint.