serialport / node-serialport

Access serial ports with JavaScript. Linux, OSX and Windows. Welcome your robotic JavaScript overlords. Better yet, program them!
https://serialport.io
MIT License
5.82k stars 1.01k forks source link

A known (free) working environment? #173

Closed murray-lang closed 11 years ago

murray-lang commented 11 years ago

Hi,

I'm new to node.js and have been having trouble installing serialport on windows 7. My problems are a repeat of those expressed elsewhere in this forum (eg exception related compiler switches, missing ATL files, binding problems etc.) but the solutions presented just lead to more problems for me. I am currently limited to the express version of Visual Studio 10, and have downloaded the WDK in an attempt to provide the extra include files.

I have spent hours messing around with compiler switches and include paths, downloading pre-built binaries and trying different versions of node.js and serialport. This was briefly interesting, but now I just I want to put my energy into my own application.

Is it possible for someone to please post a complete list of required files and free tools including version numbers that are known to all work together so that serialport can be experimented with?

Many thanks, Murray

voodootikigod commented 11 years ago

I like the target here Murray, the main issue is (for now) windows is a complex beast of what works and what doesn't. I am working to get a windows based laptop/desktop so I can cleanly produce something that you all can just "use" -- until then I can't be of much assistance. Hopefully soon.

On Wed, Jun 12, 2013 at 3:56 AM, Murray Lang notifications@github.comwrote:

Hi,

I'm new to node.js and have been having trouble installing serialport on windows 7. My problems are a repeat of those expressed elsewhere in this forum (eg exception related compiler switches, missing ATL files, binding problems etc.) but the solutions presented just lead to more problems for me. I am currently limited to the express version of Visual Studio 10, and have downloaded the WDK in an attempt to provide the extra include files.

I have spent hours messing around with compiler switches and include paths, downloading pre-built binaries and trying different versions of node.js and serialport. This was briefly interesting, but now I just I want to put my energy into my own application.

Is it possible for someone to please post a complete list of required files and free tools including version numbers that are known to all work together so that serialport can be experimented with?

Many thanks, Murray

— Reply to this email directly or view it on GitHubhttps://github.com/voodootikigod/node-serialport/issues/173 .

Chris Williams

@voodootikigod http://twitter.com/voodootikigod | GitHubhttp://github.com/voodootikigod

The things I make that you should check out: SaferAging http://www.saferaging.com/ | JSConf http://jsconf.com/ | PromoteJS http://promotejs.com/ | Minute With http://minutewith.com/

Help me end the negativity on the internet, share thishttp://jsconf.eu/2011/an_end_to_negativity.html .

murray-lang commented 11 years ago

Thanks Chris,

The serial port has long been an orphaned elephant. The major software vendors keep ignoring it because USB has supposedly taken its place. In the 90s I had to learn JNI so that I could provide a serial port interface for a Java program. Sun finally added support, then had to change it because of its weaknesses. Microsoft refused to provide a serial port interface for .NET, saying that it was "legacy" technology. Anyone wanting serial port access in a .NET application had to use an ActiveX control from Visual Basic (or write their own), but this was no good for mobile devices. Fortunately MS also eventually saw sense and provided it natively in .NET. I sometimes wonder at the man-millenia of development effort that must have been spent by developers around the world working around those omissions.

So here we are again trying to splice serial port access into a popular software environment. I very much appreciate your efforts in this direction and wish you all the best. I'm not motivated these days to spend great amounts of energy reinventing the wheel in order to do achieve what was trivial decades ago. I'm happy now to wait for someone else to do all that (c:

Cheers, Murray

voodootikigod commented 11 years ago

Hey!

So I realized what happened, we had fixed this already I just had not pushed it to NPM. Please try it right now. I have dont a full raw empty windows install with visual studio express and it worked beautifully. I am about to write it up, but wanted a secondary IV&V.

Thanks!

JayBeavers commented 11 years ago

What test do you want performed? Happy to jump in and help with a virgin Windows test environment.

JayBeavers commented 11 years ago

Windows 7 x64 NodeJS v0.10.12 x64 Python 2.7.5 x64 VS Express 2012 for Desktop

Successfully installed node-serialport using npm and called serialport.list().

JayBeavers commented 11 years ago

Same successful results on Windows 8 x64.

JayBeavers commented 11 years ago

Same successful results on Windows 8 x86.

JayBeavers commented 11 years ago

FYI, you can find the latest version of Visual Studio with the C++ compiler here: http://www.microsoft.com/visualstudio/eng/products/visual-studio-express-for-windows-desktop

voodootikigod commented 11 years ago

Awesome find thanks

On Wednesday, June 26, 2013, Jay Beavers wrote:

FYI, you can find the latest version of Visual Studio with the C++ compiler here:

http://www.microsoft.com/visualstudio/eng/products/visual-studio-express-for-windows-desktop

  • jcb

— Reply to this email directly or view it on GitHubhttps://github.com/voodootikigod/node-serialport/issues/173#issuecomment-20092074 .

Chris Williams

@voodootikigod http://twitter.com/voodootikigod | GitHubhttp://github.com/voodootikigod

The things I make that you should check out: SaferAging http://www.saferaging.com/ | JSConf http://jsconf.com/ | PromoteJS http://promotejs.com/ | Minute With http://minutewith.com/

Help me end the negativity on the internet, share thishttp://jsconf.eu/2011/an_end_to_negativity.html .

JayBeavers commented 11 years ago

I've also confirmed success using the Windows SDK 7.1 on Windows 7 x86 with no Visual Studio installed at all.

Windows SDK 7.1 download link: http://www.microsoft.com/en-us/download/details.aspx?id=8279

voodootikigod commented 11 years ago

awesome Jay!

Can I get instructions for that last one? How did you make that happen?

On Thu, Jun 27, 2013 at 10:50 AM, Jay Beavers notifications@github.comwrote:

I've also confirmed success using the Windows SDK 7.1 on Windows 7 x86 with no Visual Studio installed at all.

— Reply to this email directly or view it on GitHubhttps://github.com/voodootikigod/node-serialport/issues/173#issuecomment-20124790 .

Chris Williams

@voodootikigod http://twitter.com/voodootikigod | GitHubhttp://github.com/voodootikigod

The things I make that you should check out: SaferAging http://www.saferaging.com/ | JSConf http://jsconf.com/ | PromoteJS http://promotejs.com/ | Minute With http://minutewith.com/

Help me end the negativity on the internet, share thishttp://jsconf.eu/2011/an_end_to_negativity.html .

JayBeavers commented 11 years ago
voodootikigod commented 11 years ago

Thank you, I will clean it up a bit and post it to a wiki page (if cool by you and will source credit to you) I want to start compiling all these bits in to a repository of knowledge!

On Thu, Jun 27, 2013 at 11:30 AM, Jay Beavers notifications@github.comwrote:

  • Start with virgin Windows 7
  • Install Windows SDK 7.1 from the link above, I think I selected

    pretty much every option.

    Install NodeJS 0.10.12 & Python 2.7.5, default settings

    Open the Windows SDK 7.1 Command prompt (so the C++ compiler is on the

    path)

    type 'set path=%path%;C:\Python27' to add Python to the path (the

    Python installer for Windows doesn't do this for you)

    'npm install serialport'

— Reply to this email directly or view it on GitHubhttps://github.com/voodootikigod/node-serialport/issues/173#issuecomment-20129108 .

Chris Williams

@voodootikigod http://twitter.com/voodootikigod | GitHubhttp://github.com/voodootikigod

The things I make that you should check out: SaferAging http://www.saferaging.com/ | JSConf http://jsconf.com/ | PromoteJS http://promotejs.com/ | Minute With http://minutewith.com/

Help me end the negativity on the internet, share thishttp://jsconf.eu/2011/an_end_to_negativity.html .

murray-lang commented 11 years ago

Great news! Thanks Chris and thanks Jay.

To move forward, I've used Chrome packaged apps to achieve serial comms with JavaScript. It's pretty painless, and installation by potential users would be straight forward, but I'm not really happy being tied to Chrome. I'm looking forward to trying out node-serialport again.

JayBeavers commented 11 years ago

I hear you Murray, the better solution would be to get some precompiled binaries made up so that we don't require the installation of a heavy development environment on Windows in order to run a node-serialport based app. I'd love to help solve this, but haven't been able to find enough time to dedicate to the investigation yet.

voodootikigod commented 11 years ago

This requires a change in NPM to be "ideal" OR even better a fix in node.js to cover the basics in core - I have tried before, still trying, hope to push someone somewhere to make a change.

voodootikigod commented 11 years ago

https://github.com/voodootikigod/node-serialport/wiki

On Thu, Jun 27, 2013 at 11:32 AM, Chris Williams <chris@iterativedesigns.com

wrote:

Thank you, I will clean it up a bit and post it to a wiki page (if cool by you and will source credit to you) I want to start compiling all these bits in to a repository of knowledge!

On Thu, Jun 27, 2013 at 11:30 AM, Jay Beavers notifications@github.comwrote:

  • Start with virgin Windows 7
  • Install Windows SDK 7.1 from the link above, I think I selected

    pretty much every option.

    Install NodeJS 0.10.12 & Python 2.7.5, default settings

    Open the Windows SDK 7.1 Command prompt (so the C++ compiler is on

    the path)

    type 'set path=%path%;C:\Python27' to add Python to the path (the

    Python installer for Windows doesn't do this for you)

    'npm install serialport'

— Reply to this email directly or view it on GitHubhttps://github.com/voodootikigod/node-serialport/issues/173#issuecomment-20129108 .

Chris Williams

@voodootikigod http://twitter.com/voodootikigod | GitHubhttp://github.com/voodootikigod

The things I make that you should check out: SaferAging http://www.saferaging.com/ | JSConf http://jsconf.com/ | PromoteJS http://promotejs.com/ | Minute With http://minutewith.com/

Help me end the negativity on the internet, share thishttp://jsconf.eu/2011/an_end_to_negativity.html .

Chris Williams

@voodootikigod http://twitter.com/voodootikigod | GitHubhttp://github.com/voodootikigod

The things I make that you should check out: SaferAging http://www.saferaging.com/ | JSConf http://jsconf.com/ | PromoteJS http://promotejs.com/ | Minute With http://minutewith.com/

Help me end the negativity on the internet, share thishttp://jsconf.eu/2011/an_end_to_negativity.html .

voodootikigod commented 11 years ago

https://github.com/voodootikigod/node-serialport/wiki#windows

DaAwesomeP commented 11 years ago

@JayBeavers, do you know if I could do your non-Visual Studio install on Windows 8 x86? Would I need the Windows 8 SDK?