|
本帖最后由 rainytimes 于 2019-11-6 03:00 编辑
A4 h2 z! _/ |4 M" r0 W5 ?9 K5 s5 E4 V
参照了目前网上的帖子,但是帖子中有些问题没有说清楚,至少我遇到了问题,这里把我遇到的问题再说下。* C3 j. u* U* z* N( Z
原帖是在群晖中执行计划任务中的触发任务,点亮LED灯的同时,利用ping命令检测是否一直能连接百度,从而判断猫盘是否在线,让LED灯根据在线状态显示不同的颜色。/ R3 m3 C1 m8 Y8 B
原帖的脚本:6 K$ x e# t* Y6 f
- i2cset -y -f pxa_i2c-i2c 0x45 0x01 0x01 #开启LED控制器- p2 U1 T+ J- p
- i2cset -y -f pxa_i2c-i2c 0x45 0x31 0x03 #最大电流不呼吸
2 w. L& G/ V [6 c$ d- J) H* {4 } - i2cset -y -f pxa_i2c-i2c 0x45 0x32 0x03 #最大电流不呼吸
; C* |7 c( q5 d! a, `# Q5 e/ ] - i2cset -y -f pxa_i2c-i2c 0x45 0x33 0x03 #最大电流不呼吸9 f% y) t& `, q
- i2cset -y -f pxa_i2c-i2c 0x45 0x30 0x07
) N% P |4 a, |; X- V# ~ - while :, i2 }0 o a. f7 \' R4 Z( l
- do. } S3 M. u; ^: o; E( Z
- ping -W 1 -c 1 www.baidu.com > /dev/null 2>&1 w: Y" }$ G9 ~% t3 k4 i
- if [ $? -eq 0 ];then 8 M( D/ V' u6 K* |7 n- x
- i2cset -y -f pxa_i2c-i2c</font> 0x45 0x34 0 #R
7 `" p0 d# ?+ Y7 n$ N1 a& w4 [ - i2cset -y -f pxa_i2c-i2c</font> 0x45 0x35 255 #G
3 B6 `2 |* r! A; D, D$ k - i2cset -y -f pxa_i2c-i2c</font> 0x45 0x36 0 #B
! e: @% X7 r/ T, W; O) n - else3 U& c1 {7 ~* d/ [% A
- i2cset -y -f pxa_i2c-i2c 0x45 0x34 255 #R
/ v3 \/ G) ~8 z7 G5 M% _ - i2cset -y -f pxa_i2c-i2c 0x45 0x35 0 #G& v9 ]: ?2 Z3 U$ {2 h
- i2cset -y -f pxa_i2c-i2c 0x45 0x36 0 #B5 u: T0 K/ I5 |+ M3 U
- fi7 H. w. Y: ?" W1 ?; O; ^) w( a
- sleep 1s
; C/ W- z( \/ U - done
复制代码 运行的话会报如下错误:
+ H. d/ ^, E& K+ L( F7 E& W* B+ i, x- Error: I2C bus name is not unique!
( d& W* @5 y6 w5 C, T% o - Usage: i2cset [-f] [-y] [-m MASK] [-r] I2CBUS CHIP-ADDRESS DATA-ADDRESS [VALUE] ... [MODE]& k* l2 `" e8 i: p
- I2CBUS is an integer or an I2C bus name( C/ N( ]# p0 a4 Z8 U
- ADDRESS is an integer (0x03 - 0x77)
5 }6 z" _! ^) K$ x# m - MODE is one of:
" s& x4 h: O: M - c (byte, no value)
" d/ m/ Z1 n9 M% ]7 j - b (byte data, default)
' ^) F0 }9 c! s. _; l K - w (word data)# j- A \/ o+ |& p( ^( ]& \
- i (I2C block data)
( u/ s8 u5 m5 ~* `3 Y - s (SMBus block data)
% p% H. s3 O7 \6 g/ s9 g: t4 D - Append p for SMBus PEC
复制代码 8 {2 _& Z9 Q# b* O, t o5 B" m
7 \( c, `4 I1 A0 z( W4 l
) p+ e1 W# |7 l% Z& H
2 h" P. N G/ {' m' H C( |% m a: C+ C' w4 d- H e
科普下标红的pxa_i2c-i2c 是i2c总线的名称,我猫盘中的群晖没有这个名称的总线。所以报上面的错误,下面讲如何解决:& m' Y& x) a) S' K' c$ l
5 Y/ S/ C) Z# |3 H3 h9 Y, i/ `. k* s- h6 C N* c6 G3 o" m
5 E9 r, y4 R/ [ n) P" F* S6 B4 g1 G& Q ^3 Y& m
群晖开ssh用root进入这个目录 - T; _) h7 m3 B+ z' k8 l, V
- >cd /sys/bus/i2c/devices # ^8 x3 x Y. y7 o. f
- > ls * y5 \) U- z; J9 H
- i2c-0 i2c-1
复制代码
- [# M2 o% e! @! I; k下面看到2个总线设备,我也不知道那个是控制LED灯的,尝试把脚本改成下面也是自己尝试看好用不,我的是0号总线控制灯。我设置1号总线也写入不了,下面的 0 即对应总线标识:i2c-0
( X5 i8 Q/ P3 o/ g$ G0 U. W2 l
. ~4 |# E5 q$ J' |" w- A0 u
- Z6 p5 O4 Z, W4 j7 S; c* M" x* g) w( [! } T) p; T
- i2cset -y -f 0 0x45 0x01 0x01 #开启LED控制器( p) l- L( [( ^! K* I4 h
- i2cset -y -f 0 0x45 0x31 0x03 #最大电流不呼吸
0 [; U; q7 ~0 U - i2cset -y -f 0 0x45 0x32 0x03 #最大电流不呼吸
! a ~& T2 a1 R: e# T - i2cset -y -f 0 0x45 0x33 0x03 #最大电流不呼吸
8 T' H0 q* m1 u- G - i2cset -y -f 0 0x45 0x30 0x07
; W$ e% u4 [: E6 [1 M o; |% O a4 Y - while :
- c# v/ Q) p; D9 y" p0 F - do2 r- v4 |* m7 @, o x4 L" d; g+ r
- ping -W 1 -c 1 www.baidu.com > /dev/null 2>&1* c$ b+ f0 K3 Y4 ?) G
- if [ $? -eq 0 ];then - j) K! `( K+ |8 o7 z6 B
- i2cset -y -f 0 0x45 0x34 0 #R
! n7 r2 q5 v ?- f' o4 {+ e1 j - i2cset -y -f 0 0x45 0x35 255 #G! }, Q9 l9 g8 ]0 e! m; V' X7 ?
- i2cset -y -f 0 0x45 0x36 0 #B
t3 ?& W/ h" z( D8 c; U7 o, p* n% Y - else
1 {, ]4 t6 s+ |4 Y9 s - i2cset -y -f 0 0x45 0x34 255 #R$ `$ V% v1 G0 M9 r9 q2 Q
- i2cset -y -f 0 0x45 0x35 0 #G* Z4 N: l& [1 h7 h
- i2cset -y -f 0 0x45 0x36 0 #B
6 C9 u- V0 C" c# J" ? - fi/ ~' l; @8 e7 T) c
- sleep 10s: D0 c' ] N6 X* z
- done
复制代码 ' K9 C* p, B2 A+ b! k
: R) `% s2 R3 h: J Y8 Q' ]0 J; h |
评分
-
查看全部评分
|