yanhy的学习记录匣 - 网盘 探索知识的宝箱,记录成长的脚步。欢迎来访Yanhy的博客站,在这里,每一页都是对知识无尽好奇的见证,每个故事都是学习旅程中的珍贵篇章,一起激发灵感,分享进步 2025-03-30T17:12:00+08:00 Typecho https://yanhy.top/index.php/feed/atom/search/网盘/ <![CDATA[海信HiSense A2Pro 刷国际版系统 刷入面具root]]> https://yanhy.top/index.php/archives/437/ 2025-03-30T17:12:00+08:00 2025-03-30T17:12:00+08:00 yanhy2000 https://yanhy.top 前段时间折腾墨水屏,最后发现还不如直接买个成品当阅读器来的快,于是在小黄鱼发现了这个玩意...

整机参数

百度百科图片

  • 系统:Vision 5
  • 安卓版本:Android 7.1.2
  • 存储配置:LPDDR3 4+64GB
  • 屏幕:5.5英寸(AMOLED 1920x1080) + 5.2英寸(墨水屏 960x540)
  • 电池:约3000mah
  • CPU:高通骁龙625
  • 特性:支持侧边指纹、NFC、红外、双频WIFI、3G/4G移动网络

工具资源

通过网盘分享的文件:海信A2Pro
链接: https://pan.baidu.com/s/1mqOTiOcziVDVPRBFGtoIiA?pwd=afuu 提取码: afuu
--来自百度网盘超级会员v5的分享

工具资源列表:

  • [原始]boot.img
  • [修补]magisk_patched-28100_psVzP.img
  • [刷机软件]QPST.2.7.438.zip
  • [国际版]LA8627E1-Hisense-A2T-A2M_GMS_L1413.6.07.04.GMS_MultiDownload_201804102357_user.zip
  • [Fastboot解锁工具]windows-x86.zip
  • [ADB原版工具]platform-tools-latest-windows.zip
  • [9008驱动]Win10_Qualcomm.rar
  • Magisk-v28.1.apk

其他工具(见文章末尾):

  • 国行卡刷包
  • 提取软件
  • [解包Bin2Img工具]sdat2img-master
  • [提取system.img工具]ext2explore-2.2.71

工具资源列表
简单介绍:

  1. 教程均在Windows系统上运行,理论支持win7\8\10\11
  2. 刷机包为全量国际版刷机包,这个版本内没有人脸解锁,但包含谷歌全家桶。
  3. [Fastboot解锁工具]windows-x86.zip 这个工具来自hisense-a9/unlockbootloader,经过测试,发现A2Pro(A2T)也可以解锁,无需联网验证、登陆账号等任何操作,只需要一条指令即可。
  4. Magisk-v28.1.apk软件来自GitHub项目Magisk
  5. [原始]boot.img[修补]magisk_patched-28100_psVzP.img 为原版国际版包中的boot和面具修补过的boot,面具版本为 Magisk-v28.1.apk,解锁后可直接刷入修改后的boot以获取root,或者自行修补boot。
  6. [刷机软件]QPST.2.7.438.zip 建议使用文章提供的版本,由于网上教程和刷机包都是很多年前的,我自己没试过新版能不能刷入,因此建议和文章的版本一样。

刷机与解锁

我自己的尝试是先刷入国际版系统,然后解锁BootLoader,最后刷入修补后的boot以实现root,因此该教程按我自己尝试路线进行。
刷机包提供的是国际版固件全量刷机包,如想刷其他国行固件,解锁等教程理论上都适用。
国际版系统我认为的几个好处:广告少,预置乱七八糟软件少,安装器很精简没有杀毒等,低耗电等。

一. 刷机

1. 环境部署

  • 安装软件 [刷机软件]QPST.2.7.438.zip
  • 解压刷机包 [国际版]LA8627E1-Hisense-A2T-A2M_GMS_L1413.6.07.04.GMS_MultiDownload_201804102357_user.zipA2T 文件夹
  • 安装驱动 [9008驱动]Win10_Qualcomm.rar
  • 解压工具 [ADB原版工具]platform-tools-latest-windows.zip[Fastboot解锁工具]windows-x86.zip

2. 连接手机

注意:如果手机A2P是二手购买且恢复过出厂设置的,务必在恢复出厂设置后插入一次正常的SIM卡以激活USB(不消耗流量,可以不开数据流量),海信A2Pro手机有USB防护,必须插入一次SIM激活才能连接电脑传数据,否则只支持充电,无法用数据传输、安装驱动、USB调试等功能。
  • 将手机USB连接到电脑(确保USB线材是可以传输数据的,而非仅充电线)
  • 选择连接方式:安装光盘 ,此时电脑出现新的盘,打开后安装驱动(可选是否重启,如后面无法识别手机可以重启)
  • 开启开发者选项,开启USB调试
  • 打开手机拨号,输入 *1973461# ,会跳出一个系统信息(界面),点击调试设置,勾选自动加载USB设备。
    工程模式截图1
    工程模式截图2

3.配置刷机

  • 重新插入手机,选择仅充电,下面确保打开USB调试开关
  • 打开解压后[ADB原版工具]platform-tools-latest-windows 文件夹,在上方地址栏输入cmd并回车
    ADB工具文件夹
  • 在cmd窗口内输入指令确保已经识别到设备 以重启手机到刷机模式(BootLoader Mode)

    adb devices

    查看ADB设备
    如果显示未信任并且手机有弹窗选择是否信任计算机,需勾选信任并确认,然后再次执行指令和上图差不多

  • 在cmd窗口内输入指令以重启手机到9008刷机模式(EDL Mode)

    adb reboot edl
  • 打开软件QFIL(一般安装QPST后会在开始菜单内出现图标,或者在开始菜单-QPST文件夹内)
    QPST文件夹
  • 选择端口,打开软件后一般会自动识别到9008端口,如果未显示可手动点击按钮 SelectPort 来选择端口。
  • 在第一栏 Select Build Type 中选择 Flat Build
  • 在第二栏 Select Programmer 点击按钮 Browse ,选择前面解压刷机包文件夹内的prog_emmc_firehose_8953_ddr_000460e1.mbn
  • 在第四栏 Download 点击按钮 LoadXML ,第一次弹窗选择刷机包文件夹内的rawprogram_000460e1.xml,第二次弹窗选择patch0.xml
  • 注意:在选择配置完成后,拔掉手机的SIM卡与TF卡,断开电脑的互联网连接(如拔掉网线、从路由器那边禁用设备外网等)
  • 点击蓝色的Download按钮,即可开始下载固件。几分钟后下载完成后显示success字样,并确保进度条走满后断开usb,手动长按电源键重启。(按理来说会自动重启,但是刷机时未能重启)

QFIL完整配置

  • 重启后进入国际版系统,可自行选择删除预置软件。

二. 解锁与Root

在开机状态下,打开开发者选项,勾选USB调试,勾选OEM解锁

如果想自己根据刷机包的boot来修补以root可以看下面这段,如果用文章内修补后的boot可跳过这段直接到刷入部分

1. 修补boot

  • 连接手机USB到电脑,选择文件传输,将 Magisk-v28.1.apk[原始]boot.img(或刷机包内的boot.img)复制到手机内,在手机文件管理内安装面具
  • 打开面具,点击Magisk一栏的安装按钮,点击下一步,方式栏点击 选择并修补一个文件 ,使用文件管理器选择boot.img文件,开始修补
  • 修补后的文件会在Downloads文件夹内,使用数据线传到电脑上

2.解锁BootLoader

  • 打开解压后[ADB原版工具]platform-tools-latest-windows 文件夹,在上方地址栏输入cmd并回车
  • 在cmd窗口内输入指令以重启手机到BL模式(BootLoader Mode)(备注:经踩坑测试,发现重启到fastboot会正常开机,只有BootLoader下可以刷机,也就是不存在fastboot)

    adb reboot bootloader
    # 刷机后仍需要插入SIM卡来激活USB,并且需要重新在弹窗勾选信任计算机
    # 等待两秒后,输入指令查看手机是否进入了BootLoader模式
    fastboot devices
    # 如果列表中有设备则为正常

    Fastboot设备列表

  • 打开解压后的文件夹[Fastboot解锁工具]windows-x86 ,进入文件夹\windows-x86\bin,在上方地址栏输入cmd并回车打开
  • 在新的cmd窗口输入指令以解锁手机

    fastboot Hisense unlock
  • 出现OKEY字样即为解锁成功,可关闭该cmd窗口。

3.刷入修补后的Boot

回到之前的CMD窗口,输入指令来刷入修补后的boot镜像

fastboot flash boot <敲空格后将boot镜像文件直接拖入>

刷入Boot镜像

如显示OKEY且没有错误信息,则刷入成功,输入指令重启

fastboot reboot

4.开机验证

开机后,打开Magisk软件,即可看到安装成功的版本信息

面具软件内信息

可正常授权root权限
面具授权MT管理器
MT管理员可正常调用SU权限
DevCheck检测出Root

关于该手机其他资料补充

连接USB到电脑没反应

海信的手机(不确定是不是都这样)在恢复出厂设置后需要 插入一次正常的SIM卡以激活USB (不消耗流量,可以不开数据流量),海信A2Pro手机有USB防护,必须插入一次SIM激活才能连接电脑传数据,否则只支持充电,无法用数据传输、安装驱动、USB调试等功能。

不小心卸载一些软件如何找回

在内置的应用商店-应用恢复可以安装找回
如果为了精简系统禁用了应用商店或者单纯不想使用,可以在拨号盘输入 *#*#20019994#*#* 打开预置应用找回设置

刷了国际版没有天气小工具

刷机后发现墨水屏的天气一栏和主屏幕的时间与天气小组件,无法获取天气,说是要安装,但是安装总会失败,是因为国际版固件没有天气APP,只有Google提供的新闻与天气。在本文提供的资料文件里面已经从国行版固件提取出天气APP了,Chinaweather.apk,直接安装后即可使用,小组件也可以正常获取天气。

提取方法

国行更新包目前只有卡刷OTA包,我找到一个相对全的Full包 A2T_L1467.6.07.01.00_full.zip,里面有Boot.img与更新的system.new.dat(或许也可以通过这个包9008刷入后,通过修补boot来实现国行固件root)。因此需要两个工具,[解包Bin2Img工具]sdat2img-master.zip该工具可以将更新文件合并到system.img,使用方法:

python sdat2img.py system.transfer.list system.new.dat system.img

转换为system.img后,使用工具[提取system.img工具]ext2explore-2.2.71,加载该文件,即可看到内部全部文件。右键文件点击save,可将文件提取到外面。

其他有用的记录

*#*#4636#*#* ——服务菜单
*1973460# - FTMode
*1973461#或*#*#3647#*#* - 系统信息
*1973462# -操作员测试
*#0000# ——系统信息
*#06# -IMEI

参考资料

本文参考资料:

]]>
<![CDATA[移动、天翼云电脑使用DD重装系统]]> https://yanhy.top/index.php/archives/398/ 2024-07-30T12:30:00+08:00 2024-07-30T12:30:00+08:00 yanhy2000 https://yanhy.top 前段时间入手了移动云电脑,结果被意外收回了... 后面发现还是有云电脑需求,干脆入了天翼云电脑试试看。官方系统内容挺多,且有不少后门,干脆自行DD重装一下,顺便做个记录。

DD重装本质上是利用Linux的指令来进行硬盘擦写填充文件。

菜鸟编程:Linux dd 命令用于读取、转换并输出数据。dd 可从标准输入或文件中读取数据,根据指定的格式来转换数据,再输出到文件、设备或标准输出。

本文使用Github开源项目 reinstall ,并将云电脑系统重装为Windows 10 LTSC 2021

一键重装脚本 English 项目介绍
- 支持安装 16 种常见 Linux 发行版
- 支持用官方原版 iso 安装 Windows,并且脚本会自动查找 iso 和驱动
- 支持任意方向重装,也就是支持 Linux to Linux、Linux to Win、Win to Win、Win to Linux
- 专门适配低配小鸡,解决内存过少导致无法进行网络安装
- 自动判断动静态 IPv4 / IPv6,无需填写 IP / 掩码 / 网关
- 支持 ARM,支持 BIOS、EFI 引导,原系统支持 LVM、BTRFS
- 不含第三方自制包,所有资源均实时从源站点获得
- 有很多注释

前期准备

  • 云电脑准备数据盘1GB以上(重装后系统盘会被全盘擦除,分区也会被清除,需数据盘保留一些软件)
  • 下载软件Todesk_lite到数据盘(用于在云电脑重装后因没有驱动无法控制,只能提供第三方远程软件控制)
  • Github加速器(任意且可选,部分云电脑访问Github艰难,可以备好)

移动云电脑切记需要下载好远程软件在数据盘,并保证软件打开就可以使用,否则在无鼠标驱动下安装远程控制软件相当困难

天翼云电脑实测无需远程,重装系统后仍然可以在官方客户端键鼠操控,也无需强制数据盘

DD重装系统

关闭Windows Defender 保护

打开设置 - 更新与安全 - Windows安全中心,点击左侧病毒与威胁防护,将选项全部关闭。
如使用天翼云电脑,系统可能预装火绒等杀毒软件,直接退出杀毒软件即可。

以管理员身份运行Powershell

使用快捷键Win+X,选择 Windows Powershell(管理员)打开即可

Windows Powershell(管理员)

下载脚本

复制以下脚本,并粘贴到Powershell终端内(右键终端界面即可粘贴)

certutil -urlcache -f -split https://github.299993.xyz/https://raw.githubusercontent.com/bin456789/reinstall/main/reinstall.bat
注:这里的脚本使用了Github加速源。如以后该加速源关闭,将无法正常执行脚本,可使用Github原链接,可能需要加速器。
备用链接
国内加速源
certutil -urlcache -f -split https://jihulab.com/bin456789/reinstall/-/raw/main/reinstall.bat

国外(Github原链接)
certutil -urlcache -f -split https://raw.githubusercontent.com/bin456789/reinstall/main/reinstall.bat

执行完成
脚本下载完成

执行脚本

复制以下脚本,并粘贴到Powershell终端内(右键终端界面即可粘贴)
这里要安装的为Windows 10 LTSC 2021系统,稳定且性能占用较低。如有其他系统需求,可以在https://drive.massgrave.dev/网站查找所需镜像。

./reinstall.bat windows --iso='https://drive.massgrave.dev/zh-cn_windows_10_enterprise_ltsc_2021_x64_dvd_033b7312.iso' --image-name='Windows 10 Enterprise LTSC 2021'

期间会出现软件安装的窗口,无需理会,等待其自动安装和配置。
当最后几行出现下面内容时则为初期准备完成,可以重启安装

***** INFO *****
windows
Username: administrator
Password: 123@@@
Reboot to start the installation.
You can run this command to reboot:
shutdown /r /t 0
PS C:\Users\Administrator>

脚本执行完成截图

重启云电脑自动重装

在Powershell内输入以下指令,重启系统进入Linux子系统,开始自动DD重装。

shutdown /r /t 0

系统重启后,无需任何操作,一直等待或者关闭云电脑客户端放后台慢慢装即可。花费时间取决于网速和硬盘读写速度,如云电脑为机械硬盘可能会慢一些。
由于我这个天翼云电脑带宽只有50M,因此下载速度特别慢,前前后后需要30到50分钟左右。

全程为脚本自动操作,请勿手动介入,可能会打断脚本。一直等待到系统开机输入密码阶段才算安装完成。

下载镜像中

注:天翼云电脑在重装后还是原系统卸载系统软件,都不影响在官方客户端的控制使用(截至2024/7/30是可行的)。但偶尔会出现弹窗显示异常提醒建议重启,点以后再说即可。

天翼云电脑 忽略弹窗即可

在Linux系统部署完成后,自动重启到Windows安装中。全程无需手动操作,也不要去介入操作,会打断进程。

系统自动安装中

新系统开机

安装完成后自动开机,默认开机密码:123@@@

锁屏界面

移动云电脑需要开机后用键盘打开远程软件,进行远程连接后才能控制。
使用快捷键 Win+E 打开此电脑,方向键选择D盘,并选择Todesk_lite.exe,回车键打开软件进行远程连接。

天翼云电脑可直接用官方客户端控制。

进入系统

天翼云电脑可在修改分辨率手动全盘。重装后无法进行自适应分辨率、硬盘映射等等功能,有需要可使用原系统。
刚安装好的系统分辨率不对,可以手动在桌面-右键-显示设置,手动调整分辨率为1920x1080即可。

系统激活

激活推荐使用HEU-KMS,可参考我前面的文章 安利个Windows激活工具 HEU-KMS

文件传输

最便捷的文件传输方式可使用第三方远程控制软件,进行文件传输;也可以提供各种网盘进行传输。官方客户端文件传输能力失效。

天翼云电脑修复

仔细研究了一下ecloud的驱动相关,按自己需求整理出了适用于官方客户端的驱动优化
修复以下问题:

  • 新系统后双重鼠标指针
  • 调整官方客户端窗口时自适应分辨率
  • 从云电脑内拉拽文件到外面以及相反拉拽文件
  • 剪贴板同步
  • 音频驱动
  • 客户端画质调整

驱动下载

需下载以下链接内三个文件(经fiddler抓包后未发现上报连接,但不排除定时上报。程序已精简过,去除其他服务如远程录屏、打印等服务)

https://yanhy.lanzouj.com/b033zndfuj
密码:5k43

驱动安装

clink天翼云电脑守护程序

先创建好文件夹,在C:\Program Files (x86)\ctyun\clink(也不一定要指定位置,这是原系统安装路径,为确保不出错还是推荐本路径)
解压后,将64文件夹放到clink目录内,如下图

文件夹路径

打开64文件夹,右键点击以管理员身份运行来打开clink_agent.exe和clink_cb_helper.exe。运行后没任何反应,但可以通过任务管理器看到已经在运行了。注:如不使用管理员身份运行,则在一些系统中可能因为没权限导致无法使用部分功能。

驱动软件运行

经多次测试,核心服务程序为必须运行项,否则其他程序无法正常工作,;服务程序则为跟着客户端窗口调整分辨率、剪贴板同步、文件拖拽传输等功能。

音频驱动ecloud_AudioDriver_FullSetup

音频驱动直接双击安装即可

驱动安装界面

drivers天翼云电脑显示驱动

随意解压一个位置,打开文件夹后,选择 qxldod.inf 文件,右键-安装。安装后没有弹窗,但如果第一次安装屏幕会闪烁并修改分辨率为很低的一个状态。

如果前面有安装了守护程序,只需要缩放一下官方客户端窗口,即可自动调整云电脑分辨率大小。

如果不使用守护程序,只安装驱动,可以手动在桌面-右键-显示设置,手动调整“显示器1”的分辨率为1920x1080即可,可以修复双重鼠标指针。(单独安装除了修复双重鼠标指针好像意义不大,经过测试这个驱动貌似就是配合守护程序调整分辨率使用)

结束

当云电脑DD重装后,会失去一些便利的特性,但是同时也有一些好处。使用全新系统,省去官方定制系统臃肿的性能占用和一堆无用的软件,删除官方监控后门,甚至部分云电脑可以重装后直接变成不休眠(天翼云还是会休眠),能更好的由自己控制。

本文部分内容摘抄自该博主(https://kui.li/989.html),如有版权问题请留言,会及时处理

补充:移动云电脑家庭版操作较麻烦,可以参考这篇文章获得更多移动云电脑相关内容:https://www.yuque.com/scynull/cloud/ikxva5t32sii3lrn

本文到此结束,如有更多感兴趣的话题可以关注本博客,不定期更新~

]]>
<![CDATA[Linux轻量云服务器云硬盘搭建网盘(下)]]> https://yanhy.top/index.php/archives/202/ 2022-03-29T22:22:00+08:00 2022-03-29T22:22:00+08:00 yanhy2000 https://yanhy.top

腾讯云今年春节活动优惠力度较大,在这期间我也采购了一台服务器与俩数据盘,准备作为网盘...

硬盘初始化与挂载请看上一篇:Linux轻量云服务器云硬盘搭建网盘(上)

资源:

  • 轻量云服务器2c4g 6M带宽
  • 云盘程序-cloudreve
  • 云硬盘100G+1000G

网盘程序安装

创建一个文件夹用于存放软件与配置文件:

mkdir cloudreve
cd cloudreve

前往cloudreve官网下载软件包:http://cloudreve.org/
选择下载 cloudreve_3.4.2_linux_amd64.tar.gz

也可以在ssh输入指令使用wget进行下载:

wget https://github.com/cloudreve/Cloudreve/releases/download/3.4.2/cloudreve_3.4.2_linux_amd64.tar.gz

然后解压压缩包

tar -zxvf cloudreve_3.4.2_linux_amd64.tar.gz

直接执行该文件即可开启网盘服务:

./cloudreve

122222.png

记下默认账户与密码,然后去云服务器后台的防火墙处放行端口:tcp 5212

133333.png

访问网盘管理,浏览器输入服务器ip:5212,即可进入网盘登陆页面,登陆后的页面如下

144444.png

接下来先去管理面板修改用户信息如密码等,此处不再赘述,主要讲述如何配置硬盘到网盘中

网盘管理配置

1、上传路径修改

进入管理面板-存储策略中,修改默认策略以向导模式打开

储存目录可设置前面云硬盘挂载的位置,由上一章可知路径为 /mnt/data1,因此存储目录路径可填写:

/mnt/data1/{path}

如果计划将该网盘给多用户使用,可以这样填写:

/mnt/data1/{uid}/{path}

文件重命名处设置可以根据网盘用途来修改,如果多人使用,默认即可;如果仅自己使用,可以修改为原始文件名或者选择不开启即可:

{originname}

如不开启默认为{randomkey8}_{originname},不容易分辨,推荐使用上述变量

2、直链设置

此处如果是使用云服务器有公网时,可以根据自己需求选择是否开启;如局域网内无公网,开启后无法用于公网分享文件

3、上传限制

同样的,如果是自用,全部关闭限制即可,如果多人使用的话推荐打开,防止大文件上传吃带宽等情况

4、分配用户储存

cloudreve并不会自动检测硬盘空间剩余,因此要手动限制最大空间使用

修改并保存好存储策略后,打开用户组管理

如果网盘仅自己单人使用,可以直接打开管理员用户组修改页面,将初始容量直接修改为硬盘最大容量(此处使用硬盘1,本文所购置的硬盘1容量为100GB)其他选项均默认即可。

如果网盘供多人使用,需要给每个用户组进行单独配置。比如总硬盘可使用空间为100GB,预计5人使用,如需要平分容量,可以在 注册用户 组内的初始容量设置为20GB,5人分别注册后会自动归为 注册用户组 ,且均为20GB容量。(如果是使用云服务器的话,推荐限制每个人的下载上传设置,以防止单用户占用带宽、性能过多)

设置开机自启

网盘程序此时已经安装配置完成,接下来需要设置开机自启,保证网盘不中断
先按Ctrl+c关闭当前运行的网盘程序

新建个系统服务文件并启用:

cd /lib/systemd/system
sudo nano cloudreve.service

编辑内容:
注意:如果服务器有安装mysql服务的话,需要在第四行加上After=mysqld.service,否则可能开机启动失败

[Unit]
Description=Cloudreve
After=network.target

[Service]
TimeoutStartSec=10

ExecStart=#文件完整路径,如/root/cloudreve/cloudreve
ExecStop=/bin/kill $MAINPID

StandardError=syslog

[Install]
WantedBy=multi-user.target

保存并退出,然后输入指令来启动网盘程序:

systemctl start cloudreve

此时输入systemctl status cloudreve ,稍等一会就可以看到cloudreve进程正在运行中

再输入指令启用cloudreve的开机启动:

systemctl enable cloudreve

重启后,再输入systemctl status cloudreve ,可以看到进程已经在运行

cloudreve网盘配置到此结束,但是该程序并没有解决本文的初始问题,因为云服务器有两块硬盘,本程序只能单网盘授权用户,因此还需更换程序...

]]>
<![CDATA[Linux轻量云服务器云硬盘搭建网盘(上)]]> https://yanhy.top/index.php/archives/191/ 2022-03-29T06:44:00+08:00 2022-03-29T06:44:00+08:00 yanhy2000 https://yanhy.top

腾讯云今年春节活动优惠力度较大,在这期间我也采购了一台服务器与俩数据盘,准备作为网盘...

资源:

  • 轻量云服务器2c4g 6M带宽
  • 云盘程序-cloudreve
  • 云硬盘100G+1000G

云服务器挂载硬盘

前往轻量服务器云硬盘后台挂载硬盘至目标服务器上

12222.png

云硬盘初始化

挂载成功后,通过ssh连接至服务器,输入fdisk -l可查看到新挂载的硬盘容量大小及硬盘id(此处主硬盘为vda,新挂载的硬盘为vdb、vdc)

1333333.png

由于该云硬盘在之前挂载过windows server系统的服务器,使用指令fdisk -l得知已经被win分区处理过。因云硬盘上没有重要信息需要转移,所以这里准备直接进行重新初始化操作...

如果硬盘为新购挂载的可以直接查看“云硬盘初次使用初始化”...

win转linux云硬盘二次初始化

执行以下指令,进入 fdisk 分区工具,开始对新增数据盘执行分区操作。以新挂载的数据盘 /dev/vdb 为例,则执行以下命令:

sudo fdisk /dev/vdb

14444.png

从前面得知,这块硬盘已经被win分区过了,所以先删除全部分区,再重新格式化以挂载给linux使用

输入指令 d 来删除分区,分别删除1、2号分区

1555555.png

删除分区后,再重新建立个新的分区并格式化为ext4

输入指令 n 来新建分区,有时会提醒要选择分区类型,一般可输入 p 来创建个主要分区(p 表示主要分区,e 表示扩展分区)

之后要选择的主分区编号、初始扇区、截止扇区可直接回车默认即可。

操作结束后,输入指令 p 即可看到新建的分区。确认无误后,输入指令 w 将分区结果写入分区表中。

如果上述操作有失误之处,直接输入 q 可不保存退出

16666.png

退出分区软件后,输入指令将分区表同步到系统:

partprobe

如果此指令提示找不到命令,需要安装软件包parted来解决:apt install parted

执行以下命令,将新建分区文件系统设置为系统所需格式:

sudo mkfs -t <文件系统格式> /dev/vdb1

不同文件系统支持的分区大小不同,请根据实际需求合理选择文件系统。以设置文件系统为 EXT4 为例,则执行以下命令:(格式化需要一段时间,请稍等一会)

sudo mkfs -t ext4 /dev/vdb1

1666666.png

再输入 fdisk -l 可看出,该硬盘文件系统已经变成“Linux filesystem”

再如法炮制,将第二块硬盘也初始化一番...

177777.png

此时云硬盘已经初始化结束,接下来就可以挂载使用了。

云硬盘初次使用初始化

执行以下命令,查看磁盘名称:

sudo fdisk -l

第一步挂载成功后可以在列表中看到服务器有两块磁盘,/dev/vda 为系统盘,/dev/vdb 为新挂载数据盘(多块硬盘将以vdc、vdd依次排序)

执行以下命令,将新建分区文件系统设置为系统所需格式:

sudo mkfs -t <文件系统格式> /dev/vdb1

不同文件系统支持的分区大小不同,请根据实际需求合理选择文件系统。以设置文件系统为 EXT4 为例,则执行以下命令:(格式化需要一段时间,请稍等一会)

sudo mkfs -t ext4 /dev/vdb1

再输入 fdisk -l 可看出,该硬盘文件系统已经变成“Linux filesystem”,可以被挂载至系统文件夹使用了。

云硬盘挂载

本文将会把硬盘挂载至/mnt文件夹内(大部分系统、设备也是如此),之后可以通过访问该文件夹来使用云硬盘

新建文件夹用于挂载不同的一批:(文件夹名可自定义)

mkdir /mnt/data1
mkdir /mnt/data2

执行以下命令,将设备挂载至新建的挂载点。执行以下命令:

sudo mount /dev/vdb1 /mnt/data1
sudo mount /dev/vdc1 /mnt/data2

执行以下命令,查看挂载结果。

sudo df -h

188888.png

因为是为了网盘服务,所以要保证服务器启动时硬盘也可以同时被加载,接下来设置硬盘开机自动挂载...

本文使用的是腾讯云购买的云硬盘,可以直接使用云硬盘的软链接。官方文档:

挂载方式优缺点信息获取方式
使用云硬盘的软链接(推荐)优点:每个云硬盘的软链接固定且唯一,不会随卸载挂载、格式化分区等操作而改变。缺点:只有云硬盘才有软链接。无法感知分区的格式化操作。执行以下命令,查看云硬盘的软链接。sudo ls -l /dev/disk/by-id
使用文件系统的 UUID可能会因文件系统的 UUID 变化而导致自动挂载设置失效。例如,重新格式化文件系统后,文件系统的 UUID 将会发生变化。执行以下命令,查看文件系统的 UUID。sudo blkid /dev/vdb
使用设备名称可能会因设备名称变化而导致自动挂载设置失效。执行以下命令,查看设备名称。sudo fdisk -l

执行以下命令,备份 /etc/fstab 文件。以备份到 /home 目录下为例:

sudo cp -r /etc/fstab /home

执行以下命令,使用 VI 编辑器打开 /etc/fstab 文件。

sudo vi /etc/fstab

按 i 进入编辑模式。
将光标移至文件末尾,按 Enter,添加如下内容。

<设备信息> <挂载点> <文件系统格式> <文件系统安装选项> <文件系统转储频率> <启动时的文件系统检查顺序>
  • (推荐)以使用云硬盘的软链接自动挂载为例,结合前文示例则添加:
/dev/disk/by-id/virtio-disk-xxxxx /data ext4 defaults 0 0
  • 若您需挂载分区,则结合前文示例则添加:
/dev/disk/by-id/virtio-disk-xxxxx-part1 /data/newpart ext4 defaults 0 2
  • 以使用磁盘分区的 UUID 自动挂载为例,结合前文示例则添加:
UUID=d489ca1c-5057-4536-81cb-ceb2847f9954 /data ext4 defaults 0 0
  • 若您需挂载分区,则结合前文示例则添加:
UUID=d489ca1c-5057-4536-81cb-ceb2847f9954 /data/newpart ext4 defaults 0 2
  • 以使用设备名称自动挂载为例,结合前文示例则添加:
/dev/vdb /data ext4 defaults 0 0
  • 若您需挂载分区,则结合前文示例则添加:
/dev/vdb1 /data/newpart /data/newpart ext4 defaults 0 2
  • 按 Esc,输入 :wq 并按 Enter 保存设置并退出编辑器。
    执行以下命令,检查 /etc/fstab 文件是否写入成功。
sudo mount -a 

如果运行通过则说明文件写入成功,新建的文件系统会在操作系统启动时自动挂载。

输入 reboot手动重启后再输入 df -h`,可以看到硬盘已经自动挂载成功了

2222211.png

本章节(上)部分内容结束,感谢阅读~

]]>
<![CDATA[Linux常用操作指令(更新中)]]> https://yanhy.top/index.php/archives/151/ 2022-03-29T04:48:00+08:00 2022-03-29T04:48:00+08:00 yanhy2000 https://yanhy.top

凭个人需求和经验慢慢收录各种各样的Linux指令,包括且不仅于Debian系、红帽系等系统常用指令...

apt/apt-get

Debian系系统常用软件包管理指令,常用子命令:
install    从仓库寻找并安装软件包(软件包名字后加"="再加版本号,可以安装指定版本的软件包)
remove    移除软件包及重要依赖
autoremove    自动移除软件包及相关依赖
update    更新软件仓库
upgrade    获取软件更新并自动更新到最新版本
search    关键词搜索软件包

yum

红帽系系统常用软件包管理指令,同系统下类似的指令还有dnf等(没详细了解)
install    同上,安装用

man

单词manual的缩写,即使用手册的意思,可以通过指令如`man apt`来查看apt指令的使用手册
q    退出
Enter    按行下翻
Space    按页下翻
b    上翻一页
/字符串    在手册页中查找字符串

netstat

用来显示网络状态,比较常用的有查看当前使用的端口等功能
netstat -tunlp    用于显示 tcp,udp 的端口和进程等相关
netstat -tunlp | grep 端口号    查看指定端口占用情况
netstat -ntlp    查看全部tcp端口占用
netstat -apu    查看UDP端口占用
netstat -i    显示网卡列表

Linux用户与用户组添加:

//添加可登陆的普通账户,无su权限,无默认密码
sudo useradd yanhy
//设置初始密码
sudo passwd yanhy

//添加sudo权限,先修改sudoers为可写权限
chmod u+w /etc/sudoers
//编辑sudoers
vi /etc/sudoers
在 root ALL=(ALL:ALL) ALL 下面添加xxx ALL=(ALL) ALL
yanhy  ALL=(ALL:ALL) ALL    //允许用户yanhy执行sudo,需要密码
%yanhy  ALL=(ALL:ALL) ALL    //允许用户组yanhy里面的用户执行sudo,需要密码
yanhy  ALL=(ALL:ALL) NOPASSWD: ALL    //允许用户yanhy执行sudo且不输入密码
%yanhy  ALL=(ALL:ALL) NOPASSWD: ALL    //允许用户组yanhy里面的用户执行sudo且不输入密码

//撤销sudoers写入权限
chmod u-w /etc/sudoers
//查看全部用户
cat /etc/passwd

补充:
默认添加账户指令详细内容:
[root@localhost ~]# grep "yanhy" /etc/passwd
yanhy:500:500::/home/yanhy:/bin/bash
UID从500开始,自动创建home目录,bash默认为/bin/bash

新增账户时默认密码配置:
[root@localhost ~]# grep "yanhy" /etc/shadow
yanhy:!!:15710:0:999:7:::
密码为“!!”即无密码,密码有效期为999天,到期前7天将会提醒

新增账户时默认用户组配置:
[root@localhost ~]# grep "yanhy" /etc/group
yanhy:x:500:
创建用户时默认会创建和用户名相同的用户组,且GID也是从500开始

===以下为samba添加用户时附加操作===

//新增用户组为samba,用户组id为2000
sudo groupadd samba -g 2001

//添加无法登陆的账户,用于网盘等子账户,uid为2000,用户组id为2001(无法登陆终端的账户)
sudo useradd yanhy -u 2000 -g 2001 -s /sbin/nologin -d /dev/null

//授予访问权限
sudo chown -R yanhy:samba /home/ubuntu/
//同时再给自己一边权限
sudo chown -R ubuntu:ubuntu /home/ubuntu/
//添加samba用户密码
sudo smbpasswd -a yanhy

Screen使用方法简要总结(指令区分大小写)

 - screen -ls    列出所有创建的窗口
 - screen -S xxxx   新建一个名字为`xxxx`的新窗口并进入
 - screen -r xxxx   进入一个名字为`xxxx`的窗口,如果没有这个名字的窗口会显示`There is no screen to be resumed matching xxxx.`
 - screen -R xxxx   进入一个名字为`xxxx`的窗口,如果没有这个窗口会自动创建新窗口且名字为`xxxx`
 - 关闭screen    进入一个窗口,然后关闭当前的项目,再输入exit,即可退出窗口并从列表中移除
 - Ctrl + a + d   暂离当前窗口(进入一个窗口后,先按ctrl+a,保持ctrl键再按d即可离开该窗口,不影响运行的项目)
 - screen -wipe   列出全部窗口并自动移除无效的窗口
 - 出现名字相同的多个窗口时,进入窗口时需要输入id而不是窗口名,如:列表中有`114514.test` `1919810.test`,进入窗口时需要输入`screen -r 114514`
 - kill 9 id号   强制杀死窗口进程(id号为`23333.Name`中的`23333`,如 `kill 9 23333`,不能输入窗口名)

修改bashrc文件后刷新

- 重新打开终端
- sudo source .bashrc
]]>
<![CDATA[联想小新pad通过9008刷国际版\国行系统]]> https://yanhy.top/index.php/archives/76/ 2021-08-15T07:37:00+08:00 2021-08-15T07:37:00+08:00 yanhy2000 https://yanhy.top 之前6月份入手了一个小新pad普通版,骁龙662的性能,6+128内存组合够日常使用了,但是由于没有买书写笔,只能当做个大屏手机用,也正好拿来先折腾一番...

主观体验

作为一个11.5寸的大屏幕设备,快要和我电脑屏幕差不多大了,刚开始我重度使用这个pad刷视频、刷酷安等,后面也是使用spacedesk软件来进行电脑屏幕拓展。
在我看来这个设备的主要优势就是屏幕大,用起来观感很爽,其他感知性不强。小新pad的国行系统并没有和其他平板ui一样有很好的平板体验,和大屏手机的ui相差无几,且生态并不好,QQHD版经常未响应卡顿等。
后来将其刷到了国际版,自带谷歌全家桶,基本上是没有对ui深入定制,当大屏手机用还是挺舒服的。直到后面我打算买支笔拿来办公用,才想着把这玩意刷会国行,可能对办公等支持更好一点。


平板参数

  • CPU:高通 骁龙662(2.0Ghz A734+1.8Ghz A534)
  • 内存组合:6GB+128GB
  • GPU:Adreno 610
  • 屏幕:LCD 2000x1200 60fps
  • 特色功能:2D人脸识别,ZUI学习模式,Lenovo One智能互联,IP52防水防尘 ,四立体声扬声器
  • 电池:7700mah 20w快充
  • 网络:支持802.11ac无线协议wifi 蓝牙5.0

准备材料

如以下资料文件丢失,可在本人发布的帖子下(如酷安)或者本博客内留言,会及时处理

由于资料过久,网盘曾经清理过,因此下面部分链接失效,补一下nas里面备份过的文件: https://pan.baidu.com/s/1VCXuR_9HN0Cosk-e-5tI1Q?pwd=x48x 提取码: x48x
暂时只补档镜像包相关,其他刷机工具是通用的,可以网上搜索其他工具或者看博客内其他刷机文章,工具可以直接拿来用(毕竟都是高通那些事)

由于本文章是教刷回国行版,所以主要提供国行版刷机包
12.5.057(安卓11)链接:https://pan.baidu.com/s/1cqOjLNQTxtm_Gn_PhaxHUA 提取码:x88j (此版本系统包只能通过下面刷入安卓10后去系统更新app手动升级上去,无法9008)

12.0.341(安卓10)链接:https://pan.baidu.com/s/1su_eCOLC3BIhEcaWe77LkQ 提取码:942r (本教程所用版本,可以9008刷入)

高通usb驱动:链接:https://pan.baidu.com/s/10oanVfv19NoIBaPQJcvTVQ 提取码:5v2o
QPST工具:链接:https://pan.baidu.com/s/1BP1Jm_Eld5OYoHUzqslflA 提取码:h0zc

国际版包也给一个吧,刷入方法相同
安卓10:链接: https://pan.baidu.com/s/1a3cHhYzZzcxORn_sXxCvPA 提取码: r83r(可以9008刷入,方式同本教程)

其他资源:

USB3.0数据线一条
win10电脑(其他系统未测试)
小新pad(电量充足、备份完成)


步骤

下载好工具、驱动、系统包后,接入数据线到电脑准备开始刷机。

1、解压QUD.WIN.1.1 Installer-10037.3后打开setup.exe开始安装驱动,安装过程全部默认即可
76270-f7ducko85om.png

2、解压qpst.win.2.7_installer_00488.1后,打开文件夹内的QPST.2.7.488.1.exe安装器,安装完后可以在开始菜单内找到QFIL应用程序,这是QPST高通9008刷机工具(此工具仅英文版且不要误操作,小心变砖)
87167-gklr2f6udhv.png

63377-mpkzqq6war.png

3、解压系统包TB-J606F_CN_WIFI_USER_Q00016.0_Q_ZUI_12.0.341_ST_201102_qpst(安卓10)

12814-lmztcxxljk.png

4、解压后将平板关机,电脑打开设备管理器,然后展开 端口 分支(如果没有先不展开),插上usb数据线后按住音量+键,直到看到Qualcomm HS-USB QDLoader 9008的设备出现为止

52405-7d5jxqypoee.png

5、回到QPST软件,打开后如下图,先点击顶栏的Configuration,再点击FireHose Configuration

70742-xqi3wp2p8im.png

6、修改,确保和下图红框一模一样(其他地方不需要修改也不要乱改),修改完点击 OK
变砖警告:注意,一定不能选择 Erase All Before Download!否则你平板的主板底层可能会被清空,导致变砖,只能走售后换主板!无法救砖!

32940-869p0ieqbgt.png

7、回到软件主页面,Select Build Type 选项修改为 Meta Build
再点击Select Meta Build 选项里面靠右侧的Load Context...按钮

03918-zl2llhh5pus.png

8、路径选择正确后会显示下图的文件,选中点击打开即可,同时主界面会变成下图二

64595-41qykuekoff.png

07780-6v49h1z09qf.png

9、最后点击右上角的 Select Port 选择端口(如果电脑只连接了pad,应该会只有一个端口显示,端口号无需相同)

82472-occ3dgrq6r.png

10、最后确认一遍信息,参考下图(除了端口号、路径不一样,其他应该一样)

96989-t9mqbd9n87.png

11、点击右侧Download Content即可下载固件到pad中(时间较长,如果看到进度条不动了,不是卡住,这软件的进度条就是这样,慢慢等就好)看到 finish Download就是下载成功,平板会自动重启开机

46996-co3nygafk56.png

开机完成

13154-a4d1gwdsg9.png

**此方法同样适用于国际版(安卓10),或者其他系统版本,需要支持qpst刷入(如果支持一般文件名后缀会标识)
如果想升级到最新版本系统,可以手动下载安装包或者手动更新版本**


文章参考资料

]]>
<![CDATA[树莓派搭建个私人的NAS网盘(双场景)]]> https://yanhy.top/index.php/archives/55/ 2021-04-27T09:03:00+08:00 2021-04-27T09:03:00+08:00 yanhy2000 https://yanhy.top

前几期已经成功对树莓派做足了当服务器的准备,是时候用树莓派做出一些实用的事情了...


前言

树莓派4B版本的网口与USB相比之前有了较大提升,尤其是网口提升到了千兆的速率,这样一来树莓派更加适合做一些小型网络服务器,正如今天所搭建的私人NAS网盘...

经过前几期的准备,我们的树莓派已经可以实现软件上内网穿透,硬件上自动温控保护,目前的环境已经稳定下来,可以去搭建小型服务器了。本文中将会使用树莓派接入外置硬盘,通过有线网络实现搭建NAS网盘,且提供两种不同思路,给不同场景使用。


准备工作

1、Frp内网穿透(参考:用云服务器搭建自己的Frp服务
2、硬件温度保护(参考:为树莓派制作个简单温控系统
3、软件源更换(参考:树莓派4b上手“装机必备” - 2


场景:自用、云同步、个人NAS网盘

使用网盘平台:samba

步骤:

1、安装Samba服务:sudo apt install samba -y

2、编辑Samba配置文件:sudo nano /etc/samba/smb.conf

3、在文件末尾添加如下内容并保存(文件目录根据实际调整):
其中,path(共享路径)此处填写的为接下来要映射外置硬盘的文件夹,如果使用的是u盘或者外置固态硬盘则可以忽略,如果使用的是外置机械硬盘(推荐使用带自动休眠功能的硬盘盒),推荐直接修改为/home/pi,否则每次当windows资源管理器加载网络储存时都会导致机械硬盘启动,从而会加大损耗硬盘寿命(尽可能使用带自动休眠的硬盘盒,仅sata转换器无法达成自动休眠硬盘效果,还需安装相关软件)。缺点是无法在windows网络硬盘中看到外置硬盘容量,好处是更方便的传输文件到/home/pi目录。

[share]
   path = /home/pi/share
   valid users = pi
   browseable = yes
   writable = yes

注:如需将samba用户名pi修改为其他用户名,需要添加一个新的系统账户。因该账户仅用于samba分享服务,因此可以将其设置为无登陆权限的账户,如下过程即可:

//添加用户组samba,设置id为2000(id和名字可随意)
sudo groupadd samba -g 2000
//添加用户yanhy,用户id为2000,并将其添加进id为2000的用户组
sudo useradd yanhy -u 2000 -g 2000 -s /sbin/nologin -d /dev/null
//授予访问权限
sudo chown -R yanhy:samba /home/ubuntu/
//同时再给自己一边权限
sudo chown -R ubuntu:ubuntu /home/ubuntu/
//添加samba用户密码
sudo smbpasswd -a yanhy

4、根据以下内容将外部硬盘连接到共享文件夹:

--接入外置硬盘(3.5寸机械硬盘需要额外供电,如果2.5寸机械硬盘太多也需要额外供电)
--ssh连接树莓派,使用 sudo fdisk -l 查看储存信息,看容量识别硬盘,一般是/dev/sda1
--创建个目录用来挂载硬盘 sudo mkdir /home/pi/nas
--改权限 sudo chmod 777 /home/pi/nas
--将硬盘通过mount挂载到该文件夹 sudo mount /dev/sda1  /home/pi/nas

--(此条方法可能有问题,新版本系统谨慎尝试,如果卡开机了请取出sd卡,手动修改/etc/fstab中的内容)写入硬盘启动信息,下次重启后自动挂载数据盘 echo "/dev/sdb1 /home/pi/nas/ ext4 defaults 0 0" >> /etc/fstab
--使用 df -h 查看硬盘状态,如果第一列有显示/dev/sda1且后面目录为/home/pi/nas说明挂载成功

5、配置完后重启Samba服务:sudo systemctl restart smbd

6、设置访问用户:sudo smbpasswd -a pi(如根据第三步新建用户,可以跳过这步)

7、电脑输入smb://树莓派ip 即可访问到共享文件夹,或者打开 网络 ,开启局域网共享,也可以发现树莓派设备并连接(老版本教程)

8、兼容ntfs
树莓派不支持写入ntfs文件系统,如果硬盘已经有文件不想格式化,可以安装软件包来兼容:sudo apt install ntfs-3g -y ,更新内核模块:sudo modprobe fuse , 重启系统:sudo reboot


场景:多人使用网盘、协作、小型下载站、图床

使用网盘平台:Cloudreve

步骤:

1、手动访问 https://github.com/cloudreve/Cloudreve/releases 选择cloudreve_x.x.x_linux_arm64.tar.gz右键复制下载链接
31598-1047l7nmrd3.png

2、ssh连接树莓派,创建一个文件夹 mkdir nas 并进入 cd nas ,并使用 wget 复制的链接 下载软件包

3、下载完后使用 tar -zxvf cloudreve_x.x.x_linux_arm64.tar.gz 解压,得到 cloudreve 文件(无后缀)

4、如果树莓派上有安装防火墙,需要使用 sudo ufw allow 5212 手动放行cloudreve的端口

5、输入 ./cloudreve 启动程序,接下来会自动显示出账号与密码,需要记下来,第一次登陆需要(后期可以修改),如果忘记了生成的账号密码,删除当前目录的db数据库文件后再次启动程序即可

6、如果此时在内网环境中,在本地浏览器输入树莓派ip加端口即可访问cloudreve了,如192.168.31.73:5212(由于我已经安装过,直接演示进入浏览器界面)

52800-2t88q9nsqj6.png

10436-r2lrfanky1g.png

7、登陆后点击右上角头像,即可进入管理面板,里面可以修改是否允许用户注册等功能,其他功能暂不详细叙述

55056-ucm80jnagn.png

8、给树莓派挂载硬盘并使该网盘使用外置硬盘来储存:

ssh部分

--接入外置硬盘(3.5寸机械硬盘需要额外供电,如果2.5寸机械硬盘太多也需要额外供电)
--ssh连接树莓派,使用 sudo fdisk -l 查看储存信息,看容量识别硬盘,一般是/dev/sda1
--创建个目录用来挂载硬盘 sudo mkdir /home/pi/nas/sda1
--将硬盘通过mount挂载到该文件夹 sudo mount /dev/sda1 /home/pi/nas/sda1
--写入硬盘启动信息,下次重启后自动挂载数据盘 echo "/dev/sdb1 /home/pi/nas/sda1 ext4 defaults 0 0" >> /etc/fstab
--使用 df -h 查看硬盘状态,如果第一列有显示/dev/sda1且后面目录为/home/pi/nas/sda1说明挂载成功

网页管理面板部分

--进入管理面板,打开 存储策略 标签页
--修改默认策略,使用 向导模式编辑
--在路径处可以看到当前使用的路径,将其改成 /home/pi/nas/sda1/{uid}/{path} 即可在硬盘内创建文件
--路径内{uid}/{path}无需修改,分别为用户id和用户文件路径,如:管理员uid为1,在网盘内上传了a.MP4文件,路径则为/home/pi/nas/sda1/1/a.MP4,不同用户之间文件不相通,管理员在管理面板可以管理全部文件
--如果需要用图床功能,需要在第二步开启永久直链功能,其他选项根据个人使用去修改


其他软件如openmediavault(omv)等也可以实现局域网共享,本文不再细说
本文参考链接:
树莓派挂载移动硬盘
挂载 机械硬盘_利用树莓派和闲置硬盘,搭建起家中的个人网盘
树莓派使用cloudreve搭建nas和离线下载

本篇文章到此结束,需要更多内容请持续关注本博客!

]]>
<![CDATA[为树莓派制作个简单温控系统]]> https://yanhy.top/index.php/archives/48/ 2021-04-25T10:14:00+08:00 2021-04-25T10:14:00+08:00 yanhy2000 https://yanhy.top 由于之前在树莓派上安排了不少东西,如frp、网盘等,又因为树莓派4B的功耗增加不少,导致整体散热偏高...(网盘这个坑后面填)59570-o7xe7u5bmu.png

温控原理

使用树莓派小风扇对其风冷散热,并且在三极管组成的简单电路下通过树莓派GPIO口输出PWM进行不同阶段温度的控制,使其可以在温度过高情况下减少PWM占空比加速散热、温度较低时静音慢速散热,减少因为长期高速运转产生的噪声,也同时增加了风扇寿命。


硬件准备

1、树莓派及优质电源线(推荐使用官方电源,第三方电源在风扇运转时容易出现低电压警告)
37037-bc14to444b8.png

2、树莓派小风扇 x1
3、三极管NPN8050 x1
4、电解电容100μF x1(理论上大部分电容都支持,起到稳定风扇作用,减少因风扇突然加速等产生的异响)
5、接插件 x5
6、杜邦线(母对母) x3


电路原理图

27324-bvr6ev9k4e6.png

三极管8050三个管脚顺序从平面、从左到右依次是发射极E基极B集电极C
本图中,风扇负极接入三极管的发射极E,树莓派上任意一个GPIO引脚接入三极管的基极B,树莓派上的GND接入三极管的集电极C
电容C1并联到风扇的两段,或者直接并联到接插件的1、3处,如果使用电解电容需要注意正负极

本电路无需焊接至电路板上,直接通过接线即可使用,且因为体积较小可以直接放入树莓派壳内,方便移动


程序控制

通过树莓派的GPIO引脚输出高电平以导通三极管,且通过PWM控制树莓派的转速,代码如下:

程序参考:https://blog.csdn.net/vince025/article/details/103749006
#!/usr/bin/python3
# encoding: utf-8
import RPi.GPIO
import time
RPi.GPIO.setwarnings(False)
RPi.GPIO.setmode(RPi.GPIO.BCM)
#下面多处14是我使用的BCM编码为14的GPIO,根据实际情况修改
RPi.GPIO.setup(14, RPi.GPIO.OUT)
pwm = RPi.GPIO.PWM(14, 75)
duty = 0
lastDuty = 0
try:
        while True:
            tmpFile = open('/sys/class/thermal/thermal_zone0/temp')
            temp = int(tmpFile.read())
            tmpFile.close()
            duty = 100;
            #以下内容可自由修改,duty为占空比,值越大速度越慢
            if temp < 40000:
                duty = 100
            if lastDuty >= 40000:
                duty = 75
            if temp >= 42000:
                duty = 60
            if temp >= 45000:
                duty = 50
            if temp >= 50000:
                duty = 25
            if temp >= 55000:
                duty = 10
            #----------------
            if duty == 100:
                pwm.stop()
                time.sleep(.2)
                RPi.GPIO.output(14, RPi.GPIO.LOW)
            if duty == 0:
                pwm.stop()
                time.sleep(.2)
                RPi.GPIO.output(14, RPi.GPIO.HIGH)
            if duty > 0 and duty < 100:
                if lastDuty == 0 or lastDuty == 100:
                    pwm.start(0)
                    time.sleep(1)
                pwm.ChangeDutyCycle(duty)
            lastDuty = duty
            #print(duty,temp)
            time.sleep(5)
except KeyboardInterrupt:
    pass
pwm.stop()
time.sleep(1)
RPi.GPIO.output(14, RPi.GPIO.LOW)
程序二参考:https://tieba.baidu.com/p/4238265567?red_tag=2276462921
#!/usr/bin/env python3
# encoding: utf-8
import RPi.GPIO
import time
RPi.GPIO.setwarnings(False)
RPi.GPIO.setmode(RPi.GPIO.BCM)
#下面多处14是我使用的BCM编码为14的GPIO,根据实际情况修改
RPi.GPIO.setup(14, RPi.GPIO.OUT)
pwm = RPi.GPIO.PWM(14, 75)
speed = 0
prv_temp =0
try:
    while True:
        tmpFile = open( '/sys/class/thermal/thermal_zone0/temp' )
        cpu_temp = int(tmpFile.read())
        tmpFile.close()
        if cpu_temp>=35000:
            if prv_temp<35000 :
                pwm.start(0)
                pwm.ChangeDutyCycle(100)
                time.sleep(.1)
            speed = min( cpu_temp/125-257 , 100 )
            pwm.ChangeDutyCycle(speed)
        else :
            pwm.stop()
        prv_temp = cpu_temp
        print(speed,cpu_temp)
        time.sleep(5)
except KeyboardInterrupt:
    pass
pwm.stop()

以上为python3代码,树莓派中运行需要使用python3 fan.py运行


开机自动运行

方法同上一篇文章用云服务器搭建自己的Frp服务

cd /lib/systemd/system
sudo nano fan.service

编辑启动项:

[Unit]
Description=frp service
After=network.target

[Service]
TimeoutStartSec=30
ExecStart=python3 #文件完整路径,如/home/pi/fan.py
ExecStop=/bin/kill $MAINPID

[Install]
WantedBy=multi-user.target

保存并退出后,使用systemctl start fan即可在后台启动温控程序
使用systemctl status fan可以查看运行状态,如果前面代码中print未被注释可以看到实时温度以及占空比
使用systemctl enable fan即可开机启动该程序

85536-wnbpibab4jj.png


本篇文章到此结束,需要更多内容请持续关注本博客!

]]>
<![CDATA[用云服务器搭建自己的Frp服务]]> https://yanhy.top/index.php/archives/21/ 2021-04-03T23:43:00+08:00 2021-04-03T23:43:00+08:00 yanhy2000 https://yanhy.top

Frp(Fast Reverse Proxy)是一个用于内网穿透反向代理应用,支持TCP、UDP等多种协议,可以将内网服务通过具有公网IP节点的服务器连接到公网,实际应用于本地服务器、树莓派建站等项目
77548-p3tu90g232.png

前言

前几期我们对树莓派进行了简单配置,但是仍没有将其投入到实际应用中。树莓派4b版性能强大,且运行功率较小,已经可以将其当成一个小型服务器使用了。因此本期内容就是为树莓派搭建个私人的Frp内网穿透服务器,以便于在树莓派上完成建站等项目。本次我们采用了64位系统的raspbian,在社区测试中,64位系统虽然功能尚未完善,但是其性能已经超出了官方原版32位系统很多,正合适用来配置小型服务器。


服务器选购

搭建Frp服务器时,一般使用各个大厂的学生机即可,推荐购买轻量应用服务器,1核2GB内存5M带宽的性能足够网站应用使用了,一般各个大厂的学生机每个月都是9块左右。虽然每个月限制1000GB流量,但是一般小型服务器除了音视频推流之外一般也用不完的。

阿里云学生机:https://developer.aliyun.com/plan/grow-up
腾讯云学生机:https://cloud.tencent.com/act/campus?from=12631
华为云学生机:https://developer.huaweicloud.com/campus?productType=KC1_1&timeType=1&domainItemData=
百度云学生机:https://cloud.baidu.com/campaign/campus-2018/index.html?unifrom=eventpage

注:阿里云的学生机取消入口,只能通过各种活动或者类似于开发者成长计划获取“学生机”;
华为云学生机为鲲鹏云,使用arm架构CPU,开发环境不同,请斟酌选择;
百度云学生机带宽较低,看个人选择;
其他厂商可能也有类似活动,本章暂未列出
购买服务器后安装系统等操作可以直接参考服务商文档,本章不再列出


安装&配置Frp

Frp的官方github开源页,里面可以下载到最新版本:https://github.com/fatedier/frp

Linux服务器配置Frp

1、通过ssh连接到服务器
2、先点击上面的链接前往github页面,找到右侧的Release,点击最新的版本,会看到很多个Frp版本
28538-depjpszrxdl.png

3、确认自己的服务器架构后(一般都是64位x86架构),在合适的版本上右击复制下载链接,一般情况下选择frp_xx.xx.xx_linux_amd64.tar.gz即可

4、在ssh输入 wget 复制的链接并回车即可开始下载,如:
wget https://github.com/fatedier/frp/releases/download/v0.36.2/frp_0.36.2_linux_amd64.tar.gz

5、下载完后解压tar -zxvf frp_0.36.2_linux_amd64.tar.gz(后面为下载的文件名,如不同请自行替换)

6、简化文件夹名称mv frp_0.36.2_linux_amd64 frp重命名为frp文件夹,并进入文件夹cd frp

7、编辑Frp服务端的配置文件nano frps.ini(frps为服务端,frpc为客户端),如无特殊需要保持默认配置即可,修改完点击键盘上Ctrl+o保存,再点Ctrl+x退出
47178-ulfoi0kbko.png

8、现在服务端的搭建临近尾声,输入sudo ./frps -c ./frps.ini即可运行,按下Ctrl+c停止运行
88992-d7wiuayzico.png

9、在服务器上使用守护进程systemctl:
在/lib/systemd/system文件夹下创建frps.service
29393-mf48abmi0z.png
Sudo vim frps.service
输入如下内容并保存退出

[Unit]
Description=frp service
After=network.target

[Service]
TimeoutStartSec=30
ExecStart=#frp完整路径#/frps -c #frp完整路径#/frps.ini
ExecStop=/bin/kill $MAINPID

[Install]
WantedBy=multi-user.target

示例:76097-39y69ni9vf6.png

10、启动Frp服务:systemctl start frps,输入systemctl即可查看进程frps正在运行;
设置frps开机启动:systemctl enable frps
31816-vuapf5e7ba.png


windows系统配置frps

在win可视化界面,操作会变得非常简便

1、在服务器内打开浏览器前往https://github.com/fatedier/frp下载最新版本,选择amd64版本下载
42893-ng6obzr12t.png

2、解压后双击打开frps.ini配置文件,修改端口并保存
61714-b0duifi2jzj.png

3、在文件夹地址栏输入cmd并回车,输入frps -c frps.ini即可运行frp服务器
76643-pt9lxjcktrg.png

4、要想设置frps服务器开机启动,只需要在地址栏输入C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp并进入,新建frps.bat并右键进入修改

5、修改bat文件,将以下内容复制进去:路径\frps.exe -c 路径\frps.ini即可实现开机启动,如:
96799-7dgbsd8wdsb.png

服务器端口配置

在配置完frps后,仍需要去服务端网页后台的安全组处开放相应端口,如默认端口为7000,安全组需要添加tcp协议的7000端口;同时还需要再添加一个tcp协议的端口,作为映射出来的端口
62685-hccu3kmwnpu.png


Frp客户端配置

Linux系统客户端(树莓派为例)

按照前面服务端的方法下载frp到树莓派上并解压,这次将会用到压缩包内的frpc...
由于树莓派是arm架构,且本文使用的是树莓派的64位架构系统,因此在github我们下载frp_x.x.x_linux_arm64.tar.gz,下载、解压方法同服务端

84099-gvo7ftrhe8e.png

1、先进入frp文件夹内cd frp
2、配置frpc.ini的相关信息nano frpc.ini

[common]
server_addr = 服务器的公网地址,比如1.1.1.1
server_port = 服务器frp的端口

[ssh]
type = tcp
local_ip = 127.0.0.1
local_port = 22 #22端口在linux里是ssh连接用的,设置为22端口可以通过frp进行远程ssh连接树莓派
remote_port = 6000 #要映射的端口,比如在ssh软件内输入连接 1.1.1.1:6000 即可连接到ssh的22端口

3、保存并退出,输入./frpc -c ./frpc.ini即可连接到frp服务器

服务端:84453-3xpdpv7ha3a.png

客户端:20223-c5ur739npxa.png

如果连接超时,请检查:
服务器网页端控制台有没有放行端口、是否服务器有防火墙或者宝塔等面板二次阻拦、配置文件是否一致、服务器时间是否正确

win系统客户端

下载同上,然后解压后修改frpc.ini配置文件并保存

文件夹地址栏输入cmd回车,打开cmd后输入frpc.exe -c frpc.ini即可


Frp实际应用

Frp到此已经搭建完成了,之后我们就可以挂上frp做一些小项目了...

1、安装宝塔面板建站(64位系统):wget -O install.sh http://download.bt.cn/install/install-ubuntu_6.0.sh && sudo bash install.sh
2、NAS个人网盘:https://shumeipai.nxez.com/2018/11/01/a-raspberry-pi-nas-that-really-look-like-a-nas.html
3、MC游戏服务器(性能较低,联机用,仅java版):https://shumeipai.nxez.com/2013/11/21/how-to-run-low-cost-minecraft-on-a-raspberry-pi-for-block-building-on-the-cheap.html
4、安装远程桌面云办公:https://shumeipai.nxez.com/2013/10/06/windows-remote-desktop-connection-raspberry-pi.html
5、... ...


本篇文章到此结束,需要更多内容请持续关注本博客!

]]>