Closed Geeklab3D closed 3 years ago
I had this similar sounding issue ("No results found") on the Raspberry Pi and found my issue was with the install of the "SerialPort" module for node. The new guide has the lines:
sudo npm install serialport --unsafe-perm --build-from-source
sudo npm install
Which worked for me.
Hi thystonius Thank you for your feedback. I will check that tomorrow.
I'm running into the same problem as Geeklab3D.
$ dmesg |grep ch341 [1824054.331645] usbcore: registered new interface driver ch341 [1824054.331930] usbserial: USB Serial support registered for ch341-uart [1824054.332108] ch341 1-1.5:1.0: ch341-uart converter detected [1824054.339545] usb 1-1.5: ch341-uart converter now attached to ttyUSB0 [1833136.016131] ch341-uart ttyUSB0: ch341-uart converter now disconnected from ttyUSB0 [1833136.016270] ch341 1-1.5:1.0: device disconnected [1835925.591298] ch341 1-1.5:1.0: ch341-uart converter detected [1835925.597659] usb 1-1.5: ch341-uart converter now attached to ttyUSB0`
$ lsusb Bus 001 Device 007: ID 1a86:7523 QinHeng Electronics HL-340 USB-Serial adapter
I did install serialport with the same parameters thystonius recomended
Can you describe your setup? Pi version, Linux distro, version of node
I can try and build a quick test script to ensure that serialport is installed and working properly. I'll try and get to this tomorrow.
On Wed, Dec 13, 2017 at 8:25 PM, Frank DiRocco notifications@github.com wrote:
I'm running into the same problem as Geeklab3D.
$ dmesg |grep ch341 [1824054.331645] usbcore: registered new interface driver ch341 [1824054.331930] usbserial: USB Serial support registered for ch341-uart [1824054.332108] ch341 1-1.5:1.0: ch341-uart converter detected [1824054.339545] usb 1-1.5: ch341-uart converter now attached to ttyUSB0 [1833136.016131] ch341-uart ttyUSB0: ch341-uart converter now disconnected from ttyUSB0 [1833136.016270] ch341 1-1.5:1.0: device disconnected [1835925.591298] ch341 1-1.5:1.0: ch341-uart converter detected [1835925.597659] usb 1-1.5: ch341-uart converter now attached to ttyUSB0`
$ lsusb Bus 001 Device 007: ID 1a86:7523 QinHeng Electronics HL-340 USB-Serial adapter
I did install serialport with the same parameters thystonius recomended
— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/LaserWeb/LaserWeb4/issues/437#issuecomment-351579543, or mute the thread https://github.com/notifications/unsubscribe-auth/ARN32AKI8o4qsu8REkTlhRnCGuIM2xrDks5tAHklgaJpZM4Qa_rB .
$ cat /proc/device-tree/model Raspberry Pi 2 Model B Rev 1.1
$ cat /etc/os-release PRETTY_NAME="Raspbian GNU/Linux 8 (jessie)" NAME="Raspbian GNU/Linux" VERSION_ID="8" VERSION="8 (jessie)"
$ node -v v6.12.2
$ npm -v 3.10.10
Eleksmaker EleksLaser-A5 Pro with Grbl 1.1
Try this. Create a new file in your lw.comm-server folder named "serialtest.js" (same folder as server.js):
var SerialPort = require('serialport');
var port = new SerialPort('/dev/ttyACM0');
SerialPort.list(function (err, ports) {
console.log('Ports', ports);
console.log('Error:', err);
});
// open errors will be emitted as an error event
port.on('error', function(err) {
console.log('Error: ', err.message);
});
Then run using:
node serialtest.js
Lets see the output. I suspect that serialport is still not quite installed somehow, but this should give a definitive answer.
On Wed, Dec 13, 2017 at 9:09 PM, Frank DiRocco notifications@github.com wrote:
$ cat /proc/device-tree/model Raspberry Pi 2 Model B Rev 1.1
$ cat /etc/os-release PRETTY_NAME="Raspbian GNU/Linux 8 (jessie)" NAME="Raspbian GNU/Linux" VERSION_ID="8" VERSION="8 (jessie)"
$ node -v v6.12.2
$ npm -v 3.10.10
Eleksmaker EleksLaser-A5 Pro with Grbl 1.1
— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/LaserWeb/LaserWeb4/issues/437#issuecomment-351586547, or mute the thread https://github.com/notifications/unsubscribe-auth/ARN32FiCCgcGX4616BTXpssnOdh5mxC3ks5tAINxgaJpZM4Qa_rB .
Tried this 'var SerialPort = require('serialport'); var port = new SerialPort('/dev/ttyUSB0', { baudRate: 57600 });
// Open errors will be emitted as an error event port.on('error', function(err) { console.log('Error: ', err.message); });
port.open(function (err) { if (err) { return console.log('Error opening port: ', err.message); } // Do nothing });' and got '$ DEBUG=* node testSerial.js Error: Port is opening'
I'll try yours now
$ DEBUG=* node testSerial1.js Ports [ { comName: '/dev/ttyACM0', manufacturer: 'Prusa_Researchprusa3d.com_', serialNumber: 'Prusa_Researchprusa3d.com__Original_Prusa_i3_MK2_CZPX0717X003XK12123', pnpId: 'usb-Prusa_Researchprusa3d.comOriginal_Prusa_i3_MK2_CZPX0717X003XK12123-if00', vendorId: '0x2c99', productId: '0x0001' }, { comName: '/dev/ttyAMA0', manufacturer: undefined, serialNumber: undefined, pnpId: undefined, vendorId: undefined, productId: undefined }, { comName: '/dev/ttyUSB0', manufacturer: '1a86', serialNumber: '1a86_USB2.0-Serial', pnpId: 'usb-1a86_USB2.0-Serial-if00-port0', vendorId: '0x1a86', productId: '0x7523' } ] Error: null
Hmmm, so I'm certainly wrong about "serialport" installation. Just to confirm when you go to the Comms tab, then click on Server Connection you should have the ip address of your Pi there. It should NOT be 'localhost'.
On Wed, Dec 13, 2017 at 9:28 PM, Frank DiRocco notifications@github.com wrote:
$ DEBUG=* node testSerial1.js Ports [ { comName: '/dev/ttyACM0', manufacturer: 'Prusa_Researchprusa3d.com_', serialNumber: 'Prusa_Researchprusa3d.com__Original_Prusa_i3MK2 CZPX0717X003XK12123', pnpId: 'usb-Prusa_Researchprusa3d.comOriginal_Prusa_i3MK2 CZPX0717X003XK12123-if00', vendorId: '0x2c99', productId: '0x0001' }, { comName: '/dev/ttyAMA0', manufacturer: undefined, serialNumber: undefined, pnpId: undefined, vendorId: undefined, productId: undefined }, { comName: '/dev/ttyUSB0', manufacturer: '1a86', serialNumber: '1a86_USB2.0-Serial', pnpId: 'usb-1a86_USB2.0-Serial-if00-port0', vendorId: '0x1a86', productId: '0x7523' } ] Error: null
— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/LaserWeb/LaserWeb4/issues/437#issuecomment-351589644, or mute the thread https://github.com/notifications/unsubscribe-auth/ARN32BDg76C5OGNU76eNaeJn4ARfZzgYks5tAIfogaJpZM4Qa_rB .
Hrm, my Pi is localhost. I have localhost there... localhost:8000 to be exact
and from the Pi $ curl -I localhost:8000 HTTP/1.1 200 OK
What should it be if not localhost?
This is the address used by the LaserWeb javascript app in your browser to connect to the Pi. Just to confirm you are not running Chromium from the pi (which to my knowledge is not supported for memory & performance reasons), but running another browser on another machine to connect to LaserWeb on the Pi. Give it a quick try changing this to the ip address of pi (still using port 8000) and see what happens.
On Wed, Dec 13, 2017 at 10:44 PM, Frank DiRocco notifications@github.com wrote:
and from the Pi $ curl -I localhost:8000 HTTP/1.1 200 OK
What should it be if not localhost?
— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/LaserWeb/LaserWeb4/issues/437#issuecomment-351600159, or mute the thread https://github.com/notifications/unsubscribe-auth/ARN32HcAKZRscVnOPVi1qI_LMrJroDKRks5tAJmIgaJpZM4Qa_rB .
Using the wireless adapter ip worked. Very weird! But apparently, I'll need to redo the fw deployment, as I guess it didnt actually happen.
Firmware grbl 0.9j detected Grbl version too old -> YOU MUST INSTALL AT LEAST GRBL 1.1e
Thanks for your help, Nathan. Any idea why we have to use the IP of the machine? I have a DNS name resolving to that machine locally, could I use that so I dont lose the address?
The client (your browser) needs to connect to the Pi and the server connection is also from the client to the Pi. This connection is not the Pi to itself, but the browser to the Pi. So any client side dns lookup should work. It just cannot be only local to the pi. Good luck with the Grbl update :-).
On Wed, Dec 13, 2017 at 11:23 PM, Frank DiRocco notifications@github.com wrote:
Using the wireless adapter ip worked. Very weird! But apparently, I'll need to redo the fw deployment, as I guess it didnt actually happen.
Firmware grbl 0.9j detected Grbl version too old -> YOU MUST INSTALL AT LEAST GRBL 1.1e
Thanks for your help, Nathan. Any idea why we have to use the IP of the machine? I have a DNS name resolving to that machine locally, could I use that so I dont lose the address?
— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/LaserWeb/LaserWeb4/issues/437#issuecomment-351605011, or mute the thread https://github.com/notifications/unsubscribe-auth/ARN32E3nNmWe8ieoax8LYVt0H7CaVkcrks5tAKK6gaJpZM4Qa_rB .
Hi. I complete reinstalled the pi from scratch. I get now the serial connection to the arduino but having the GRBL to old issue. I will try to flash the arduino with the new Firmware this weekend.
Is this solved?
Same issue here. Starting over. I am using an Eleksmaker A3 Pro 2500mw PWM laser with a Raspberry Pi 3+. I connect to the web fine but the machine connection dropdown is not populated.
Strange - I show the USB ports ttyUSB0 and ttyAMA0, I can connect to ttyUSB0 @ 115200 from the CLI, but when I try to connect via the web interface, nothing! I'm using serialport@6.2.2
/var/log/daemon.log:
Sep 11 20:38:08 raspberrypi lw.comm-server[5548]: INFO: Connecting to USB,/dev/ttyUSB0,115200
Sep 11 20:38:08 raspberrypi lw.comm-server[5548]: /home/pi/lw.comm-server/server.js:291
Sep 11 20:38:08 raspberrypi lw.comm-server[5548]: parser: serialport.parsers.readline('\n'),
Sep 11 20:38:08 raspberrypi lw.comm-server[5548]: ^
Sep 11 20:38:08 raspberrypi lw.comm-server[5548]: TypeError: serialport.parsers.readline is not a function
Sep 11 20:38:08 raspberrypi lw.comm-server[5548]: at Socket.
After some playing, it looks like the newest version of serial port has some major changes, promises and stuff..
The lw.comm-server needs serialport version 4.x not 6.x! And you should connect the controller via USB cable, not RX/TX to the Raspberry Pi.
Also important, as @thystonius wrote: When you use a Raspberry Pi as the server, you must set the IP of the Pi (+:8000) in the Server field of LaserWeb, not localhost:8000!
Well I couldn't get 4.x to compile under Node 10, so 6.x works under 10.
I might take a look making changes to server.js to get 6.x working tonight.
As written in the wiki, we need NodeJS V6 ;)
A port to nodejs 10.x with serialport 6.x would be very much appreciated.
I know it says V6, but I hate being that far back. =) I have a fork going for lw.comm - but I've only done code styling at the moment. I don't have much personal time at the moment, so it might be a couple days before I get something working.
Please don't do code styling / reformating! Thant makes it very complicated to review a pull request (find the relevant changes) and will therefore not be confirmed/accepted.
I'd be willing to help with that V10 update. Do you have any other specific packages that you do / do not want updated? Any other things to include / avoid?
On Thu, Sep 13, 2018 at 1:06 PM, Claudio Prezzi notifications@github.com wrote:
Please don't do code styling / reformating! Thant makes it very complicated to review a pull request (find the relevant changes) and will therefore not confirmed/accepted.
— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/LaserWeb/LaserWeb4/issues/437#issuecomment-421099261, or mute the thread https://github.com/notifications/unsubscribe-auth/ARN32Hd4wGGkjFGp86HJivNZTR9kxxUmks5uap6NgaJpZM4Qa_rB .
The only reason why I did code style formatting was so I can better read it, so it's more for me. Once I find the way of getting 6.2.2. working, I can pull the original back and place the fix. Also seeing the size of server.js, it might be better to restructure the code like this: https://blog.risingstack.com/node-hero-node-js-project-structure-tutorial/
@thystonius I don't expect too many problems with the update. Just the servialport lib changed from 4 to 6 so usage must be adjusted, but the update should be worth the work because the new version should be faster and more stable.
I turn of coding: I'm not a fan of too many dependencies, so if possible I do avoid them and rather copy a function over or do it myself. Because I was the only maintainer of lw.comm-server over the past 2-3 years, I prefer not to change the structure of the code. Shure, it's not very readable, but I'm perfectly in it ;)
@ellisgl Server.js is just a big state machine and MVC does not make sense for me. What theoretically would make sense is separating the different supported firmwares and connections to separate files, but it would increase the time to implement new features to all versions.
Great. I’ll start a fork. I’m also a believer in only breaking one thing at a time so I’ll only change what is necessary to update then you can review.
My only limitation is that I will only have access to grbl based laser, so that will be the limitations of my ability to test.
On Sep 14, 2018, at 7:00 PM, Claudio Prezzi notifications@github.com wrote:
@thystonius I don't expect too many problems with the update. Just the servialport lib changed from 4 to 6 so usage must be adjusted, but the update should be worth the work because the new version should be faster and more stable.
I turn of coding: I'm not a fan of too many dependencies, so if possible I do avoid them and rather copy a function over or do it myself. Because I was the only maintainer of lw.comm-server over the past 2-3 years, I prefer not to change the structure of the code. Shure, it's not very readable, but I'm perfectly in it ;)
— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub, or mute the thread.
@cprezzi Should have been more specific. I believe that server.js could be broken down in to modules. I've started to play with it in my fork (experimental (I typo'd the name though) branch). Basically breaking down communication and machine stuff into their own modules and DRYing things up.
Of course, we should really be talking on https://github.com/LaserWeb/lw.comm-server about this. But I do have a pull request to fix the 6.2.2 issue.
@ellisgl I have merged your pull request. Looks good so far. Did you also try to compile the electron app? Hope we did not break compatibility.
@thystonius Could you test the new version?
No I didn't test the electron app. Just threw it on my PI and it worked.
On Mon, Sep 17, 2018 at 10:50 AM Claudio Prezzi notifications@github.com wrote:
@thystonius https://github.com/thystonius Could you test the new version?
— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/LaserWeb/LaserWeb4/issues/437#issuecomment-422068309, or mute the thread https://github.com/notifications/unsubscribe-auth/AAFxX0duwRez2kyU8pS2NBYrl9yU6IrMks5ub8SvgaJpZM4Qa_rB .
-- Kenneth Ellis McCall
Ok, but compiling the electron app is broken now. Probably the LW frontend (and all of it's dependencies) also needs to be updated to Node v10.
@tbfleming What do you think? Should the LW frontend be able to compile on Node v10?
Because of the brocken electron app (main usage) I rolled the master branch back to the previous state.
For users who just need to have the lw.comm-server on a Raspberry Pi, the new version with serialport 6.2.2 is still available under the "Serialport_6.2.2" branch (https://github.com/LaserWeb/lw.comm-server/tree/Serialport_6.2.2).
UPDATE: You don't need the Serialport_6.2.2 branch anymore, the master branch uses serialport_6.2.2 now!
I ran into the same thing. Server was easy, but it broke Electron app so I was trying to get that working.
On Sep 17, 2018, at 6:50 PM, Claudio Prezzi notifications@github.com wrote:
@thystonius Could you test the new version?
— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub, or mute the thread.
Where's the code for the Electron app?
It's on lw.comm-server branch electron_bundler (see package.json script nightlywindows).
I'll take a look tonight. It looks like it should be mostly the same changes.
On Tue, Sep 18, 2018, 5:49 AM Claudio Prezzi notifications@github.com wrote:
It's on lw.comm-server branch electron_bundler (see package.json script nightlywindows).
— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/LaserWeb/LaserWeb4/issues/437#issuecomment-422346642, or mute the thread https://github.com/notifications/unsubscribe-auth/AAFxX5u0vBKbGYtMZzvne_ynYO9u1VWSks5ucM-5gaJpZM4Qa_rB .
https://github.com/ellisgl/lw.comm-server/tree/electron_bundler --- I get a blank screen. How do I get the dev tools up?
I figure out how to get dev tools up. Things I've noticed: Server is loading up on 8000 and Electron is trying to hit WS on 8080 Changed to 8080 on the server config, and get this: ERROR: webServer error:/sockjs-node/info?t=1537321840028 : Not Found
This could be from something else, since I was trying to update all the packages.
Has anyone tried compiling the Electron app from the latest masters?
I don't belief that there is something wrong with the ports, as I am able to compile the electron app under node v6. The electron app serves two ethernet ports, one for the frontend website and one for websocket communication.
Ill dig in a bit more tonight. I'll try just updating the electron version to 2.0.x and see what happens using the old serial module.
On Wed, Sep 19, 2018, 5:30 AM Claudio Prezzi notifications@github.com wrote:
I don't belief that there is something wrong with the ports, as I am able to compile the electron app under node v6. The electron app serves two ethernet ports, one for the frontend website and one for websocket communication.
— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/LaserWeb/LaserWeb4/issues/437#issuecomment-422747301, or mute the thread https://github.com/notifications/unsubscribe-auth/AAFxX_w_nijkEXVCbfEnI-ynq2lig8nVks5uchy2gaJpZM4Qa_rB .
OK - There we go! Serial 6.2.2 and Electron 2.0.x =)
I did a couple pull request to fix the issue over a month ago (On this and the Electron App) and I haven't heard anything, just checking to make sure all is good @cprezzi .
Ellis, I literally just now pulled your commit and was going to do some testing. I would have done this right after your commit, but just got back from a long trip from my EU office and couldn't do anything. I really look forward to this update. So everyone is aware, I do think that this will affect the install instructions on rasp-pi so I'm going to focus my testing in that area.
Nathan
On Mon, Oct 22, 2018 at 7:53 PM Ellis notifications@github.com wrote:
I did a couple pull request to fix the issue over a month ago (On this and the Electron App) and I haven't heard anything, just checking to make sure all is good @cprezzi https://github.com/cprezzi .
— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/LaserWeb/LaserWeb4/issues/437#issuecomment-432032275, or mute the thread https://github.com/notifications/unsubscribe-auth/ARN32K0B6RZCNn8VDX01Y_mm1K9Sv7R6ks5unlqNgaJpZM4Qa_rB .
Awesome. I was a little bit worried.
Ok, so I did some testing and your Serial Port updates seem to work on my grbl and smoothie based machines. In conjunction to that I've made a pull request for the NodeJS v10 update, but Ellis's changes for Serial Port should be merged first. My changes do not include his changes so it should be easier to see what updates were for each of the two pieces.
I was able to run the electron build and it did build and run, but it could use some more eyes. Also, I put this in the comments but, there was also an update to the .travis.yml file for LaserWeb4 so that will need to be updated to make the electron app work.
Lastly, there will need to be some updates to some of the install docs to reflect this version update. I volunteer to do those, but I'm not very excited to start that until there is a level of comfort with this update.
On Mon, Oct 22, 2018 at 10:49 PM Ellis notifications@github.com wrote:
Awesome. I was a little bit worried.
— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/LaserWeb/LaserWeb4/issues/437#issuecomment-432068566, or mute the thread https://github.com/notifications/unsubscribe-auth/ARN32JfXXevi24Lm1-o5OYgg3cx99nB0ks5unoO-gaJpZM4Qa_rB .
Ok, I will check the pull requests the next few days (I'm very busy at the moment).
Hi everyone,
Any new regarding the issue? I have tried all the combinations above.
I pull the latest and install serial-port 4.0.6 ... no luck I pulled the serialport-6.2.2 branch and install ... also no luck..
cat /proc/device-tree/model
Raspberry Pi 3 Model B Rev 1.2
cat /etc/os-release
PRETTY_NAME="Raspbian GNU/Linux 9 (stretch)"
NAME="Raspbian GNU/Linux"
root@lw4:/opt/lw.comm-server# npm -v
3.10.10
root@lw4:/opt/lw.comm-server# node -v
v6.14.4
node serialtest.js
Ports [ { comName: '/dev/ttyAMA0',
manufacturer: undefined,
serialNumber: undefined,
pnpId: undefined,
vendorId: undefined,
productId: undefined },
{ comName: '/dev/ttyUSB0',
manufacturer: '1a86',
serialNumber: '1a86_USB2.0-Serial',
pnpId: 'usb-1a86_USB2.0-Serial-if00-port0',
vendorId: '0x1a86',
productId: '0x7523' } ]
any ideas?
Hi I followed the installation instructions on the website and installed the latest Raspian on a new Raspberry Pi 3. I also enabled Serial connection in the Raspberry Pi configuration. The webinterface work, except that the connected arduino nano ATmega 341 with GRBL don't show up in the machine connection.
In the Terminal dmesg shows me:
usbcore: registered new interface driver ch341 [ 3.115097] usbserial: USB Serial support registered for ch341-uart [ 3.115186] ch341 1-1.2:1.0: ch341-uart converter detected [ 3.117234] usb 1-1.2: ch341-uart converter now attached to ttyUSB0
....... I installed the Arduino IDE and get full access to the nano. I flashed the latest GRBL Version to the nano and still have no connection.
If I connect my W10 Notebook with Eleksmaker to the nano, everything works normal.
Any idea, why this is not working? Thank you in advance.