当前位置:首页 » 操作系统 » linux串口权限

linux串口权限

发布时间: 2023-07-02 19:17:06

1. linux怎么连接局域网

实现Linux下的局域网远程接入,利用Linux服务器的两个串口构建拨号服务器的方法,远程用户可以通过拨号连接到局域网,方便地进行信息传递和资源共享。

实现步骤如下:

  1. 初始化串口设备

    在/etc/inittab文件中加入如下两行,用来初始化ttyS0和ttyS1两个串口设备:
    S0:345:respawn:/sbin/mgetty -D -X 3 ttyS0
    S1:345:respawn:/sbin/mgetty -D -X 3 ttyS1
    然后,运行“/sbin/init q”命令使改动生效。

  2. 指定认证方式

    在/etc/PPP目录下创建文件ppplogin,内容如下:

    #!/bin/sh

    /usr/sbin/pppd auth -chap +pap login

    该文件指定用户登录时采用PAP认证。PAP和CHAP是PPP服务的两种身份验证协议。

    保存文件后,给文件设置执行的权限:

    #chmod a+x /etc/ppp/ppplogin

    然后,更改/etc/mgetty+sendfax/login.config文件,去掉“/AutoPPP/”一行前面的注释,并改为如下内容:

    /AutoPPP/ - - /etc/PPP/ppplogin

  3. 修改options文件

    修改/etc/PPP/Options文件为如下内容;

    detach

    Modem

    Lock

    crtscts

    asyncmap 0

    netmask 255.255.255.0

    proxyarp

    ms-dns 192.168.11.1

    “detach”选项非常重要。如果不指定这个选项,拨号程序就会进入后台,使得Shell脚本退出,随之而来的是串行线路被挂断,导致连接中止。“detach”防止了tty设备脱离PPPD的控制。

    “Modem”选项使得PPPD监视DTR引线,可以观察到对等点是否已掉线。

    “Lock”选项指定在串行设备上使用UUCP风格的锁定。

    “crtscts”选项用以打开硬件握手信号。

    “asyncmap 0”设置了异步字符映射,这个映射指定控制字符不能直接通过连接发送,需要先进行转义。

    “netmask 255.255.255.0”设定PPP网络接口的网络掩码。

    “proxyarp”选项打开了ARP代理功能。

    “ms-dns”2.168.11.1”指定了局域网内的DNS服务器地址,如没有可以不设。

  4. 给拨入用户分配IP

    创建/etc/ppp/Options.ttyS0和/etc/ppp/

    options.ttyS1两个文件,内容如下:

    # Vi options.ttyS0

    192.168.11.3:192.168.11.242

    # Vi options.ttys1

    192.168.11.3:192.168.11.243

    其中,“192.168.11.3”是用作拨号服务器的那台Linux机器的IP地址,“192.168.

    11.242”和“192.168.11.243”是分别指定给COM1口和COM2口拨入用户的IP地址。

  5. 口令验证

    编辑文件/etc/PPP/pap-secrets,内容如下:

    * * "secret" 192.168.11.242

    * * "password" 192.168.11.243

    如上所示,每行代码包含四列,分别代表用户名、服务器地址、口令值和IP地址列表。“*”表示可以与任何内容进行匹配。

    用户拨入后,如果需要访问局域网内的其它服务器,就必须打开IP转发功能:

    echo 1> /proc/sys/net/ipv4/ip_forward

    要想在空闲一段时间后自动解除连接,需要在/etc/ppp/options中加入如下一行:

    idle 600

    上述代码中,“600”表示600秒,即10分钟。

2. linux怎么锁住串口,禁止其他程序使用,即禁止其他程序进行读写操作,即使是root用户也不允许读

应该是没有这样的办法的。
linux系统基本上不会禁止root的权限,即使你想办法禁止了,也有办法打开,除非那不是真正的root。
你应该换一个思路来解决你的问题。比如除了你的程序,没有其他程序运行在这台电脑上,没有其他用户有权访问这台电脑,不就解决了吗?

3. Linux串口相关的操作及绑定

@ toc

可在控制台输入

也可以用stty设置串口参数

使用后相当于串口回传,发什么回什么

发送数据

可以对串口发送数据比如对com1口

一般情况下串口的名称全部在dev下面,如果你没有外插串口卡的话默认是dev下的ttyS* ,一般ttyS0对应com1,ttyS1对应com2,当然也不一定是必然的;

如果有ttyS设备,再看/dev/有没有ttyS*,如没有就建立一个:

如果板子的设备中没有标准串口设备ttyS0,也没有ttySAC0。/dev下应该有一个USB串口:/dev/ttyUSB0.

当一个串行卡或数据卡被侦测到时,它会被指定成为第一个可用的串行设备。通常是/dev/ttyS1(cua1)或/dev/ttyS2(cua2),这完成看原已内建的串口数目。ttyS*设备会被报告在/var/run/stab内。

PC上的串口一般是ttyS,板子上Linux的串口一般叫做ttySAC

可能是linux下的串口设备没有打开,需要改变串口设备
的权限,或者根据文章头添加用户到组处理

可以通过以下命令 查看 板子上的硬件端口的内核设备名

该条命令会将 ttyUSB0所对应的硬件端口的kernel设备名 显现出来, 得到KERNEL== '1-5.5.4', 而不是之前的ttyUSB0

cmd.sh如下:

./getUSB.py 调用当前路径下的getUSB.py这个Python语言,明确此次是哪个,ttyUSB0,或者ttyUSB1挂载在端口3-1.1上

getUSB.py:

完成之后 ,设置开机启动cmd.sh(在/etc/rc.local中设置)则每次开机之后,会从/dev/ttydata获取到固定端口的数据

方式一

写入内容如下:

方式二

我的硬件序列号:ATTRS{serial}=="FTSYWCXZ"这个号是唯一的

可以通过/dev/usb_0打开串口设备

常用的匹配类型:

4. arm+linux平台,怎么打开串口挂设备

ARM+linux 其实还是在linux上面对串口进行操作。

在linux中一切皆文件,所以对串口的操作就变成对文件的操作了。

串口在linux下的设备文件是tty或者是相关的名字,具体需要查阅相关手册

然后下面对串口的操作就是对tty这个文件操作了。

  1. 打开文件 fd = open("/dev/tty",读写权限);

  2. 配置串口参数,波特,奇偶校验,停止位。(串口参数配置一定要与目标串口一致)

  3. 这里就可以对串口文件进行读写了。对文件的读写就是对串口的读写了

热点内容
制作自解压安装 发布:2025-03-20 05:41:49 浏览:303
华为连接电视密码是多少 发布:2025-03-20 05:31:11 浏览:492
算法第五版 发布:2025-03-20 05:17:57 浏览:730
湖南台访问 发布:2025-03-20 05:10:32 浏览:38
脚本和秒抢 发布:2025-03-20 05:06:29 浏览:591
b35锁如何设置密码 发布:2025-03-20 05:06:27 浏览:905
淘宝如何租云服务器 发布:2025-03-20 05:05:12 浏览:213
编程忌讳 发布:2025-03-20 04:58:35 浏览:427
国家知识产权专利数据库 发布:2025-03-20 04:54:29 浏览:416
win7怎么给文件夹设密码 发布:2025-03-20 04:52:38 浏览:725