TermiShell: eine webbasierte Shell für den Raspberry Pi (Entwicklungsnotizen)

Einleitung Im Zuge der Entwicklung von PiCockpit werde ich ein webbasiertes Terminal namens TermiShell hinzufügen. TermiShell Symbol, von: Stephanie Harvey via unsplash.com TermiShell wird es ermöglichen, sich über PiCockpit.com (und den PiCockpit-Client) in den Raspberry Pi einzuloggen - ohne zusätzliche Anwendungen auf beiden Seiten. Das sollte sehr komfortabel sein,...

Weiterlesen

Erstellen von Konfigurationsdateien in /etc in Debian-Paketen

Ich arbeite derzeit an einer aktualisierten picockpit-client Version, die zusätzliche Konfigurationsdateien in /etc/picockpit-client für die einzelnen Module (PiDoctor & PiControl) hinzufügen soll. picockpit-client ist ein Raspbian-Paket für picockpit.com, das die Web-Plattform mit Ihrem individuellen Raspberry Pi verbindet. Da Raspbian auf Debian basiert, gelten die folgenden Informationen für die allgemeine Paketierung für...

Weiterlesen

Eclipse Paho MQTT JavaScript Dokumentation

Leider verweist die offizielle Eclipse-Seite, die Sie mit Google leicht finden können, NICHT auf die eigentliche Dokumentation (zumindest nicht, soweit ich sie sehen kann). Der Link zur Dokumentation selbst ist dieser: https://www.eclipse.org/paho/files/jsdoc/Paho.MQTT.Client.html Happy Coding.

Weiterlesen

Behebung von Uncaught ReferenceError: Vue ist nicht mit Webpack definiert

Ich bin zu einem Workflow mit WebPack, die Code bündelt bewegen. Während der Umstellung bin ich über diesen Fehler gestolpert: Uncaught ReferenceError: Vue ist nicht definiert at eval (external "Vue"?548a:1) at Object. (pcp_mainbundle.js:172) at __webpack_require__ (pcp_mainbundle.js:20) at eval (pcpVue.js?6cb8:1) at Object. (pcp_mainbundle.js:196) at __webpack_require__ (pcp_mainbundle.js:20) at eval (pcpMain.js?814e:1) at Object. (pcp_mainbundle.js:189) at __webpack_require__ (pcp_mainbundle.js:20) at Object. (pcp_mainbundle.js:181)...

Weiterlesen

vue.js Geschichte vs. Hash-Modus auf einem Unterpfad

Falls Sie Ihren Vue Router nicht auf der Root-Seite, sondern auf einem "Unterpfad" montieren, gibt es einen wichtigen Unterschied im Verhalten des Vue Routers im History- und Hash-Modus. History-Modus Wenn Sie z.B. https://picockpit.local/debug/ verwenden wollen, um den Vue Router im History-Modus weiterleben zu lassen: Die folgenden Routen...

Weiterlesen

So verwenden Sie Catch-All-Routen mit Kemal

Für eine Vue.js Single-Page-Anwendung - zumindest auf einer SUB-URL unserer Seite - wollen wir ein Catch-All auf unserem Server, das immer die gleiche Vorlage / HTML-Ausgabe an den Browser rendert. Kemal basiert intern auf Radix für das Routing: https://github.com/luislavena/radix Radix hat ein Catch All / Glob Zeichen:...

Weiterlesen

Paho MQTT Client (Javascript), Envoy, VerneMQ: Fehlersuche bei Verbindungsabbrüchen

Nachdem ich picockpit auf meinem Server installiert hatte, wurde ein Fehler festgestellt: Das Web-Frontend brach in regelmäßigen Abständen ab. Dies war in der lokalen Entwicklungsumgebung nicht der Fall. Benutzer von picockpit meldeten denselben Fehler. Ich habe den Fehler heute behoben und einen Hotfix eingespielt. Es stellte sich heraus, dass es ein Timing-Problem war. TL;DR wie...

Weiterlesen

Angabe der Debian-Abhängigkeit zwischen zwei Versionen & apt-get-Installation von .deb-Dateien

Diese Informationen sind wahrscheinlich vor allem für Paketbetreuer von Interesse: Abhängigkeit von bestimmten Paketversionen Hier ist, wie man eine Python3-Abhängigkeit zwischen Version 3.5 (gleich oder später) und 3.6 (muss früher sein) in debian/control angibt: Depends: python3 (>= 3.5), python3 (<< 3.6) Sie geben also im Grunde zwei Abhängigkeiten an. Beachten Sie, dass dies nicht funktionieren wird...

Weiterlesen

VerneMQ wie man Clients zwangsweise per Kommandozeile trennt

Es gibt einen Befehl vmq-admin session show, der Ihnen die derzeit verbundenen Clients anzeigt: Leider wird diese Ausgabe für eine Gesamtbreite von 80 Zeichen abgeschnitten (egal wie viele passen würden) und es gibt derzeit keinen Hinweis darauf, dass es so ist. Siehe dieses VerneMQ Github-Problem: https://github.com/vernemq/vernemq/issues/1200 Zum Trennen von Clients benötigen Sie die client_id...

Weiterlesen