NEWS

serialport lässt sich nicht installieren


  • hallo zusammen,
    ich habe ioBroker.admin 4.1.11 auf einem Pi4 neu installiert, dann die JS script engine 4.8.4 installiert.
    Dann wie hier (https://forum.iobroker.net/topic/12340/serialport-adapter/2) beschrieben serialport integriert.

    Leider hat das wohl nicht funktioniert, es passiert auch nichts wenn ich auf speichern gehen.
    Die Zeile "var SerialPort = require("serialport");" führt bereits zu einem Fehler "serialport" ist rot unterstrichen.
    Die Fehlermeldung ist auch nicht hilfreich:
    11:58:38.131 error javascript.0 (2731) script.js.common.t2 compile failed: at script.js.common.t2:3

    Kann mir bitte jemand einen Tipp geben?

    Danke Gruß Stefan

  • Developer

    @stefan999 Ich nehme an, du hast schon etwas gewartet, bis das Modul installiert ist? Geht bei serialport je nach System recht lange.

    Kannst du dein ganzes Skript mal hier posten (in Code Tags </>).

    Zum herauszufinden, ob serialport bei dir sauber installiert wird, kannst du mal versuchen, den Adapter smartmeter zu installieren. Wenn dann ein Fehler kommt, kannst du den hier posten.


  • @unclesam
    danke, ich denke dass es doch läuft.
    Ich sende Daten mit einem Arduino an ttyUSB0, die kommen auch tatsächlich dort an!

    Hier meine Versuche:
    // mit putty
    pi@raspberrypi:/ $ ls -la /dev/serial/by-id
    insgesamt 0
    drwxr-xr-x 2 root root 80 Jan 17 11:15 .
    drwxr-xr-x 4 root root 80 Jan 17 11:15 ..
    lrwxrwxrwx 1 root root 13 Jan 17 11:15 usb-FTDI_FT232R_USB_UART_AI02OF95-if00-port0 -> ../../ttyUSB0
    lrwxrwxrwx 1 root root 13 Jan 17 11:15 usb-Texas_Instruments_TI_CC2531_USB_CDC___0X00124B0014D94714-if00 -> ../../ttyACM0
    pi@raspberrypi:/ $

    // Programmcode
    const SerialPort = require('serialport')
    const port = new SerialPort('/dev/ttyUSB0',
    {baudRate: 115200, autoOpen: true, xon: true,xoff: true,platformOptions: {vmin: 0, vtime: 10, hupcl: false}}
    )

    port.open (function (err) {
    if (err) {return console.log('Error opening port: ', err.message)}
    })

    port.on('data', function (data) {
    console.log('Data:', data)
    })

    // Ausgabe
    18:01:57.157 info javascript.0 (9595) Stop script script.js.common.t1
    18:01:57.177 info javascript.0 (9595) Start javascript script.js.common.t1
    18:01:57.186 info javascript.0 (9595) script.js.common.t1: registered 0 subscriptions and 0 schedules
    18:01:57.187 info javascript.0 (9595) script.js.common.t1: Error opening port:

  • Most Active

    @stefan999 Bitte Text in CodeTags setzen.
    Und bitte vollständig posten.


  • const SerialPort = require('serialport')
    const port = new SerialPort('/dev/ttyUSB0',
        {baudRate: 115200, autoOpen: true, xon: true,xoff: true,platformOptions: {vmin: 0, vtime: 10, hupcl: false}}
    )
    
    port.open (function (err) {
        if (err) {return console.log('Error opening port: ', err.message)}
    })
    
    
    port.on('data', function (data) {
      console.log('Data:', data)
    })
    

    Sorry! Das ist der ganze Code. Beim Öffnen des Ports kommt ein Fehler!

  • Most Active

    @stefan999 said in serialport lässt sich nicht installieren:

    Beim Öffnen des Ports kommt ein Fehler!

    Ein geheimer Fehler? Oh, oh, oh, das sind die gefährlichsten!


  • @thomas-braun

    da steht weiter nichts nur "Error open port", überhaupt werden mir keine Fehler angezeigt - ist Javascript falsch konfiguriert?
    Bei Mouseover serialport kommt das hier
    ![0_1610910576421_seri2.jpg](Uploading 100%)


  • @stefan999
    Bild sieht man wohl nicht! Da steht "cannot find module 'serialport' "


  • Es läuft jetzt, nur startet serialport nicht immer, ich muss mal genau beobachten waran das liegt.
    Vielleicht lässt mein Code ja etwas abstürzen.

    Hier nun ein Code der funktioniert, zumindest mal die Grundfunktion. Ich kann im Arduino Terminal Zeichen eingeben, und der AsCii code wird mir angezeigt.

    var Serialport = require('serialport');
    var portName = '/dev/ttyUSB0';
    
    const port = new Serialport(portName, {
        autoOpen: true,
        baudRate: 115200,
    	dataBits: 8,
        parity: 'none',
        stopBits: 1,
        flowControl: false
    });
    
    // Read the port data
    port.on("open", function () {
        console.log('open');
        port.on('data', function(data) {
            console.log(data);
        });
    });
    
    

    Ich denke es lag nie daran, dass serialport nicht installiert war!

Suggested Topics

1.9k
Online

36.9k
Users

42.6k
Topics

590.3k
Posts