admin管理员组

文章数量:1637858

文章目录

  • 简介
  • 产品特性
  • 技术参数
  • 硬件总览
  • 入门指南
    • 准备工作
    • 下载烧录软件 balenaEtcher
    • 烧录系统镜像
  • 启动系统
    • 系统默认用户和密码
    • 连接WiFi
      • 输入ifconfig获取开发板ip地址
  • 远程桌面连接
  • Xshell连接开发板
    • 新建会话
  • 系统配置
  • 蓝牙
  • LCD屏幕
  • 麦克风
  • GPIO
    • LED测试
  • 其他

简介

Quark-N可能是市面上较小的Linux开发板,个人服务器、智能语音助手、机器人开发神器。6层高密度沉金PCB设计,在2x3cm的空间上集成了完整的ARM-Linux系统(CPU、DDR、eMMC);板子通过M.2 Key-A金手指接口引出大部分GPIO,很大程度降低底板设计难度,可用两层板轻松设计自己的底板,用于实现您有趣的作品创造。

Atom-N,中文名为原子,是Quark-N的配套扩展板,通过M.2接口与Quark连接,相较于比较常规的卡片电脑,Atom-N上引出一排金手指,使其实现IO扩展,将SPI、I2C、UART、GPIO等接口扩展出来,便于完成自己的设计,加入麦克风、MPU6050运动传感器、板载4按键(GPIO-KEY、 Uboot、Recovery、Reset)、IPS显示屏、Wifi蓝牙模块,极大扩展了可玩性及可用性。

您可以基于Atom-N方便地进行项目原型验证,然后设计自己的底板用于实际项目。

产品特性

  • 体积超小 (31mm x 22mm) 和高度集成的四核Cortex-A7 Linux SoM
  • 带有丰富外围设备和接口的底板(40mmx35mm) : 麦克风,陀螺仪,加速度计,4个按钮和TFT显示屏等
  • 集成了完整的ARM-Linux系统以进行高级开发
  • 无线连接能力(Wi-Fi + 蓝牙)
  • 具有m.2接口可以轻松设计您的底板
  • 广泛的应用场景,例如个人服务器,智能语音助手和机器人开发等
  • USB Type-C功能:带USB-TTL可以直接用于串口登录终端

技术参数


硬件总览


需要注意的是,上面的硬件图是旧版的。seeed studio先后出了两款,新款和旧款的区别是将原来的3个按键改成了1个按键,新增了1个正面的LED,还增加了一对电源焊盘,用于给风扇提供电源以进行散热。在运行时芯片和内存的发热很大,使用时候注意散热,系统在低负荷运行时,可以使用散热片就可以维持在一个比较良好的温度,如果要大负荷运行就要增加风扇进行主动散热了,seeed studio有出对应的散热风扇配件。

入门指南

准备工作

  • 一台开发用的电脑
  • 一条Typec数据线
  • MicroSD卡 (建议大于16GB)
  • 读卡器
  • 键盘和鼠标(可选)

下载烧录软件 balenaEtcher

官网地址:https://etcher.balena.io/

选择与你操作系统对应的软件版本(Windows/macOS/Linux):

烧录系统镜像

点击此处下载系统镜像:https://files.seeedstudio/wiki/Quantum-Mini-Linux-Dev-Kit/quark-n-21-1-11.zip

将SD卡插入读卡器连接电脑,打开烧录软件 balenaEtcher,点击从文件烧录(这里压缩包不需要解压就可以),选择前面下载好的系统镜像压缩包

点击“”选择目标磁盘”,选择读卡器插入后识别到的目标磁盘,我这里是E盘,SD卡大小是64G


选择好后点击“现在烧录”


烧录中。。。


验证中。。。这个过程也是有点漫长吖耐心等待

当出现烧录成功就说明系统镜像已经烧录好了,可以重新拔插一下读卡器看看系统有没有烧录进去,如果弹出什么错误或者说需要格式化什么的也不需要管 关闭就行。

成功烧录镜像的SD卡里面的文件:

启动系统

将SD卡插入Atom-N的SD卡槽, 插入Type-C给开发板供电。

在电脑上可以看到一个识别到的USB端口,可以用这个串口登录Quark-N进行终端交互,或者用相关命令连接WiFi后通过SSH登录。 这里我识别到的端口号是COM18,波特率选择115200。

系统默认用户和密码

  • 普通用户
 users: pi
 password:quark
  • Root用户
users:root
password:quark

连接WiFi

在串口助手依次输入下面的指令来连接WiFi:

  • 切换到root用户
$ su root
  • 开启WiFi
$ nmcli r wifi on
  • 扫描附近WiFi
$ nmcli dev wifi
  • 连接到特定的WiFi
$ nmcli dev wifi connect "SSID" password "PASSWORD" ifname wlan0 //替换自己的wifi ssid和密码

连接成功后串口会输出连接成功信息,看到successfully就表示连上wifi了。

输入ifconfig获取开发板ip地址


我们可以用两种方式来使用开发板,一种是图形化界面,另一种是命令行模式。下面分别介绍使用 远程桌面连接Xshell 来连接开发板。

远程桌面连接

前面我们获取到了开发板的ip地址为:192.168.191.2,在同一局域网内,我们可以使用Windows自带的远程桌面连接软件进入Quark-N的桌面。 在Windows电脑上搜索 远程桌面连接

输入192.168.191.2,点击连接:


选择“是”

输入账号名:root, 密码:quark。 点“OK”

这样就进入Quark-N的桌面,图形化界面更方便用户进行操作。你也可以在这个界面打开终端进入命令行模式,但是我更喜欢用Xshell的命令行模式,可以自动补全命令,看起来也美观。

Xshell连接开发板

新建会话

点击“文件”-“新建”:

连接 那里分别输入名称、协议、主机IP和端口号,按照下图配置:


点击“用户身份验证”,输入用户名root和密码quark,然后点击“连接”:

登录成功。这时我们就通过xshell连接上开发板了,我们可以在这里输入命令进行操作。

系统配置

连接上开发板后,可以使用下面这个命令来配置系统,如用户、系统语言、时区、ssh等等。

  • 配置系统
$ npi-config


在下面这个配置界面,可以开启/关闭 I2C、SPI、PWM、I2S等接口。系统已经默认配置好,如果不知道如何配置系统,保持默认配置就行了,需要用到其他接口我们再打开。

蓝牙

系统镜像中具有内置的蓝牙驱动程序,这里我们演示启动蓝牙,连接一个蓝牙设备。依次输入以下指令:

  • 启动蓝牙
$ bluetoothctl
  • 扫描附近所有蓝牙设备
$ scan on
  • 连接设备
$ pair 44:86:96:FF:C9:3F
$ trust 44:86:96:FF:C9:3F
$ connect 44:86:96:FF:C9:3F 

/*连接自己的蓝牙设备,请修改为自己的蓝牙MAC地址/*


LCD屏幕

启动系统后可以在LCD看到系统消息日志,LCD屏幕使用SPI与CPU进行通信,我们可以将USB键盘和鼠标连接到开发板,用LCD作为显示。下面演示WorkSpace文件夹里的一个PyGame示例:

  • 进入PyGame文件夹
$ cd /home/pi/WorkSpace/PyGame/
  • 运行示例
$ sudo python hello_world.py


点击屏幕不同位置,会在LCD显示点击的坐标位置pos:

键盘、鼠标演示

可以使用Xftp7传输一个视频文件到开发板,然后在LCD播放视频:

播放Bad apple

视频分辨率最好是240x134,和屏幕一个分辨率,不然会卡顿掉帧,不是的话可以输入以下指令进行视频分辨率转换:

  • 视频分辨率转换
$ ffmpeg -i 1.mp4 -strict -2 -s 240x134 1_240x134.mp4 //这里路径和文件名根据自己实际情况修改
  • 播放视频
$ sudo mplayer -vo fbdev2:/dev/fb1 -x 240 -y 135 -zoom 1_240x134.mp4

如果播放视频提示错误,可能是没有安装mplayer,用下面指令进行安装:

$ sudo apt-get udate
$ sudo apt-get install mplayer

麦克风

Atom-N(载板)上还有一个内置麦克风,使用 远程桌面 登录开发板,打开Audacity软件,点击开始录音,对着麦克风说话,可以在软件上看到声波。

GPIO

LED测试

  • 下载源代码
$ mkdir ~/GIT
$ cd ~/GIT
$ git clone https://gitee/coolflyreg163/quark-n.git
  • 将 sun8i-h3-atom_n.dtb 替换到 /boot/sun8i-h3-atom_n.dtb
$ cp ~/GIT/quark-n/sun8i-h3-atom_n.dtb /boot/
  • 重启
$ sudo shutdown -r now
  • 用于测试的Python代码,gpio_key_led.py
from periphery import GPIO
from periphery import LED
import time

gpio_l = GPIO("/dev/gpiochip1", 3, "in")
gpio_r = GPIO("/dev/gpiochip0", 203, "in")
# led = GPIO("/dev/gpiochip1", 7, "out") # ............gpio
# ledPower = LED("pwr_led", True)
# ledStatus = LED("status_led", True)
ledUser = LED("usr_led", True)

while True:
    l = gpio_l.read()
    r = gpio_r.read()
    print("L-{} R-{}".format(l,r))

    time.sleep(0.1)
    ledUser.write(255 if l else 0)



gpio_l.close()
gpio_r.close()
ledUser.close()


  • 输出显示
$ sudo cat /sys/kernel/debug/gpio

led点亮


gpio-359 ( |usr_led ) out hi 一行表示点亮成功,输出电平由低变高。

其他

开发板还有其他示例用法,可以进入WorkSpace文件夹中自行尝试,包括TensorFlow Lite, WuKong Robot, snowboy等。

时钟示例

本文标签: 夸克开发板稚晖君LinuxQuark