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

时间:2019-01-17 06:21:33

标签: ruby windows ubuntu arduino windows-subsystem-for-linux

问题是,我正在尝试使用“我制作的”红宝石脚本连接到9600串行端口以发送数据,以便Arduino可以读取它。

我想将数据发送到串行端口(9600),并且必须连接到该端口才能执行此操作。我正在尝试将其连接到/dev/ttyS6

这是我的红宝石代码:

#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程序在Windows的ubuntu bash上运行。此消息显示在控制台中:

serialport-1.3.1/lib/serialport.rb:25:in `create': Permission denied - /dev/ttyS6 (Errno::EACCES)

我已经尝试了以下解决方案:

  • chown -R myUserName ./*
  • sudo chown -R user_name file_name
  • chmod a+w <folder>

如何允许连接?

1 个答案:

答案 0 :(得分:1)

没关系,我找到了解决方案,我使用了以下命令:

sudo chmod 666 /dev/ttyS6