说明
由于.net core 中,已经找不到 serialport 库,使用需要使用第三方框架,可以直接在 Nuget 中搜索
SerialPortStream
开源地址 https://github.com/jcurl/RJCP.DLL.SerialPortStream
怎么使用类库
SerialPortStream在 Windows 下可以正常使用,但是,在 Linux 系统下,必须为 Linux 平台编译支持库编译类库,其类库作者说明如下:
不然的话,项目打包到Linux时,会出现:
文章作者给出的方法是,自己在 Linux 下编译,可是很多人会在这里失败,输入命令后,无法安装 gcc 和 cmake,以及其它软件。
在这一步中,我走了很多弯路,一开始是在阿里云的Centos7系统上进行编译,老是报莫名其妙的错误,后来,直接在服务器上安装了一个ubuntu Docker容器,
附上镜像地址 Docker Hub
#拉取镜像
docker pull ubuntu
#进入容器
docker run -it -v:/home/serialstream:/home ubuntu /bin/bash
-v:/home/serialstream:/home
注:这个参数的作用是为了后续将容器/home里的编译文件映射到服务器的盘符中,方便复制到本地
#进入容器后的操作
** 第一步:系统更新
apt-get update
** 第二步:安装软件GCC C++ cmake
apt-get install gcc g++ cmake git
** 第三步:
作者的文档说明里有这么一段话:
To build the libraries, you should have the following prerequisites installed:
* Google Test
* Doxygen
# SO,不管用不用,先装上再说
apt install libgtest-dev
apt install doxygen
** 第四步:拉取源码并开始编译
git clone https://github.com/jcurl/serialportstream.git
cd serialportstream/dll/serialunix
./build.sh
有些朋友在安装GCC、Cmake时,出现了无法安装的问题。(我是没遇到过,比较幸运)
可以试试这个方法
编译过后,出现类似的画面,表示已编译完成:
最后通过 FileZilla 连接到阿里云服务器,把编译好的这三个文件下载下来。
同时也附上FileZilla的下载地址:https://www.filezilla.cn/download/client
更方便的方法
为了避免麻烦和方便使用,我在 Linux 编译支持类库成功后,把需要的文件打包好了。
你只需在 .NET Core 项目中,把文件放进去即可,无需在 Linux 中安装 Gcc/Cmake 和后续编译。
下载链接:https://pan.baidu.com/s/1pLZ78EVPrxT_OSYlcmqHSA
提取码:5gni
下载这三个文件:
- libnserial.so
- libnserial.so.1
- libnserial.so.1.1
把这三个类库,发到你的项目中,随项目一起打包即可。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持并提出宝贵意见。