50元买的【泰奇猫】机顶盒 1G+8G
可当小电脑/服务器使用,性能可比树莓派3
可当Linux开发板,资料参考市场使用全志H5/H6的派(香橙派3,Nanopi等)
主控:全志H6,ARM四核64位 A53 CPU,1.8G主频
armbian+Qt5.12+opencv3.3
先帖几张图,教程慢慢更




离线
1.镜像烧录
   镜像地址:链接:https://pan.baidu.com/s/1Fl-2TPq1sLOBVFnmoPopbA 提取码:leiy 
   准备软件:SD Card Formatter Win32DiskImager
   先用SD Card Formatter对SD卡镜像格式化
   
   然后用Win32DiskImager烧录镜像,需等待10分钟
   
注意:选择一张8G及以上的内存卡,小心扩容卡
离线
楼主是用乐高积木搭了一个外壳?
别的公司送的积木,顺便搭了下
离线
2.查看结果
   拆开盒子,用杜邦线引出Rx Tx GND 用于登录串口终端(需要usb转串口模块)
   
   将烧录好的SD卡插入机顶盒SD卡槽中,上电
   账号密码都是alarm
   
   HDMI输出
   
   进入桌面后连接wifi,便也实现远程登录及文件传输
   
   SSH远程登录
   
   远程文件传输
   
离线
Meekdai 说:楼主是用乐高积木搭了一个外壳?
别的公司送的积木,顺便搭了下
差点以为楼主是今年毕业联发科的:lol:
离线
资本家大善人 说:Meekdai 说:楼主是用乐高积木搭了一个外壳?
别的公司送的积木,顺便搭了下
差点以为楼主是今年毕业联发科的:lol:
确实是联发科送的,芯动之旅
离线
这货wifi太拉胯了
离线
这货wifi太拉胯了
我用USB wifi🤣
离线
3.安装交叉编译工具
   Ubuntu下的
   地址:https://developer.arm.com/tools-and-software/open-source-software/developer-tools/gnu-toolchain/gnu-a/downloads
   我选的是gcc-arm-9.2-2019.12-x86_64-aarch64-none-linux-gnu.tar.xz
   解压tar.xz文件:先 xz -d xxx.tar.xz 将 xxx.tar.xz解压成 xxx.tar 然后,再用 tar xvf xxx.tar来解包。
   或者 tar -Jxf xxx.tar.xz
   root下将gcc-arm-9.2-2019.12-x86_64-aarch64-none-linux-gnu移动到/opt目录下
   mv gcc-arm-9.2-2019.12-x86_64-aarch64-none-linux-gnu /opt
   
   vim /etc/bash.bashrc
   最后加入PATH="$PATH:/opt/gcc-arm-9.2-2019.12-x86_64-aarch64-none-linux-gnu/bin"
   source /etc/bash.bashrc
   aarch64-none-linux-gnu-gcc -v
   如图显示,说明交叉编译工具以及安装成功
      
离线
4.Qt移植
  我用的Qt5.12(linux下的)
  链接:https://pan.baidu.com/s/1H7BDKXv_6QtNnhcyKJ1qaA  提取码:e4w2
  安装:1)chmod +x 软件.run    2)./软件.run
  
  Qt交叉编译包/opencv包:链接:https://pan.baidu.com/s/1h5EzGjsm0M2pSvjQdO6Z2A  提取码:0jsl
  
  用tar指令将Qt交叉编译包解压到/opt目录下
  
  照着图片敲指令,结果如图所示,表示以及安装好
  linux下Qt交叉编译配置
  1.打开Qt,点击实例时钟工程
  
  2.点击Manage Kits...
  
  3.添加全志H6的GCC G++ GDB
  
  
  4.添加交叉编译好的Qmake
  
  5.创建设备
  
  
  6.选择我们的设备,编译,无错误即可
  
离线
4.Qt移植
  泰奇猫(全志H6)下
  将烧录好的SD卡插入电脑,在Ubuntu下挂载
  
  fdisk -l
  
  然后将Qt交叉编译包解压到/mnt/opt下,即SD卡下的opt目录
  
  取消挂载1)cd /  2)umount /mnt
  拔出SD卡,插到泰奇猫(全志H6)上,上电
  
  1)root模式  sudo -s
  2)vi /etc/bash.bashrc
在前面添加如下代码
export TSLIB_CONSOLEDEVICE=none
export TSLIB_FBDEVICE=/dev/fb0
export TSLIB_TSDEVICE=/dev/input/event1
export TSLIB_CONFFILE=/opt/tslib/etc/ts.conf
export TSLIB_PLUGINDIR=/opt/tslib/lib/ts
export TSLIB_CALIBFILE=/etc/pointercal
export LD_LIBRARY_PATH=/lib:/usr/lib:/opt/tslib/lib:/opt/A53_qt5.12.9/lib
export PATH=/bin:/sbin:/usr/bin/:/usr/sbin:/opt/tslib/bin
export QT_QPA_PLATFORM_PLUGIN_PATH=/opt/A53_qt5.12.9/plugins
export QT_QPA_PLATFORM=linuxfb:tty=/dev/fb0
export QT_QPA_FONTDIR=/opt/A53_qt5.12.9/lib/fonts
#export QT_QPA_GENERIC_PLUGINS=tslib:$TSLIB_TSDEVICE
3)source /etc/bash.bashrc
离线
4.Qt移植
  将编译生成的运行文件远程传输到泰奇猫(全志H6)下
  
  root模式下 chmod +x 程序名
  泰奇猫接入键盘,按下ctrl+alt+f4退出桌面系统
  ./程序名
  
  运行结果如下
  
  
  
最近编辑记录 资本家大善人 (2021-09-15 23:54:04)
离线
5.opencv移植
  Qt交叉编译包/opencv包:链接:https://pan.baidu.com/s/1h5EzGjsm0M2pSvjQdO6Z2A  提取码:0jsl
  将opencv包分别解压到Ubuntu和泰奇猫(全志H6)的/usr/local下
  
创建Qt工程,在pro文件里加入
CONFIG += c++11
INCLUDEPATH += /usr/local/include \
               /usr/local/A53_opencv/include/opencv \
               /usr/local/A53_opencv/include/opencv2
LIBS += /usr/local/A53_opencv/lib/libopencv*.so  
用x86的opencv就改成x86的opencv库路径,这个自己去百度学习如何编译,很简单
  将编译好的文件传输到泰奇猫(全志H6)上运行
  结果如下:
  
  人脸检测Qt工程(包含模型):
  人脸检测.zip
  注意路径:
  
离线
H6Qt交叉编译配置
#
# qmake configuration for building with aarch64-linux-gnu-g++
#
 
MAKEFILE_GENERATOR      = UNIX
CONFIG                 += incremental
QMAKE_INCREMENTAL_STYLE = sublib
 
QT_QPA_DEFAULT_PLATFORM=linuxfb
QMAKE_CFLAGS_RELEASE += -O2 -march=armv8-a -lts
QMAKE_CXXFLAGS_RELEASE += -O2 -march=armv8-a -lts
 
 
include(../common/linux.conf)
include(../common/gcc-base-unix.conf)
include(../common/g++-unix.conf)
 
# modifications to g++.conf
QMAKE_CC                =/opt/gcc-arm-9.2-2019.12-x86_64-aarch64-none-linux-gnu/bin/aarch64-none-linux-gnu-gcc
QMAKE_CXX               =/opt/gcc-arm-9.2-2019.12-x86_64-aarch64-none-linux-gnu/bin/aarch64-none-linux-gnu-g++
QMAKE_LINK              =/opt/gcc-arm-9.2-2019.12-x86_64-aarch64-none-linux-gnu/bin/aarch64-none-linux-gnu-g++
QMAKE_LINK_SHLIB        =/opt/gcc-arm-9.2-2019.12-x86_64-aarch64-none-linux-gnu/bin/aarch64-none-linux-gnu-g++
 
# modifications to linux.conf
QMAKE_AR                =/opt/gcc-arm-9.2-2019.12-x86_64-aarch64-none-linux-gnu/bin/aarch64-none-linux-gnu-ar cqs
QMAKE_OBJCOPY           =/opt/gcc-arm-9.2-2019.12-x86_64-aarch64-none-linux-gnu/bin/aarch64-none-linux-gnu-objcopy
QMAKE_NM                =/opt/gcc-arm-9.2-2019.12-x86_64-aarch64-none-linux-gnu/bin/aarch64-none-linux-gnu-nm -P
QMAKE_STRIP             =/opt/gcc-arm-9.2-2019.12-x86_64-aarch64-none-linux-gnu/bin/aarch64-none-linux-gnu-strip
load(qt_config)最近编辑记录 资本家大善人 (2021-09-16 22:06:13)
离线
./configure -prefix /opt/A53_qt5.12.9 \
	-opensource -confirm-license \
	-release \
	-strip \
	-shared \
	-xplatform aarch64 \
	-optimized-qmake \
	-c++std c++11 \
	--rpath=no \
	-pch \
	-skip qt3d \
	-skip qtactiveqt \
	-skip qtandroidextras \
	-skip qtcanvas3d \
	-skip qtconnectivity \
	-skip qtdatavis3d \
	-skip qtdoc \
	-skip qtgamepad \
	-skip qtlocation \
	-skip qtmacextras \
	-skip qtnetworkauth \
	-skip qtpurchasing \
	-skip qtremoteobjects \
	-skip qtscript \
	-skip qtscxml \
	-skip qtsensors \
	-skip qtspeech \
	-skip qtsvg \
	-skip qttools \
	-skip qttranslations \
	-skip qtwayland \
	-skip qtwebengine \
	-skip qtwebview \
	-skip qtwinextras \
	-skip qtx11extras \
	-skip qtxmlpatterns \
	-make libs \
	-make examples \
	-nomake tools -nomake tests \
	-gui \
	-widgets \
	-dbus-runtime \
	--glib=no \
	--iconv=no \
	--pcre=qt \
	--zlib=qt \
	-no-openssl \
	--freetype=qt \
	--harfbuzz=qt \
	-no-opengl \
	-linuxfb \
	--xcb=no \
	--libpng=qt \
	--libjpeg=qt \
	--sqlite=qt \
	-plugin-sql-sqlite \
	-recheck-allmake -jn(n为内核数,如:make -j12)
make install
我12核编译花了半小时,先编译麻烦的可以用我编译好的,见4.Qt移植
离线
软件用pacman指令安装
离线
可以用它玩2D游戏
某个大佬录的视频
离线
附个Framebuffer程序
#include <sys/mman.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <unistd.h>
#include <linux/fb.h>
#include <fcntl.h>
#include <stdio.h>
#include <string.h>
#include <sys/ioctl.h>
#include <stdlib.h>
static int fd_fb;
static struct fb_var_screeninfo var;	/* Current var */
static struct fb_fix_screeninfo  finfo;
static int screen_size;
static unsigned char *fb_base;
static unsigned int line_width;
static unsigned int pixel_width;
/**********************************************************************
 * 函数名称: lcd_put_pixel
 * 功能描述: 在LCD指定位置上输出指定颜色(描点)
 * 输入参数: x坐标,y坐标,颜色
 * 输出参数: 无
 * 返 回 值: 会
 * 修改日期        版本号     修改人	      修改内容
 * -----------------------------------------------
 * 2020/05/12	     V1.0	  zh(angenao)	      创建
 ***********************************************************************/ 
void lcd_put_pixel(int x, int y, unsigned int color)
{
	unsigned char *pen_8 = fb_base+y*line_width+x*pixel_width;
	unsigned short *pen_16;	
	unsigned int *pen_32;	
	unsigned int red, green, blue;	
	pen_16 = (unsigned short *)pen_8;
	pen_32 = (unsigned int *)pen_8;
	switch (var.bits_per_pixel)
	{
		case 8:
		{
			*pen_8 = color;
			break;
		}
		case 16:
		{
			/* 565 */
			red   = (color >> 16) & 0xff;
			green = (color >> 8) & 0xff;
			blue  = (color >> 0) & 0xff;
			color = ((red >> 3) << 11) | ((green >> 2) << 5) | (blue >> 3);
			*pen_16 = color;
			break;
		}
		case 24:
		{
			*pen_32=color;
			break;
		}
		case 32:
		{
			*pen_32 = color;
			break;
		}
		default:
		{
			printf("can't surport %dbpp\n", var.bits_per_pixel);
			break;
		}
	}
}
int main(int argc, char **argv)
{
	int i,j;
	
	fd_fb = open("/dev/fb0", O_RDWR);
	if (fd_fb < 0)
	{
		printf("can't open /dev/fb0\n");
		return -1;
	}
	if (ioctl(fd_fb, FBIOGET_VSCREENINFO, &var))
	{
		printf("can't get var\n");
		return -1;
	}
    if (ioctl(fd_fb,FBIOGET_FSCREENINFO,&finfo))
    {
        printf("Error reading fixed information\n");
        exit(-1);
	}
     //显示结构体信息
  	 printf("The mem is :%d\n",finfo.smem_len);  
   	 printf("The line_length is :%d\n",finfo.line_length);  
   	 printf("The xres is :%d\n",var.xres);  
   	 printf("The yres is :%d\n",var.yres);  
   	 printf("bits_per_pixel is :%d\n",var.bits_per_pixel); 
	line_width  = var.xres * var.bits_per_pixel / 8;
	pixel_width = var.bits_per_pixel / 8;
  	  //计算显存大小
	screen_size = var.xres * var.yres * var.bits_per_pixel / 8;
  	  /*这就是把fp所指的文件中从开始到screensize大小的内容给映射出来,得到一个指向这块空间的指针*/
	fb_base = (unsigned char *)mmap(NULL , screen_size, PROT_READ | PROT_WRITE, MAP_SHARED, fd_fb, 0);
	if (fb_base == (unsigned char *)-1)
	{
		printf("can't mmap\n");
		return -1;
	}
	/* 清屏: 全部设为白色 */
	memset(fb_base, 0xff, screen_size);
	
	for(i = 0 ; i < var.xres/2 ; i++)
		for(j = 0 ; j < var.yres/2 ; j++)
			lcd_put_pixel(i,j, 0xFF0000); //设为红色
	for(i = var.xres/2 ; i < var.xres ; i++)
		for(j = var.yres/2 ; j < var.yres ; j++)
			lcd_put_pixel(i,j, 0xFF0000); //设为红色
	munmap(fb_base , screen_size);/*解除映射*/
	close(fd_fb); /*关闭文件*/
	
	return 0;	
}
离线
楼主可以分享一下dts文件吗,我提取了却不会修改
离线
楼主可以分享一下dts文件吗,我提取了却不会修改
不好意思,这个我也没有弄
离线
装在本机flash
离线
能装在本机flash上就好了
离线
有原理图的吗?
离线
有原理图的吗?
搜搜香橙派5,都是公版方案
离线
只要一有大佬出方案,这些电子垃圾就会在闲鱼上涨价
离线
@资本家大善人 
离线
太强了,大佬随便买个退市产品都能变成开发板
离线
https://github.com/yjun123/e-waste/tree/master/tqc-a01
github找到的原理图和资料
离线
obs?
离线
这个外接显示屏是哪个型号呢,刚入坑不太认识,希望楼主点明
离线
太强了,大佬随便买个退市产品都能变成开发板fd
离线
50可以,刚刚够成本
离线
不拆开能烧录吗?我没有引出串口,直接SD卡烧录镜像,然后插到泰奇猫的sd卡插口上,掉电重启,没有效果。
把下载的镜像解压后再烧录,启动成功了,谢谢
最近编辑记录 chenqiang (2022-05-13 07:10:28)
离线
香橙派3的armbian镜像,完全兼容,WIFI可用
使用香橙派3的镜像记得取消自动扩容,不然要等很久
离线
买一个回来试试看
离线
我都是是卡在Scanning for Btrfs filesystems
进不去,这是什么原因?
离线
我都是是卡在Scanning for Btrfs filesystems
进不去,这是什么原因?
显示屏上显示的啥
离线
Loading, please wait...
Starting version 245.4-4ubuntu3.15
Begin: Loading essential drivers ... done.
Begin: Running /scripts/init-p remount ... done.
Begin: Mounting root file system ... Begin: Running /scripts/local-top ... done.
Begin: Running /scripts/local-premount ... Scanning for Btrfs filesystems
这是屏幕上所有信息,就停在最后一步,光标在闪烁,
离线
@chenqiang 
你这是哪个镜像,如果是armbian香橙派镜像,要关闭自动扩容
离线
版本是
Armbian_22.02.1_Orangepi3_focal_current_5.15.25_xfce_desktop
离线
版本是
Armbian_22.02.1_Orangepi3_focal_current_5.15.25_xfce_desktop
关闭自动扩容,用HDMI显示器查看
镜像卡root目录下
touch .no_rootfs_resize 
自己在虚拟机用Gparted扩 顺便建立个交换分区
最近编辑记录 资本家大善人 (2022-05-21 19:53:07)
离线
chenqiang 说:版本是
Armbian_22.02.1_Orangepi3_focal_current_5.15.25_xfce_desktop关闭自动扩容,用HDMI显示器查看
镜像卡root目录下
touch .no_rootfs_resize
自己在虚拟机用Gparted扩 顺便建立个交换分区
网卡可以用吗
离线
资本家大善人 说:chenqiang 说:版本是
Armbian_22.02.1_Orangepi3_focal_current_5.15.25_xfce_desktop关闭自动扩容,用HDMI显示器查看
镜像卡root目录下
touch .no_rootfs_resize
自己在虚拟机用Gparted扩 顺便建立个交换分区网卡可以用吗
可以的,看36楼,还能上B站播放金坷垃
离线
大善人您好,我在sd卡上烧录了Armbian_22.08.1_Orangepi3_jammy_current_5.15.63_xfce_desktop.img.xz,
但是启动时候,起不来,
hdmi 上有输出 give up waiting for root file system 
Alert UUID=XXX does not exit. Dropping to a shell
然后就是busybox
(initramfs)
请问,这个要怎么处理呀,看起来像是找不到根文件系统
离线
价格便宜,淘一个玩玩
离线
好玩,50块,搞个玩玩也不错
离线
想请教一下楼主,我最近,买了一个全志H616的机顶盒,准备刷个双系统,看手册说,h616默认是从sd卡,启动,但当我刷完系统,重新上电,却还是进入的安卓系统,问了一下orangepi群里的人,说可能是开启了安全模式,不允许sd卡启动,想问下楼主对这方面有了解吗
离线
价格便宜,自己上手操作一下倒是也可以哦
离线
@lixianji 
换张好SD卡试试,我之前也出现过,换SD卡就OK了
离线
@1070758302 
可能是SD卡镜像不完整
离线
价格便宜,自己上手操作一下倒是也可以哦
离线
@资本家大善人 
固件已过期,能重新分享一次吗?谢谢!
离线
50买个板子玩,完全可以接受
离线
楼主的屏幕是哪款啊 大概多少钱呢
离线
家里有一个坏的mp4,是全志处理器,型号不晓得,那天回去看看!
离线
楼主的屏幕是用哪个芯片转的?芯片好买吗?大概多少钱?
离线
楼主的屏幕是用哪个芯片转的?芯片好买吗?大概多少钱?
就是普通的迷你HDMI屏幕,闲鱼上搜索,整套100块
离线
sd卡启动之后怎么把系统装到emmc
离线
sd卡启动之后怎么把系统装到emmc
直接从SD启动的,没有用emmc
离线
楼主你好,可以分享一下archlinux的镜像么,我在闲鱼上买了两个,但是找不到archlinux打包好的镜像
离线
楼主你好,可以分享一下archlinux的镜像么,我在闲鱼上买了两个,但是找不到archlinux打包好的镜像
全志h6,香橙派3镜像,armbian官网上找也可以
离线
我用这个镜像Armbian_23.8.0-trunk.53_Orangepi3_bookworm_edge_6.2.16.img写入sd卡之后只能启动到initramfs
报错:ALERT!UUID=7956d4d2-b286-4841-ab5b-cd6d6e3c0648 does not exist. Dropping to a shell!
但是我把sd卡放到其他电脑上,查看blkid,确实是对的:
#sudo blkid
/dev/sdb1: LABEL="armbi_root" UUID="7956d4d2-b286-4841-ab5b-cd6d6e3c0648" BLOCK_SIZE="4096" TYPE="ext4" PARTUUID="1dd3d05f-01"
这个是什么原因导致的,识别不出来root分区,难道是这个版本的armbian内核太高了,没有包含这个mmc设备的驱动么,还是dtb选的不对导致识别不到mmc呢
楼主用的香橙派3的哪个版本armbian系统呀
离线
换了个armbian镜像,用旧的就可以了Armbian_23.02.2_Orangepi3_jammy_current_5.15.93_xfce_desktop.img
搞不懂为啥
但是启动出来之后,有线网卡和无线网卡都没法识别到
最近编辑记录 zhangsgul (2023-06-17 06:41:02)
离线
换了个armbian镜像,用旧的就可以了Armbian_23.02.2_Orangepi3_jammy_current_5.15.93_xfce_desktop.img
搞不懂为啥但是启动出来之后,有线网卡和无线网卡都没法识别到
机顶盒自带的网卡可能识别不到或者需要额外手动操作(官网看看香橙派3怎么搞的)
用个usb的网卡看看,或者用我论坛里的镜像,那个可以用机顶盒自带的WiFi
离线
@资本家大善人
论坛里的镜像在哪里呀,可以提供一下么,谢谢啦:)
离线
@资本家大善人
论坛里的镜像在哪里呀,可以提供一下么,谢谢啦:)
看看二楼的
离线
分享一个armbian香橙派3的旧版本镜像地址http://imola.armbian.com/archive/orangepi3/archive/
离线
香橙派3最新镜像没办法用的,可以使用3lts的armbian镜像,就是没有网络跟WiFi,需要外接USB网卡。我使用的版本为Armbian_community_24.11.0-trunk.351_Orangepi3_noble_current_6.6.54_gnome-kisak_desktop.img
离线
不拆开能烧录吗?我没有引出串口,直接SD卡烧录镜像,然后插到泰奇猫的sd卡插口上,掉电重启,没有效果。
把下载的镜像解压后再烧录,启动成功了,谢谢
大佬,用什么工具烧具呢?
离线