RDK X3 Module Carrier Board,作为 X3 模组的配套底板,提供了丰富的配置和接⼝,包括 USB3.0、以太⽹、HDMI、MIPI CSI、MIPI DSI、40PIN header 等,⽅便⽤户对模组的功能验证和开发。
2.0版本:基于RDK Linux开源代码包制作,支持RDK X3、X3模组等全系列硬件 1.0版本:RDK X3历史版本,仅支持RDK X3硬件,不支持新版本的RDK X3,系统镜像名为system_sdcard.img
点击下载镜像,进入版本选择页面,选择对应版本目录,进入文件下载页,该产品只支持2版本的镜像。以下载2.0.0版本的系统镜像为例,双击2.0.0,双击release,单击下载ubuntu-preinstalled-desktop-arm64.img.xz :
下载完成后,解压出Ubuntu系统镜像文件,如ubuntu-preinstalled-desktop-arm64.img RDK X3 Module支持从eMMC和SD卡两种模式启动系统
需要使用地平线hbupdate烧录工具,点击下载驱动。 hbupdate工具支持Windows、Linux两种版本,分别以 hbupdate_win64、 hbupdate_linux 开头。
注意事项:解压工具压缩包,注意解压路径中不要包含空格、中文、特殊字符等内容。 对于使用Windows系统的PC,在使用刷机工具前,需要确认是否安装过fastboot驱动程序,请按照如下步骤进行确认:
(1)使用跳线帽将RDK X3 Module载板的Boot管脚接地,管脚位置参考下图。、
(2)将载板的Micro USB接口与电脑通过USB线连接,接口位置参考下图。
(3)给设备上电,然后观察电脑设备管理器端口状态,如出现USB download gadget未知设备时,需要更新设备驱动,如没有出现,可跳过下述步骤。
(4)下载并解压驱动包 android_hobot.zip,下载链接 android_hobot 。
(5)进入解压后的目录,以管理员身份运行 5-runasadmin_register-CA-cer.cmd,完成驱动程序的注册。
(6)双击USB download gadget未知设备,选择驱动包解压目录,然后点击下一步。
确认PC设备管理器显示fastboot设备Android Device后,运行hbupdate.exe打开烧录工具,按照以下步骤进行烧录:
(1)选择开发板型号,必选项。
(2)点击Browse按钮选择将要烧录的镜像文件,必选项。
(3)点击Start按钮开始刷机,根据弹窗提示开始烧录:
(4)检查升级结果
如烧录过程发生中断,请按照上述步骤重新进行。
RDK X3 Module支持从eMMC和SD卡两种模式启动系统: 当模组上的eMMC没有烧录过系统镜像的情况下,插入制作好系统的SD卡到载板即可通过从SD卡启动系统。
如果模组上的eMMC已经烧录过系统镜像,可以按照以下步骤进行eMMC和SD卡启动的切换。
1、默认情况下会从eMMC启动系统
2、禁用eMMC的启动切换到使用SD卡启动系统,登录系统后,执行以下命名把eMMC的第二个分区的启动标志删除,并重启系统生效:
sudo parted /dev/mmcblk0 set 2 boot off sudo reboot
3、在uboot下会发现eMMC没有启动分区而去寻找SD卡的启动分区,从SD卡加载系统启动,登录系统后执行mount命令可以看到根文件系统挂载在 SD 卡的 第二个分区,config分区也使用的SD卡的第一个分区。
/dev/mmcblk2p2 on / type ext4 (rw,relatime,data=ordered) /dev/mmcblk2p1 on /boot/config type vfat
从SD卡启动切换回从eMMC启动
当在使用SD卡启动系统时,并且eMMC上已经烧录过系统,执行以下命令恢复回从eMMC启动,重启系统生效。
sudo parted /dev/mmcblk0 set 2 boot on sudo reboot
Ubuntu Desktop版本系统启动完成后,会通过HDMI接口在显示器上输出系统桌面,如下图:
有线以太网:开发板默认采用静态IP模式,IP地址为192.168.1.10,掩码255.255.255.0,网关 192.168.1.1
无线WiFi:开发板IP地址一般由路由器分配,可在设备命令行中通过ifconfig命令查看wlan0网络的IP地址
方法一:putty串口登录
硬件连接好,驱动安装完毕后,打开设备管理器,你会看到以下端口:
打开putty软件,按照下图配置(以实际识别到的端口为准)。
开发板上电,pytty窗口便会看到有信息打印,然后登陆即可。
输入命令
ifconfig
获取开发板的IP地址
ifconfig eth0 代表以太网络(指网线),刚烧录的系统默认为192.168.1.10 ifconfig wlan0 代表WiFi网络
方法二:MobaXterm串口登录
硬件连接好后,给开发板上电,打开MobaXterm软件,按照下图配置。
开发板上电,MobaXterm便会看到有信息打印,然后登陆即可。
SSH登陆前我们需要配置电脑IP
从串口登录我们已经获取到了RDK X3的 IP 地址 (192.168.127.10)
为了使电脑与RDK X3进行通信需要进行以下操作:
注意:开机输入用户名和密码必须在60S内完成,没完成的重新在60S内再输入一次即可。
打开VNC软件,在地址栏输入RDK X3的IP地址,回车,按照以下图片配置即可
ubuntu虚拟机打开终端输入:
ssh sunrise@192.168.127.10
开发板 /app/40pin_samples/ 目录下,预置了多种40PIN管脚的功能测试代码,包括gpio的输入/输出测试、PWM、I2C、SPI、UART等测试。所有测试程序均使用python语言编写,详细信息可以查阅 40PIN 功能使用。
开发板上安装了test_mobilenetv1.py 程序用于测试mobilenet v1图像分类算法功能。
该程序读取 zebra_cls.jpg 静态图片作为模型的输入,并在命令行终端输出分类结果cls id: 340 Confidence: 0.991851
cd /app/pydev_demo/01_basic_sample/ sudo ./test_mobilenetv1.py
开发板上安装了 usb_camera_fcos.py 程序用于测试USB摄像头的数据通路,该示例会实时采集USB摄像头的图像数据,然后运行目标检测算法,最后把图像数据和检测结果融合后通过HDMI接口输出。
USB摄像头接入到开发板上,确认生成/dev/video8设备节点 通过HDMI线缆连接开发板和显示器 cd /app/pydev_demo/02_usb_camera_sample/ sudo python3 ./usb_camera_fcos.py
程序执行后,显示器会实时显示摄像头画面及目标检测算法的结果(目标类型、置信度)。
将MIPI摄像头模组连接到开发板MIPI CSI接口,通过HDMI线缆连接开发板和显示器,执行以下命令:
cd /app/pydev_demo/03_mipi_camera_sample/ sudo python3 ./mipi_camera.py
程序执行后,显示器会实时显示摄像头画面及目标检测算法的结果(目标类型、置信度)
出于系统安全、稳定性的考虑,推荐用户安装完系统后,通过 APT 命令对系统进行更新。
在/etc/apt/source.list 文件中,保存了 APT 命令的软件源列表,在安装软件前,需要先通过apt 命令更新 package 列表。
首先打开终端命令行,并输入如下命令:
sudo apt update
其次,升级所有已安装的软件包到最新版本,命令如下:
sudo apt full-upgrade
注意:推荐使用 full-upgrade 而不是简单的 upgrade 命令,这样当相关依赖发生变动时,也会同步更新依赖包。
当运行 sudo apt full-upgrade 命令时,系统会提示数据下载和磁盘占用大小,但是 apt 不会检查磁盘空间是否充足,推荐用户通过
df -h
命令手动检查。此外,升级过程中下载的 deb 文件会保存在/var/cache/apt/archives 目录中,用户可以通过
sudo apt clean
命令删除缓存文件以释放磁盘空间。
执行 full-upgrade 之后,可能会重新安装驱动和升级RDK X3的内核,所以建议都重启一下设备,命令如下:
sudo reboot
开发板网络配置保存在/etc/network/interfaces 文件中 在使用 vim 编辑器时保存时请先按下Esc键,再输入
:wq!
推荐使用 nano 编辑器,安装命令如下:
sudo apt update sudo apt-get install nano
通过修改 address、netmask、gateway 等字段,可完成对静态 IP 配置的修改
例如:
sudo vim /etc/network/interfaces
# interfaces(5) file used by ifup(8) and ifdown(8) # Include files from/etc/network/interfaces.d: source-directory /etc/network/interfaces.d auto eth0 iface eth0 inet static address 192.168.1.10 netmask 255.255.255.0 gateway 192.168.1.1 metric 700
修改完成后,命令行输入
sudo systemctl restart NetworkManager
让配置生效。
重启更新网络频段:
sudo reboot
DHCP(Dynamic Host Configuration Protocol,动态主机配置协议)通常被应用在大型的局域网络环境中,主要作用是集中的管理、分配 IP 地址,使网络环境中的主机动态的获得 IP 地址、Gateway 地址、DNS 服务器地址等信息,并能够提升地址的使用率。开发板的 DHCP 网络配置保存在/etc/network/interfaces 文件,通过修改 eth0 相关配置,可完成对 DHCP 模式的修改,例如终端输入:
sudo vim /etc/network/interfaces
修改以下内容:
source-directory /etc/network/interfaces.d auto lo iface lo inet loopback auto eth0 iface eth0 inet dhcp metric 700修改完成后,命令行输入
sudo systemctl restart NetworkManager
命令让配置生效。
重启更新网络频段:
sudo reboot
如需修改开发板默认 MAC 地址,可通过在/etc/network/interfaces 文件中增加 pre-up 配置信息,指定用户需要的 MAC 地址,例如:
sudo vim /etc/network/interfaces
修改以下内容:
# interfaces(5) file used by ifup(8) and ifdown(8)# Include files from /etc/network/interfaces.d: source-directory /etc/network/interfaces.d auto eth0 iface eth0 inet static address 192.168.1.10 netmask 255.255.255.0 gateway 192.168.1.1 pre-up ifconfig eth0 hw ether 00:11:22:9f:51:27
修改完成后,命令行输入
sudo systemctl restart NetworkManager
使配置生效。
重启更新网络频段
sudo reboot
连接上 WiFi 后如下图标注位置会变成 WiFi 样式
输入 WiFi 扫描命令:
sudo nmcli device wifi rescan
如果出现 Error: Scanning not allowed immediately following previous scan.的提示,表示扫描太频繁,请等一会后再扫描
显示扫描到的 WiFi:
sudo nmcli device wifi list
使用命令连接 WiFi:
sudo wifi_connect "SSID" "PASSWD" sudo wifi_connect "JSBPI" "waveshare0755"
返回以下命令表示成功,出现其他问题按照错误提示进行修改即可
Device 'wlan0' successfully activated with '********-****-****-****-************'
如果提示 Error: No network with SSID 'WiFi-Test' found.,说明是热点还没有刷新出来,可以执行
sudo nmcli device wifi rescan
命令重新扫描即可。
无线网络软 AP 可以理解为手机上的 WiFi 热点。
AP6212 的 wifi 支持软 AP 和 Station 两种模式,默认运行在 Station 模式下,如果要使用软 AP 功能请按照以下步骤进行配置。
sudo apt update sudo apt install hostapd sudo apt install isc-dhcp-server
配置 hostapd,打开
sudo vim /etc/hostapd.conf
无密码的热点配置请添加以下内容:
interface=wlan0 driver=nl80211 ctrl_interface=/var/run/hostapd ssid=Sunrise channel=6 ieee80211n=1 hw_mode=g ignore_broadcast_ssid=0
有密码的热点配置请添加以下内容
interface=wlan0 driver=nl80211 ctrl_interface=/var/run/hostapd ssid=Sunrise channel=6 ieee80211n=1 hw_mode=gignore_broadcast_ssid=0 wpa=2 wpa_key_mgmt=WPA-PSK rsn_pairwise=CCMP wpa_passphrase=12345678
sudo vim /etc/default/isc-dhcp-server
如下定义使用的网络接口,保存并退出:INTERFACESv4="wlan0"
终端输入:
sudo vim /etc/dhcp/dhcpd.conf
取消以下字段的注释:
authoritative;
然后输入:
sudo vim /etc/dhcp/dhcpd.conf
在文件的末尾增加以下配置:
subnet 10.5.5.0 netmask 255.255.255.0 { range 10.5.5.100 10.5.5.254; option subnet-mask 255.255.255.0; option routers 10.5.5.1; option broadcast-address 10.5.5.31; default-lease-time 600; max-lease-time 7200;}
sudo passwd root
然后输入 3 次密码,设置密码、确认密码、第二次确认
进入 root 用户:
su root / sudo su
然后输入密码
退出 root 用户:
su sunrise
输入下面的命令停止 wpa_supplicant 服务,并重启 wlan0
systemctl stop wpa_supplicant
sudo hostapd -B /etc/hostapd.conf
会打印以下信息:
root@ubuntu:~# sudo hostapd -B /etc/hostapd.conf Configuration file: /etc/hostapd.conf Using interface wlan0 with hwaddr 08:e9:f6:af:18:26 and ssid "sunrise" wlan0: interface state UNINITIALIZED->ENABLED wlan0: AP-ENABLED
sudo ifconfig wlan0 10.5.5.1 netmask 255.255.255.0
sudo systemctl start isc-dhcp-server sudo systemctl enable isc-dhcp-server打开手机连接 Sunrise 这个热点名
# 停止 hostapd killall5 -9 hostapd # 清除 wlan0 的地址 ip addr flush dev wlan0 sleep 0.5 ifconfig wlan0 down sleep 1 ifconfig wlan0 up # 重启 wpa_supplicant systemctl restart wpa_supplicant # 连接热点, 具体操作可以查看上一章节 “无线网络” wifi_connect "JSBPI" "waveshare0755"
sudo vim /etc/systemd/resolved.conf
添加 DNS 服务器地址:
DNS=8.8.8.8 114.114.114.114
sudo systemctl restart systemd-resolved sudo systemctl enable systemd-resolved sudo mv /etc/resolv.conf /etc/resolv.conf.bak sudo ln -s /run/systemd/resolve/resolv.conf /etc/
sudo bash -c 'echo performance > /sys/devices/system/cpu/cpufreq/policy0/scaling_governor'
开发板在系统中提供了超频功能,可将CPU最高频率从1.2GHz提升到1.5GHz,配置命令如下:
sudo bash -c 'echo 1 > /sys/devices/system/cpu/cpufreq/boost'
注意,CPU 超频可能会造成系统稳定性问题,如遇稳定性问题,需要关闭超频功能,命令如下:
sudo bash -c 'echo 0 > /sys/devices/system/cpu/cpufreq/boost'
特别声明: CPU 超频仅限于开发者 Geek 尝试使用,在做超频处理前,需要保证给芯片做好扇热措施,保证 CPU 长时间运行下,芯片结温能够保持在 95 摄氏度以下,避免因芯片在高温情况下长时间运行导致芯片故障。CPU 超频同时会导致一些目前还无法预知的芯片可靠性问题,请开发者谨慎操作。查看芯片当前的结温温度、CPU 运行频率、BPU 运行频率和 BPU 使用率的命令如下:
sudo hrut_somstat
sudo startbt6212.sh
脚本调用初始化完成了以下工作:
cd /usr/bin *ls #查看是否有dbus-daemon和brcm_patchram_plus文件 *cd ..#返回上一级 *cd lib/bluetooth #进入目录 *ls #查看是否有bluetooth文件
进入交互模式下的蓝牙配置界面
sudo bluetoothctl
表示蓝牙已被识别
输入show查看蓝牙详细信息
注意蓝牙的Powered(上电)、Discovera(可被搜索到)的状态
power on 使能蓝牙 power off 关闭蓝牙 discoverable on 使设备可以被检测到 discoverable off 使设备无法被检测到 scan on 开始扫描附近的蓝牙设备 scan off 关闭扫描
配对对应的蓝牙设备,注意根据提示输入 yes
pair [targetMAC] 比如:pair 9C:5A:81:3E:97:4C
配对成功后,使用指令下次自动连接
trust [targetMAC] 比如:trust 9C:5A:81:3E:97:4C
Bluetoothctl 命令扩展
更多操作请访问 BlueZ 官网 :
http://www.bluez.org/ https://blog.csdn.net/zhuo_lee_new/article/details/106626680
选择右上角的图标或菜单栏对蓝牙进行操作
或者点击Application。
Bluetooth Adapters :用来配置本机蓝牙设置
tooth Manager :用来扫描蓝牙设备并连接
查看是否识别蓝牙模块: hciconfig -a 查看蓝牙模块的地址: hcitool dev 激活蓝牙: sudo hciconfig hci0 up 此次测试设置蓝牙模块为服务端且不需要配对码: hciconfig hci0 noauth
编辑文件,开启蓝牙设备:
sudo vi /etc/systemd/system/dbus-org.bluez.service
找到ExecStart=/usr/lib/bluetooth/bluetoothd,更改并添加为:
ExecStart=/usr/lib/bluetooth/bluetoothd -C ExecStartPost=/usr/bin/sdptool add SP
cat /etc/issue
sudo apt-get upgrade sudo apt-get update sudo apt-get dist-upgrade
sudo apt-get install samba samba-common
检查是否成功安装samba服务:
samba -V (如果出现下面的版本号说明已经安装了samba服务)
sudo mkdir /home/share
sudo chmod 777 /home/sunrise
sudo smbpasswd -a sunrise
然后输入访问密码
sudo vim /etc/samba/smbusers
在文件中粘贴保存
share= "network username"
smbpasswd命令的用法
smbpasswd 命令的用法 smbpasswd -a 增加用户(要增加的用户必须以是系统用户) smbpasswd -d 冻结用户,就是这个用户不能在登录了 smbpasswd -e 恢复用户,解冻用户,让冻结的用户可以在使用 smbpasswd -n 把用户的密码设置成空. 要在 global 中写入 null passwords -true smbpasswd -x 删除用户 # 查看 samba 用户列表(需要 root 权限) pdbedit -L # 对 samba 用户进行管理(用户已经在系统中创建)(需要 root 权限) smbpasswd -h #查看支持的命令列表 # 异常时可查看日志情况 cat /var/log/samba/log.%m
sudo cp /etc/samba/smb.conf /etc/samba/smb.conf.bak
sudo vi /etc/samba/smb.conf
在配置文件 smb.conf 的最后添加下面的内容:
[global]上述操作的意义: [global] 创建工作组 设定 Samba Server 所要加入的工作组或者域
workgroup = WORKGROUP
为了防止出现中文目录乱码的情况。其中根据你的 local,UTF-8 有可能需要改成 cp936
display charset = UTF-8 unix charset = UTF-8 dos charset = cp936
是否允许 guest 用户访问
guest ok = no
注:如果 #security 存在就直接修改,不存在就创建
security = user
安全模式 我们设置用户安全级别
security = user
说明:用来定义用户名映射,比如可以将 root 换成 administrator、admin 等。不过要事先在 smbusers 文件中定义好。这样就可以用 administrator 或 admin 这两个用户来代替 root 登陆 Samba :
root = administrator admin
username map就是用户名别名表,让 Samba 能识别不同客户端用户名并映射到正确的 Linux 用户上:
username map = /etc/Samba/smbusers
共享名,即共享标签,该名字为在电脑上看到的共享名(注意网络映射的路径是这标签名字不是共享路径的名字)
[share] 共享内容描述 comment = Shared Folder with username and password 共享文件夹路径 path = /home/sunrise/ 表示是否允许匿名访问该共享目录 public = no 配置的 Samba 访问账号 指明可以访问的用户 valid users = sunrise 表示是否可以在 Window Explorer 中显示该目录 browsable = no 指明新建立的文件的属性 create mask = 777 指明新建立的目录的属性 directory mask = 777 force group 和 force user 规定创建的文件或文件夹的拥有者和组拥有者是谁 一般这两个值为空,则表示拥有者和组拥有者为创建文件者。 如设定值,如 force group=sunrise force user=sunrise,则不管是谁创建的文件和文件夹,拥有者都为 sunrise 和 sunrise 组。 force user 强制把建立文件的属主是谁。如果我有一个目录,让 guest 可以写,那么 guest就可以删除, 如果我用force user=sunrise强制建立文件的属主是sunrise,同时限制create mask = 0755,这样 guest 就不能删除了。 force user = sunrise force group = sunrise available 用来指定该共享资源是否可用 available = yes 共享路径读权限 设置共享是否可浏览,如果 no 则表示隐藏,需要通过"//ip/共享目录"进行访问 browseable = yes 共享路径写权限writable = yes
sudo service smbd restart 或者 /etc/init.d/samba restart
有的版本路径不是/etc/init.d/samba 可以尝试用:
sudo /etc/init.d/samba restart #sudo /etc/init.d/samba-ad-dc restar
若经常使用的共享,可直接映射为 Windows 的磁盘,不用每次都输 ip,但RDK X3 IP变了需要重新映射,所以建议不要经常修改IP,右键,选择映射网络驱动器。
如果上述方法不可行,尝试以下方法:
Win10 依次打开控制面板->程序->windows 功能启动或关闭->打开 smb 客户端,重启生效。
周一-周五(9:30-6:30)周六(9:30-5:30)
手机:13434470212
邮箱:services04@spotpear.cn
QQ:202004841