Q7上面跑volumio 2.8,增加一个ESP32C3 的模块, 这个模块有显示屏和按键,显示屏接的是1.3寸OLED 显示屏, 按键接的是一个4个按键的模块,分别接到ESP32C3的GPIO
python 代码如下
1 | # -*- coding: utf-8 -*- |
把这个脚本加入系统服务
sudo nano /etc/systemd/system/esp32_remote.service
1 |
|
ESP32 那边代码如下,主要部分
1 |
|
Q7上面跑volumio 2.8,增加一个ESP32C3 的模块, 这个模块有显示屏和按键,显示屏接的是1.3寸OLED 显示屏, 按键接的是一个4个按键的模块,分别接到ESP32C3的GPIO
python 代码如下
1 | # -*- coding: utf-8 -*- |
把这个脚本加入系统服务
sudo nano /etc/systemd/system/esp32_remote.service
1 |
|
ESP32 那边代码如下,主要部分
1 |
|
Q7 能跑一个volumio 2.8的固件
地址在
2.6
http://updates.volumio.org/vim1/volumio/2.603/volumio-2.603-2019-09-03-vim1.img.zip
2.8
http://updates.volumio.org/aml9xxxarmv7/volumio/2.857/volumio-2.857-2020-12-11-aml9xxxarmv7.img.zip
我运行是下面2.8这个版本
dtb 文件改一下, 改成一个dtb.img,这个文件我忘记是从哪里复制的了
apt 的源 要改一下
deb http://archive.debian.org/debian jessie main contrib non-free
deb http://archive.debian.org/debian-security jessie/updates main contrib non-free
下面来自恩山
PS 哪位大大 有Volumio docker ARM 版本的
hub.docker.com上面找到 只有 X86 版本的
N1用不了
补充一下,一、初绍化volumio
有朋友反馈无法使用以太网,需要替换DTB.img
我用的是无线,所以没有去试,那们朋友如果有回复需要替换那个文件 我再更新
42# @LXPCWL 朋友已经解决了这个问题
无线初始化大概说一下,论坛里面应该有比较详细的
1、写入U盘 后,启动(这个版本可以写入emmc)
2、电脑(我是用笔记本,手机也可以)搜索到一个叫 volumio SSID
3、连接上 查看一下获取到IP地址是不是 192.168.211.X
4、访问http://192.168.211.1:3000
5、按照提示设置一下 volumio连接进你的家庭WIFI
二、打开ssh 访问 http://volumioIP:3000/dev
ssh enable然后就可以 ssh登录volumio 了
用户名密码都是 volumio
root 的密码也是 volumio
图便宜15元一个 ,买了5个 . 谁知道是高安版, 而且没有wifi . 刷机过程也是折腾
要下载一个兼容的安卓镜像, 幸运的找到一个 “小黄IHO3300AD(905)四川高安最新没有无线线刷2261.img”,如果不是,卡在1%不动
usb 公头用软件烧入, 这个步骤很奇怪, 有时候这个usb口不行,换下一个usb口就可以, 可能是我笔记本usb hub 问题?
焊好TTL先, 其中有2个跳线断开了, 2R1 2R24 短接, 恢复ttl功能.
启动进入安卓系统
2r1 2r24 短接 恢复ttl功能
ttl 终端 密码
sh login:root
Password:Ch4008111666
5.烧好一个armbian镜像. 发觉meson-gxl-s905l2-x7-5g.dtb 可用, 修改uEnv.txt 文件,改过来, 然后extlinux 里面 的conf文件也要把bak去掉,变成extlinux.conf,这样就能启动, 不过网卡没用
要把u-boot-s905x-s905lb.bin 复制 改名为 u-boot.ext, 这样就能启动了 ,并有网卡.
插入tf卡,启动安卓, 并进入系统,执行reboot update ,就可以启动armbian
执行armbian-install . 不过安装后没有网卡, 不止什么原因,搞了很久也不想, 折腾到这里结束
Rank0: 1024MB(auto)-2T-18
AddrBus test pass!
-s
Load fip header from eMMC, src: 0x0000c200, des: 0x01400000, size: 0x00004000
aml log : R2048 check pass!
New fip structure!
Load bl30 from eMMC, src: 0x00010200, des: 0x01700000, size: 0x00007600
aml log : R2048 check pass!
Load bl301 from eMMC, src: 0x00018200, des: 0x01700000, size: 0x00002400
aml log : R2048 check pass!
Load bl31 from eMMC, src: 0x0001c200, des: 0x01700000, size: 0x00019600
aml log : R2048 check pass!
Load bl33 from eMMC, src: 0x00038200, des: 0x01700000, size: 0x0007b000
aml log : R2048 check pass!
NOTICE: BL3-1: v1.0(debug):521e8c3
NOTICE: BL3-1: Built : 14:22:49, Jun 5 2018
NOTICE: BL31: GXL secure boot!
NOTICE: BL31: BL33 decompress pass
[Image: gxl_v1.1.3101-a78fa1e 2018-06-04 16:24:21 huan.biao@droid12]
efuse init ops = c5
efuse init hdcp = c, cf9=7
bl30: check_permit, count is 1
bl30: check_permit: ok!
chipid: 0 0 7 1c c 0 32 b4 40 a0 0 c5 not ES chip
[1.633107 Inits done]
INFO: BL3-1: Initializing runtime services
WARNING: No OPTEE provided by BL2 boot loader
ERROR: Error initializing runtime service opteed_fast
INFO: BL3-1: Preparing for EL3 exit to normal world
INFO: BL3-1: Next image address = 0x1000000
INFO: BL3-1: Next image spsr = 0x3c9
U-Boot 2015.01 (May 25 2021 - 14:13:05), Build: jenkins-SC_IHO-3300AD_2140133-00060-3
DRAM: 1 GiB
Relocation Offset is: 36e8c000
内存不够, 需要增加swap
sudo fallocate -l 2G /swapfile # 新建 2G 大小的 swap
sudo chmod 600 /swapfile # 权限要正确
sudo mkswap /swapfile # 格式化成 swap
sudo swapon /swapfile # 启用 swap
free -h 查看
开大内存
export NODE_OPTIONS=”–max-old-space-size=1536”
编译时减少进程
npm install –unsafe-perm –no-audit –no-fund –maxsockets=1 –verbose
新版的armbian 在https://github.com/ophub/amlogic-s9xxx-armbian/releases里面,比我自己几年前编译的好多了, 但是wifi还是没有装驱动,可以手动编译一个
数码视讯的Q7的8189fs 驱动 ,注意, 必须要这个分支
1 | git clone -b rtl8189fs https://github.com/jwrdegoede/rtl8189ES_linux.git |
我这个armbian版本的内核比较新.6.1版本, 4.x版本也试过,没问题
先安装必要的包
如果venv没有,先安装,我的python是3.12 , 根据你版本安装
安装下面的包
apt update
apt install python3.12-venv
apt install python3.12-dev
apt install portaudio19-dev
创建虚拟环境
python3 -m venv env
source env/bin/activate
安装包
pip3 install pvporcupine
pip3 install wheel
pip3 install pyaudio
pip3 install requests
pip3 install websocket-client
pip3 install openai
因为我这个电视盒原来有个音频设备, 现在修改第二个声卡为缺省声卡, 就是用usb声卡作为缺省声卡
编辑这个文件, 如果没有创建一个
/etc/asound.conf
1 | defaults.pcm.card 1 |
调整声音大小用
alsamixer
打开这个程序可以看到usb声卡名称, 就说明上面设置对了
安装一个可以用python i2c 驱动一个显示屏的库
pip3 install luma.oled
前提是用一个CH347T做个一个usb 转i2c 的板
这个板的驱动可以github上面下载编译安装.
包括在windows下面的bash等环境
1 | export https_proxy=http://127.0.0.1:7890 http_proxy=http://127.0.0.1:7890 all_proxy=socks5://127.0.0.1:7890 |
上网桥接
docker network inspect bridge
ip addr show docker0
你会看到一个像 172.17.0.1 的地址,这个就是 Docker 容器与主机之间的网桥地址。
步骤 2:运行 Docker 容器并配置代理
你需要将容器的网络流量通过 Clash 代理,可以通过以下几种方式实现:
方法 1:在容器运行时设置环境变量
运行容器时,通过环境变量设置代理:
bash
复制代码
1 | export HTTP_PROXY=http://172.17.0.1:7890 |
验证网络连接:
测试代理是否生效,例如:
bash
复制代码
curl https://www.google.com
创建和使用卷:
1 | docker run -it --rm -v /path/on/host:/path/in/container node:18 bash |
-v /path/on/host:/path/in/container:这将主机的 /path/on/host 目录与容器的 /path/in/container 目录进行挂载。所有写入 /path/in/container 的数据都会存储在主机的 /path/on/host 目录中。
示例:
1 | docker run -it --rm -v ~/mydata:/data node:18 bash |
在容器中对 /data 目录进行的所有更改都将保存在主机的 ~/mydata 目录中,即使容器停止或删除,数据也不会丢失。
过程记下来怕忘记了
不废话,直接上流程
mt7621的cpu的一个路由器 ,跑mipsle的程序,
这个客户端时一个wr703n的路由器, 用来做mqtt server , 跑mips程序,其中把web控制页面透过frp共享出去. 端口为80 .
frpc.ini
1 | [common] |
custom_domains = abc.abc.com 这个域名必须域名解析器加上,让其解析到 服务器ip,或者服务器的域名.
下面自启动进程
必须先安装 nohup
1 | opkg update |
增加下面这个文件
/etc/init.d/frpc
1 | #!/bin/sh /etc/rc.common |
在/etc/rc.d/ 增加一个链接文件
ln -s /etc/init.d/frpc /etc/rc.d/S99frpc
/etc/apt/source.list
1 | deb http://mirrors.aliyun.com/ubuntu-ports/ bionic main restricted universe multiverse |
1 / 2