8/16/2019 Sensors Signals Serial Sockets
1/34
!"#$%&$' !)*#+,$'
!"&)+, -%&.$' +#/!%01".$2&' 3%4 .% 56),/ + 7)#6895+$"/ :%;%.
%)#* ?&+@A
8/16/2019 Sensors Signals Serial Sockets
2/34
B%-)0$
•
!)*#+,$ C&%D $"#$%&$E 1"A ."&D$ –
FG:B
– !"&)+, -%&.
–
BB7
– F!5
– HI?
–
:!IJI
• -A!"&)+, GKH
8/16/2019 Sensors Signals Serial Sockets
3/34
B%-)0$• L"$$+*" .A-"$E
– :+4 M ;)#+&A M ="8
–
?6$.%D ."8.
– NLOG
•
!%01".$E 0,)"#. M $"&P"&
• ?%#Q*6&)#* +# +/9=%0 4)&","$$ #".4%&1 –
R3?K –
)C0%#Q* M )40%#Q*
8/16/2019 Sensors Signals Serial Sockets
4/34
!)*#+,$ C&%D !"#$%&$
•
!"#$%&$ %6.-6. /+.+ $"&)+,,A S%#" ;). +. +TD"U
• ?%D-6."&$ -&%0"$$ /+.+ )# -+&+,,", S%#"
;A." %& 4%&/ %& D%&" +. + TD"U• FG:BE F#)P"&$+, G$A#0=&%#%6$ :"0")P"& M
B&+#$D)V"& E /"P)0" %# A%6& 0%D-6."& .=+.0%#P"&.$ $"&)+, )M% .% -+&+,,", C%&D+. 6$+;,")#."+,,AW
8/16/2019 Sensors Signals Serial Sockets
5/34
!"&)+, H$$6"$• 5GFR &+."E $AD;%,$M-6,$"$ -"& $"0%#/
• BA-)0+,,A .&"+."/ +$ ;).$ -"& $"0%#/ S;-$U';6. #%. #"0"$$+&),A .=" $+D"
•
F$6+,,A =+P" .% $-"0)CA C%& "+0= /"P)0"S$"#$%&U
• !.+#/+&/ M 0%DD%# P+,6"$ +&"
XYZZ' [\ZZ' ][IZZ'
JYXZZ' ^_\ZZ'
]]^IZZ `D)," 5+6/%.S]YX^9][ZJU=V-EMM444WQ@9)8W0%DM4-90%#."#.M6-,%+/$MIZ]JMZIM!"&)+,?%DD6#)0+T%#W-#*
8/16/2019 Sensors Signals Serial Sockets
6/34
!"&)+, H$$6"$
• 5A." $)@" S+,D%$. +,4+A$ ")*=.U
•
K+&).A ;).E a)#+, /+.+ ;). 0+# ;" %-T%#+,,A6$"/ +$ +# "&&%& 0="01
•
!.%- ;).S$UE $)*#+,$"#/9%C9;A."E
.A-)0+,,A' %#" ;).
=V-EMM"#W4)1)-"/)+W%&*M4)1)MF#)P"&$+,b+$A#0=&%#%6$b&"0")P"&M.&+#$D)V"&
=V-EMM"#W4)1)-"/)+W%&*M4)1)MK+&).Ab;).
8/16/2019 Sensors Signals Serial Sockets
7/34
!"&)+, K%&.
•
GD;)*6%6$ 6$+*"E 0+# &"C"& .% – RO9[ SR59[U 0%##"0.%& %# .=" ;+01 %C
+# %,/"& K? M ,+-.%-E
8/16/2019 Sensors Signals Serial Sockets
8/34
!"&)+, K%&.
•
GD;)*6%6$ 6$+*"E 0+# &"C"& .% – RO9[ SR59[U 0%##"0.%& %# .=" ;+01 %C
+# %,/"& K? M ,+-.%-E
– B=" &"-&"$"#.+T%# %C $60= + /"P)0" ;A.=" %-"&+T#* $A$."D WWW
8/16/2019 Sensors Signals Serial Sockets
9/34
!"&)+, K%&.$ %# K%-6,+& 2!$
8/16/2019 Sensors Signals Serial Sockets
10/34
!"&)+, K%&.$ %# K%-6,+& 2!$
8/16/2019 Sensors Signals Serial Sockets
11/34
!"&)+, K%&.$ %# K%-6,+& 2!$
8/16/2019 Sensors Signals Serial Sockets
12/34
!"&)+, !)*#+, BA-"$E BB7 S][\]U
K%4"&
>&%6#/
=V-EMM444W+/+C&6).W0%DM-&%/60.$M[^Xc*0,)/d?L+-,&_eb_f?ae$AXG%/5O0Gfe
B&+#$D). SBgU %6. %C F!5
:"0")P" S:gU )#.% F!5
•
B&+#$)$.%&9B&+#$)$.%& 7%*)0E )#."+, $)*#+, )# 0%D-6."&•
!)D-," ,%*)0MP%,.+*" &",+T%#$=)-E ZP d a+,$"hiJP .% i^P d B&6"
• L%$.,A $""# )# FG:B$ %# D)0&%0%#.&%,,"&$ j %.="&$-"0)+,9-6&-%$" /"P)0"$
8/16/2019 Sensors Signals Serial Sockets
13/34
!"&)+, !)*#+, BA-"$E :!9IJI S][\IU•
L%$. 0%DD%# K? FG:B $)*#+, C%& /"0+/"$•
3)*="& P%,.+*" &+#*" SiM9]JPU *)P"$ *&"+."& &%;6$.#"$$.=+# BB7
• N"*+TP" P%,.+*" d B&6"h K%$)TP" d a+,$"
=V-$EMM444W$-+&1C6#W0%DM.6.%&)+,$MI]^
=V-EMM444W6$0%#P"&."&$W0%DM)#/"8W-=-cD+)#b-+*"d-+*"j)/d\]j0=+-."&dZ
8/16/2019 Sensors Signals Serial Sockets
14/34
!"&)+, !)*#+, BA-"$E HI? S][YIU•
H#."&9H#."*&+."/ ?)&06).•
a&%D K=),)-$h /"P",%-"/ +$ !L56$ ;A H#.",
• K%-6,+& %# &%;%. $"#$%&$
• G,,%4$ $"P"&+, k$,+P"k S$"#$%&U /"P)0"$ .% ;" +00"$$"/ ;A
$+D" kD+$."&k S0%D-6."&U P)+ -%&. S/dev/i2c-0U +#/+//&"$$"$ S0x10, 0x12, ...U
• R+.+ S!RGU +#/ 0,%01 S!?7U ,)#"$ )#$."+/ %C Bg +#/ :g
•
G0TP" $.+." )$ ZP' $% #""/ + i^P $%6&0" -,6$ k-6,,6-&"$)$.%&$k .% D+)#.+)# )/," $.+."
=V-EMM4)1)W;%@"D+#D+1"&$W0%DM)#/"8W-=-MHI0=V-EMM"#W4)1)-"/)+W%&*M4)1)Ma),"EHI?b/+.+b.&+#$C"&W$P*
8/16/2019 Sensors Signals Serial Sockets
15/34
!"&)+, !)*#+, BA-"$E F!5 S][[^U
•
F#)P"&$+, !"&)+, 56$E P+$. D+l%&).A %C D%/" /"P)0"$•
m+&)".A %C 0%##"0.%& .A-"$ – !.+#/+&/ M L)#) M L)0&%
– G S=%$.MD+$."&U 5 S-"&)-="&+,M$,+P"U
– 2B>E k2# B=" >%kE G00"-.$ G SD+1" D" + =%$.U %& 5 SD+1"D" + -"&)-="&+,U
•
2n"# 6$"/ +$ -%4"& $%6&0" M 0=+&*"&
=V-EMM"#W4)1)-"/)+W%&*M4)1)MF$;
•
!%D" $"#$%&$ +&" F!59&"+/A' ;6. C%& D+#A 4"#""/ +# +/+-."&W
8/16/2019 Sensors Signals Serial Sockets
16/34
a+P%&)." F!5 +/+-."&$
aBRH F!5 $.+#/+&/9G M :!IJI R59[SR)*)o"A' GD+@%#U kaBRH a&)"#/k F!5 D)#)95 M
:!IJI ="+/"& -)#$SG/+a&6).U
R"P+#."0= F!5 $.+#/+&/95 .% HI?SG0&%#+D"U
H ,)1" .="$" +/+-."&$ ;"0+6$" .="/&)P"&$ C%& .="D +&" +,&"+/A )#$.+,,"/S7)#68' 2! gU %& +&" /%4#,%+/"/+6.%D+T0+,,A 4="# A%6 -,6* )# .="+/+-."& S
8/16/2019 Sensors Signals Serial Sockets
17/34
-A!"&)+, GKH
•
=V-EMM-A$"&)+,W$%6&0"C%&*"W#".M-A$"&)+,b+-)W=.D, • !)D-,"' -%4"&C6, )#."&C+0" .% $"&)+, -%&.E
– Serial() 0%#$.&60.%& – read()
–
write() – close()
• 5+$)0 $."-$E – >%%*," .=" $-"0$ C%& A%6& /"P)0" %& +/+-."& –
R%4#,%+/ .=" /"P)0" /&)P"& C&%D .=" D+#6C+0.6&"&p$4";$)." S%n"# #%. #"0"$$+&AU – K,6* )# .=" /"P)0" +#/ Q#/ ).$ 0%D9-%&. – !.+&. 0%/)#*q
8/16/2019 Sensors Signals Serial Sockets
18/34
-A!"&)+, O8+D-,"EB&6K6,$" J\Z 7+$"& :+#*"Q#/"&
=V-EMM$%,6T%#$W$"),"&)#$.W0%DMK%&.+,$M]ML+--)#*rIZKRa$MB&6K6,$"bJ\Z95bF$"&$bL+#6+,bI#/bO/)T%#bO#*,)
8/16/2019 Sensors Signals Serial Sockets
19/34
# trupulse.pyimport serial
import sys
DEVICE = '/dev/tty.usbserial-FTGNM22Z' # or /dev/ttyUSB0 or COM9, etc.
device = serial.Serial(DEVICE, 4800)
while True:
c = device.read(1) # read one byte
sys.stdout.write(c) # print the byte as an ASCII character, no spaces
device.close()
8/16/2019 Sensors Signals Serial Sockets
20/34
8/16/2019 Sensors Signals Serial Sockets
21/34
R+.+ a%&D+.$•
G!?HH –
NLOG S%& %.="& )#/6$.&A $.+#/+&/U
–
K,+s%&D9$-"0)Q0
•
5)#+&A –
HD+*"$
– !%6#/$
–
N6D;"&$
8/16/2019 Sensors Signals Serial Sockets
22/34
3+#/,)#* 5)#+&A R+.+import serialimport sys
DEVICE = '/dev/tty.usbserial-FTGNM22Z'
device = serial.Serial(DEVICE, 38400)
while True:
c = device.read(1)
sys.stdout.write('0X%02X\n' % ord(c)) # Output as two-digit hexadecimal
device.close()
8/16/2019 Sensors Signals Serial Sockets
23/34
5)#+&A R+.+E 5A." 2&/"&
•
BA-)0+,,A' 7!5E 7"$$ S7"+$.U !)*#)Q0+#. 5A." Q&$.•
!% )C 4"p&" &"+/)#* .4%9;A." 4%&/$E
0X00
0XE2
0X58
0XFE
...
0XE200
0xFE58
...
• B="# )#."&-&". 4%&/$ +00%&/)#* .% $.+#/+&/ )# /%0$
S.4%p$ 0%D-,"D"#. Q8"/9-%)#.' HOOO_^X t%+.' WWWU
8/16/2019 Sensors Signals Serial Sockets
24/34
!%01".$• !%01".E + D"0=+#)$D +,,%4)#* + -&%0"$$ S"8"06T#*
-&%*&+DU 0+# .+,1 .% %.="& -&%0"$$"$ u %# .=" $+D"0%D-6."& %& +0&%$$ .=" -,+#".
•
G k,%49,"P", #".4%&1 )#."&C+0"kh )W"W' 4=+.6#/"&-)#$ .=" )#."".q
• !.+#/+&/ )$ 5"&1","A S5!RU !%01".$
•
?,)"#.M$"&P"& D%/", – !"&P"& ,)$."#$ +. + $-"0)Q"/ +//&"$$ %# + $-"0)Q"/ -%&.
– ?,)"#. 0%##"0.$ .% .=" $%01". +. .=+. +//&"$$M-%&.
8/16/2019 Sensors Signals Serial Sockets
25/34
# server.py
import socket
HOST = '137.113.118.74' # dijkstra.cs.wlu.edu
PORT = 20000 # Low numbers are reserved for SSH, HTTP, SQL, et al.
sock = socket.socket()
try:
sock.bind((HOST, PORT)) # Note tuple!
except socket.error, msg:
print('bind() failed with code ' + str(msg[0]) + ': ' + msg[1])
sock.listen(1) # handle up to 1 back-logged connection
client, address = sock.accept()
print('Accepted connection')
while True:
try:msg = raw_input('> ')
if len(msg) < 1:break
client.send(msg)
except:print('Failed to transmit')
break
client.close()
sock.close
8/16/2019 Sensors Signals Serial Sockets
26/34
8/16/2019 Sensors Signals Serial Sockets
27/34
?&"+T#* +# G/93%0
8/16/2019 Sensors Signals Serial Sockets
28/34
8/16/2019 Sensors Signals Serial Sockets
29/34
8/16/2019 Sensors Signals Serial Sockets
30/34
8/16/2019 Sensors Signals Serial Sockets
31/34
8/16/2019 Sensors Signals Serial Sockets
32/34
?&"+T#* +# G/93%0
8/16/2019 Sensors Signals Serial Sockets
33/34
?&"+T#* +# G/93%0
8/16/2019 Sensors Signals Serial Sockets
34/34