Ruby 权限被拒绝-/dev/ttyS6(Errno::EACCES)

Ruby 权限被拒绝-/dev/ttyS6(Errno::EACCES),ruby,windows,ubuntu,arduino,windows-subsystem-for-linux,Ruby,Windows,Ubuntu,Arduino,Windows Subsystem For Linux,问题是,我正试图用一个ruby脚本连接到串行端口9600,该脚本“我制作”用于发送数据,以便Arduino可以读取它 我想将数据发送到一个串行端口(9600),我必须连接到该端口才能这样做。我正在尝试将其连接到/dev/ttyS6 这是我的ruby代码: #simplest ruby program to read from arduino serial, #using the SerialPort gem #(http://rubygems.org/gems/serialport) requ

问题是,我正试图用一个ruby脚本连接到串行端口9600,该脚本“我制作”用于发送数据,以便Arduino可以读取它

我想将数据发送到一个串行端口(9600),我必须连接到该端口才能这样做。我正在尝试将其连接到
/dev/ttyS6

这是我的ruby代码:

#simplest ruby program to read from arduino serial,
#using the SerialPort gem
#(http://rubygems.org/gems/serialport)

require "serialport"

#params for serial port
port_str = "/dev/ttyS6"  #may be different for you
baud_rate = 9600
data_bits = 8
stop_bits = 1
parity = SerialPort::NONE

sp = SerialPort.new(port_str, baud_rate, data_bits, stop_bits, parity)
#just read forever
while true
  i = gets.chomp!.to_i
  puts sp.putc(i)
end
#puts i.class #String

sp.close                       #see note 1
我的ruby程序运行在UbuntuBashforWindows上。此消息显示在控制台中:

serialport-1.3.1/lib/serialport.rb:25:in `create': Permission denied - /dev/ttyS6 (Errno::EACCES)
我已经尝试过这些解决方案:

  • chown-R myUserName./*
  • sudo chown-R用户名文件名
  • chmoda+w

如何允许连接?

尽管我找到了解决方案,但我使用了以下命令:

sudo chmod 666 /dev/ttyS6

在WSL中,lxcore驱动程序通过COM端口号将COM端口映射到Linux设备,因此/dev/ttyS绑定到COM。更具体地说,映射在次要编号上,因此次要编号65(/dev/ttyS1)是COM1,66(/dev/ttyS2)是COM2,依此类推所以说
/dev/ttyS6
应该是COM6。为什么我的问题得到了-2票,不是生气,只是想得到反馈,这样我就可以问更好的问题了(附带几点提示:)