作者:Jean-Luc Aufranc (CNXSoft) 2023年5月21日
BTT Pad 7或BIGTREETECH Pad 7(https://www.cnx-software.com/2023/05/02/bigtreetech-pad-7-7-inch-3d-printer-control-display-runs-klipper-on-allwinner-h616-som-or-raspberry-pi-cm4/)是一款7英寸觸摸屏顯示器,隨CB1 Allwinner H616系統(tǒng)一起提供,模塊與樹莓派 CM4兼容。
顯示器主要是為具有SPI和CAN總線接口的3D打印機(jī)設(shè)計(jì)的,但它也可以用作標(biāo)準(zhǔn)平板電腦。
因此,今天,我將使用樹莓派CM4 Lite模塊切換CB1,并報(bào)告我進(jìn)行轉(zhuǎn)換的經(jīng)驗(yàn),并將其用作運(yùn)行樹莓派 OS的樹莓派 CM4平板電腦,并在稍后的另一篇文章中使用Klipper的3D打印機(jī)對(duì)其進(jìn)行測(cè)試。
在BTT Pad 7中安裝樹莓派 CM4(Lite)模塊
我們需要Pad 7、樹莓派 CM4和一些工具。
第一步是使用2.0mm六角扳手?jǐn)Q松四個(gè)螺釘,以及使用較小的1.5mm六角鑰匙擰松蓋子,以卸下紅色散熱器。我使用了Creality Ender-3 S1 Pro 3D打印機(jī)(https://www.cnx-software.com/2023/01/11/review-creality-ender-3-s1-pro-2-in-1-3d-printer-laser-engraver-unboxing-assembly/)附帶的。
現(xiàn)在,我們可以從CB1模塊上斷開Wifi天線,卸下兩個(gè)短定位器,然后用塑料工具彈出模塊。
該對(duì)位真的很小,不容易操作,特別是如果你手指比較粗。我沒有合適的工具,所以我用了一對(duì)(生銹的)鉗子來代替…
現(xiàn)在,我們可以插入樹莓派CM4模塊,連接天線電纜,并向左調(diào)整USB Choose和CS Choose開關(guān),以配置CM4模塊的Pad 7。用戶手冊(cè)不是很詳細(xì),我最初假設(shè)CM4安裝將與CB1安裝相同,因此我將相同的螺母柱擰緊到位…
在嘗試擰回六角螺釘之前,將備用散熱墊放在CM4上……但不要這樣做,因?yàn)镃M4模塊比CB1模塊厚,并且您無法擰緊所有四個(gè)螺釘。
在與BigTreeTech討論后,我發(fā)現(xiàn)我必須使用四個(gè)備用的定位器和螺釘,這是用戶手冊(cè)目前根本沒有解釋的。所以我取出散熱器,切下隔熱墊,在兩個(gè)支架周圍留出足夠的空間。實(shí)際上,您希望首先將散熱墊放在散熱器上,而不是CM4模塊上,因?yàn)槟赡軙?huì)看到我的散熱墊向左移動(dòng)了太多…
作為一個(gè)附帶說明,我喜歡在組裝產(chǎn)品時(shí)在戶外工作,因?yàn)橛行迈r空氣,照明更適合拍照,但缺點(diǎn)是可能有一些灰塵,一旦灰塵落在隔熱墊上,就很難清除!
現(xiàn)在,在擰緊四個(gè)螺釘以保持散熱器就位之前,我們可以在左側(cè)安裝兩個(gè)較長的定位器,在右側(cè)安裝短的定位器。盡管散熱器仍然略微傾斜,并且與PCB并不完全平行,但這看起來要好得多。我們將在稍后進(jìn)行壓力測(cè)試時(shí)查看這是否重要。安裝的最后一步是放回小蓋子。
為樹莓派OS準(zhǔn)備microSD卡
硬件安裝基本完成,因此我們現(xiàn)在可以用我們選擇的操作系統(tǒng)準(zhǔn)備microSD卡。該公司建議使用最新的MainsailOS映像(https://github.com/mainsail-crew/MainsailOS/releases/tag/1.1.1)來管理Klipper 3D打印機(jī),但由于它現(xiàn)在是我們的目標(biāo),因此我剛剛使用樹莓派OS Desktop 32位,使用RPI Imager實(shí)用程序。
一旦完成了這一步,您將需要更改一些配置文件,并且用戶手冊(cè)對(duì)于這一部分非常有用。我們首先需要對(duì)顯示器背光進(jìn)行一些更改,因?yàn)槲覀儽桓嬷狢M4的背光IO不支持PWM,因此只能將其設(shè)置為最大亮度。
首先編輯/boot/cmdline.txt并刪除“console=serial0115200”,然后編輯/boot/config.txt以添加以下兩行:
?
?
dtoverlay=gpio-led dtparam=gpio=14,label=Pad7-lcd,active_low=1
?
?
我們還被要求刪除/boot/config.txt中的行“enable_uart=1”(如果它在那里),但它不適合我。
我們?nèi)匀粵]有完成編輯/boot/config.txt,因?yàn)槲覀冃枰渲?a target="_blank">HDMI分辨率(1024×600):
?
?
hdmi_group=2 hdmi_mode=87 hdmi_cvt 1024 600 60 6 0 0 0 hdmi_drive=1
?
?
并啟用USB Host:
?
?
dtoverlay=dwc2,dr_mode=host
?
?
這就是我自己所做的一切,但如果要將Pad 7連接到3D打印機(jī),您還需要在/boot/config.txt中設(shè)置SPI到CAN總線:
?
?
dtparam=spi=on dtoverlay=mcp2515-can0,oscillator=12000000,interrupt=24,spimaxfrequency=10000000
?
?
使用與Klipper一致的設(shè)置編輯/etc/network/interfaces.d/can0,例如:
?
?
allow-hotplug can0 iface can0 can static bitrate 1000000 up ifconfig $IFACE txqueuelen 1024
?
?
最后,如果要使用提供的ADXL345 IMU模塊,則需要將以下配置添加到printer.cfg文件中:
?
?
[mcu CM4] serial: /tmp/klipper_host_mcu [adxl345] cs_pin: CM4:None spi_bus: spidev0.1 axes_map: z,y,-x # Modify according to the actual orientation of the ADXL345 installed on the printer.
?
?
現(xiàn)在保存所有內(nèi)容,并取出microSD卡將其插入BTT Pad 7。但在此之前,您需要卸下帶有CB1操作系統(tǒng)的microSD卡,它對(duì)我來說并不容易取出。我無法用手指將其取出,我不得不使用工具,施加比我所能承受的更大的力,以防可能損壞卡或平板電腦。我告訴了BIGTREETECH這個(gè)問題,他們意識(shí)到了:
是的。我們還注意到了這個(gè)問題,這似乎是一個(gè)小概率,將只發(fā)生在我們的第一批,我們已經(jīng)在后續(xù)批次中優(yōu)化了這個(gè)問題。
所以好消息是,它發(fā)生在我和潛在的其他評(píng)論或測(cè)試版測(cè)試人員身上,但不應(yīng)該發(fā)生在客戶身上,因?yàn)镻ad7仍處于預(yù)訂購階段。
配置和測(cè)試樹莓派 OS
無論如何,我將帶有樹莓派 OS的microSD卡插入BTT Pad 7,連接了電源,在幾秒鐘內(nèi),我進(jìn)入了桌面界面,觸摸屏也在工作。
如果不使用機(jī)械鍵盤或空氣鼠標(biāo),則可能需要安裝屏幕鍵盤(https://shorts.cnx-software.com/2023/05/20/raspberry-pi-onscreen-keyboard/),如“matchbox”鍵盤:
?
?
sudo apt install matchbox-keyboard
?
?
但事實(shí)證明,在最新版本的樹莓派中它不是很好用,并且不能輕松關(guān)閉,例如,至少在不更改布局文件的情況下不能關(guān)閉。但我發(fā)現(xiàn)了一個(gè)更好的選擇與“板載”鍵盤。at-spi2-core軟件包是可選的,但某些功能需要:
?
?
sudo?apt?install?onboard?at-spi2-core
?
?
它較小,但可定制,并且易于與通知欄中的圖標(biāo)一起使用,以顯示/隱藏它,并訪問其首選項(xiàng)。
我還必須找到一種在Linux中測(cè)試多點(diǎn)觸摸的方法。Ubuntu中推薦的程序是PyMT,但它很舊,不會(huì)安裝在樹莓派OS上。evtest是一個(gè)命令行選項(xiàng),但它將不斷地輸出數(shù)據(jù),因此我最終在Chromium中使用了一個(gè)基于HTML5的觸摸測(cè)試儀網(wǎng)站。
您可以觀看一個(gè)簡短的演示,展示使用樹莓派 CM4在BTT Pad 7上支持觸摸屏界面,同時(shí)使用上面的觸摸測(cè)試儀和車載鍵盤瀏覽web。
視頻鏈接:
B站:https://www.bilibili.com/video/BV1mu411s794/
Youtube: https://www.youtube.com/watch?v=IsJVlRK-Fv0
我還測(cè)試了Pad 7的其他功能:
? USB端口–良好。所有三個(gè)USB 2.0端口都已使用鼠標(biāo)和鍵盤的RF適配器進(jìn)行了測(cè)試
? 內(nèi)置揚(yáng)聲器–正常
? 音頻插孔–使用一對(duì)USB供電的揚(yáng)聲器進(jìn)行了OK測(cè)試
? 以太網(wǎng)–在千兆以太網(wǎng)速度下工作良好,使用iperf3測(cè)試為936 Mbps。
? WiFi–它可以工作,但在距離雙頻路由器和幾堵墻約6米處,信號(hào)看起來比預(yù)期的弱,并且系統(tǒng)將僅檢測(cè)2.4GHz SSID。如果放在同一房間中,還檢測(cè)到5GHz SSID,WiFi信號(hào)強(qiáng),連接穩(wěn)定。
? 電源按鈕–它將打開和關(guān)閉系統(tǒng),但不允許軟關(guān)機(jī),它只是一個(gè)物理打開和關(guān)閉電源的按鈕。
? 音量按鈕–音量按鈕用于控制內(nèi)置揚(yáng)聲器的音量,但請(qǐng)注意,它不會(huì)顯示在系統(tǒng)的音量中。它是一種硬件,就像電源按鈕一樣。
Pad 7運(yùn)行Rhythmbox,揚(yáng)聲器組連接到3.5毫米音頻插孔。
最后,我運(yùn)行了sbc-bench.sh腳本來檢查冷卻是否有效工作,或者至少足以避免熱節(jié)流:
?
?
pi@pad7-pios:~ $ ./sbc-bench.sh -r Warning: for useable results this tool needs to be run as root pi@pad7-pios:~ $ sudo ./sbc-bench.sh -r Starting to examine hardware/software for review purposes... Average load and/or CPU utilization too high (too much background activity). Waiting... Too busy for benchmarking: 1030 up 11 min, 4 users, load average: 0.52, 1.12, 0.86, cpu: 26% Too busy for benchmarking: 1035 up 11 min, 4 users, load average: 0.48, 1.10, 0.85, cpu: 5% Too busy for benchmarking: 1040 up 11 min, 4 users, load average: 0.52, 1.10, 0.85, cpu: 5% Too busy for benchmarking: 1045 up 11 min, 4 users, load average: 0.48, 1.08, 0.85, cpu: 15% Too busy for benchmarking: 1050 up 11 min, 4 users, load average: 0.44, 1.06, 0.84, cpu: 0% Too busy for benchmarking: 1055 up 11 min, 4 users, load average: 0.48, 1.06, 0.84, cpu: 0% Too busy for benchmarking: 1000 up 11 min, 4 users, load average: 0.44, 1.04, 0.84, cpu: 1% Too busy for benchmarking: 1006 up 11 min, 4 users, load average: 0.41, 1.02, 0.83, cpu: 0% Too busy for benchmarking: 1011 up 12 min, 4 users, load average: 0.38, 1.01, 0.83, cpu: 0% Too busy for benchmarking: 1016 up 12 min, 4 users, load average: 0.35, 0.99, 0.82, cpu: 0% sbc-bench v0.9.41 Installing needed tools: apt -f -qq -y install lm-sensors sysstat lshw stress-ng smartmontools mmc-utils, tinymembench, ramlat, mhz (can't build cpuminer) Done. Checking cpufreq OPP. Done. Executing tinymembench. Done. Executing RAM latency tester. Done. Executing OpenSSL benchmark. Done. Executing 7-zip benchmark. Done. Throttling test: heating up the device, 5 more minutes to wait. Done. Checking cpufreq OPP again. Done (15 minutes elapsed). Results validation: * Measured clockspeed not lower than advertised max CPU clockspeed * No swapping * Background activity (%system) OK * No throttling Full results uploaded to http://ix.io/4wj8 # Raspberry Pi Compute Module 4 Rev 1.1 Tested with sbc-bench v0.9.41 on Sun, 21 May 2023 1027 +0700. Full info: [http://ix.io/4wj8](http://ix.io/4wj8) ### General information: BCM2711, Kernel: aarch64, Userland: armhf CPU sysfs topology (clusters, cpufreq members, clockspeeds) cpufreq min max CPU cluster policy speed speed core type 0 0 0 600 1500 Cortex-A72 / r0p3 1 0 0 600 1500 Cortex-A72 / r0p3 2 0 0 600 1500 Cortex-A72 / r0p3 3 0 0 600 1500 Cortex-A72 / r0p3 3794 KB available RAM ### Governors/policies (performance vs. idle consumption): Original governor settings: cpufreq-policy0: ondemand / 1500 MHz (conservative ondemand userspace powersave performance schedutil / 600 700 800 900 1000 1100 1200 1300 1400 1500) Tuned governor settings: cpufreq-policy0: performance / 1500 MHz ### Clockspeeds (idle vs. heated up): Before at 50.1°C: cpu0 (Cortex-A72): OPP: 1500, ThreadX: 1500, Measured: 1498 After at 68.7°C: cpu0 (Cortex-A72): OPP: 1500, ThreadX: 1500, Measured: 1498 ### Performance baseline * memcpy: 2531.8 MB/s, memchr: 1250.0 MB/s, memset: 3254.2 MB/s * 16M latency: 161.9 163.1 162.3 163.5 162.2 163.3 195.5 198.0 * 128M latency: 189.9 180.4 182.1 180.1 184.3 186.6 204.4 221.2 * 7-zip MIPS (3 consecutive runs): 5690, 5730, 5751 (5720 avg), single-threaded: 1648 * `aes-256-cbc 50494.15k 59840.38k 63452.50k 64302.76k 64419.16k 64716.80k` * `aes-256-cbc 50645.94k 59683.14k 63472.73k 64389.12k 64697.69k 64673.11k` ### Storage devices: * 29.1GB "SD32G" UHS DDR50 SD card as /dev/mmcblk0: date 09/2022, manfid/oemid: 0x0000b1/0x4847, hw/fw rev: 0x6/0x1 ### Swap configuration: * /var/swap on /dev/mmcblk0p2: 100.0M (0K used) on ultra slow SD card storage ### Software versions: * Raspbian GNU/Linux 11 (bullseye) * Build scripts: http://archive.raspberrypi.org/debian/ bullseye main * Compiler: /usr/bin/gcc (Raspbian 10.2.1-6+rpi1) 10.2.1 20210110 / arm-linux-gnueabihf * OpenSSL 1.1.1n, built on 15 Mar 2022 * ThreadX: 82f3750a65fadae9a38077e3c2e217ad158c8d54 / Mar 17 2023 1039 ### Kernel info: * `/proc/cmdline: coherent_pool=1M 8250.nr_uarts=0 snd_bcm2835.enable_headphones=0 snd_bcm2835.enable_hdmi=1 snd_bcm2835.enable_hdmi=0 video=HDMI-A-1:1024x600M@60 smsc95xx.macaddr=E401B8:E5 vc_mem.mem_base=0x3ec00000 vc_mem.mem_size=0x40000000 console=tty1 root=PARTUUID=47e4a404-02 rootfstype=ext4 fsck.repair=yes rootwait quiet splash plymouth.ignore-serial-consoles` * Vulnerability Spec store bypass: Vulnerable * Vulnerability Spectre v1: Mitigation; __user pointer sanitization * Vulnerability Spectre v2: Vulnerable * Kernel 6.1.21-v8+ / CONFIG_HZ=250 Kernel 6.1.21 is not latest 6.1.29 LTS that was released on 2023-05-17. See https://endoflife.date/linux for details. Perhaps some kernel bugs have been fixed in the meantime and maybe vulnerabilities as well. All known settings adjusted for performance. Device now ready for benchmarking. Once finished stop with [ctrl]-[c] to get info about throttling, frequency cap and too high background activity all potentially invalidating benchmark scores. All changes with storage and PCIe devices as well as suspicious dmesg contents will be reported too. Time fake/real load %cpu %sys %usr %nice %io %irq Temp VCore 10:36 1500/1500MHz 3.42 46% 4% 40% 0% 0% 0% 64.3°C 0.8700V 10:37 1500/1500MHz 1.26 0% 0% 0% 0% 0% 0% 60.4°C 0.8700V 10:38 1500/1500MHz 0.54 0% 0% 0% 0% 0% 0% 59.4°C 0.8700V 10:39 1500/1500MHz 0.20 0% 0% 0% 0% 0% 0% 56.5°C 0.8700V
?
?
除了microSD卡上的插拔外,沒有其他不滿…rpi監(jiān)視器的溫度圖確認(rèn)CPU溫度從未超過70°C。
測(cè)量在環(huán)境溫度約為28°C的房間中進(jìn)行。紅色的散熱器摸起來很熱,但這意味著它工作良好。
結(jié)論
BIGTREETECH表示,Pad7“不僅是Klipper Pad”,也是一臺(tái)微型計(jì)算機(jī)。所以,我將其用作在模塊上安裝覆盆子Pi CM4 Lite系統(tǒng)的平板電腦來測(cè)試它。安裝CM4模塊并根據(jù)我的需要配置Raspberry Pi操作系統(tǒng)花費(fèi)了一些精力,但最終,一切都很好地滿足了我的期望,包括所有功能和冷卻解決方案。主要缺點(diǎn)是WiFi信號(hào)相對(duì)較弱,并且缺少軟電源按鈕,這將非常方便,但如果需要,您也可以使用菜單將其關(guān)閉。
該公司目前不出售BTT Pad 7的裸板版本,而是在BIQU網(wǎng)站上以129.00美元的價(jià)格(https://shrsl.com/41qxi)附帶BIGTREETECH CB1模塊(https://www.cnx-software.com/2022/10/20/bigtreetech-cb1-a-raspberry-pi-cm4-compatible-allwinner-h616-system-on-module/)。如果他們將來提供裸板模型,那么裸板模型可能會(huì)花費(fèi)約99.90美元。我很快就會(huì)從樹莓派CM4切換回CB1模塊,將BTT Pad 7連接到3D打印機(jī),并與提供的IMU一起將其用作Klipper pad。
編輯:黃飛
?
評(píng)論
查看更多