Aktuelle Zeit: 08.12.2019 00:08

Alle Zeiten sind UTC + 1 Stunde [ Sommerzeit ]




Ein neues Thema erstellen Auf das Thema antworten  [ 10 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: Website als Grafische Oberfläche
BeitragVerfasst: 24.10.2017 22:58 
Offline
Benutzeravatar

Registriert: 18.03.2008 16:53
Hey ho,
da ich so nichts finden konnte, was richtig scheint, frage ich einfach mal direkt :)
Ich habe mir für ein Projekt überlegt, das ich eine Software schreiben möchte, wo die Benutzeroberfläche eine Website ist. Dabei wird die Software, die ich mit PureBasic schreiben möchte, auf verschiedene Schnittstellen (RS232/485) zugreifen und Daten wie Temperatur und Druck auslesen. Die Darstellung der Daten soll dabei dann über eine Website geschehen. Das ganze möchte ich aus dem einfachen Grund machen, da ich mit CSS viel schönere Designs schaffen kann und ich mir eine Oberfläche erstellen will, die sich an das Google Material Design hält. Plattform unabhängig ist es dann ja auch (Windows/Linux/Android usw.)

Nun zu meinem Problem. Mit dem Web kram habe ich sehr wenig Erfahrung und somit keine Ahnung, wie ich die PureBasic Anwendung mit der Website verknüpfen kann. Die Seite soll ja nicht Statisch sein, sondern die Temperatur z. B. jede Sekunde aktualisieren und grafisch schön darstellen. Beispielsweise in einem Graphen. Da ich die Daten aber nicht verlieren will, werde ich diese denke ich in einer Datenbank halten.
Also kurz gesagt, wie bekomme ich es hin, das eine Website meine Software anspricht um diese zu steuern und Daten zu beziehen?

Mit freundlichem Gruß
Zim

_________________
PB: 5.22 LTS x86/x64 | WIN: 10 Pro x64, Mint/Lubuntu


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Website als Grafische Oberfläche
BeitragVerfasst: 25.10.2017 09:04 
Offline
Admin
Benutzeravatar

Registriert: 05.10.2006 18:55
Wohnort: Berlin
Guten Morgen,

vor einiger Zeit gab es einen ähnlichen Thread. Dort wurde schon alles diskutiert über die Vor- und Nachteile (mehr Nachteile, als Vorteile) und was man dafür verwenden kann, was nicht und welche Probleme entstehen können: viewtopic.php?f=3&t=30329

The_Dark_Zim-.- hat geschrieben:
Das ganze möchte ich aus dem einfachen Grund machen, da ich mit CSS viel schönere Designs schaffen kann und ich mir eine Oberfläche erstellen will, die sich an das Google Material Design hält.

Mit PB kannst du auch schönere Designs erstellen und die Möglichkeit zum Zeichnen von eigenen Controls mit Events hast du mit CanvasGadget.
Da musst du nicht unbedingt auf HTML und CSS ausweichen.
Außerdem wenn du es über WebGadget machen möchtest, kannst du mit dem Standard-IE (IE 7 oder 8 ) im WebGadget keine schöne Designs erstellen. Es wird kein CSS3 unterstützt und du kannst beispielsweise kein border-radius o.ä. verwenden.
Da müsste deine Anwendung unter Windows immer was in die Registry schreiben, um Windows zu sagen, dass dein WebGadget die aktuelle IE-Version verwenden darf.
Dazu kommen noch weitere Anpassungen, um beispielsweise den Klick-Sound beim Neuladen zu unterbinden. Lohnt sich der Aufwand überhaupt?

The_Dark_Zim-.- hat geschrieben:
Plattform unabhängig ist es dann ja auch (Windows/Linux/Android usw.)

CanvasGadget ist es auch (zwar kein Android, aber Windows, Linux und MacOS) und du musst keine extra Schnittstelle bauen oder zuerst dafür sorgen, dass dein WebGadget ordentlich funktioniert.

Wie ich auch in dem anderen Thread geschrieben habe, bin ich kein Freund von Workarounds. Kostet nur unnötig Zeit und Stress, wenn man sich nicht damit auskennt.
Das reine Anzeigen von Seiten (z.B. Hilfeseiten, weitere Informationen) kann man zwar WebGadget problemlos verwenden, aber wenn es ein Ersatz einer Benutzeroberfläche oder eines Controls sein soll, dann ist die Vorgehensweise meiner Meinung nach suboptimal.

_________________
BildBildBildBild BildBild


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Website als Grafische Oberfläche
BeitragVerfasst: 25.10.2017 09:44 
Offline
Benutzeravatar

Registriert: 18.03.2008 16:53
Den Thread werde ich mir mal durchlesen. Vielen dank schon einmal :)

Ich war bereits dabei mit Canvas einige Controls zu bauen. Leider kann man damit aber nicht alles machen, da z. B. unter Linux nicht bestimmt werden kann, welches Gadget als erstes und welches als letztes gezeichnet werden soll. Dadurch kommt es in der Regel dazu, das es flackert oder komplett durcheinander ist :(
Ich versuche heute abend mal ein Beispiel dafür bereit zu stellen.

_________________
PB: 5.22 LTS x86/x64 | WIN: 10 Pro x64, Mint/Lubuntu


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Website als Grafische Oberfläche
BeitragVerfasst: 25.10.2017 09:44 
Offline
Kommando SG1
Benutzeravatar

Registriert: 01.11.2005 13:34
Wohnort: Glienicke
Ich möchte noch mal was klären:

Du hast (bereits) ein PureBasic-Programm mit dem du über RS232/485 irgendwelche Daten ließt.
Nun möchtest du ein UserInterface erstelen, was auf einem anderen Gerät angezeit werden soll (Handy, Laptop u.ä.), richtig?

Ich hätte jetzt nämlich gesagt, dass du in deinem PureBasic-Programm einfach noch n http-Schnittstelle über die Network-Befehle erstellst, damit man von beliebigen Orten auf das Programm zugreifen kann und z.B. über das http-Protokoll die Daten lesen kann.

Ein Beispiel gibt es ja in PureBasic selbst: "Atomic Web Server in PureBasic"

_________________
Bild
 
BildBildBild


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Website als Grafische Oberfläche
BeitragVerfasst: 25.10.2017 09:48 
Offline
Ein Admin
Benutzeravatar

Registriert: 29.08.2004 20:20
Wohnort: Saarbrücken
Du kannst Purebasic als reine Serveranwendung benutzen, die gar nichts anzeigt, sondern nur als Service dient. Dieser könnte dann zum Beispiel auf Port 8080 lauschen und dann kannst du im lokalen Browser die Seite http://localhost:8080 öffnen und siehst dein Interface. Natürlich steckt da viel mehr dahinter, denn du müsstest die komplette Serverseite schreiben, die HTML, CSS und JS ausliefert, falls das hier nicht schon irgendwer anders getan hat. Aber auf diese Weise könntest du sogar dein Smartphone nutzen um deine Schnittstellen am PC, auf dem der Service läuft, zu steuern.

@RSBasic: Welche Klickgeräusche meinst du eigentlich? Ich kenne keinen Browser, der klickt. :mrgreen:

_________________
Neustes Video: Neje DK - 1 Watt Laser Engraver
Ubuntu Gnome 19.04 LTS x64, PureBasic 5.71 x64 (außerdem 4.41, 4.50, 4.61, 5.00, 5.10, 5.11, 5.21, 5.22, 5.30, 5.31, 5.40, 5.50, 5.60)
"Die deutsche Rechtschreibung ist Freeware, du darfst sie kostenlos nutzen – Aber sie ist nicht Open Source, d. h. du darfst sie nicht verändern oder in veränderter Form veröffentlichen."


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Website als Grafische Oberfläche
BeitragVerfasst: 25.10.2017 13:20 
Offline
Benutzeravatar

Registriert: 18.03.2008 16:53
@Stargate genau, ich will von anderen Geräten darauf zugreifen können. Es würde halt dazu führen, das ich nur eine Anwendung schreibe und dann auf den Plattformen Desktop und Mobil(Tablet/Smartphone) alles habe, ohne Unterschiede und Installation einer Anwendung auf dem Client. :) ich guck mir also mal den Atomic Server an.

_________________
PB: 5.22 LTS x86/x64 | WIN: 10 Pro x64, Mint/Lubuntu


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Website als Grafische Oberfläche
BeitragVerfasst: 25.10.2017 14:03 
Offline
Benutzeravatar

Registriert: 08.03.2013 14:27
Wohnort: ERB
Wenn ich das richtig verstanden habe, willst du eine Webanwendung schreiben, mit der du Daten über die Serielle Schnittstelle anfragen bzw. Geräte darüber steuern kannst. Dazu würde ich FastCGI verwenden und garnicht erst mit dem Atomic anfangen. Ein Webserver bekommste schon mit 1 - 5 MB und FastCGI im Netz (Hiawatha, NginX, Lighttpd etc.). Schau mal in meine Signatur. Da habe ich was gebastelt, das dir die Arbeit damit erleichtert ;)

_________________
USAC Protokoll
Universal Stringbased Application Communication Protocoll

Github: Zum Spezifikationdokument v0.01


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Website als Grafische Oberfläche
BeitragVerfasst: 25.10.2017 15:27 
Offline
Benutzeravatar

Registriert: 18.03.2008 16:53
Aber sind CGI Anwendungen nicht Anwendungen, welche nach dem Aufrufen direkt wieder beendet werden? Ich brauche aber eine Anwendung die dauerhaft läuft.

_________________
PB: 5.22 LTS x86/x64 | WIN: 10 Pro x64, Mint/Lubuntu


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Website als Grafische Oberfläche
BeitragVerfasst: 25.10.2017 15:29 
Offline
Ein Admin
Benutzeravatar

Registriert: 29.08.2004 20:20
Wohnort: Saarbrücken
Ja, bei CGI ist das so, aber nicht bei FastCGI. Die laufen normalerweise dauerhaft.

_________________
Neustes Video: Neje DK - 1 Watt Laser Engraver
Ubuntu Gnome 19.04 LTS x64, PureBasic 5.71 x64 (außerdem 4.41, 4.50, 4.61, 5.00, 5.10, 5.11, 5.21, 5.22, 5.30, 5.31, 5.40, 5.50, 5.60)
"Die deutsche Rechtschreibung ist Freeware, du darfst sie kostenlos nutzen – Aber sie ist nicht Open Source, d. h. du darfst sie nicht verändern oder in veränderter Form veröffentlichen."


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Website als Grafische Oberfläche
BeitragVerfasst: 25.10.2017 16:41 
Offline
Benutzeravatar

Registriert: 08.03.2013 14:27
Wohnort: ERB
Genau so ist es. Sie laufen dauerhaft. Genau das gleiche gilt für den Webserver. Du kannst im Grunde die Anwendung ganz normal starten, innerhalb dieser den FastCGI-Server betreiben und mit RunProgramm() den Webserver gleich mitstarten. So ersparst du dir das eigene implementieren eines Webservers. Denn der Atomic ist nur ein Webserver mit klassischem Filemapping, welches zu dem keine Daten aus der Seite verarbeiten kann. FastCGI hingegen kann das ganze problemlos. Ich selbst habe auch schon versucht, einen vollwertigen Webserver zu schreiben. Das ist schon etwas fummelig, bis man das ganze mit nahezu allen Statuscodes etc. drinne hat. Da bleib ich lieber bei FastCGI :lol:

_________________
USAC Protokoll
Universal Stringbased Application Communication Protocoll

Github: Zum Spezifikationdokument v0.01


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 10 Beiträge ] 

Alle Zeiten sind UTC + 1 Stunde [ Sommerzeit ]


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 2 Gäste


Sie dürfen keine neuen Themen in diesem Forum erstellen.
Sie dürfen keine Antworten zu Themen in diesem Forum erstellen.
Sie dürfen Ihre Beiträge in diesem Forum nicht ändern.
Sie dürfen Ihre Beiträge in diesem Forum nicht löschen.

Suche nach:
Gehe zu:  

 


Powered by phpBB © 2008 phpBB Group | Deutsche Übersetzung durch phpBB.de
subSilver+ theme by Canver Software, sponsor Sanal Modifiye