引言
为了验证采用dotnet core技术开发的物联网设备数据采集接入服务应用是否能在高性价比的linux嵌入式平台运行,针对dotnet core应用程序进行嵌入式linux环境的发布部署运行验证研究。
硬件环境
硬件系统经过对比筛选,选用了友善之臂出品的NanoPC-T3 Plus。该控制板为掌上型嵌入式Linux系统迷你PC,采用64位三星arm CPU,具有完善的硬件接口和驱动支持,大于1G的内存和8G以上的eMMC闪存,具有较高的性能价格比。
- NanoPC-T3 Plus是友善之臂专门针对企业用户而设计,它采用三星八核Cortex -A53架构的S5P6818处理器,动态运行主频400M-1.4GHz。NanoPC-T3 Plus配备了16GB的eMMC、音频接口、视频输入/输出接口等;并且集成了WiFi和蓝牙,增加千兆以太网和电源管理功能,板载陶瓷天线,带串口调试功能。为适应工业客户需要,NanoPC-T3 Plus加装了标配的散热片,以解决芯片发热问题。
- NanoPC-T3 Plus带两路视频输入,支持DVP 摄像头及MIPI-CSI摄像头,并且带四路视频输出,分别为HDMI 1.4A接口、LVDS接口、并行RGB-LCD接口、MIPI-DSI接口。并且支持RTC,板载备份电池接口,引出四个USB接口(其中三个是标准A型接口, 另外一个是2.54mm排母)等。
- NanoPC-T3 Plus)流畅运行Android5.1、Debian、UbuntuCore+Qt等系统,内核驱动源码完全开源,接口丰富。
硬件资源特性
- CPU: S5P6818, 运行主频1.4GHz
- 电源管理: 采用一颗ARM® Cortex®-M0单片机做电源管理, 支持动态调压, 软件关机和定时开机等功能
- 内存: 2GB 32bit DDR3 RAM
- 存储: 1 x microSD 卡槽
- 网络: Gbit Ethernet(RTL8211E)
- Wireless:802.11 b/g/n
- Bluetooth: 4.0 dual mode
- 天线: Wi-Fi和蓝牙共用, 板载陶瓷天线, 同时提供IPX接口
- eMMC: 16GB
- 视频输入:DVP Camera/MIPI-CSI(双摄像头口)
- 视频输出:HDMI/LVDS/并行RGB-LCD/MIPI-DSI(四个视频输出接口)
- 音频:3.5mm耳机座/Via HDMI
- 麦克风: 板载麦克风
- USB Host: 4 x USB 2.0 Host , 其中三个是标准A型接口, 另外一个是2.54mm排母
- Micro USB: 1 x USB 2.0 Client
- LCD接口: 45pin, 0.5mm间距FPC贴片座,支持全彩TFT LCD (RGB:8-8-8)
- HDMI: HDMI 1.4a, Type A型口,1080P高清显示
- DVP Camera接口: 24pin, 0.5mm间距,FPC贴片竖座
- GPIO扩展接口: 30 Pin2.54mm排母, 包含4个UART, 1路I2C, 1路SPI, 3路PWM,9个GPIO
- I2S/USB: 2.54mm间距排母
- 调试串口: 2.54mm间距排针
- 按键: 电源按键, 复位按键, 启动选择按键各一个
- LED: 1 x power LED and 1 x system LED
- CPU温度检测: CPU内部集成温度传感器
- RTC: 支持RTC, 板上有备份电池接口
- 散热片螺丝孔:能加螺丝固定的散热片
- 供电: DC 5V/3A
- PCB Size:100 x 64mm,八层,沉金工艺
- 温度工作范围: -40℃ to 80℃
为避免广告嫌宜,不过多对设备进行说明(好象难以避免呵,如有此方面问题,请管理员协助进行和谐呵)
在此给出设备的wiki地址:http://wiki.friendlyarm.com/wiki/index.php/NanoPC-T3_Plus/zh
支持的系统平台
厂家提供的系统映像文件支持以下版本系统
- lubuntu-desktop-xenial-4.4-armhf(基于ubuntu16.04的LUbuntu桌面版,32位arm系统)
- friendlycore-xenial-4.4-armhf(基于ubuntu16.04的FriendlyCore系统,32位arm系统)
- friendlycore-xenial-4.4-arm64(基于ubuntu16.04的FriendlyCore系统,64位arm系统)
- Android5.1系统
FriendlyCore,是一个没有X-windows环境,基于Ubuntu core构建的系统,使用Qt-Embedded作为图形界面的轻量级系统,兼容Ubuntu系统软件源,非常适合于企业用户用作产品的基础OS。
系统除了保留Ubuntu Core的特性以外,还包括以下特性:
- 支持电容和电阻触摸屏
- 支持WiFi连接
- 支持以太网连接
- 支持蓝牙,已预装bluez等相关软件包
- 支持音频播放
- 支持Qt 5.10.0 EGLES和OpenGL ES1.1/2.0
系统平台
.NET Core支持的Linux版本
https://docs.microsoft.com/zh-cn/dotnet/core/linux-prerequisites?tabs=netcore2x
.NET Core 2.x 将 Linux 视为一个操作系统。 支持的 Linux 分发都对应有一个 Linux 内部版本(根据芯片体系结构)。
以下 Linux 发行版本/版本支持 NET Core 2.x:
- Red Hat Enterprise Linux 7,6 - 64 位(x86_64 或 amd64)
- CentOS 7 - 64 位(x86_64 或 amd64)
- Oracle Linux 7 - 64 位(x86_64 或 amd64)
- Fedora 28、27 - 64 位(x86_64 或 amd64)
- Debian 9(64 位,arm32)、8.7 或更高版本 - 64 位(x86_64 或 amd64)
- Ubuntu 18.04(64 位,arm32)、16.04、14.04 - 64 位(x86_64 或 amd64)
- Linux Mint 18、17 - 64 位(x86_64 或 amd64)
- openSUSE 42.3 或更高版本 - 64 位(x86_64 或 amd64)
- SUSE Enterprise Linux (SLES) 12 Service Pack 2 或更高版本 - 64 位(x86_64 或 amd64)
- Alpine Linux 3.7 或更高版本 - 64 位(x86_64 或 amd64)
系统平台选择
根据.NET Core 2.x对Linux系统