Ankündigung

Einklappen
Keine Ankündigung bisher.

USB-Multiladestation - Ansicht der Mobilen Geräte

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • USB-Multiladestation - Ansicht der Mobilen Geräte

    Hallo!

    Ich würde gerne folgendes Projekt realisieren und benötige dafür Hilfe,

    Ich habe eine Multiladestation für mobile Geräte (Tablets, Smartphones).
    Diese ist mittels USB-an einem MacPC angeschlossen.
    Da die Multiladestatin/Geräte nicht direkt in Sichtweite sind, bzw. auch für andere sichtbar sein soll welche Geräte sich gerade in der Ladestation befinden, wollte ich dies gerne über eine Webseite darstellen.

    Konzept:
    Ich hätte die Geräte alle x-Minuten über "system_profiler SPUSBDataType" ausgelesen und in Textfile gespeichert (siehe USBReport.txt anbei).
    Das Textfile müßte wohl zuerst formatiert werden, sollte ich in diesem Fall Regular Expressions nutzen?
    Da im Textfile sämtliche USB-Geräte gelistet werden (z.B. USB-Keyboard), würde ich alle nicht mobilen Geräte gerne exkludieren.
    Im Nächsten Schritt würde ich die formatierten Daten als Webseite anzeigen lassen bzw. eventuell noch mit css nacharbeiten.
    Anbei ein Entwurf (siehe Entwurf) wie ich mir das Resultat vorstelle.

    Ich bitte Euch im Ersten Schritt um Anregungen zu meinem Konzept, bzw. wenn etwas falsch ist, bzw. einfacher umzusetzen wäre, bin ich für jede Info dankbar.
    Ansicht-Konzept.jpg


    Code:
    USB:
    
        USB 3.0 Bus:
    
          Host Controller Driver: AppleUSBXHCILPT
          PCI Device ID: xxxxxxxxx
          PCI Revision ID: xxxxxxxxx
          PCI Vendor ID: xxxxxxxxx
    
            USB2.0 Hub:
    
              Product ID: xxxxxxxxx
              Vendor ID: xxxxxxxxx   (Genesys Logic, Inc.)
              Version: 32.98
              Speed: Up to 480 Mb/sec
              Location ID: xxxxxxxxx  / 3
              Current Available (mA): 500
              Current Required (mA): 100
              Extra Operating Current (mA): 0
    
                USB2.0 Hub:
    
                  Product ID: xxxxxxxxx
                  Vendor ID: xxxxxxxxx   (Genesys Logic, Inc.)
                  Version: 32.98
                  Speed: Up to 480 Mb/sec
                  Location ID: xxxxxxxxx  / 6
                  Current Available (mA): 500
                  Current Required (mA): 100
                  Extra Operating Current (mA): 0
    
                    SAMSUNG_Android:
    
                      Product ID: xxxxxxxxx
                      Vendor ID: xxxxxxxxx   (Samsung Electronics Co., Ltd.)
                      Version: 4.00
                      Serial Number: xxxxxxxxx
                      Speed: Up to 480 Mb/sec
                      Manufacturer: SAMSUNG
                      Location ID: xxxxxxxxx  / 23
                      Current Available (mA): 500
                      Current Required (mA): 96
                      Extra Operating Current (mA): 0
    
                    Lumia 640 Dual SIM (RM-1077):
    
                      Product ID: xxxxxxxxx
                      Vendor ID: xxxxxxxxx   (Nokia Corporation)
                      Version: 1.00
                      Serial Number: xxxxxxxxx
                      Speed: Up to 480 Mb/sec
                      Manufacturer: Microsoft
                      Location ID: xxxxxxxxx  / 31
                      Current Available (mA): 500
                      Current Required (mA): 100
                      Extra Operating Current (mA): 0
    
                    SAMSUNG_Android:
    
                      Product ID: xxxxxxxxx
                      Vendor ID: xxxxxxxxx   (Samsung Electronics Co., Ltd.)
                      Version: 4.00
                      Serial Number: xxxxxxxxx
                      Speed: Up to 480 Mb/sec
                      Manufacturer: SAMSUNG
                      Location ID: xxxxxxxxx  / 11
                      Current Available (mA): 500
                      Current Required (mA): 96
                      Extra Operating Current (mA): 0
    
                USB2.0 Hub:
    
                  Product ID: xxxxxxxxx
                  Vendor ID: xxxxxxxxx   (Genesys Logic, Inc.)
                  Version: 32.98
                  Speed: Up to 480 Mb/sec
                  Location ID: xxxxxxxxx  / 9
                  Current Available (mA): 500
                  Current Required (mA): 100
                  Extra Operating Current (mA): 0
    
                    iPhone:
    
                      Product ID: xxxxxxxxx
                      Vendor ID: xxxxxxxxx   (Apple Inc.)
                      Version: 6.02
                      Serial Number: xxxxxxxxx
                      Speed: Up to 480 Mb/sec
                      Manufacturer: Apple Inc.
                      Location ID: xxxxxxxxx  / 22
                      Current Available (mA): 500
                      Current Required (mA): 500
                      Extra Operating Current (mA): 0
                      Sleep current (mA): 500
    
                USB2.0 Hub:
    
                  Product ID: xxxxxxxxx
                  Vendor ID: xxxxxxxxx   (Genesys Logic, Inc.)
                  Version: 32.98
                  Speed: Up to 480 Mb/sec
                  Location ID: xxxxxxxxx  / 16
                  Current Available (mA): 500
                  Current Required (mA): 100
                  Extra Operating Current (mA): 0
    
                    iPad:
    
                      Product ID: xxxxxxxxx
                      Vendor ID: xxxxxxxxx   (Apple Inc.)
                      Version: 5.03
                      Serial Number: xxxxxxxxx
                      Speed: Up to 480 Mb/sec
                      Manufacturer: Apple Inc.
                      Location ID: xxxxxxxxx  / 13
                      Current Available (mA): 500
                      Current Required (mA): 500
                      Extra Operating Current (mA): 0
                      Sleep current (mA): 500
    
                    iPad:
    
                      Product ID: xxxxxxxxx
                      Vendor ID: xxxxxxxxx   (Apple Inc.)
                      Version: 3.60
                      Serial Number: xxxxxxxxx
                      Speed: Up to 480 Mb/sec
                      Manufacturer: Apple Inc.
                      Location ID: xxxxxxxxx  / 18
                      Current Available (mA): 500
                      Current Required (mA): 500
                      Extra Operating Current (mA): 0
                      Sleep current (mA): 500
    
            Hub:
    
              Product ID: xxxxxxxxx
              Vendor ID: xxxxxxxxx   (ATEN International Co. Ltd.)
              Version: 1.00
              Speed: Up to 12 Mb/sec
              Location ID: xxxxxxxxx  / 2
              Current Available (mA): 500
              Current Required (mA): 100
              Extra Operating Current (mA): 0
    
                HP Elite USB Keyboard:
    
                  Product ID: xxxxxxxxx
                  Vendor ID: xxxxxxxxx   (Hewlett Packard)
                  Version: 1.21
                  Speed: Up to 12 Mb/sec
                  Manufacturer: Chicony
                  Location ID: xxxxxxxxx  / 7
                  Current Available (mA): 500
                  Current Required (mA): 100
                  Extra Operating Current (mA): 0
    
            IR Receiver:
    
              Product ID: xxxxxxxxx
              Vendor ID: xxxxxxxxx   (Apple Inc.)
              Version: 1.00
              Speed: Up to 1.5 Mb/sec
              Manufacturer: Apple, Inc.
              Location ID: xxxxxxxxx  / 8
              Current Available (mA): 500
              Current Required (mA): 100
              Extra Operating Current (mA): 0
              Built-In: Yes
    
            BRCM20702 Hub:
    
              Product ID: xxxxxxxxx
              Vendor ID: xxxxxxxxx   (Broadcom Corp.)
              Version: 1.00
              Speed: Up to 12 Mb/sec
              Manufacturer: Apple Inc.
              Location ID: xxxxxxxxx  / 4
              Current Available (mA): 500
              Current Required (mA): 94
              Extra Operating Current (mA): 0
              Built-In: Yes
    
                Bluetooth USB Host Controller:
    
                  Product ID: xxxxxxxxx
                  Vendor ID: xxxxxxxxx   (Apple Inc.)
                  Version: 1.37
                  Speed: Up to 12 Mb/sec
                  Manufacturer: Apple Inc.
                  Location ID: xxxxxxxxx  / 14
                  Current Available (mA): 500
                  Current Required (mA): 0
                  Extra Operating Current (mA): 0
                  Built-In: Yes
    
            Portable USB Drive:
    
              Product ID: xxxxxxxxx
              Vendor ID: xxxxxxxxx
              Version: 1.12
              Serial Number: xxxxxxxxx
              Speed: Up to 480 Mb/sec
              Manufacturer: Verbatim
              Location ID: xxxxxxxxx  / 5
              Current Available (mA): 500
              Current Required (mA): 2
              Extra Operating Current (mA): 0
              Media:
                HM251JI:
                  Capacity: xxxxxxxxx  GB (xxxxxxxxx  bytes)
                  Removable Media: No
                  BSD Name: disk2
                  Logical Unit: 0
                  Partition Map Type: GPT (GUID Partition Table)
                  USB Interface: 0
                  Volumes:
                    EFI:
                      Capacity: xxxxxxxxx  (xxxxxxxxx  bytes)
                      File System: xxxxxxxxx
                      BSD Name: disk2s1
                      Content: EFI
                      Volume UUID: xxxxxxxxx
                    xxxxxxxxx :
                      Capacity: xxxxxxxxx  GB (xxxxxxxxx  bytes)
                      Available: xxxxxxxxx  GB (xxxxxxxxx  bytes)
                      Writable: Yes
                      File System: Case-Sensitive Journaled HFS+
                      BSD Name: disk2s2
                      Mount Point: /Volumes/xxxxxxxxx
                      Content: Apple_HFS
                      Volume UUID: xxxxxxxxx
    Vielen Dank!
    lg
    Markus

  • #2
    Ich konnte jetzt mal mit:

    Code:
    <?php
    $output = file_get_contents("Report.txt");
    echo nl2br($output);
    ?>
    die Liste inklusive Zeilenumbrüchen anzeigen lassen.
    Im nächsten Schritt würde ich nun gerne eine Formatierung integrieren.
    Wie müsste ich den Code anpassen, dass jede Überschrift fett vormatiert wird und nach jeder Textblock eingerahmt wird?

    Vielen Dank!
    Markus

    Kommentar


    • #3
      Du willst die Datei strukturiert auslesen.
      Das Format sieht ähnlich wie YAML aus,
      http://php.net/manual/de/function.yaml-parse.php
      versuch doch mal damit weiterzukommen.

      Kommentar


      • #4
        Du brauchst einen parser dafür den Du Dir selbst bauen must. Das angesprochene YAML hilft Dir dabei nicht. Am besten zeilenweise parsen und nach der Tiefe der Einrückung unterscheiden.

        Das schreibt Dir wahrscheinlich aber niemand hier. Mach nen Jobangebot in der Jobbörse draus oder finde eine Library die mit diesem Format umgehen kann (wie auch immer man das nennen mag)

        Nachtrag: Wenn es Dir nur um eine bessere Lesbarkeit geht würde ich vieleicht mal einen Syntax-Highlighter wie GeSHi, oder auch clientseitig highlight.js probieren. Möglicher Weise geht dessen Highlighter für YAML, bereits für das was Du vorhast. Der Parser selbst kommt jedenfalls nicht mit Deinem Code klar. Aber Highlighter sind da oft nicht so restriktiv.

        Wenn Dir das nicht reicht dann must Du rausfinden wie das gezeigte Format bezeichnet wird. (Doku des genutzten programms lesen) und für dieses Format dann einen fertigen Parser suchen. Gibt es den nicht oder nur für andere Sprachen bleibt Dir nur das oben bereits gesagte

        Nachtrag 2: Ohje ich mach heute mal die Ingrid Oder Du nutzt halt die option -xml für Deinen system_profiler aufruf (Siehe Doku dazu) und erzeugt damit gleich ein ordentlich weiter verwertbares Format

        Kommentar


        • #5
          Zitat von Messier 1001 Beitrag anzeigen
          Du brauchst einen parser dafür den Du Dir selbst bauen must. Das angesprochene YAML hilft Dir dabei nicht. Am besten zeilenweise parsen und nach der Tiefe der Einrückung unterscheiden.
          Das Probelm bei den angegebenen Daten sind

          - falsche Einrückung ( hängt wohl am c&p)
          - mehrfach vorhandene Keys (HUB-2.0 /Iphone ) etc.

          nach Korrektur wird die Datei mit dem von mir genutzten Parser:

          https://www.npmjs.com/package/js-yaml
          ohne Probleme geparst. ein PHP Parse habe ich auf der aktuellen Maschine nicht.

          Kommentar


          • #6
            Zitat von tomBuilder Beitrag anzeigen
            nach Korrektur
            Die Du wie genau machst?

            Kommentar


            • #7
              Zitat von Messier 1001 Beitrag anzeigen

              Die Du wie genau machst?
              Einrückung korrigiert und doppelte keys gelöscht.
              Yaml files kann ich hier nicht hochladen, versuche es über PM.

              Edit: ich kann dir auf den arbeitsaccount keine PMs schicken.

              ich hoffe es ist die nachbearbeitete Datei, endung musste ich txt nehmen.

              Kommentar


              • #8
                Beim berabeiten kann man wohl keine Anhänge hochladen.... testpage.txt

                Kommentar


                • #9
                  Sehr geehrte Forenteilnehmer!

                  Vielen Dank, für die angeregte Diskussion!

                  Messier erwähnte, dass man in Zusammenhang mit dem ausgegebenen Textfile einen selbsterstellten Parser zum Einsatz bringen müsste.

                  Dazu hätte ich noch eine andere Idee und bitte Euch um Eure Bewertung,
                  Man kann mittels dem Befehl "system_profiler -xml SPUSBDataType" das File auch als XML ausgeben lassen (siehe File anbei)

                  Soweit ich gesehen gibt es für PHP einige XML-Parser (z.B. SimpleXML).
                  Könnte man dieses XML-File bereits mit SimpleXML sinnvoll verarbeiten?


                  Code:
                  Last login: Sun Oct 29 10:05:24 on ttys000
                  Clientname:~ Username$ system_profiler -xml SPUSBDataType
                  <?xml version="1.0" encoding="UTF-8"?>
                  <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
                  <plist version="1.0">
                  <array>
                      <dict>
                          <key>_SPCommandLineArguments</key>
                          <array>
                              <string>/usr/sbin/system_profiler</string>
                              <string>-nospawn</string>
                              <string>-xml</string>
                              <string>SPUSBDataType</string>
                              <string>-detailLevel</string>
                              <string>full</string>
                          </array>
                          <key>_SPCompletionInterval</key>
                          <real>0.13012099266052246</real>
                          <key>_SPResponseTime</key>
                          <real>0.22413903474807739</real>
                          <key>_dataType</key>
                          <string>SPUSBDataType</string>
                          <key>_detailLevel</key>
                          <integer>-1</integer>
                          <key>_items</key>
                          <array>
                              <dict>
                                  <key>_items</key>
                                  <array>
                                      <dict>
                                          <key>_items</key>
                                          <array>
                                              <dict>
                                                  <key>_items</key>
                                                  <array>
                                                      <dict>
                                                          <key>_name</key>
                                                          <string>SAMSUNG_Android</string>
                                                          <key>bcd_device</key>
                                                          <string>4.00</string>
                                                          <key>bus_power</key>
                                                          <string>500</string>
                                                          <key>bus_power_used</key>
                                                          <string>96</string>
                                                          <key>device_speed</key>
                                                          <string>high_speed</string>
                                                          <key>extra_current_used</key>
                                                          <string>0</string>
                                                          <key>location_id</key>
                                                          <string>xxxxxxxxx / 16</string>
                                                          <key>manufacturer</key>
                                                          <string>SAMSUNG</string>
                                                          <key>product_id</key>
                                                          <string>xxxxxxxxx</string>
                                                          <key>serial_num</key>
                                                          <string>xxxxxxxxx</string>
                                                          <key>vendor_id</key>
                                                          <string>xxxxxxxxx  (Samsung Electronics Co., Ltd.)</string>
                                                      </dict>
                                                      <dict>
                                                          <key>_name</key>
                                                          <string>Lumia 640 Dual SIM (RM-1077)</string>
                                                          <key>bcd_device</key>
                                                          <string>1.00</string>
                                                          <key>bus_power</key>
                                                          <string>500</string>
                                                          <key>bus_power_used</key>
                                                          <string>100</string>
                                                          <key>device_speed</key>
                                                          <string>high_speed</string>
                                                          <key>extra_current_used</key>
                                                          <string>0</string>
                                                          <key>location_id</key>
                                                          <string>xxxxxxxxx / 17</string>
                                                          <key>manufacturer</key>
                                                          <string>Microsoft</string>
                                                          <key>product_id</key>
                                                          <string>xxxxxxxxx</string>
                                                          <key>serial_num</key>
                                                          <string>xxxxxxxxx</string>
                                                          <key>vendor_id</key>
                                                          <string>xxxxxxxxx  (Nokia Corporation)</string>
                                                      </dict>
                                                      <dict>
                                                          <key>_name</key>
                                                          <string>SAMSUNG_Android</string>
                                                          <key>bcd_device</key>
                                                          <string>4.00</string>
                                                          <key>bus_power</key>
                                                          <string>500</string>
                                                          <key>bus_power_used</key>
                                                          <string>96</string>
                                                          <key>device_speed</key>
                                                          <string>high_speed</string>
                                                          <key>extra_current_used</key>
                                                          <string>0</string>
                                                          <key>location_id</key>
                                                          <string>xxxxxxxxx / 15</string>
                                                          <key>manufacturer</key>
                                                          <string>SAMSUNG</string>
                                                          <key>product_id</key>
                                                          <string>xxxxxxxxx</string>
                                                          <key>serial_num</key>
                                                          <string>xxxxxxxxx</string>
                                                          <key>vendor_id</key>
                                                          <string>xxxxxxxxx  (Samsung Electronics Co., Ltd.)</string>
                                                      </dict>
                                                  </array>
                                                  <key>_name</key>
                                                  <string>USB2.0 Hub</string>
                                                  <key>bcd_device</key>
                                                  <string>32.98</string>
                                                  <key>bus_power</key>
                                                  <string>500</string>
                                                  <key>bus_power_used</key>
                                                  <string>100</string>
                                                  <key>device_speed</key>
                                                  <string>high_speed</string>
                                                  <key>extra_current_used</key>
                                                  <string>0</string>
                                                  <key>location_id</key>
                                                  <string>xxxxxxxxx / 9</string>
                                                  <key>product_id</key>
                                                  <string>xxxxxxxxx</string>
                                                  <key>vendor_id</key>
                                                  <string>xxxxxxxxx  (Genesys Logic, Inc.)</string>
                                              </dict>
                                              <dict>
                                                  <key>_name</key>
                                                  <string>USB2.0 Hub</string>
                                                  <key>bcd_device</key>
                                                  <string>32.98</string>
                                                  <key>bus_power</key>
                                                  <string>500</string>
                                                  <key>bus_power_used</key>
                                                  <string>100</string>
                                                  <key>device_speed</key>
                                                  <string>high_speed</string>
                                                  <key>extra_current_used</key>
                                                  <string>0</string>
                                                  <key>location_id</key>
                                                  <string>xxxxxxxxx / 7</string>
                                                  <key>product_id</key>
                                                  <string>xxxxxxxxx</string>
                                                  <key>vendor_id</key>
                                                  <string>xxxxxxxxx  (Genesys Logic, Inc.)</string>
                                              </dict>
                                              <dict>
                                                  <key>_items</key>
                                                  <array>
                                                      <dict>
                                                          <key>_name</key>
                                                          <string>iPad</string>
                                                          <key>bcd_device</key>
                                                          <string>5.03</string>
                                                          <key>bus_power</key>
                                                          <string>500</string>
                                                          <key>bus_power_used</key>
                                                          <string>500</string>
                                                          <key>device_speed</key>
                                                          <string>high_speed</string>
                                                          <key>extra_current_used</key>
                                                          <string>0</string>
                                                          <key>location_id</key>
                                                          <string>xxxxxxxxx / 18</string>
                                                          <key>manufacturer</key>
                                                          <string>Apple Inc.</string>
                                                          <key>product_id</key>
                                                          <string>xxxxxxxxx</string>
                                                          <key>serial_num</key>
                                                          <string>xxxxxxxxx</string>
                                                          <key>sleep_current</key>
                                                          <string>500</string>
                                                          <key>vendor_id</key>
                                                          <string>apple_vendor_id</string>
                                                      </dict>
                                                  </array>
                                                  <key>_name</key>
                                                  <string>USB2.0 Hub</string>
                                                  <key>bcd_device</key>
                                                  <string>32.98</string>
                                                  <key>bus_power</key>
                                                  <string>500</string>
                                                  <key>bus_power_used</key>
                                                  <string>100</string>
                                                  <key>device_speed</key>
                                                  <string>high_speed</string>
                                                  <key>extra_current_used</key>
                                                  <string>0</string>
                                                  <key>location_id</key>
                                                  <string>xxxxxxxxx / 5</string>
                                                  <key>product_id</key>
                                                  <string>xxxxxxxxx</string>
                                                  <key>vendor_id</key>
                                                  <string>xxxxxxxxx  (Genesys Logic, Inc.)</string>
                                              </dict>
                                          </array>
                                          <key>_name</key>
                                          <string>USB2.0 Hub</string>
                                          <key>bcd_device</key>
                                          <string>32.98</string>
                                          <key>bus_power</key>
                                          <string>500</string>
                                          <key>bus_power_used</key>
                                          <string>100</string>
                                          <key>device_speed</key>
                                          <string>high_speed</string>
                                          <key>extra_current_used</key>
                                          <string>0</string>
                                          <key>location_id</key>
                                          <string>xxxxxxxxx / 2</string>
                                          <key>product_id</key>
                                          <string>xxxxxxxxx</string>
                                          <key>vendor_id</key>
                                          <string>xxxxxxxxx  (Genesys Logic, Inc.)</string>
                                      </dict>
                                      <dict>
                                          <key>_items</key>
                                          <array>
                                              <dict>
                                                  <key>_name</key>
                                                  <string>HP Elite USB Keyboard</string>
                                                  <key>bcd_device</key>
                                                  <string>1.21</string>
                                                  <key>bus_power</key>
                                                  <string>500</string>
                                                  <key>bus_power_used</key>
                                                  <string>100</string>
                                                  <key>device_speed</key>
                                                  <string>full_speed</string>
                                                  <key>extra_current_used</key>
                                                  <string>0</string>
                                                  <key>location_id</key>
                                                  <string>xxxxxxxxx / 6</string>
                                                  <key>manufacturer</key>
                                                  <string>Chicony</string>
                                                  <key>product_id</key>
                                                  <string>xxxxxxxxxa</string>
                                                  <key>vendor_id</key>
                                                  <string>xxxxxxxxx  (Hewlett Packard)</string>
                                              </dict>
                                          </array>
                                          <key>_name</key>
                                          <string>hub_device</string>
                                          <key>bcd_device</key>
                                          <string>1.00</string>
                                          <key>bus_power</key>
                                          <string>500</string>
                                          <key>bus_power_used</key>
                                          <string>100</string>
                                          <key>device_speed</key>
                                          <string>full_speed</string>
                                          <key>extra_current_used</key>
                                          <string>0</string>
                                          <key>location_id</key>
                                          <string>xxxxxxxxx / 3</string>
                                          <key>product_id</key>
                                          <string>xxxxxxxxx</string>
                                          <key>vendor_id</key>
                                          <string>xxxxxxxxx  (ATEN International Co. Ltd.)</string>
                                      </dict>
                                      <dict>
                                          <key>Built-in_Device</key>
                                          <string>Yes</string>
                                          <key>_name</key>
                                          <string>IR Receiver</string>
                                          <key>bcd_device</key>
                                          <string>1.00</string>
                                          <key>bus_power</key>
                                          <string>500</string>
                                          <key>bus_power_used</key>
                                          <string>100</string>
                                          <key>device_speed</key>
                                          <string>low_speed</string>
                                          <key>extra_current_used</key>
                                          <string>0</string>
                                          <key>location_id</key>
                                          <string>xxxxxxxxx / 10</string>
                                          <key>manufacturer</key>
                                          <string>Apple, Inc.</string>
                                          <key>product_id</key>
                                          <string>xxxxxxxxx</string>
                                          <key>vendor_id</key>
                                          <string>apple_vendor_id</string>
                                      </dict>
                                      <dict>
                                          <key>Built-in_Device</key>
                                          <string>Yes</string>
                                          <key>_items</key>
                                          <array>
                                              <dict>
                                                  <key>Built-in_Device</key>
                                                  <string>Yes</string>
                                                  <key>_name</key>
                                                  <string>Bluetooth USB Host Controller</string>
                                                  <key>bcd_device</key>
                                                  <string>1.37</string>
                                                  <key>bus_power</key>
                                                  <string>500</string>
                                                  <key>bus_power_used</key>
                                                  <string>0</string>
                                                  <key>device_speed</key>
                                                  <string>full_speed</string>
                                                  <key>extra_current_used</key>
                                                  <string>0</string>
                                                  <key>location_id</key>
                                                  <string>xxxxxxxxx / 14</string>
                                                  <key>manufacturer</key>
                                                  <string>Apple Inc.</string>
                                                  <key>product_id</key>
                                                  <string>xxxxxxxxx</string>
                                                  <key>vendor_id</key>
                                                  <string>apple_vendor_id</string>
                                              </dict>
                                          </array>
                                          <key>_name</key>
                                          <string>BRCM20702 Hub</string>
                                          <key>bcd_device</key>
                                          <string>1.00</string>
                                          <key>bus_power</key>
                                          <string>500</string>
                                          <key>bus_power_used</key>
                                          <string>94</string>
                                          <key>device_speed</key>
                                          <string>full_speed</string>
                                          <key>extra_current_used</key>
                                          <string>0</string>
                                          <key>location_id</key>
                                          <string>xxxxxxxxx / 4</string>
                                          <key>manufacturer</key>
                                          <string>Apple Inc.</string>
                                          <key>product_id</key>
                                          <string>xxxxxxxxx</string>
                                          <key>vendor_id</key>
                                          <string>xxxxxxxxx  (Broadcom Corp.)</string>
                                      </dict>
                                      <dict>
                                          <key>Media</key>
                                          <array>
                                              <dict>
                                                  <key>Logical Unit</key>
                                                  <integer>0</integer>
                                                  <key>USB Interface</key>
                                                  <integer>0</integer>
                                                  <key>_name</key>
                                                  <string>HM251JI</string>
                                                  <key>bsd_name</key>
                                                  <string>disk2</string>
                                                  <key>partition_map_type</key>
                                                  <string>guid_partition_map_type</string>
                                                  <key>removable_media</key>
                                                  <string>no</string>
                                                  <key>size</key>
                                                  <string>xxxxxxxxx GB</string>
                                                  <key>size_in_bytes</key>
                                                  <integer>xxxxxxxxx</integer>
                                                  <key>volumes</key>
                                                  <array>
                                                      <dict>
                                                          <key>_name</key>
                                                          <string>EFI</string>
                                                          <key>bsd_name</key>
                                                          <string>disk2s1</string>
                                                          <key>file_system</key>
                                                          <string>MS-DOS FAT32</string>
                                                          <key>iocontent</key>
                                                          <string>EFI</string>
                                                          <key>size</key>
                                                          <string>xxxxxxxxx MB</string>
                                                          <key>size_in_bytes</key>
                                                          <integer>xxxxxxxxx</integer>
                                                          <key>volume_uuid</key>
                                                          <string>xxxxxxxxx</string>
                                                      </dict>
                                                      <dict>
                                                          <key>_name</key>
                                                          <string>xxxxxxxxx_USB_Backup</string>
                                                          <key>bsd_name</key>
                                                          <string>disk2s2</string>
                                                          <key>file_system</key>
                                                          <string>Case-sensitive Journaled HFS+</string>
                                                          <key>free_space</key>
                                                          <string>xxxxxxxxx GB</string>
                                                          <key>free_space_in_bytes</key>
                                                          <integer>xxxxxxxxx</integer>
                                                          <key>iocontent</key>
                                                          <string>Apple_HFS</string>
                                                          <key>mount_point</key>
                                                          <string>/Volumes/xxxxxxxxx_USB_Backup</string>
                                                          <key>size</key>
                                                          <string>xxxxxxxxx GB</string>
                                                          <key>size_in_bytes</key>
                                                          <integer>xxxxxxxxx</integer>
                                                          <key>volume_uuid</key>
                                                          <string>xxxxxxxxx</string>
                                                          <key>writable</key>
                                                          <string>yes</string>
                                                      </dict>
                                                  </array>
                                              </dict>
                                          </array>
                                          <key>_name</key>
                                          <string>Portable USB Drive</string>
                                          <key>bcd_device</key>
                                          <string>1.12</string>
                                          <key>bus_power</key>
                                          <string>500</string>
                                          <key>bus_power_used</key>
                                          <string>2</string>
                                          <key>device_speed</key>
                                          <string>high_speed</string>
                                          <key>extra_current_used</key>
                                          <string>0</string>
                                          <key>location_id</key>
                                          <string>xxxxxxxxx / 8</string>
                                          <key>manufacturer</key>
                                          <string>Verbatim</string>
                                          <key>product_id</key>
                                          <string>xxxxxxxxx</string>
                                          <key>serial_num</key>
                                          <string>xxxxxxxxx</string>
                                          <key>vendor_id</key>
                                          <string>xxxxxxxxx</string>
                                      </dict>
                                  </array>
                                  <key>_name</key>
                                  <string>USB30Bus</string>
                                  <key>host_controller</key>
                                  <string>AppleUSBXHCILPT</string>
                                  <key>pci_device</key>
                                  <string>xxxxxxxxx </string>
                                  <key>pci_revision</key>
                                  <string>xxxxxxxxx </string>
                                  <key>pci_vendor</key>
                                  <string>xxxxxxxxx </string>
                              </dict>
                          </array>
                          <key>_parentDataType</key>
                          <string>SPHardwareDataType</string>
                          <key>_properties</key>
                          <dict>
                              <key>1284DeviceID</key>
                              <dict>
                                  <key>_order</key>
                                  <string>13</string>
                              </dict>
                              <key>_name</key>
                              <dict>
                                  <key>_isColumn</key>
                                  <string>YES</string>
                                  <key>_isOutlineColumn</key>
                                  <string>YES</string>
                                  <key>_order</key>
                                  <string>0</string>
                              </dict>
                              <key>bcd_device</key>
                              <dict>
                                  <key>_order</key>
                                  <string>3</string>
                                  <key>_suppressLocalization</key>
                                  <string>YES</string>
                              </dict>
                              <key>bsd_name</key>
                              <dict>
                                  <key>_order</key>
                                  <string>42</string>
                              </dict>
                              <key>bus_power</key>
                              <dict>
                                  <key>_order</key>
                                  <string>8</string>
                              </dict>
                              <key>bus_power_desired</key>
                              <dict>
                                  <key>_order</key>
                                  <string>9</string>
                              </dict>
                              <key>bus_power_used</key>
                              <dict>
                                  <key>_order</key>
                                  <string>10</string>
                              </dict>
                              <key>detachable_drive</key>
                              <dict>
                                  <key>_order</key>
                                  <string>39</string>
                              </dict>
                              <key>device_manufacturer</key>
                              <dict>
                                  <key>_order</key>
                                  <string>20</string>
                              </dict>
                              <key>device_model</key>
                              <dict>
                                  <key>_order</key>
                                  <string>22</string>
                              </dict>
                              <key>device_revision</key>
                              <dict>
                                  <key>_order</key>
                                  <string>24</string>
                              </dict>
                              <key>device_serial</key>
                              <dict>
                                  <key>_order</key>
                                  <string>26</string>
                              </dict>
                              <key>device_speed</key>
                              <dict>
                                  <key>_order</key>
                                  <string>5</string>
                              </dict>
                              <key>disc_burning</key>
                              <dict>
                                  <key>_order</key>
                                  <string>32</string>
                              </dict>
                              <key>extra_current_used</key>
                              <dict>
                                  <key>_order</key>
                                  <string>11</string>
                              </dict>
                              <key>file_system</key>
                              <dict>
                                  <key>_order</key>
                                  <string>40</string>
                              </dict>
                              <key>free_space</key>
                              <dict>
                                  <key>_deprecated</key>
                                  <true/>
                                  <key>_order</key>
                                  <string>19</string>
                              </dict>
                              <key>free_space_in_bytes</key>
                              <dict>
                                  <key>_isByteSize</key>
                                  <true/>
                                  <key>_order</key>
                                  <string>19</string>
                              </dict>
                              <key>location_id</key>
                              <dict>
                                  <key>_order</key>
                                  <string>7</string>
                              </dict>
                              <key>manufacturer</key>
                              <dict>
                                  <key>_order</key>
                                  <string>6</string>
                              </dict>
                              <key>mount_point</key>
                              <dict>
                                  <key>_order</key>
                                  <string>44</string>
                              </dict>
                              <key>optical_drive_type</key>
                              <dict>
                                  <key>_order</key>
                                  <string>30</string>
                              </dict>
                              <key>optical_media_type</key>
                              <dict>
                                  <key>_order</key>
                                  <string>31</string>
                              </dict>
                              <key>product_id</key>
                              <dict>
                                  <key>_order</key>
                                  <string>1</string>
                              </dict>
                              <key>removable_media</key>
                              <dict>
                                  <key>_order</key>
                                  <string>34</string>
                              </dict>
                              <key>serial_num</key>
                              <dict>
                                  <key>_order</key>
                                  <string>4</string>
                                  <key>_suppressLocalization</key>
                                  <string>YES</string>
                              </dict>
                              <key>size</key>
                              <dict>
                                  <key>_deprecated</key>
                                  <true/>
                                  <key>_order</key>
                                  <string>18</string>
                              </dict>
                              <key>size_in_bytes</key>
                              <dict>
                                  <key>_isByteSize</key>
                                  <true/>
                                  <key>_order</key>
                                  <string>18</string>
                              </dict>
                              <key>sleep_current</key>
                              <dict>
                                  <key>_order</key>
                                  <string>12</string>
                              </dict>
                              <key>vendor_id</key>
                              <dict>
                                  <key>_order</key>
                                  <string>2</string>
                              </dict>
                              <key>volumes</key>
                              <dict>
                                  <key>_detailLevel</key>
                                  <string>0</string>
                              </dict>
                              <key>writable</key>
                              <dict>
                                  <key>_order</key>
                                  <string>36</string>
                              </dict>
                          </dict>
                          <key>_timeStamp</key>
                          <date>2017-10-20T08:39:24Z</date>
                          <key>_versionInfo</key>
                          <dict>
                              <key>com.apple.SystemProfiler.SPUSBReporter</key>
                              <string>900.4.1</string>
                          </dict>
                      </dict>
                  </array>
                  </plist>
                  Clientname:~ Username$

                  Vielen Dank!
                  lg
                  Markus

                  Kommentar


                  • #10
                    Zitat von omo222 Beitrag anzeigen
                    Dazu hätte ich noch eine andere Idee und bitte Euch um Eure Bewertung,
                    Man kann mittels dem Befehl "system_profiler -xml SPUSBDataType" das File auch als XML ausgeben lassen
                    Ja das hab ich Dir bereits geschrieben.

                    Zitat von omo222 Beitrag anzeigen
                    Soweit ich gesehen gibt es für PHP einige XML-Parser (z.B. SimpleXML).
                    Könnte man dieses XML-File bereits mit SimpleXML sinnvoll verarbeiten?
                    Klar, probiers aus.

                    Kommentar


                    • #11
                      Ich habe jetzt mal den XML-Pfad bis zum Ersten Gerätenamen (SAMSUNG_Android) analysiert und wollte diesen testhalber per Echo ausgeben.

                      PHP-Code:
                      <?php
                      $xml 
                      simplexml_load_file('SPUSBDataType.xml');
                      echo 
                      $xml->{'array'}->dict->{'array'}[1]->dict->{'array'}->dict->{'array'}->dict->{'array'}->dict->{'string'};
                      ?>

                      Das würde auch funktionieren, leider werden aber die Nodenames "array" und "string" nicht als Namen sondern offenbar als Funktion bzw. Variable interpretiert. Wie kann man das deaktivieren?
                      Mit {' '} einkapseln brachte nicht das gewünschte Ergebnis.

                      Vielen Dank!
                      lg
                      Markus



                      Kommentar


                      • #12
                        Ich komme mit simpelXML nocht klar und nehme stattdessen lieber:
                        http://php.net/manual/de/class.domdocument.php und http://php.net/manual/de/class.domxpath.php
                        wenn Du allerdings nur das XML in eine Ausgabe transformieren möchstest, böte sich auch:
                        https://wiki.selfhtml.org/wiki/XML/XSL/XSLT
                        an.

                        Kommentar


                        • #13
                          Hallo!

                          Ich habe es soweit hinbekommen,

                          Gerne wollte ich nun die Werte in div-Spalten geben.
                          Kann mir da eventuell jemand ein bisschen helfen, ich bekomme das nicht hin?


                          PHP-Code:

                           <html>
                          <head>

                          <style>

                          </style>


                          </head>

                          <body>

                          <?php
                          $xml 
                          simplexml_load_file('lsUSBReportXML2.xml');

                          echo 
                          "Slot: 1/10 ";
                          echo 
                          ' Manufactor: ';
                          echo 
                          $xml->array->dict->array[1]->dict->array->dict->array->dict[2]->array->dict[1]->string[7];
                          echo 
                          ' Model: ';
                          echo 
                          $xml->array->dict->array[1]->dict->array->dict->array->dict[2]->array->dict[1]->string;
                          echo 
                          ' Battery: ';
                          echo 
                          $xml->array->dict->array[1]->dict->array->dict->array->dict[2]->array->dict[1]->string[3];
                          echo 
                          ' UUID: ';
                          echo 
                          $xml->array->dict->array[1]->dict->array->dict->array->dict[2]->array->dict[1]->string[9];
                          echo 
                          "<br/>";
                          echo 
                          "<br/>";

                          echo 
                          "Slot: 2/10 ";
                          echo 
                          ' Manufactor: ';
                          echo 
                          $xml->array->dict->array[1]->dict->array->dict->array->dict[2]->array->dict->string[7];
                          echo 
                          ' Model: ';
                          echo 
                          $xml->array->dict->array[1]->dict->array->dict->array->dict[2]->array->dict->string;
                          echo 
                          ' Battery: ';
                          echo 
                          $xml->array->dict->array[1]->dict->array->dict->array->dict[2]->array->dict->string[3];
                          echo 
                          ' UUID: ';
                          echo 
                          $xml->array->dict->array[1]->dict->array->dict->array->dict[2]->array->dict->string[9];
                          echo 
                          "<br/>";
                          echo 
                          "<br/>";

                          echo 
                          "Slot: 3/10 ";
                          echo 
                          ' Manufactor: ';
                          echo 
                          $xml->array->dict->array[1]->dict->array->dict->array->dict[1]->array->dict[3]->string[7];
                          echo 
                          ' Model: ';
                          echo 
                          $xml->array->dict->array[1]->dict->array->dict->array->dict[1]->array->dict[3]->string;
                          echo 
                          ' Battery: ';
                          echo 
                          $xml->array->dict->array[1]->dict->array->dict->array->dict[1]->array->dict[3]->string[3];
                          echo 
                          ' UUID: ';
                          echo 
                          $xml->array->dict->array[1]->dict->array->dict->array->dict[1]->array->dict[3]->string[9];
                          echo 
                          "<br/>";
                          echo 
                          "<br/>";

                          echo 
                          "Slot  4/10 ";
                          echo 
                          ' Manufactor: ';
                          echo 
                          $xml->array->dict->array[1]->dict->array->dict->array->dict[1]->array->dict[2]->string[7];
                          echo 
                          ' Model: ';
                          echo 
                          $xml->array->dict->array[1]->dict->array->dict->array->dict[1]->array->dict[2]->string;
                          echo 
                          ' Battery: ';
                          echo 
                          $xml->array->dict->array[1]->dict->array->dict->array->dict[1]->array->dict[2]->string[3];
                          echo 
                          ' UUID: ';
                          echo 
                          $xml->array->dict->array[1]->dict->array->dict->array->dict[1]->array->dict[2]->string[9];
                          echo 
                          "<br/>";
                          echo 
                          "<br/>";

                          echo 
                          "Slot  5/10 ";
                          echo 
                          ' Manufactor: ';
                          echo 
                          $xml->array->dict->array[1]->dict->array->dict->array->dict[1]->array->dict[1]->string[7];
                          echo 
                          ' Model: ';
                          echo 
                          $xml->array->dict->array[1]->dict->array->dict->array->dict[1]->array->dict[1]->string;
                          echo 
                          ' Battery: ';
                          echo 
                          $xml->array->dict->array[1]->dict->array->dict->array->dict[1]->array->dict[1]->string[3];
                          echo 
                          ' UUID: ';
                          echo 
                          $xml->array->dict->array[1]->dict->array->dict->array->dict[1]->array->dict[1]->string[9];
                          echo 
                          "<br/>";
                          echo 
                          "<br/>";

                          echo 
                          "Slot  6/10 ";
                          echo 
                          ' Manufactor: ';
                          echo 
                          $xml->array->dict->array[1]->dict->array->dict->array->dict[1]->array->dict->string[7];
                          echo 
                          ' Model: ';
                          echo 
                          $xml->array->dict->array[1]->dict->array->dict->array->dict[1]->array->dict->string;
                          echo 
                          ' Battery: ';
                          echo 
                          $xml->array->dict->array[1]->dict->array->dict->array->dict[1]->array->dict->string[3];
                          echo 
                          ' UUID: ';
                          echo 
                          $xml->array->dict->array[1]->dict->array->dict->array->dict[1]->array->dict->string[9];
                          echo 
                          "<br/>";
                          echo 
                          "<br/>";

                          echo 
                          "Slot  7/10 ";
                          echo 
                          ' Manufactor: ';
                          echo 
                          $xml->array->dict->array[1]->dict->array->dict->array->dict->array->dict[3]->string[7];
                          echo 
                          ' Model: ';
                          echo 
                          $xml->array->dict->array[1]->dict->array->dict->array->dict->array->dict[3]->string;
                          echo 
                          ' Battery: ';
                          echo 
                          $xml->array->dict->array[1]->dict->array->dict->array->dict->array->dict[3]->string[3];
                          echo 
                          ' UUID: ';
                          echo 
                          $xml->array->dict->array[1]->dict->array->dict->array->dict->array->dict[3]->string[9];
                          echo 
                          "<br/>";
                          echo 
                          "<br/>";

                          echo 
                          "Slot  8/10 ";
                          echo 
                          ' Manufactor: ';
                          echo 
                          $xml->array->dict->array[1]->dict->array->dict->array->dict->array->dict[2]->string[7];
                          echo 
                          ' Model: ';
                          echo 
                          $xml->array->dict->array[1]->dict->array->dict->array->dict->array->dict[2]->string;
                          echo 
                          ' Battery: ';
                          echo 
                          $xml->array->dict->array[1]->dict->array->dict->array->dict->array->dict[2]->string[3];
                          echo 
                          ' UUID: ';
                          echo 
                          $xml->array->dict->array[1]->dict->array->dict->array->dict->array->dict[2]->string[9];
                          echo 
                          "<br/>";
                          echo 
                          "<br/>";

                          echo 
                          "Slot  9/10 ";
                          echo 
                          ' Manufactor: ';
                          echo 
                          $xml->array->dict->array[1]->dict->array->dict->array->dict->array->dict[1]->string[7];
                          echo 
                          ' Model: ';
                          echo 
                          $xml->array->dict->array[1]->dict->array->dict->array->dict->array->dict[1]->string;
                          echo 
                          ' Battery: ';
                          echo 
                          $xml->array->dict->array[1]->dict->array->dict->array->dict->array->dict[1]->string[3];
                          echo 
                          ' UUID: ';
                          echo 
                          $xml->array->dict->array[1]->dict->array->dict->array->dict->array->dict[1]->string[9];
                          echo 
                          "<br/>";
                          echo 
                          "<br/>";

                          echo 
                          "Slot  10/10 ";
                          echo 
                          ' Manufactor: ';
                          echo 
                          $xml->array->dict->array[1]->dict->array->dict->array->dict->array->dict->string[7];
                          echo 
                          ' Model: ';
                          echo 
                          $xml->array->dict->array[1]->dict->array->dict->array->dict->array->dict->string;
                          echo 
                          ' Battery: ';
                          echo 
                          $xml->array->dict->array[1]->dict->array->dict->array->dict->array->dict->string[3];
                          echo 
                          ' UUID: ';
                          echo 
                          $xml->array->dict->array[1]->dict->array->dict->array->dict->array->dict->string[9];
                          echo 
                          "<br/>";
                          echo 
                          "<br/>";

                          ?>

                          </table>
                          </body>
                          </html>

                          Vielen Dank!

                          Kommentar


                          • #14
                            Na siehste. Geht doch. Schön das Du Dir die Arbeit gemacht hast zu verstehen wie es in etwa funktioniert.

                            Im Normalfall würde man für sowas XPath zuhilfe nehmen. ( Viel zu lesen. Viel Spaß ) Das sagt Dir im Fall wenn das das Gesuchte nicht existiert auch klar das es so ist.

                            Deine Variante fällt gleich auseinander wenn mal das ausgegebene XML nicht die erwarteten Daten im erwarteten Format enthält. (z.B. im Fehlerfall)

                            Kommentar

                            Lädt...
                            X