|
本帖最后由 rainytimes 于 2019-11-6 03:00 编辑 3 l2 [& F- v3 ~1 ~& L0 O( [9 G
% q+ s: s! b9 {参照了目前网上的帖子,但是帖子中有些问题没有说清楚,至少我遇到了问题,这里把我遇到的问题再说下。' o; R+ ?! B* W
原帖是在群晖中执行计划任务中的触发任务,点亮LED灯的同时,利用ping命令检测是否一直能连接百度,从而判断猫盘是否在线,让LED灯根据在线状态显示不同的颜色。
3 q( p2 W; F$ n1 @+ E [6 p原帖的脚本:
' s' x) n5 q* F3 L5 Q- i2cset -y -f pxa_i2c-i2c 0x45 0x01 0x01 #开启LED控制器
6 A. y( L/ T0 \1 Y - i2cset -y -f pxa_i2c-i2c 0x45 0x31 0x03 #最大电流不呼吸1 E- N, C. z+ J) l; I% ] b
- i2cset -y -f pxa_i2c-i2c 0x45 0x32 0x03 #最大电流不呼吸
! R! v4 x) v: b' ~! y7 l - i2cset -y -f pxa_i2c-i2c 0x45 0x33 0x03 #最大电流不呼吸8 Z$ |8 d" |1 |$ u, ?! b6 ?$ M
- i2cset -y -f pxa_i2c-i2c 0x45 0x30 0x07
" G* F7 ?, h& L0 Z - while :
0 l5 f' c: ]) T6 D c+ c - do
" D# i) S0 a! q1 G! R( p - ping -W 1 -c 1 www.baidu.com > /dev/null 2>&1
; N" s4 u2 m8 Y4 p0 s2 J' L - if [ $? -eq 0 ];then
# J. Q5 ]# W* n - i2cset -y -f pxa_i2c-i2c</font> 0x45 0x34 0 #R3 J# b1 G' c- q8 m1 L; i* E
- i2cset -y -f pxa_i2c-i2c</font> 0x45 0x35 255 #G6 |- ^1 ?3 s0 a# M
- i2cset -y -f pxa_i2c-i2c</font> 0x45 0x36 0 #B4 t9 {+ L3 X6 }. I, S
- else9 G7 I; z/ g( f, u' B+ h
- i2cset -y -f pxa_i2c-i2c 0x45 0x34 255 #R
# X: Y" v9 n* X - i2cset -y -f pxa_i2c-i2c 0x45 0x35 0 #G
2 q2 j: x% G/ q2 q- w - i2cset -y -f pxa_i2c-i2c 0x45 0x36 0 #B
$ z! s, B! H V" S+ ^. | - fi+ o8 g K& S/ |. u1 P
- sleep 1s
/ w) J) H- s* ]# q/ h" N - done
复制代码 运行的话会报如下错误:
4 I( H' e& C: X( G* c- Error: I2C bus name is not unique!; N+ o' M9 E2 j
- Usage: i2cset [-f] [-y] [-m MASK] [-r] I2CBUS CHIP-ADDRESS DATA-ADDRESS [VALUE] ... [MODE]
3 G4 a4 B; D! T- i - I2CBUS is an integer or an I2C bus name
2 i/ S+ F6 N( }. i% f0 h% S* x - ADDRESS is an integer (0x03 - 0x77)
1 l* O% ^3 E) ? - MODE is one of:
& U3 c: t; K. c+ P+ v - c (byte, no value)
4 W( L9 K% d( h/ `, W - b (byte data, default)7 `1 v3 n2 f8 {; H7 l# x+ z8 l
- w (word data)
- L6 i" C h0 d7 Z0 G - i (I2C block data)
/ K- E( S% s' ]& [' S7 h( V - s (SMBus block data)
: x6 r4 s; N! X8 ?/ }$ Z4 p - Append p for SMBus PEC
复制代码
) A1 r5 r# i' E6 y$ X) d$ O+ b0 R+ S7 L8 _4 {* @/ P
0 W: u, G1 e$ \
/ O5 \$ F- @: e( I& ~; D J
4 J$ N: ~1 X) k5 |# \* C科普下标红的pxa_i2c-i2c 是i2c总线的名称,我猫盘中的群晖没有这个名称的总线。所以报上面的错误,下面讲如何解决:3 l) r# ~, ]5 a3 h
l* Q+ P% u! L9 n
' @$ J9 C* ]1 Q1 C$ X# }" d
/ z& Y/ q# i* v2 G# h4 M8 |
/ k9 [ l6 I4 I' ?' H群晖开ssh用root进入这个目录
. D" O1 V6 w6 q- >cd /sys/bus/i2c/devices
: i* V' m/ o6 Y- s - > ls " A* A, G/ U# _
- i2c-0 i2c-1
复制代码
, l4 C' J1 p- x# b/ J下面看到2个总线设备,我也不知道那个是控制LED灯的,尝试把脚本改成下面也是自己尝试看好用不,我的是0号总线控制灯。我设置1号总线也写入不了,下面的 0 即对应总线标识:i2c-0, V- a( R1 V) I& z- ^0 c7 J: H! G
0 c" n3 c) Z+ z3 ~% P3 {; }
4 N! h" d, y4 ~3 v4 R# [6 }3 x8 X, s" r6 X6 u3 H
- i2cset -y -f 0 0x45 0x01 0x01 #开启LED控制器3 d4 N5 ]7 {/ G, Z+ b1 t
- i2cset -y -f 0 0x45 0x31 0x03 #最大电流不呼吸
. C0 K! X6 N; D& G, Y - i2cset -y -f 0 0x45 0x32 0x03 #最大电流不呼吸# ]9 r! i: m. V
- i2cset -y -f 0 0x45 0x33 0x03 #最大电流不呼吸4 s% F3 D, g, e! I
- i2cset -y -f 0 0x45 0x30 0x07
H8 Q. ]& b5 H' A7 ?% _& u - while :
: N7 S- s8 x0 u$ U; @ w6 l) {% b - do- ^$ e& u! o8 g* j3 P
- ping -W 1 -c 1 www.baidu.com > /dev/null 2>&1 t/ P) ^9 k. j/ ^
- if [ $? -eq 0 ];then ( v! d- d0 k+ e; Y; b
- i2cset -y -f 0 0x45 0x34 0 #R& l! l# H# Y' v7 z1 c
- i2cset -y -f 0 0x45 0x35 255 #G$ a) B/ y3 q) S8 B) j% Y7 C
- i2cset -y -f 0 0x45 0x36 0 #B
2 G* @+ a2 F5 _3 Z - else
2 k+ F3 ]" P! }+ F- S* a - i2cset -y -f 0 0x45 0x34 255 #R
' `% Y) U, D D& h e - i2cset -y -f 0 0x45 0x35 0 #G) i2 Z, F7 l, p
- i2cset -y -f 0 0x45 0x36 0 #B
; A) R* R" {8 Y - fi, V1 k- T& {+ [
- sleep 10s
& k" ~. s: J7 {7 w/ j2 W( N - done
复制代码 & K1 }/ j& \: U& y; Z$ |/ L
^6 A" P5 `! l! a3 [, { |
评分
-
查看全部评分
|