python做工控机_工控机折腾小记

引言

之前笔记本换下来的一块1T的2.5硬盘; 本来想着买个树莓派挂硬盘做个简单的 NAS, 鉴于性能问题, 后来某鱼入手了一个搭载赛扬 N2940 CPU 的工控机;

基本配置:

Intel Celeron N2940 @ 4x 2.2491GHz / 4G / 32G SSD / USB2.0 x4 3.0 x1 / HDMI x2 / LAN x1 / DC 12V

内部还有一个 SATA 接口和 Mini PCI 接口, 可以扩展硬盘和无线网卡

6ea117953de436b692aec753bd4b2441.png

安装系统

安装步骤和在虚拟机类似, 只需要安装 U 盘、键盘、显示器即可;

一点细节:

为了稳定, 我这里没有安装最新的 Ubuntu 20.04, 而是 18.04 (后续可能会考虑升级);

配置静态 IP 地址;

勾选安装OpenSSH;

开启 SSH

最开始以为前面勾选了安装 OpenSSH 就可以直接使用了, 结果发现不能访问, 原因是被防火墙拦截;

使用 Ubuntu 自家的 ufw来管理防火墙;

先添加规则, 然后再规则中开启端口;

添加 ssh 规则 : sudo ufw allow ssh

开放 22 端口: sudo ufw allow 22/tcp

规则的配置文件在 /etc/ufw/applications.d 目录下下查看配置;

查看已经配置的规则 : sudo ufw app list

挂载硬盘

随让这个工控机主板带有一个SATA 接口可以接硬盘, 但是由于小机箱并没有额外开口, 内部也放不下, 所以就选择直接使用唯一的一个USB3.0接口了;

用的是绿联的 USB3.0 硬盘盒;

计划是使用 Samba 来共享这个盘作为数据盘;

接上 USB 硬盘盒 lsusb;

xm@ming:~$ lsusb

Bus 001 Device 002: ID 8087:07e6 Intel Corp.

Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

Bus 003 Device 003: ID 2109:0715 VIA Labs, Inc. // 这个就是我的硬盘盒

Bus 003 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub

Bus 002 Device 002: ID 05e3:0608 Genesys Logic, Inc. Hub

Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

查看磁盘 sudo fdisk -l;

xm@ming:~$ sudo fdisk -l

Disk /dev/sda: 931.5 GiB, 1000204886016 bytes, 1953525168 sectors

Units: sectors of 1 * 512 = 512 bytes

Sector size (logical/physical): 512 bytes / 4096 bytes

I/O size (minimum/optimal): 4096 bytes / 4096 bytes

Disklabel type: gpt

Disk identifier: xxxx

Device Start End Sectors Size Type

/dev/sda1 2048 923647 921600 450M Windows recovery environment

...

// 这个分区就是我之前的笔记本的数据盘分区

/dev/sda6 170616832 1848667534 1678050703 800.2G Microsoft basic data

/dev/sda7 1848668160 1953523711 104855552 50G Linux filesystem

可以看到/dev/sda6就是我之前硬盘的分区(后面有空会重新分区)

创建挂载目录 sudo mkdir -m 775 /mnt/mysd1;

挂载磁盘 sudo mount /dev/sda6 /mnt/mysd1 (注意这其实是临时挂载, 重启后需要重新手动挂载);

查看挂载情况 df -h

xm@ming:~$ df -h

Filesystem Size Used Avail Use% Mounted on

...

/dev/mapper/ubuntu--vg-ubuntu--lv 20G 6.0G 13G 33% /

...

/dev/sda6 801G 364G 437G 46% /mnt/mysd1

由于我这个外接硬盘后面准备作为 Samba 服务的共享数据盘, 所以需要设置开机自动挂载;

查询分区的 UUID: sudo blkid 或 lsblk -f (推荐)

xm@ming:~$ lsblk -f

NAME FSTYPE LABEL UUID MOUNTPOINT

sda

├─sda1 ntfs 恢复 3A784B16784ACFF5

...

├─sda6 ntfs Software 0A0A6B900A6B7819 /mnt/mysd1

└─sda7 ext4 536dd671-3341-45b9-b81c-0357c5bd0d12

添加永久挂载 sudo vim /etc/fstab

在 /etc/fstab 中指定自动挂载配置;

c136e6dc792c055d90712dc05ab2c141.png

重启 mount : sudo mount -a

xm@ming:~$ sudo mount -a

[sudo] password for xm:

// 这里刚刚配置的 UUID 错误, 所以提示找不到;

// 重新修改后即可;

mount: /mnt/mysd1: can't find UUID=0A6B900A6B7819.

配置文件 /etc/fstab 可参考: fstab 简介(中文)

这时候已经配置完成, 可以重启试下;

开机自启

为了保证 24h 运行, 一般工控机都支持来电开机自启;

我这个是 AMI 的 BIOS, 所以

开始按 Del 进入BIOS;

方向键到 Chipse;

找到 Restore ac power loss,

三个选项: Power Off 不来电自启, Power On 只要加电就会自启, Last State 突然断电情况来电自启, 非正常关机; 我选择后了 Last State, 然后保存重启即可;

测试了下直接拔掉电源, 可以自启, 登录系统后关机不会自启, 满足需求.


版权声明:本文为weixin_29638987原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。