рдкреГрд╖реНрдарднреВрдорд┐: рдореЗрд░реЗ рдПрдХ рд╢реМрдХ рдХреЗ рд░реВрдк рдореЗрдВ, рдореЗрд░реЗ рдкрд╛рд╕ рдПрдХ "рд╕реНрдорд╛рд░реНрдЯ рд╣реЛрдо" рдерд╛ред рдореБрдЭреЗ рд╕реБрдВрджрд░ рдЙрдкрдХрд░рдг рдЪрд╛рд╣рд┐рдП, рд▓реЗрдХрд┐рди рдореИрдВ рд╕реНрд╡рддрдВрддреНрд░рддрд╛ рдФрд░ рдЧреЛрдкрдиреАрдпрддрд╛ рднреА рдЪрд╛рд╣рддрд╛ рд╣реВрдВред рдЗрд╕рд▓рд┐рдП, рдореИрдВ рд╣реЗрдЬрд╣реЛрдЧ
рд╣реЛрдо рдЕрд╕рд┐рд╕реНрдЯреЗрдВрдЯ рдХреЗ рд╕рд╛рде рдЬрд┐рдпрд╛рдУрдореА ├зik рдХреЛ рдкрд╛рд░ рдХрд░рдиреЗ рдореЗрдВ рд▓рдЧрд╛ рд╣реВрдВред
рдЖрд░рд╛рдорджрд╛рдпрдХ рд╡рд╛рддрд╛рд╡рд░рдг рдмрдирд╛рдП рд░рдЦрдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдореЗрдВ рдпрд╣ рдЬрд╛рдирдирд╛ рд╣реЛрдЧрд╛ рдХрд┐ рдШрд░ рдореЗрдВ рдХреНрдпрд╛ рдЪрд▓ рд░рд╣рд╛ рд╣реИред рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ, рд╕реЗрдВрд╕рд░ рдХреА рдЬрд░реВрд░рдд рд╣реИред Xiaomi рдХреЗ рдкрд╛рд╕ рдХрдИ рдЕрд▓рдЧ-рдЕрд▓рдЧ рд╣реИрдВ, рд▓реЗрдХрд┐рди рд╕рдмрд╕реЗ рдЬреНрдпрд╛рджрд╛ рдореБрдЭреЗ рдЗрд▓реЗрдХреНрдЯреНрд░реЙрдирд┐рдХ рд╕реНрдпрд╛рд╣реА рдкрд░ рд╡рд░реНрдЧ рдерд░реНрдорд╛рдореАрдЯрд░ рдкрд╕рдВрдж рдЖрдпрд╛ред рд▓реЗрдХрд┐рди рд╡рд╣ рдЗрд╕ рдЕрд░реНрде рдореЗрдВ рдмрд┐рд▓реНрдХреБрд▓ рднреА рд╕реНрдорд╛рд░реНрдЯ рдирд╣реАрдВ рд╣реИ рдХрд┐ рд╡рд╣ рдЧреНрд░рд╛рдлрд┐рдХрд▓ рдХреЛ рдЫреЛрдбрд╝рдХрд░ рдХреЛрдИ рднреА рдЗрдВрдЯрд░рдлреЗрд╕ рдкреНрд░рджрд╛рди рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ - рди рддреЛ рд╡рд╛рдИрдлрд╛рдИ, рди рд╣реА рдмреАрдПрд▓рдИ, рди рд╣реА рдЬрд╝рд┐рдЧрдмреАред рд▓реЗрдХрд┐рди CR2032 рдмреИрдЯрд░реА рдХрдИ рд╕рд╛рд▓реЛрдВ рддрдХ рдЪрд▓рддреА рд╣реИред рдмреНрд▓реВрдЯреВрде рдХреЗ рд╕рд╛рде рдПрдХ рд╕рдВрд╕реНрдХрд░рдг рднреА рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдереЛрдбрд╝рд╛ рдХрдо рд╕реБрд░реБрдЪрд┐рдкреВрд░реНрдг рд╣реИ - рдПрдХ рдкреНрд░рдХрд╛рд░ рдХрд╛ рдореЛрдЯрд╛ рдкреИрдирдХреЗрдХред
рдФрд░ рд╡рд╕рдВрдд рдХреА рд╢реБрд░реБрдЖрдд рдореЗрдВ, рдПрдХ рдирдИ рддрд╛рдкрдорд╛рди / рдЖрд░реНрджреНрд░рддрд╛ рд╕реЗрдВрд╕рд░ рдХреА рдШреЛрд╖рдгрд╛ рдЗрд▓реЗрдХреНрдЯреНрд░реЙрдирд┐рдХ рд╕реНрдпрд╛рд╣реА рдкрд░, рдмреАрдПрд▓рдИ рдХреЗ рд╕рд╛рде, рдФрд░ рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдПрдХ рдШрдбрд╝реА рдХреЗ рд╕рд╛рде рднреА рдХреА рдЧрдИ рдереАред рдореБрдЭреЗ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдПрдХ рдШрдбрд╝реА рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдмрд╛рдХреА рд╕рднреА рдЪреАрдЬреЛрдВ рдиреЗ рддреБрд░рдВрдд рд╕рднреА рддрд░реНрдХрд╕рдВрдЧрдд рддрд░реНрдХреЛрдВ рдХреЛ рджрдмрд╛ рджрд┐рдпрд╛ рдФрд░ рдерд░реНрдорд╛рдореАрдЯрд░ рдХреЛ рд▓реЛрдХрдкреНрд░рд┐рдп рдСрдирд▓рд╛рдЗрди рд╕реНрдЯреЛрд░реЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ, рдкреНрд░реА-рдСрд░реНрдбрд░ рдкрд░ рдСрд░реНрдбрд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ред рдпрд╣ рд╕рд╡рд╛рд░ рд╣реБрдЖ, рдпрд╣ рд╕рд╡рд╛рд░ рд╣реБрдЖ, рдФрд░ рдЖрдЦрд┐рд░рдХрд╛рд░ рдЖ рдЧрдпрд╛ред

рд╕реЗрдВрд╕рд░ рдХреЛ рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЗ рдмрд┐рдирд╛ MiHome рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдореЗрдВ рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛ рдерд╛ (рдореЗрд░реЗ рдкрд╛рд╕ рд╣рд░ рдЬрдЧрд╣ рдПрдХ рдЕрдВрдЧреНрд░реЗрдЬреА рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рд╣реИ, MiHome рдХреЗ рд░реВрд╕реА рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд╕рд╛рде, рд╡реЗ рдХрд╣рддреЗ рд╣реИрдВ, рдЕрдиреБрд╡рд╛рдж рдХреА рдХрдард┐рдирд╛рдЗрдпрд╛рдВ рдереАрдВ)ред рд░реАрдбрд┐рдВрдЧ рдореЗрдВ рд╡рд░реНрддрдорд╛рди рдореВрд▓реНрдпреЛрдВ рдФрд░ рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЗ рдЗрддрд┐рд╣рд╛рд╕ рдХреЛ рджрд░реНрд╢рд╛рддрд╛ рд╣реИред
рд▓реЗрдХрд┐рди рдЧреГрд╣ рд╕рд╣рд╛рдпрдХ рдореЗрдВ рдПрдХреАрдХрд░рдг рдХреЗ рд╕рд╛рде рдХрдард┐рдирд╛рдЗрдпрд╛рдБ рд╣реБрдИ рд╣реИрдВред рддрд╛рдкрдорд╛рди рд╕рдВрд╡реЗрджрдХ рдХреЗ рд▓рд┐рдП рдореМрдЬреВрджрд╛ рдШрдЯрдХ рдХрд┐рд╕реА рднреА рддрд░рд╣ рд╕реЗ рдбрд┐рд╡рд╛рдЗрд╕ рд╕реЗ рдбреЗрдЯрд╛ рдирд╣реАрдВ рд▓реЗрдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛ рдФрд░ рдЙрд╕рдиреЗ рдЧрд▓рдд рдбреЗрдЯрд╛ рдкреНрд░рд╛рд░реВрдк рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╢рд┐рдХрд╛рдпрдд рдХреА рдереАред рдЦреИрд░, рдХреБрдЫ рдирд╣реАрдВ рдХрд░рдирд╛ рд╣реИ, рд╣рдо рдПрдХ рдлрд╛рд╡рдбрд╝рд╛ рдирд┐рдХрд╛рд▓рддреЗ рд╣реИрдВ рдФрд░ рдЦреБрджрд╛рдИ рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВред
рдкрд╣рд▓рд╛ рд╡рд┐рдЪрд╛рд░ рдмреАрдПрд▓рдИ рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХреЗ рдЙрдкрдХрд░рдг рд╕реЗ рдкрд░рд┐рдЪрд┐рдд рд╣реЛрдирд╛ рдерд╛, рд▓реЗрдХрд┐рди рдкреНрд░рд▓реЗрдЦрди рдХреЗ рдЖрдХрд╛рд░ рдХрд╛ рдореВрд▓реНрдпрд╛рдВрдХрди рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рд▓реЛрдХрдкреНрд░рд┐рдп рдкреНрд░рд╣рд╛рд░ рд╡рд┐рдзрд┐ рдкрд░ рд╕реНрд╡рд┐рдЪ рдХрд░рдиреЗ рдХрд╛ рдирд┐рд░реНрдгрдп рд▓рд┐рдпрд╛ рдЧрдпрд╛ред
рд╢реЗрд▓ рдХреЗ рд▓рд┐рдП рдкрд╣рд▓рд╛ рджреГрд╖реНрдЯрд┐рдХреЛрдг
рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, ubuntu рдкрд░ рдЯрд░реНрдорд┐рдирд▓ рдЦреЛрд▓реЗрдВ рдФрд░ рдмреНрд▓реВрдЯреВрдердмреНрд▓реЙрдХ рдЪрд▓рд╛рдПрдВред рд╣рдо рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рджреЗрдЦрддреЗ рд╣реИрдВ:
[NEW] Controller 00:1A:7D:DA:71:13 fett [default] [NEW] Device 3F:59:C8:80:70:BE LYWSD02 [NEW] Device 4C:65:A8:DC:0D:AF MJ_HT_V1
MJ_HT_V1 рдПрдХ рдкреБрд░рд╛рдирд╛ рддрд╛рдкрдорд╛рди рд╕рдВрд╡реЗрджрдХ рд╣реИ, LYWSD02 рдПрдХ рдирдпрд╛ рд╣реИред рдореЙрдбрд▓ рдирд╛рдордХрд░рдг рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рдЕрдВрддрд░ рдХреБрдЫ рдЪрд┐рдВрддрд╛рдЬрдирдХ рд╣реИред
рдлрд┐рд░ рдЖрдкрдХреЛ рдХрд┐рд╕реА рддрд░рд╣ рдкрдврд╝рдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИ, рдФрд░ рд╕рд╛рдорд╛рдиреНрдп рд░реВрдк рд╕реЗ рдХрд┐рд╕ рддрд░рд╣ рдХрд╛ рдбреЗрдЯрд╛ рд╣рдореЗрдВ рдкреНрд░рд╛рдкреНрдд рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдЙрдиреНрд╣реЛрдВрдиреЗ
рдорд┐рдЯреНрдкреА рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХрд╛ рд╕реНрд░реЛрдд рдЦреЛрд▓рд╛, рдЬрд┐рд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рд╣реЛрдо рдЕрд╕рд┐рд╕реНрдЯреЗрдВрдЯ рдореЗрдВ рдкреБрд░рд╛рдиреЗ рд╕реЗрдВрд╕рд░ рд╕реЗ рдбреЗрдЯрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рд╡рд╣рд╛рдБ рдореИрдВрдиреЗ рдкрд╛рдпрд╛ рдХрд┐ рдмреНрд▓реВрдк рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬреЛ рдмрджрд▓реЗ рдореЗрдВ, рдмреАрдПрд▓рдИ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рджреЛ рдкрд╛рдпрдерди рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдкрд░ рдПрдХ рдЖрд╡рд░рдг рд╣реИред рдореБрдЭреЗ рдХрдИ рдкрд░рддреЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ, рд╣рдо
рдмреНрд▓реВрдкреА рдХрд╛ рдЙрдкрдпреЛрдЧ
рдХрд░реЗрдВрдЧреЗ ред рдкреНрд░рд▓реЗрдЦрди рд╣реИ, рдпрд╣ рдмрд╣реБрдд рдирд╣реАрдВ рд╣реИ рдФрд░ рдереЛрдбрд╝рд╛ рдирд╣реАрдВ рд╣реИ, рд╣рдо рдПрдХ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдкрдврд╝рддреЗ рд╣реИрдВ рдФрд░ рд▓рд┐рдЦрддреЗ рд╣реИрдВ рдЬреЛ рдбрд┐рд╡рд╛рдЗрд╕ рдкрд░ рдореМрдЬреВрдж рд╕рднреА рдбреЗрдЯрд╛ рдлрд╝реАрд▓реНрдб рд╕реЗ рдЧреБрдЬрд░рддрд╛ рд╣реИред
from bluepy import btle mac = '3F:59:C8:80:70:BE' p = btle.Peripheral(mac) for s in p.getServices(): print('Service:', s.uuid) for c in s.getCharacteristics(): print('\tCharacteristic:', c.uuid) print('\t\t', c.propertiesToString()) if c.supportsRead(): print('\t\t', c.read())
рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рд╕рдм рдХреБрдЫ рд╕рд░рд▓ рд╣реИ - рдПрдХ рдмреАрдПрд▓рдИ рдЙрдкрдХрд░рдг рд╕реЗрд╡рд╛рдУрдВ рдХрд╛ рдПрдХ рд╕реЗрдЯ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ, рдЬрд┐рдирдореЗрдВ рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рдореЗрдВ рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХрд╛ рдПрдХ рд╕реЗрдЯ рд╣реЛрддрд╛ рд╣реИред рдкреНрд░рддреНрдпреЗрдХ рд╡рд┐рд╢реЗрд╖рддрд╛ 8 рдкреНрд░рдХрд╛рд░реЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рд╣реЛ рд╕рдХрддреА рд╣реИ, рдПрдХ рд╡рд┐рд╢реЗрд╖рддрд╛ рдХреЗ рд▓рд┐рдП рдЖрдк рдПрдХ рд╣реА рд╕рдордп рдореЗрдВ рдХрдИ рдкреНрд░рдХрд╛рд░ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рд╕реЗрд╡рд╛рдУрдВ рдФрд░ рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХреЛ рджреЛ рддрд░реАрдХреЛрдВ рд╕реЗ рдкрд╣рдЪрд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИ - рдПрдХ рдкрддрд╛ рд╣реЗрдХреНрд╕ рдорд╛рди рдФрд░ рдПрдХ рдпреВрдпреВрдЖрдИрдбреА рдХреЗ рд░реВрдк рдореЗрдВред рдореИрдВ UUID рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рд╕реЗ рдЕрдзрд┐рдХ рдкрд░рд┐рдЪрд┐рдд рд╣реВрдВ
рдЗрд╕рд▓рд┐рдП, рдореИрдВрдиреЗ рджреЛрдиреЛрдВ рд╕реЗрдВрд╕рд░ рдХреЗ рд▓рд┐рдП рд╕рднреА рд╡рд┐рд╢рд┐рд╖реНрдЯрддрд╛рдУрдВ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд┐рдпрд╛, рдЙрдиреНрд╣реЗрдВ рджреЗрдЦрд╛ рдФрд░ рдорд╣рд╕реВрд╕ рдХрд┐рдпрд╛ рдХрд┐ рдлрд┐рд░ рд╕реЗ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдирд┐рд░реНрдорд╛рддрд╛рдУрдВ рдХреЗ рдЙрдкрдХрд░рдг Xiaomi рдмреНрд░рд╛рдВрдб рдХреЗ рддрд╣рдд рдмреЗрдЪреЗ рдЬрд╛рддреЗ рд╣реИрдВред рдкреБрд░рд╛рдиреЗ рд╕реЗрдВрд╕рд░ рдХреЗ рдореВрд▓реНрдпреЛрдВ рдХреЗ рдмреАрдЪ, "рдХреНрд▓рд┐рдпрд░рдЧреНрд░рд╛рд╕ рдЗрдВрдХ" рдкрд╛рдпрд╛ рдЧрдпрд╛ рдерд╛, рдФрд░ рдирдП рдореЗрдВ, "miaomiaoce.com"ред рдЗрди рджреЛ рд╕реЗрдВрд╕рд░ рдХреА рд╕реЗрд╡рд╛рдУрдВ рдФрд░ рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреА рд╕рдВрд░рдЪрдирд╛ рднреА рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЕрд▓рдЧ рд╣реИ, рдФрд░ рдирдП рд╕реЗрдВрд╕рд░ рдХреА рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреА рд╕реВрдЪреА рджреЛ рдмрд╛рд░ рд▓рдВрдмреА рд╣реИред рдлрд┐рд░ рдпрд╣ рд╕реНрдкрд╖реНрдЯ рд╣реЛ рдЧрдпрд╛ рдХрд┐ рдЖрдкрдХреЛ рд╕реЗрдВрд╕рд░ рдХреЗ рд╕рд╛рде рдПрдХреАрдХрд░рдг рдХреЗ рд▓рд┐рдП рдЕрдкрдиреА рдЦреБрдж рдХреА рд▓рд╛рдЗрдмреНрд░реЗрд░реА рд▓рд┐рдЦрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ (рдирд╣реАрдВ, рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдореИрдВ рдкрд╣рд▓реА рдмрд╛рд░ рдореЗрдВ googled рдерд╛, рд╢рд╛рдпрдж рдЕрдиреБрд░реЛрдз LYWSD02 рдкрд░ рдХреБрдЫ рдЙрдкрдпреЛрдЧреА рд╣реИ, рд▓реЗрдХрд┐рди рдореИрдВрдиреЗ рдХреБрдЫ рднреА рд╕рдордЭрджрд╛рд░ Google рдирд╣реАрдВ рджрд┐рдпрд╛ рд╣реИ)ред
рддреЛ рдЖрдкрдХреЛ рдбреЗрдЯрд╛ рдХреИрд╕реЗ рдорд┐рд▓реЗрдЧрд╛?
рдЙрдкрд▓рдмреНрдз рдкреНрд░рдХрд╛рд░реЛрдВ рдореЗрдВ, READ рдХреЗ рдЕрд▓рд╛рд╡рд╛, WRITE рдФрд░ NOTIFY рднреА рд╣реИрдВред рд░рд╛рдЗрдЯ - рдбреЗрдЯрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдбрд┐рд╡рд╛рдЗрд╕ рдХреЛ рдбреЗрдЯрд╛ рднреЗрдЬрдиреЗ рдХреЗ рд▓рд┐рдП, рдФрд░ рдиреЛрдЯрд┐рдлрд╛рдИ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдПред рдПрдХ рд╣реА рд╕рдордп рдореЗрдВ WRITE NOTIFY рднреА рд╣реИ - WRITE рдХрдорд╛рдВрдб рдХреЗ рд╕рд╛рде рд╡рд╛рдВрдЫрд┐рдд рдмрд╛рдЗрдЯ рднреЗрдЬрдХрд░ рд╕рджрд╕реНрдпрддрд╛ рд▓реЗрдиреЗ рдХреЗ рдмрд╛рдж рдбрд┐рд╡рд╛рдЗрд╕ рдХреЗрд╡рд▓ рдбреЗрдЯрд╛ рднреЗрдЬреЗрдЧрд╛ред
рдореЗрд░реЗ рд╣рд╛рдереЛрдВ рд╕реЗ рдХреБрдЫ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢реЛрдВ рдХрд╛ рдХреЛрдИ рдирддреАрдЬрд╛ рдирд╣реАрдВ рдирд┐рдХрд▓рд╛, рдирд┐рд░рд╛рд╢рд╛ рдХреА рдкрд╣рд▓реА рд░реЗрдЦрд╛ рддрдХ рдкрд╣реБрдБрдЪ рдЧрдпрд╛ рдерд╛, рд▓реЗрдХрд┐рди рдЙрд╕ рд╕рдордп рдореИрдВрдиреЗ рдиреЙрд░реНрдбрд┐рдХ рд╕реЗрдореАрдХрдВрдбрдХреНрдЯрд░реНрд╕ рдХреЗ рдЪрд┐рдкреНрд╕ рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╢рд┐рд▓реНрдк рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд▓реЗрдЦ рдкрдврд╝реЗ рдФрд░ рдЕрдкрдиреЗ рд╕реНрдорд╛рд░реНрдЯрдлреЛрди рдкрд░
nRF рдХрдиреЗрдХреНрдЯ рдкреНрд░реЛрдЧреНрд░рд╛рдо рд░рдЦрд╛ред рдЗрд╕рдХреА рдорджрдж рд╕реЗ, рдореИрдВ рдЙрди рд╕рднреА рд╕реЗрд╡рд╛рдУрдВ рдХреА рд╕рджрд╕реНрдпрддрд╛ рд▓реЗрдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдерд╛ рдЬреЛ рдЙрдкрдХрд░рдг рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рдерд╛, рдЙрддреНрддрд░ рд▓реЙрдЧ рдХреЛ рд╕рд╣реЗрдЬрддрд╛ рдерд╛ рдФрд░ рд╕рдордЭрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рдиреЗ рд▓рдЧрд╛ рдХрд┐ рдЙрдирдореЗрдВ рдХреНрдпрд╛ рдирд┐рд╣рд┐рдд рд╣реИред

рдпреЗ рдЯреНрд░рд┐рдкрд▓ рддреАрд░ рд╕рджрд╕реНрдпрддрд╛ рдХреЛ рд╕рдХреНрд░рд┐рдп рдХрд░рддреЗ рд╣реИрдВред
рдкреБрд░рд╛рдиреЗ рд╕реЗрдВрд╕рд░ рдХреА рдЦрд╝рд╛рд╕рд┐рдпрдд рдпрд╣ рдереА рдХрд┐ рддрд╛рдкрдорд╛рди рдФрд░ рдЖрд░реНрджреНрд░рддрд╛ рдкрд░ рдбреЗрдЯрд╛ рдПрдХ UTF рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЗ рд░реВрдк рдореЗрдВ рдЖрдпрд╛, рдЬрдмрдХрд┐ рдирдП рдиреЗ рдмрд╛рдЗрдирд░реА рд░реВрдк рдореЗрдВ рд╕рдм рдХреБрдЫ рд╡рд╛рдкрд╕ рдХрд░ рджрд┐рдпрд╛ред
рд╕реВрдЪрдирд╛рдУрдВ рдХреЗ рд▓рд┐рдП рд╕рджрд╕реНрдпрддрд╛ рд▓реЗрдВ
рд╕реЗрдВрд╕рд░ рд╕реЗ рдбреЗрдЯрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдПрдХ рд╕рджрд╕реНрдпрддрд╛ рдЕрдиреБрд░реЛрдз рднреЗрдЬрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдорд╛рдЗрдЯреЗрдордк рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдореЗрдВ, рд╡рд┐рд╢реЗрд╖рддрд╛ рдХреЗ рд▓рд┐рдП рджреЛ рдмрд╛рдЗрдЯреНрд╕ рдЗрд╕рдХреЗ рд▓рд┐рдП рднреЗрдЬреЗ рдЧрдП рдереЗ, рд▓реЗрдХрд┐рди рдпрд╣ рд╕реНрдкрд╖реНрдЯ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдЗрд╕реЗ рдХрд╣рд╛рдВ рдкреНрд░рд╛рдкреНрдд рдХрд┐рдпрд╛ рдЬрд╛рдПред рдпрд╣рд╛рдВ рдореИрдВрдиреЗ nRF рдХрдиреЗрдХреНрдЯ рдореЗрдВ рдкреБрд░рд╛рдиреЗ рд╕реЗрдВрд╕рд░ рдХреЗ рд▓рд┐рдП рдбреЗрдЯрд╛ рд╕рдВрд░рдЪрдирд╛ рдХреЛ рджреЗрдЦрд╛ рдФрд░ рдореИрдВрдиреЗ рджреЗрдЦрд╛ рдХрд┐ рд╡рд╛рдВрдЫрд┐рдд рд╡рд┐рд╡рд░рдг рдХреЛ рдбреЗрдЯрд╛ рдХреЗ рд▓рд┐рдП рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЬреИрд╕реЗ рдПрдХ рдбрд┐рд╕реНрдХреНрд░рд┐рдкреНрдЯрд░ред рдлрд┐рд░ рдореИрдВрдиреЗ рдлрд┐рд░ рд╕реЗ рдмреНрд▓реВрдкреА рдХреЗ рд▓рд┐рдП рдкреНрд░рд▓реЗрдЦрди рдкрдврд╝рдирд╛ рд╢реБрд░реВ рдХрд┐рдпрд╛ рдФрд░ рдорд╣рд╕реВрд╕ рдХрд┐рдпрд╛ рдХрд┐ рд╡рд┐рд╡рд░рдгрдХрд░реНрддрд╛ рдХрд╛ рдкрддрд╛ рдЖрд╕рд╛рдиреА рд╕реЗ рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдСрдмреНрдЬреЗрдХреНрдЯ рд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдпрд╣ рдХреЗрд╡рд▓ рдХреЙрд▓рдмреИрдХ рдкрджреНрдзрддрд┐ рдХреЗ рд╕рд╛рде рдПрдХ рд╡рд░реНрдЧ рд▓рд┐рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдмрдирд╛ рд╣реБрдЖ рд╣реИ, рдЬреЛ рдЕрдзрд┐рд╕реВрдЪрдирд╛ рд╕реЗ рдбреЗрдЯрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдЧрд╛ред
class MyDelegate(btle.DefaultDelegate): def handleNotification(self, cHandle, data): print(data) mac_addr = '3F:59:C8:80:70:BE' p = btle.Peripheral(mac_addr) p.setDelegate(MyDelegate()) uuid = 'EBE0CCC1-7A0A-4B0C-8A1A-6FF2997DA3A6'
рд╣рдо рдЕрдирд╛рдЬ рдХреЛ рдЪрдл рд╕реЗ рдЕрд▓рдЧ рдХрд░рддреЗ рд╣реИрдВ
рд╕реМрднрд╛рдЧреНрдп рд╕реЗ, рдХреЗрд╡рд▓ рддреАрди рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреЛ WRITE NOTIFY рдХреЗ рд░реВрдк рдореЗрдВ рдЪрд┐рд╣реНрдирд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдЬрдмрдХрд┐ рдбреЗрдЯрд╛ рд╡рд┐рднрд┐рдиреНрди рдЖрд╡реГрддреНрддрд┐рдпреЛрдВ рдФрд░, рдЙрдо ..., рджреГрд╢реНрдп рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХреЗ рд╕рд╛рде рдЖрдпрд╛ рдерд╛ред
рдкрд╣рд▓рд╛ рдЕрдиреБрд░реЛрдз рддреБрд░рдВрдд рдбреЗрдЯрд╛ рдХрд╛ рдПрдХ рдмрдбрд╝рд╛ рдлреБрдЯрдХреНрд▓реЙрде рднреЗрдЬрд╛, рдФрд░ рдлрд┐рд░ рдЕрдЯрдХ рдЧрдпрд╛ред рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдкрд╣рд▓реА рдмрд╛рдЗрдЯ рдПрдХ рдиреАрд░рд╕ рд░реВрдк рд╕реЗ рдмрдврд╝рддреА рд╣реБрдИ рд╕рдВрдЦреНрдпрд╛ рдереАред рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдФрд╕рдд рдЗрддрд┐рд╣рд╛рд╕ рд╣реИред
рджреВрд╕рд░реЗ рдФрд░ рддреАрд╕рд░реЗ рдХреЛ рд╕рдордп-рд╕рдордп рдкрд░ рднреЗрдЬрд╛ рдЧрдпрд╛ рдерд╛, рд▓реЗрдХрд┐рди рдХрд░реАрдм рд╕реЗ рджреЗрдЦрдиреЗ рдкрд░, рдореИрдВрдиреЗ рджреЗрдЦрд╛ рдХрд┐ рдЙрдирдореЗрдВ рд╕реЗ рдПрдХ рдирд╣реАрдВ рдмрджрд▓рддрд╛ рд╣реИ, рдФрд░ рджреВрд╕рд░реЗ рдХреЗ рдбреЗрдЯрд╛ рдореЗрдВ рдХреЗрд╡рд▓ рдПрдХ рдмрд╛рдЗрдЯ рдХреЛ рдмрджрд▓рд╛ рдЬрд╛рддрд╛ рд╣реИред рдареАрдХ рд╣реИ, рддреЛ рдпрд╣ рд╡рд░реНрддрдорд╛рди рд╕рдордп рд╣реИ (рдореИрдВ рдЖрдкрдХреЛ рдпрд╛рдж рджрд┐рд▓рд╛рддрд╛ рд╣реВрдВ рдХрд┐ рдЗрд╕ рдерд░реНрдорд╛рдореАрдЯрд░ рдореЗрдВ рдПрдХ рдШрдбрд╝реА рд╣реИред рд╕реНрдорд╛рд░реНрдЯ рдШрд░ рдХреЗ рд▓рд┐рдП рдХрд┐рд╕реА рднреА рд╕реНрд╡рд╛рднрд┐рдорд╛рдиреА рдбрд┐рд╡рд╛рдЗрд╕ рдореЗрдВ рдПрдХ рдШрдбрд╝реА рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдП)ред
рдорд╛рди рд▓реАрдЬрд┐рдП рддреАрд╕рд░реА рд╡рд┐рд╢реЗрд╖рддрд╛ рддрд╛рдкрдорд╛рди рдФрд░ рдЖрд░реНрджреНрд░рддрд╛ рдкрд░ рдЙрдкрдпреЛрдЧреА рдбреЗрдЯрд╛ рд╣реИред рдкрд░рд┐рдХрд▓реНрдкрдирд╛ рдХреА рдкреБрд╖реНрдЯрд┐ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдПрдХ рднреМрддрд┐рдХ рдкреНрд░рдпреЛрдЧ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ - рд╡рд╣ рд╕реЗрдВрд╕рд░ рдХреЗ рдкрд╛рд╕ рдЧрдпрд╛ рдФрд░ рд▓рдЧрднрдЧ рдЙрд╕ рдкрд░ рд╕рд╛рдВрд╕ рд▓реАред рдкреНрд░рджрд░реНрд╢рди рдкрд░ рдбреЗрдЯрд╛ рдореВрд▓реНрдпреЛрдВ рдореЗрдВ рддреЗрдЬреА рд╕реЗ рд╡реГрджреНрдзрд┐ рд╣реБрдИ, рдФрд░ рдЯрд░реНрдорд┐рдирд▓ рдореЗрдВ рдмрд╛рдЗрдЯреНрд╕ рдмрджрд▓ рдЧрдПред рд╣реБрд░реНрд░реЗ, рдбреЗрдЯрд╛ рдХрд╣реАрдВ рдЖрд╕рдкрд╛рд╕ рд╣реИред
рдбреЗрдЯрд╛ рдкрд╛рд░реНрд╕ рдХрд░рдирд╛
рдореИрдВ рдЖрдо рддреМрд░ рдкрд░ рдЯреЗрдХреНрд╕реНрдЯ рдбреЗрдЯрд╛ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддрд╛ рд╣реВрдВ (HTTP рдбреЗрдЯрд╛ рдХреЛ JSON / xml рдХреЗ рд░реВрдк рдореЗрдВ рдкреНрд░рд╛рдкреНрдд рдХрд░рддрд╛ рд╣реВрдВ, рдЗрд╕реЗ рдПрдХ рдлрд╝рд╛рдЗрд▓ рдпрд╛ рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рдбрд╛рд▓ рджреЗрддрд╛ рд╣реВрдВ), рдЗрд╕рд▓рд┐рдП рдореБрдЭреЗ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╕рдордЭ рдирд╣реАрдВ рдЖрдпрд╛ рдХрд┐ рдХрд╛рд░реНрдп рдХреЛ рдХреИрд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛рдПред рдЗрд╕рд▓рд┐рдП, рдореИрдВрдиреЗ рдбреЗрдЯрд╛ рдХреЛ рдЕрд▓рдЧ-рдЕрд▓рдЧ рддрд░реАрдХреЛрдВ рд╕реЗ рдмрджрд▓рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░ рджрд┐рдпрд╛ рдЬреЛ рдХрд┐ рдЕрдЬрдЧрд░ рд╕реЗ рдмрдирд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдореИрдВрдиреЗ рдпрд╣рд╛рдВ рдЗрд╕ рддрд░рд╣ рдХреЗ рд░реВрдкрд╛рдВрддрд░рдг рд╕рдорд╛рд░реЛрд╣ рдХреЛ рд▓рд┐рдЦрд╛ рдФрд░ рдпрд╣ рджреЗрдЦрдирд╛ рд╢реБрд░реВ рдХрд┐рдпрд╛ рдХрд┐ рдпрд╣ рд╕реЗрдВрд╕рд░ рд╕реНрдХреНрд░реАрди рдкрд░ рдбреЗрдЯрд╛ рдХреЗ рд╕рд╛рде рдХреИрд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣реИред
def parse(v): print([x for x in v]) print('{0:#x}'.format(int.from_bytes(data, byteorder='big'))) print('{0:#x}'.format(int.from_bytes(data, byteorder='little')))
рдЕрд╕реНрдкрд╖реНрдЯрддрд╛ рдХреА рдЕрд▓рдЧ-рдЕрд▓рдЧ рдбрд┐рдЧреНрд░реА рдХреА рдкрдВрдХреНрддрд┐рдпреЛрдВ рдХреЛ рдХрдВрд╕реЛрд▓ рдореЗрдВ рдбрд╛рд▓рд╛ рдЧрдпрд╛, рд▓реЗрдХрд┐рди рддреАрд╕рд░реА рдмрд╛рдЗрдЯ рд╣рдореЗрд╢рд╛ рдПрдХ рд╕рдВрдЦреНрдпрд╛ рдереА, рдФрд░ рдпрд╣ рд╕рдВрдЦреНрдпрд╛ рдирдореА рдХреЗ рдореВрд▓реНрдп рдХреЗ рд╕рд╛рде рдореЗрд▓ рдЦрд╛рддреА рдереАред рдирд┐рд╖реНрдард╛ рдХреА рдЦрд╛рддрд┐рд░, рдореИрдВрдиреЗ рдПрдХ рдмрд╛рд░ рдлрд┐рд░ рд╕реЗрдВрд╕рд░ рдкрд░ рд╕рд╛рдВрд╕ рд▓реА - рдФрд░ рд╕реНрдХреНрд░реАрди рдкрд░ рдирдореА рдХреЗ рдореВрд▓реНрдпреЛрдВ рдФрд░ рддреАрд╕рд░реЗ рдмрд╛рдЗрдЯ рдореЗрдВ рд╡рд╣реА рдмрджрд▓ рдЧрдпрд╛!
рддрдм рдореИрдВрдиреЗ рд╕реБрдЭрд╛рд╡ рджрд┐рдпрд╛ рдХрд┐ рддрд╛рдкрдорд╛рди рдкрд╣рд▓реЗ рджреЛ рдмрд╛рдЗрдЯреНрд╕ рдореЗрдВ рд╕рдВрдЧреНрд░рд╣рд┐рдд рд╣реИред рдбреЗрдЯрд╛ рдХреЛ рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП, рдореИрдВрдиреЗ рд╕реЗрдВрд╕рд░ рдХреЛ рдмрд╛рдерд░реВрдо рдореЗрдВ рдПрдХ рдЧрд░реНрдо рддреМрд▓рд┐рдпрд╛ рд░реЗрд▓ рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░ рджрд┐рдпрд╛ред рд▓реЗрдХрд┐рди рдХреЛрдИ рдлрд░реНрдХ рдирд╣реАрдВ рдкрдбрд╝рддрд╛ рдХрд┐ рдореИрдВрдиреЗ рдкрд░рд┐рдгрд╛рдореЛрдВ рдХреЛ рдмрджрд▓рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА, рдЖрд╡рд╢реНрдпрдХ рд╕рдВрдЦреНрдпрд╛рдУрдВ рдиреЗ рдХрд╛рдо рдирд╣реАрдВ рдХрд┐рдпрд╛ред
рд╕рдлрд▓рддрд╛ рдХреА рд░рд╛рд╣ рдкрд░
рдЙрд╕ рд╕рдордп, рдореИрдВрдиреЗ
рд╕реЗрдВрд╕рд░ рдХреЗ
рд╡рд┐рд╡рд░рдг рдХреЛ рдлрд┐рд░ рд╕реЗ рджреЗрдЦрд╛ рдФрд░ рджреЗрдЦрд╛ рдХрд┐ рдЕрдВрджрд░ рд╕реНрд╡рд┐рд╕ рд╕реЗрдВрд╕рд░ рд╕реЗ рд╕реЗрдВрд╕рд░ рдерд╛ред рд╕рдВрднрд╡рддрдГ рдЗрд╕рдХреЗ рд╕рд╛рде рд╢реБрд░реВ рдХрд░рдиреЗ рд▓рд╛рдпрдХ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рд╣рдорд╛рд░реА рд╡рд┐рдзрд┐ рдирд╣реАрдВ рд╣реИред рд╕реНрд╡рд┐рд╕ рд╕реЗрдВрд╕рд┐рд░рд┐рдпрди рд╡реЗрдмрд╕рд╛рдЗрдЯ, рдФрд░ рдЙрдирдХреЗ рд▓рд┐рдП рдбреЗрдЯрд╛рд╢реАрдЯ рдкрд░ рд╕реЗрдВрд╕рд░ рдХрд╛ рдПрдХ рдЧреБрдЪреНрдЫрд╛ рдкрд╛рдпрд╛ рдЧрдпрд╛ред рдбреЗрдЯрд╛рд╢реАрдЯ рдореЗрдВ, рдЕрдиреНрдп рдмрд╛рддреЛрдВ рдХреЗ рдЕрд▓рд╛рд╡рд╛, I2C рдмрд╕ рдкрд░ рд╕рдВрдЪрд░рд┐рдд рдмрд╛рдЗрдЯреНрд╕ рдХреЛ рдПрдХ рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕реВрддреНрд░ рдкрд╛рдпрд╛ рдЧрдпрд╛ рдерд╛ред
рд▓реЗрдХрд┐рди ... рдпрд╣ рдмрд╣реБрдд рдЕрдЬреАрдм рдореВрд▓реНрдпреЛрдВ рдирд┐рдХрд▓рд╛ред рдХреБрдЫ -34.66 рдХреА рддрд░рд╣, рд▓реЗрдХрд┐рди рдореИрдВ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдЧрд░реНрдо рдерд╛ред рдЙрджрд╛рд╕реА рдФрд░ рдЙрджрд╛рд╕реА рд╕реЗ, рдореИрдВрдиреЗ рд╕реЗрдВрд╕рд░ рднреА рдЦреЛрд▓ рджрд┐рдпрд╛ рдФрд░ рдЬрд╛рдБрдЪ рдХреА рдХрд┐ рдХреНрдпрд╛ рд╕реНрд╡рд┐рд╕ рд╕реЗрдВрд╕рд░ рд╕реЗ рд╕реЗрдВрд╕рд░ рд╡рд╣рд╛рдБ рд╕рд╣реА рдерд╛ред рдпрд╣ рдкрддрд╛ рдЪрд▓рд╛ рдХрд┐ рдпрд╣ рд╕рдЪ рдерд╛, рд▓реЗрдХрд┐рди SHTC3 рд╕реВрдЪрдХрд╛рдВрдХ рдХреЗ рд╕рд╛рде, рдФрд░ рдЗрд╕реЗ рдЗрд╕рдХреЗ рд▓рд┐рдП рдереЛрдбрд╝рд╛ рдЕрд▓рдЧ рд╕реВрддреНрд░ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдереАред
рд╣рд╛рд▓рд╛рдБрдХрд┐, рд╕рднреА рд╕рдорд╛рди, рд░реВрдкрд╛рдВрддрд░рдг рдХреЗ рдмрд╛рдж рдХрд╛ рдбреЗрдЯрд╛ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдХреЗ рдХрд░реАрдм рднреА рдирд╣реАрдВ рджрд┐рдЦрддрд╛ рдерд╛ред рдпрд╣рд╛рдБ рдореИрдВ рдФрд░ рднреА рджреБрдЦреА рдерд╛, Adfruit рдХреЗ SHTC3 рдХреЗ рд▓рд┐рдП рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХрд╛ рд╕реНрд░реЛрдд рдХреЛрдб рдЦреЛрд▓рд╛ рдФрд░ C ++ рд╕реЗ рдЕрдЬрдЧрд░ рддрдХ рдкрд░рд┐рд╡рд░реНрддрди рдХреЛрдб рдХреЛ рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рдиреЗ рд▓рдЧрд╛ред рдореИрдВ рдЯреИрдмрд▓реЗрдЯ рдХреЗ рд▓рд┐рдП рд╕рдм рдХреБрдЫ рд▓рд╛рдпрд╛ - рдХрдЪреНрдЪрд╛ рдбреЗрдЯрд╛, рдкрд░рд┐рд╡рд░реНрддрд┐рдд рд╕рдВрд░рдЪрдирд╛ рдФрд░ рдкрд░рд┐рдгрд╛рдоред
def handleNotification(self, cHandle, data): temp = data[:2] humid = data[2] unpacked = struct.unpack('H', temp)[0] print(data, unpacked, -45 + 175 * unpacked / 2 ** 19, sep='\t')
рдХреБрдЫ рдЗрд╕ рддрд░рд╣ рдорд┐рд▓рд╛:
b',\n2' 2604 -44.130821228027344 b'-\n2' 2605 -44.1304874420166 b'+\n2' 2603 -44.131155014038086 b',\n2' 2604 -44.130821228027344
рд╣рд╛рдБ ... рдпрд╣ рдардВрдб рдХреА рддрд░рд╣ рд╣реИ ... рд▓реЗрдХрд┐рди, рд░реБрдХреЛ, рд░реБрдХреЛ, 2604 рдХреНрдпрд╛ рд╣реИ? рдпрд╣ рдпрд╣ рд╣реИ, рд╕реНрдХреНрд░реАрди рдкрд░ 26.0 рдбрд┐рдЧреНрд░реА! рдкрд░рд┐рдХрд▓реНрдкрдирд╛ рдХреА рдкреБрд╖реНрдЯрд┐ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╡рд╣ рдлрд┐рд░ рд╕реЗ рд╕рдВрд╡реЗрджрдХ рдХреЛ рдмреИрдЯрд░реА рдореЗрдВ рд▓реЗ рдЧрдпрд╛, рдЬрд╛рдБрдЪ рдХреА рдХрд┐ рдореВрд▓реНрдп рдореЗрд▓ рдЦрд╛рддреЗ рд╣реИрдВред
рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, рд╣рдореЗрдВ рдирд┐рдореНрди рдбреЗрдЯрд╛ рд░реВрдкрд╛рдВрддрд░рдг рдХреЛрдб рдкреНрд░рд╛рдкреНрдд рд╣реЛрддрд╛ рд╣реИ:
def handleNotification(self, cHandle, data): humid_bytes = data[2] temp_bytes = data[:2] humidity = humid_bytes temperature = struct.unpack('H', temp_bytes)[0] / 100 print(temperature, humidity)
рдЙрдкрд╕рдВрд╣рд╛рд░
рд╕реЗрдВрд╕рд░ рд╕реЗ рдЬреБрдбрд╝рдиреЗ рдФрд░ рд╕рд╣реА рдкрд░рд┐рд╡рд░реНрддрди рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХреА рдЦреЛрдЬ рдХреЗ рд▓рд┐рдП рдХрд┐рдП рдЧрдП рдСрдкрд░реЗрд╢рди рдореЗрдВ рдПрдХ-рджреЛ рд╢рд╛рдо рд╣реБрдИред рдХрдИ рдмрд╛рд░ рдореИрдВ рд╕рдм рдХреБрдЫ рдЫреЛрдбрд╝рдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛, рд▓реЗрдХрд┐рди рдЙрд╕реА рд╕рдордп рдирдП рд╡рд┐рдЪрд╛рд░ рдЖрдП рдФрд░ рдореИрдВрдиреЗ рдХреЛрд╢рд┐рд╢ рдХрд░рдирд╛ рдЬрд╛рд░реА рд░рдЦрд╛ред
рдЕрдм рдбреЗрдЯрд╛ рдХреЛ рд╣реЛрдо рдЕрд╕рд┐рд╕реНрдЯреЗрдВрдЯ рдХреЛ рдЯреНрд░рд╛рдВрд╕рдлрд░ рдХрд░ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдлрд┐рд░ рдЖрдкрдХреЛ рдЗрдВрдЯреАрдЧреНрд░реЗрд╢рди рдХреЛрдб рдЦрддреНрдо рдХрд░рдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реЛрддреА рд╣реИ рдФрд░ рд╕рдВрднрд╡рддрдпрд╛, рдЗрд╕реЗ рдмреНрд▓реВрдкреА рд╕реЗ рдмреНрд▓реЗрдХ рдореЗрдВ рдлрд┐рд░ рд╕реЗ рд▓рд┐рдЦрдирд╛ рд╣реЛрддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдмреНрд▓реЗрдХ рдПрд╕рд┐рдВрдХреНрд╕ / рд╡реЗрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдПрдЖрдИрдУрдПрдЪрдЯреАрдЯреАрдкреА рджреНрд╡рд╛рд░рд╛ рд▓рд┐рдЦреЗ рдЧрдП рд╣реЛрдо рдЕрд╕рд┐рд╕реНрдЯреЗрдВрдЯ рдХреЗ рд▓рд┐рдП рдмреЗрд╣рддрд░ рдЕрдиреБрдХреВрд▓ рд╣реИред

рд╕рдВрджрд░реНрдн: