• Das Erstellen neuer Accounts wurde ausgesetzt. Bei berechtigtem Interesse bitte Kontaktaufnahme über die üblichen Wege. Beste Grüße der Admin

RS232 Schnittstelle vom Browser ansteuern

mikdoe schrieb:
Andersrum von Java nach JS wäre wichtiger gewesen hab's aber nun hinbekommen.
Du hattest übrigens recht:
https://java.com/de/download/faq/chrome.xml
Betrifft so ziemlich alle gängigen Browser.

Mit einer ausmahne in Linux(debian system) / Firefox gibt es ein Plugin.

Erklär:
Schritt 1 :
Java installieren z.B via Software Center oder apt wie auch immer.

Schritt 2:
via apt icedtea installiren
sudo apt-get install icedtea-7-plugin

In ff unter about:addons ist nu das IcedTea-Web Plugin zu finden.
Das war's schon, Java Applets sind nun nutzbar.

Alternativ kann man auch im Software Center ein Haken bei icedTea setzten:
r1i6N.jpg

Habe dann mal JDosBox ausprobiert.
Tomb Raider 3dfx | jDosBox
Das läuft rucket aber stark. Kann auch mein Rechner sein (Ein Rechner der nur 10 Watt verbraucht kann man nicht viel erwarten)

Mein Applet funzt aber dennoch nicht der Browser friert einfach ein.
Java code:
Code:
package RS232;
import javax.swing.JApplet;

import netscape.javascript.*;
import gnu.io.*; // RXTX

import java.util.Enumeration;

public class RS232_Applet extends JApplet{
	final String started = "Java applet started successful";
	static JSObject jsObj;
	
	public void init(){
		try {
			jsObj = JSObject.getWindow(this);
			jsObj.call("javaLoaded", new Object[]{started});
		}catch(JSException ex){
			ex.printStackTrace();
		}
		listComPorts();
	}
	
static void listComPorts(){;
	    CommPortIdentifier serialPortId;
	    Enumeration enumComm;
	    enumComm = CommPortIdentifier.getPortIdentifiers();
	    
	    while (enumComm.hasMoreElements()) {
	     	serialPortId = (CommPortIdentifier) enumComm.nextElement();
	     	if(serialPortId.getPortType() == CommPortIdentifier.PORT_SERIAL) {
	    		jsObj.call("getComPorts", new Object[]{serialPortId.getName()});
	    	}
	    }
	}	
}


JS:
Code:
  //java radio event handler
			  softwareControl[0].onclick = function(){
			  		if(softwareControl[0].checked){
			  			if(!isJava){
			  				 softwareControl[0].checked = false;
			  				return alert("java is not suppordet by this Browser");
			  			}
			  			var objTxt = '<object type="application/x-java-applet" height="0" width="0">'
								      +'<param name="RS232Applet" value="RS232_Applet.class" />'
								      +'Applet failed to run.  No Java plug-in was found.'
									  +'</object>'
			  		}
			  		$("body").append(objTxt);
			  }

			   //midi radio event handler
			  softwareControl[1].onclick = function(){
			  		softwareControl[1].checked = false;
			  		alert("midi not jet implement")
			  }
			init();
			//caller from java
			function getComPorts(ports){
				console.log(ports);
			}

			function javaLoaded(msg){
				alert(msg);
			}
 
Hab's hinbekommen mann muss mayscript auf true setzen:
<param name="mayscript" value="mayscript" />
Und die Funktionen müssen global sein, also nicht in einer Onload function z.B.

Unter Windows kann man java mit IE-Tab nutzen:
https://chrome.google.com/webstore/detail/ie-tab/hehijbfgiekmjfkfjpbkbammjbdenadd?hl=de
Gibt es auch für FF, läuft unter win 10!

Dann geht aber die Web Audio api nicht mehr, wie ich schon befürchtete.
Was ich auch nicht in gang gebracht habe ist RXTX.jar es lies sich nicht mit de applet bündeln.
Egal ob man die Referenz im HTML Tag angegeben hat oder in der Manifest.


Das ganze ist einfach nur gruslig und 0 wartbar. Genau aus disem Grund habe ich nie groß mit Java angefangen.

Das überlasse ich den Indern(Jedes 3te yt video über java hat einen Sprecher mit indischen Akzent ).

Jetzt ist die letzte Hoffnung der midi Anschluss.
 
kkapsner schrieb:
Das ist aber keine konstante Kommunikation...
Asso ok, hab's mir nicht so genau angesehen.

kkapsner schrieb:
Meine Rede... mach' das mit nodejs (das kannst du ja schon) und WebSockets oder JSONP.
Aktuell gefällt mir die idee von hesst ganz gut mit den c geschrieben websocket server, aus dem midi Beitrag von neulich.
http://forum.jswelt.de/allgemeines/62741-kleine-frage-web-midi-firefox.html

Ideal wäre wen man in nodjs noch grafische Oberflächen bauen könnte z.B gtk+ oder Qt.
Gibt es mittlerweile alles aber so richtig zum laufen gebracht habe ich das noch nicht und ob es unter win funzt steht auch in den Sternen.
Soundausgabe von node aus ist auch nicht das wahre:(

Dann brach man gar kein Browser mehr und spart sich die websocket Verbindung.
 
kkapsner schrieb:
Wo und wie du den WebSocket-Server erstellst, ist komplett dir überlassen. Ich habe auf jedenfall mit nodejs unter Windows gute Erfahrungen gemacht.
Glaub ich dir ungelesen. Allerdings hab ich mehr die Module gemeint die in windows nicht funktionieren. Gerade solche die in c geschrieben sind und kompiliert werden müssen via node-gyp. Da altert man doppelt so schnell
 
Zurück
Oben