• JavaScript,  Node JS,  Software

    SIP Connector

    Habe in den letzten Tagen einen SIP Connector mit NodeJS realisiert. D.h. eine NodeJS oder NW.js App kann sich via SIP an einer Telefon-Anlage, in meinem Fall einer Fritzbox, anmelden und signalisiert einkommende Anrufe mittels Ausgabe der Anrufernummer. Die App wird dabei als VOIP-Endgerät bei der Telefon-Anlage registriert. Für die Zukunft werde ich dieses System wohl auch auf PHP übertragen, um es für Intranet-PHP-Anwendungen verfügbar zu haben. Denkbar ist auch ein Test für JavaScript-Websockets, damit dies im Browser realisiert werden könnte. Für Entwicklungen auf diesem Gebiet, nehmen Sie gerne mit mir Kontakt auf.  

  • Node JS

    Node JS Module manuell installieren

    Wer sich mit Node JS ein wenig auskennt, mag wahrscheinlich schon beim Installieren von Node-Modulen via npm dem einen oder anderen Installations-Fehler begegnet sein. Z.B. bei der Installation von Socketwatcher hat es mich bereits einiges an Nerven gekostet. Nun es gibt eine Lösung, die das Problem weitestgehend löst: Die gewünschten Pakete manuell, d.h. ohne npm, zu installieren. Das geht so: Man lädt das benötigte Modul von github.com herunter (zip-Datei) und entpackt es ins node_modules-Verzeichnis. Nun benötigt man noch das node-gyp-Paket, falls es nicht schon installiert ist. Man wechselt via Konsole ins Verzeichnis des Moduls und gibt den Befehl “node-gyp configure build” ein, was das Modul neu kompiliert. Nun sollte man…

  • Node JS,  Programmierung

    Node JS App sich selber neustarten bei Fehler

    Node JS Applikationen werden gänzlich beendet, sobald ein nicht-abgefangener Fehler auftritt. Man kann dies durch einen Watchdog lösen, der die App immer wieder neu startet, wenn sie nicht mehr läuft. Habe heute aber noch eine andere Möglichkeit entdeckt: Fehler abfangen und sich selber neustarten. Hier der Code dazu: // Automatic Restart Process for Node process.on(‘uncaughtException’, function(err) { // Log the error console.log(err); // Name of the program to execute var sExecute = “node app.js “; // var exec = require(‘child_process’).exec; console.log(“restarting app”); exec(sExecute); }); Nun meint man, dass bei einem allg. Fehler beim ersten Programm-Aufruf diese Funktion gewissermassen rekursiv aufgerufen würde. Habe ich getestet mit NodeJS für Windows. Hat dort nur…

  • Node JS,  Programmierung

    EWS-Entwicklung geht voran

    Das EWS-System, eine Eigen-Entwicklung der P. Stettler AG, nimmt Formen an. Basierend auf Node JS und MongoDB ist das System speziell auf dynamische Web-Applikationen zugeschnitten. Eine Vorschau auf das kommende System findet man als Vorgängerversion unter www.easywebscript.ch .

  • JavaScript,  Node JS

    Mikrofon-Aufnahme von Browser nach Node JS senden.

    Nun habe ich eine Lösung programmiert, um ein Mikrofon-Signal im Browser aufzunehmen, an einen Node-JS-Server zu senden und es dort abzuspielen. Der Code sieht, wie folgt, aus: <!DOCTYPE html> <html> <head>  <meta http-equiv="Content-Type" content="text/html; charset=utf-8">  <title>Mikrofon mit HTML5 aufnehmen und mit Node JS wiedergeben.</title> </head> <body> <h1>Mikrofon aufnehmen</h1> <p>Benutzen Sie für dieses Beispiel Google Chrome (min. Version Canary / 25). Zuerst muss das Tool "Webaudioeingabe" in den Einstellungen aktiviert werden: chrome://flags</p>   <p>Benutzen Sie ein Headset, wenn Sie Rückkopplung vermeiden möchten.</p>   <button onclick="startRecording(this);">Aufnehmen</button>   <button onclick="stopRecording(this);" disabled>Stop</button>   <button onclick="sendStream()">Senden</button>   <form id="sender" action="http://192.168.1.184:8888" method="post"> <input type="hidden" name="sendData" id="sendData" value="">   </form>   <h2>Aufnahmen</h2>   <ul id="recordingslist"></ul>    …

  • Linux,  Node JS

    Sound abspielen mit Node JS und Ubuntu

    Wenn man auf Ubuntu Node JS und mplayer installiert hat, kann man mit folgendem Node-JS-Code einen Sound abspielen: var spawn=require(‘child_process’).spawn; spwan(‘mplayer’,[‘test.wav’]); Zum installieren von MPlayer gibt man im Terminal Folgendes ein: sudo apt-get install mplayer