当前位置: > 嵌入式学院 > 嵌入式学习 > 讲师博文 > ser2net在FS4412开发板上的移植
ser2net在FS4412开发板上的移植
时间:2017-08-16作者:华清远见

主机:Centos Linux 7 64位

目标机:FS4412

交叉编译工具链:arm-linux-gcc 4.6.4

 

ser2net提供了网络和串口之间的连接,可以很方便完成网络和串口之间的数据透传,在很多项目中都有其应用。比如在基于Wi-Fi的智能小车项目中,ser2net用于接收客户端发来的控制命令,并将其通过串口转发给控制板,从而控制小车的行驶和摄像头舵机的角度。另外一方面,串口收到的数据通过ser2net又反过来发送给客户端,从而可以获取智能小车离障碍物的一些距离值。在智能小车项目中,移植OpenWrt时通过简单的选配就可以完成ser2net的移植。但如果要用到其他项目中,就需要手动移植。在基于FS4412开发板的一些物联网项目中,FS4412开发板会通过串口连接ZigBee的协调节点,从而完成和其他终端节点的通信。另外在FS4412上会运行一些服务器程序,这些服务器程序将通过串口来进行物联网设备的控制,或获取一些传感数据。如果将ser2net应用其中,将会大大简化服务器程序的开发。于是本文给出了ser2net的移植方法和一些问题的解决方法,其步骤如下:

 

1、下载源码

ser2net的官网为:http://ser2net.sourceforge.net/,在页面中可以找到下载链接。目前最新版本为3.4。可以通过页面中的下载链接进行下载,也可以通过下面的命令行进行下载。

$ wget -c https://nchc.dl.sourceforge.net/project/ser2net/ser2net/ser2net-3.4.tar.gz

2、解压并配置源码

$ tar -xvf ser2net-3.4.tar.gz

$ cd ser2net-3.4/

$ ./configure --prefix=/path/to/rootfs --host=arm-linux

其中“/path/to/rootfs”表示的是ser2net的安装目录,根据自己的根文件系统目录进行指定。“arm-linux”是交叉编译工具的前缀,根据自己的实际情况进行修改。

3、编译并安装

$ make

$ make install

4、添加配置文件和开机启动脚本

配置文件为/etc/ser2net.conf,在源码目录下有该配置文件的一个范本,并对各配置项做了详细的说明。运行ser2net时可以指定读取该配置文件来完成一些参数的设置。但是还有比较简单的方法,就是在运行ser2net时在命令行中直接给出运行的参数。为了让该程序在开机后自动启动,在开发板的根文件系统的/etc/init.d/rcS文件中添加了如下一行代码:

ser2net -C "2001:raw:600:/dev/ttyUSB0:115200 NONE 1STOPBIT 8DATABITS XONXOFF LOCAL -RTSCTS"

各项的含义如下:

2001:服务器的端口为2001

raw:表示用原始的方式来对串口数据进行收发

600:超时时间,表示如果600秒没有活动的话,将会断开。

/dev/ttyUSB0:串口设备,根据实际情况进行修改。

115200 NONE 1STOPBIT 8DATABITS XONXOFF LOCAL:表示波特率为115200,无奇偶校验,1位停止位,8位数据位, XONXOFF流量控制,不检测modem信号线。

5、运行错误处理

如果运行时出现“Error creating port lock file”错误,请确保根文件系统下有/var/lock目录。


发表评论
前台专线:010-82525158 企业培训洽谈专线:010-82525379 院校合作洽谈专线:010-82525379 Copyright © 2004-2018 北京华清远见科技发展有限公司 版权所有 ,京ICP备16055225号,京公海网安备11010802025203号