事前准备工作

硬件环境
  准备一台x86工控机,最小配置(4G内存、64G存储空间)。
  如只是进行开发和测试,也可用虚拟机或者个人电脑进行替代性。
操作系统
  Linux操作系统
  推荐Ubuntu Server 22.04 LTS版本,或者Ubuntu Server 24.04 LTS版本,


  部分用户习惯Debian系列
  目前已适配11稳定版本,或者Debian 12稳定版本。
  注意:Debian对中文文件名支持的并不好,容易出现乱码问题,建议模板文件只使用ASCII字符,以免出现乱码引来不必要的麻烦。
基础软件
  1、JAVA:openjdk-11-jdk 或 openjdk-17-jdk
  2、MySql或Mariadb:MySql8.0以上版本 或者 Mariadb 10.5.x以上版本
  3、Redis:6.0以上版本
  4、nginx:1.18以上版本
  5、python3:3.8.x以上版本
Linux系统

请到Ubuntu的页面下载服务器版本

  https://releases.ubuntu.com/22.04.2/ubuntu-22.04.2-live-server-amd64.iso

基础软件安装

有些精简版Ubuntu,在启动后没有自动挂载虚拟内存,可以使用该方法自动挂载swap

方法1:

#在/etc/fstab文件的末尾,添加/swap.img none swap sw 0 0
vim /etc/fstab

方法2:

#通过vim新建一个启动配置文件swap.service
vim /etc/systemd/system/swap.service

swap.service文件内容如下

[Unit]
Description=Load Swap
 
[Service]
Type=oneshot
ExecStart=swapon /swap.img
 
[Install]
WantedBy=multi-user.target

通过下面命令使swap.service生效

#重新加载systemd管理器配置,使新服务生效
systemctl daemon-reload

#启用服务,使其在启动时自动运行:
systemctl enable swap.service

#如果需要立即启用swap,而不是等到下次重启,可以运行
systemctl start swap.service

network: ethernets: enp2s0: dhcp4: false dhcp6: false addresses: - 192.168.1.21/24 routes: - to: default via: 192.168.1.1 nameservers: addresses: [192.168.1.1] version: 2



- windows常用命令  

```cmd
  # windows有记忆网上邻居信息的功能,问题是这功能有时候是访问不了samba的肇事者
  # 比如,linux的samba信息变化了,windows记忆的信息不匹配了,就访问不了samba。
  # 比如,比如你开了多个linux虚拟机,IP来回使用,windows记忆的信息又匹配了,又访问不了samba。
  # 但是,windows在访问不了的时候,不直接提供给你删除旧信息和重新输入的功能
  # 下面提供windows访问不了samba的时候,删除旧信息,重新初始化的办法。
  
  # 打开windows的命令行工具cmd,输入下面命令,然后删除旧凭证,接着重新访问samba,
  # 然后你就看到windows重新让你输入账号/密码,然后就可以访问samba了。
  control keymgr.dll

为了扩展工控机的物理接口,开发者经常会在市场上购买USB转LORA、串口之类的外部模块,插入LINUX后使用,如何检测是否识别成功呢? 下面以淘宝上购买的某家USB-485为例,插入USB-485模块后Ubuntu立即自动识别出QinHeng Electronics CH340 serial converter这个USB设备, 并自动挂载成名字为ttyUSB0的串口设备。后面就可以通过channel-serial服务,直接使用该ttyUSB0串口

  # 未插入USB模块之前,先执行lsusb:查看工控机上的usb设备是否存在
  lsusb

  # 此时只有两个系统自带的虚拟化usb设备
  #Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
  #Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

  # 插入淘宝USB转串口模块后,再执行lsusb,发现多出来一个USB模块,
  lsusb
  #Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
  #Bus 001 Device 003: ID 1a86:7523 QinHeng Electronics CH340 serial converter <---------这是发现的USB转串口模块
  #Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

  #确认串口节点是否存在
  ls -al /dev/ttyU*
  #crw-rw---- 1 root dialout 188, 0 Jul 13 14:02 /dev/ttyUSB0 <---------这是发现了串口生成的串口
  
  #给USB模块写入一串文本,看看能否从这个模块发出数据
  echo "hello" >> /dev/ttyUSB0