דילוג לתוכן
  • דף הבית
  • קטגוריות
  • פוסטים אחרונים
  • משתמשים
  • חיפוש
  • חוקי הפורום
כיווץ
תחומים

תחומים - פורום חרדי מקצועי

💡 רוצה לזכור קריאת שמע בזמן? לחץ כאן!
  1. דף הבית
  2. תכנות
  3. עזרה בתקשורת ליציאה טורית בקוד node.js

עזרה בתקשורת ליציאה טורית בקוד node.js

מתוזמן נעוץ נעול הועבר תכנות
4 פוסטים 2 כותבים 185 צפיות 2 עוקבים
  • מהישן לחדש
  • מהחדש לישן
  • הכי הרבה הצבעות
תגובה
  • תגובה כנושא
התחברו כדי לפרסם תגובה
נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
  • A מנותק
    A מנותק
    avi rz
    כתב ב נערך לאחרונה על ידי
    #1

    בס"ד

    אני מנסה לחבר משקל דיגטלי בחיבור של rs232 ולקבל בnode.js את הפלט שלו,
    ניסיתי להשתמש בספרייה serialport עם כל מיני דוגמאות - ללא הצלחה.
    עברתי על התגובות לבעיה זו כאן, רובם(לא כולם) הבנתי וניסיתי - ללא הצלחה
    מצ"ב הקוד והשגיאה

    app.js

    
    const serial = require("serialport");
    const ReadLine = require("@serialport/parser-readline");
    
    const port = new serial.SerialPort("COM5", {
        baudRate: 9600,
    });
    
    const parser = new ReadLine();
    port.pipe(parser);
    
    parser.on("data",(line) => console.log(line));
    
    port.write("mishkal is conect!");
    
    

    השגיאה:

    C:\Users\User\Desktop\משקל\node_modules\@serialport\stream\dist\index.js:50
                throw new TypeError(`"path" is not defined: ${settings.path}`);
                ^
    
    TypeError: "path" is not defined: undefined
        at new SerialPortStream (C:\Users\User\Desktop\משקל\node_modules\@serialport\stream\dist\index.js:50:19)
        at new SerialPort (C:\Users\User\Desktop\משקל\node_modules\serialport\dist\serialport.js:13:9)
        at Object.<anonymous> (C:\Users\User\Desktop\משקל\app.js:5:14)
        at Module._compile (internal/modules/cjs/loader.js:1137:30)
        at Object.Module._extensions..js (internal/modules/cjs/loader.js:1157:10)
        at Module.load (internal/modules/cjs/loader.js:985:32)
        at Function.Module._load (internal/modules/cjs/loader.js:878:14)
        at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:71:12)
        at internal/main/run_main_module.js:17:47
    

    הקבצים:
    d7782a2d-1b49-488b-9583-5e622bcfe13a-image.png 20519c19-93fd-4111-a377-f5bdbae11867-image.png bb62be7a-7dc8-46be-a484-742ccdece9b0-image.png

    תודה מראש לכל המסייעים

    A dovidD 2 תגובות תגובה אחרונה
    1
    • A avi rz

      בס"ד

      אני מנסה לחבר משקל דיגטלי בחיבור של rs232 ולקבל בnode.js את הפלט שלו,
      ניסיתי להשתמש בספרייה serialport עם כל מיני דוגמאות - ללא הצלחה.
      עברתי על התגובות לבעיה זו כאן, רובם(לא כולם) הבנתי וניסיתי - ללא הצלחה
      מצ"ב הקוד והשגיאה

      app.js

      
      const serial = require("serialport");
      const ReadLine = require("@serialport/parser-readline");
      
      const port = new serial.SerialPort("COM5", {
          baudRate: 9600,
      });
      
      const parser = new ReadLine();
      port.pipe(parser);
      
      parser.on("data",(line) => console.log(line));
      
      port.write("mishkal is conect!");
      
      

      השגיאה:

      C:\Users\User\Desktop\משקל\node_modules\@serialport\stream\dist\index.js:50
                  throw new TypeError(`"path" is not defined: ${settings.path}`);
                  ^
      
      TypeError: "path" is not defined: undefined
          at new SerialPortStream (C:\Users\User\Desktop\משקל\node_modules\@serialport\stream\dist\index.js:50:19)
          at new SerialPort (C:\Users\User\Desktop\משקל\node_modules\serialport\dist\serialport.js:13:9)
          at Object.<anonymous> (C:\Users\User\Desktop\משקל\app.js:5:14)
          at Module._compile (internal/modules/cjs/loader.js:1137:30)
          at Object.Module._extensions..js (internal/modules/cjs/loader.js:1157:10)
          at Module.load (internal/modules/cjs/loader.js:985:32)
          at Function.Module._load (internal/modules/cjs/loader.js:878:14)
          at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:71:12)
          at internal/main/run_main_module.js:17:47
      

      הקבצים:
      d7782a2d-1b49-488b-9583-5e622bcfe13a-image.png 20519c19-93fd-4111-a377-f5bdbae11867-image.png bb62be7a-7dc8-46be-a484-742ccdece9b0-image.png

      תודה מראש לכל המסייעים

      A מנותק
      A מנותק
      avi rz
      כתב ב נערך לאחרונה על ידי avi rz
      #2

      @avi-rz יש מצב שהסתדרתי אני יבדוק את זה בהמשך
      מתנצל, אבל היות ואני מעריך את העבודה של החברים בלענות תשובות יעילות וחבל שיעבדו סתם קשה.
      אני יעדכן בהמשך.

      תגובה 1 תגובה אחרונה
      3
      • A avi rz

        בס"ד

        אני מנסה לחבר משקל דיגטלי בחיבור של rs232 ולקבל בnode.js את הפלט שלו,
        ניסיתי להשתמש בספרייה serialport עם כל מיני דוגמאות - ללא הצלחה.
        עברתי על התגובות לבעיה זו כאן, רובם(לא כולם) הבנתי וניסיתי - ללא הצלחה
        מצ"ב הקוד והשגיאה

        app.js

        
        const serial = require("serialport");
        const ReadLine = require("@serialport/parser-readline");
        
        const port = new serial.SerialPort("COM5", {
            baudRate: 9600,
        });
        
        const parser = new ReadLine();
        port.pipe(parser);
        
        parser.on("data",(line) => console.log(line));
        
        port.write("mishkal is conect!");
        
        

        השגיאה:

        C:\Users\User\Desktop\משקל\node_modules\@serialport\stream\dist\index.js:50
                    throw new TypeError(`"path" is not defined: ${settings.path}`);
                    ^
        
        TypeError: "path" is not defined: undefined
            at new SerialPortStream (C:\Users\User\Desktop\משקל\node_modules\@serialport\stream\dist\index.js:50:19)
            at new SerialPort (C:\Users\User\Desktop\משקל\node_modules\serialport\dist\serialport.js:13:9)
            at Object.<anonymous> (C:\Users\User\Desktop\משקל\app.js:5:14)
            at Module._compile (internal/modules/cjs/loader.js:1137:30)
            at Object.Module._extensions..js (internal/modules/cjs/loader.js:1157:10)
            at Module.load (internal/modules/cjs/loader.js:985:32)
            at Function.Module._load (internal/modules/cjs/loader.js:878:14)
            at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:71:12)
            at internal/main/run_main_module.js:17:47
        

        הקבצים:
        d7782a2d-1b49-488b-9583-5e622bcfe13a-image.png 20519c19-93fd-4111-a377-f5bdbae11867-image.png bb62be7a-7dc8-46be-a484-742ccdece9b0-image.png

        תודה מראש לכל המסייעים

        dovidD מנותק
        dovidD מנותק
        dovid
        ניהול
        כתב ב נערך לאחרונה על ידי
        #3

        @avi-rz כתב בעזרה בתקשורת ליציאה טורית בקוד node.js:

        ניסיתי להשתמש בספרייה serialport

        ראה את הדוגמה פה:
        https://serialport.io/docs/guide-usage

        מייד אתה מבין מה השגיאה שהייתה לך עם הpath not defined.

        • מנטור אישי בתכנות והמסתעף – להתקדם לשלב הבא!
        • בכל נושא אפשר ליצור קשר dovid@tchumim.com
        A תגובה 1 תגובה אחרונה
        3
        • dovidD dovid

          @avi-rz כתב בעזרה בתקשורת ליציאה טורית בקוד node.js:

          ניסיתי להשתמש בספרייה serialport

          ראה את הדוגמה פה:
          https://serialport.io/docs/guide-usage

          מייד אתה מבין מה השגיאה שהייתה לך עם הpath not defined.

          A מנותק
          A מנותק
          avi rz
          כתב ב נערך לאחרונה על ידי avi rz
          #4

          @dovid כתב בעזרה בתקשורת ליציאה טורית בקוד node.js:

          ראה את הדוגמה פה:
          https://serialport.io/docs/guide-usage
          מייד אתה מבין מה השגיאה שהייתה לך עם הpath not defined.

          כן עברתי ע"ז קודם, באמת סידרתי את זה,
          הבעיה הייתה שהעתקתי את הקוד מהרשת וכו', כנראה בשינויי גירסאות זה לא בדיוק נשאר ככה, ובדקתי לפי האובייקטים כיצד באמת לקחת את האובייקט הנכון ולהשתמש בו.
          בנוגע לשגיאה לעיל, היה צריך להחליף את השורה הזאת:

          const port = new serial.SerialPort("COM5", {
              baudRate: 9600,
          });
          

          לזה, (כלומר להכניס את השם של היציאה לתוך האופציות)

          const port = new serial.SerialPort( {
              baudRate: 9600,
              path: "COM5",
          });
          
          

          נ.ב. גם הקישור לעיל הוא לבעיה שהייתה לי קודם, שגם איך שהוא הסתדר,

          לע"ע כשאני לא מחובר למשקל הוא כותב לו file not found וכשאני מחובר למשקל אז הוא בעצם מחכה למשהו, כנראה בקוד צריך לראות איך לשלוף משם את הנתונים,
          יש לי קוד VBA שעבד פעם.
          חיבור:

          If MSComm1.PortOpen = False Then
          MSComm1.CommPort = Val(3)
              MSComm1.PortOpen = True
          End If
          
          

          שליפה:

          If MSComm1.PortOpen = True Then
              a = "W"
              
              MSComm1.Output = a
              MSComm1.InputLen = 10
              mishkal = Mid(MSComm1.Input, 2, 6)
          End If
          
          

          זה נראה בעצם שבחיבור הוא נותן לו את המספר של היציאה (COM3) ומפעיל (True) ב open.
          ובקריאה הוא פשוט מכניס ערך כלשהו ושולף ומסנן את מה שהכניס.

          אממה, לא כ"כ הבנתי באלו פונקציות עושים את זה בספרייה הנ"ל.

          תגובה 1 תגובה אחרונה
          1
          תגובה
          • תגובה כנושא
          התחברו כדי לפרסם תגובה
          • מהישן לחדש
          • מהחדש לישן
          • הכי הרבה הצבעות


          בא תתחבר לדף היומי!
          • התחברות

          • אין לך חשבון עדיין? הרשמה

          • התחברו או הירשמו כדי לחפש.
          • פוסט ראשון
            פוסט אחרון
          0
          • דף הבית
          • קטגוריות
          • פוסטים אחרונים
          • משתמשים
          • חיפוש
          • חוקי הפורום