==硬件规格 Hardware Specifications== * CPU: Intel Atom x6425RE, 4c4t * RAM: 16GiB 3200MHz on board * Ethernet: 3x Intel I210 Gigabit Ethernet controller ==操作系统 OS== 至少需要 Debian 12 或 Ubuntu 22.04,并支持完整的图形界面。 Ubuntu 16.04 仅支持控制台(服务器版本)。需要安装 4.15 或更高版本的内核来安装修改过的 gpio-f7188x 驱动程序。(交付时已包含) Requires a minimum of Debian 12 or Ubuntu 22.04, both supporting a complete graphical user interface. Support for Ubuntu 16.04 is limited to console-only (server edition). Installation of kernel version 4.15 or higher is necessary for the modified gpio-f7188x driver. 我们已经为交付更新了驱动程序。如果您想从原始内核自定义GPIO驱动程序以实现全部引脚的激活,可以按照以下步骤操作: We have already updated the driver for delivery. If you wish to customize the GPIO driver from the vanilla kernel for complete pin activation, you may follow these steps:
#Only required on Ubuntu 16.04 sudo apt-get update sudo apt-get install linux-image-generic-hwe-16.04 linux-headers-generic-hwe-16.04需要 DKMS 来安装修改过的 gpio-f7188x 驱动程序, Need DKMS for modificated gpio-f7188x driver:
sudo apt-get install dkms安装修改过的 gpio-f7188x 驱动程序,Install modificated gpio-f7188x driver:
git clone https://github.com/ariaboard-com/gpio-f7188x-alt.git cd gpio-f7188x-alt make sudo make dkms echo gpio-f7188x-alt | sudo tee -a /etc/modules==GPIO 控制 GPIO Control== 可用的GPIO接口 Available GPIOs: * GPIO 0-7 * GPIO 10-17 * GPIO 20-27 * GPIO 50-57 * GPIO 60-67 * GPIO 70-77 * GPIO 80-87 * GPIO 90-97 GPIO芯片驱动已经是通过kernel模块集成,操作GPIO可以有多种方法。在这个例子中,我们选择使用
sysfs(以GPIO 12和55为例)作为我们的操作方法:
请注意,使用这种方法控制GPIO需要具有root权限。
The GPIO chip driver is already integrated through the kernel module, There are several methods for operating GPIOs. In this instance, we are utilizing sysfs as our method of choice (with GPIO 12 and 55 as examples):
Note that root permission is necessary to control GPIOs using this approach.
Test Output pin 12:
sudo chmod a+rw /sys/class/gpio/export echo 12 > /sys/class/gpio/export #Export GPIO: echo out > /sys/class/gpio/gpio12/direction #Output echo 1 > /sys/class/gpio/gpio12/value #Set output stateTest Input pin 55:
echo 55 > /sys/class/gpio/export #Export GPIO: echo in > /sys/class/gpio/gpio55/direction #Input echo 1 > /sys/class/gpio/gpio55/active_low #Active Low (if needed) cat /sys/class/gpio/gpio55/value #Get input state===GPIO 对应表格, GPIO Table=== {| class="wikitable" style="text-align:center;" |- | colspan="5" | GPIO Input |- | Item | style="text-align:left;" | Fuction | direction | GPIO(F81966D-I) | Active |- | 1 | style="text-align:left;" | DI1 | Input | GPIO60 | L |- | 2 | style="text-align:left;" | DI2 | Input | GPIO61 | L |- | 3 | style="text-align:left;" | DI3 | Input | GPIO62 | L |- | 4 | style="text-align:left;" | DI4 | Input | GPIO63 | L |- | 5 | style="text-align:left;" | DI5 | Input | GPIO07 | L |- | 6 | style="text-align:left;" | DI6 | Input | GPIO64 | L |- | 7 | style="text-align:left;" | DI7 | Input | GPIO53 | L |- | 8 | style="text-align:left;" | DI8 | Input | GPIO54 | L |- | colspan="5" | GPIO Output |- | 9 | style="text-align:left;" | DO1 | Output | GPIO12 | H |- | 10 | style="text-align:left;" | DO2 | Output | GPIO13 | H |- | 11 | style="text-align:left;" | DO3 | Output | GPIO97 | H |- | 12 | style="text-align:left;" | DO4 | Output | GPIO70 | H |- | 13 | style="text-align:left;" | DO5 | Output | GPIO71 | H |- | 14 | style="text-align:left;" | DO6 | Output | GPIO72 | H |- | 15 | style="text-align:left;" | DO7 | Output | GPIO73 | H |- | 16 | style="text-align:left;" | DO8 | Output | GPIO74 | H |- | colspan="5" | GPIO Feedback |- | 17 | style="text-align:left;" | DOI1 | Input | GPIO55 | L |- | 18 | style="text-align:left;" | DOI2 | Input | GPIO56 | L |- | 19 | style="text-align:left;" | DOI3 | Input | GPIO50 | L |- | 20 | style="text-align:left;" | DOI4 | Input | GPIO57 | L |- | 21 | style="text-align:left;" | DOI5 | Input | GPIO84 | L |- | 22 | style="text-align:left;" | DOI6 | Input | GPIO85 | L |- | 23 | style="text-align:left;" | DOI7 | Input | GPIO86 | L |- | 24 | style="text-align:left;" | DOI8 | Input | GPIO87 | L |- | colspan="5" | MVB Interrupt |- | 27 | style="text-align:left;" | MVB INT | Input | GPIO77 | L |- | colspan="5" | CF Card Insert Detection |- | 28 | style="text-align:left;" | CF DET | Input | GPIO78 | L |} ==串口 Serial Port== *
/dev/ttyS0 对应面板上的COM A, /dev/ttyS0 coresponds to Front Panel COM A.
可以通过以下方式操作串口:The serial port can be operated in the following way:
#!/bin/bash # Set up the serial port SERIAL_PORT="/dev/ttyS0" BAUD_RATE="9600" # Configure serial port settings stty -F $SERIAL_PORT cs8 $BAUD_RATE ignbrk -brkint -icrnl -imaxbel -opost -onlcr -isig -icanon -iexten -echo -echoe -echok -echoctl -echoke noflsh -ixon -crtscts # Sending a test message to the serial port echo "Hello COM A" > $SERIAL_PORT # Reading the response from the serial port cat $SERIAL_PORT # Close the serial port (optional, as the port will be closed automatically when the script ends)==千兆以太网口 Gigabit Ethernet Interfaces== 可用的接口:Available interfaces are: *
ensp2n0
* ensp3n0
* ensp4n0
Ubuntu 16.04 默认提供自动DHCP 地址获取。Ubuntu 16.04 ships with auto DHCP client by default.
==其他参考 Other References==
*python demo 程序: https://gist.github.com/c2h2/5cde90b1545c1b3d701936ebda68da6e