рд╣рдо рд░рд╛рд╕реНрдкрдмреЗрд░реА рдкреАрдЖрдИ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдПрдХ рд╡рд╛рдпрд░рд▓реЗрд╕ рд╡рд┐рдХрд┐рд░рдг рдбреЙрд╕рдореАрдЯрд░ рдХреЛ "рдкреАрдкреБрд▓реНрд╕ рдореЙрдирд┐рдЯрд░рд┐рдВрдЧ" рд╕реЗрд╡рд╛ рд╕реЗ рдЬреЛрдбрд╝рддреЗ рд╣реИрдВ

рдкрд░рд┐рдЪрдп


рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ, рдореИрдВ рдЖрдкрдХреЛ рдмрддрд╛рдКрдВрдЧрд╛ рдХрд┐ рдХреИрд╕реЗ рд▓реЛрдЧреЛрдВ рдХреЛ рдореЙрдирд┐рдЯрд░рд┐рдВрдЧ рд╕реЗрд╡рд╛ рдХреЗ рд▓рд┐рдП рдорд╛рдк рдкрд░рд┐рдгрд╛рдореЛрдВ рдХреЛ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмреНрд▓реВрдЧрд┐рдЧрд╛ BLED112 рдмреНрд▓реВрдЯреВрде рдореЙрдбреНрдпреВрд▓ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд░рд╛рд╕реНрдкрдмреЗрд░реА рдкреАрдЖрдИ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдПрдЯрдордЯреИрдЧ рдбреЛрд╕рдореАрдЯрд░ рдХреЛ рдХрдиреЗрдХреНрдЯ рдХрд┐рдпрд╛ рдЬрд╛рдП ред

AtomTag - Geiger рдХрд╛рдЙрдВрдЯрд░ SBM-20 рдХреЗ рд╕рд╛рде рд╕реНрдорд╛рд░реНрдЯрдлреЛрди рдФрд░ рдЯреИрдмрд▓реЗрдЯ рдХреЗ рд▓рд┐рдП рдмреНрд▓реВрдЯреВрде рд▓реЛ рдПрдирд░реНрдЬреА рдбреЛрд╕рдореАрдЯрд░ред рдбрд┐рд╡рд╛рдЗрд╕ рд╕рд░реНрд╡рд░ рдХреЛ рдкреНрд░реЗрд╖рд┐рдд рдХрд░реЗрдЧрд╛: рдЦреБрд░рд╛рдХ рджрд░, рд╕рд╛рдВрдЦреНрдпрд┐рдХреАрдп рддреНрд░реБрдЯрд┐ рдФрд░ рдмреИрдЯрд░реА рдЪрд╛рд░реНрдЬред рд▓реЗрдЦ рдХреЗ рдЕрдВрдд рдореЗрдВ, рд╣рдо рджреЗрдЦреЗрдВрдЧреЗ рдХрд┐ рдореМрд╕рдо рдХреА рдШрдЯрдирд╛рдУрдВ рд╕реЗ рдбреЛрд╕рдореАрдЯрд░ рдХреА рд░реАрдбрд┐рдВрдЧ рдХреИрд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣реИред

(narodmon.ru) тАФ SaaS ( , ) (, , ., , , ), - () .

Generic Attribute Profile (GATT)


AtomTag dosimeter GATT рдкреНрд░реЛрдлрд╛рдЗрд▓ рдХреЛ рд╕рдкреЛрд░реНрдЯ рдХрд░рддрд╛ рд╣реИред рдмреНрд▓реВрдЯреВрде рд╢рдмреНрджрд╛рд╡рд▓реА рдореЗрдВ, рдПрдХ рдкреНрд░реЛрдлрд╝рд╛рдЗрд▓ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдмреНрд▓реВрдЯреВрде рдбрд┐рд╡рд╛рдЗрд╕ рдХреЗ рд▓рд┐рдП рдЙрдкрд▓рдмреНрдз рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдпрд╛ рдХреНрд╖рдорддрд╛рдУрдВ рдХрд╛ рдПрдХ рд╕рдореВрд╣ рд╣реИред

GATT рдкреНрд░реЛрдлрд╛рдЗрд▓ рдбреЗрдЯрд╛ рднрдВрдбрд╛рд░рдг рдХреА рдкрджрд╛рдиреБрдХреНрд░рдорд┐рдд рд╕рдВрд░рдЪрдирд╛ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддрд╛ рд╣реИред рд╕рдВрд░рдЪрдирд╛ рдХреЛ рдЖрдХреГрддрд┐ рдореЗрдВ рджрд┐рдЦрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ: рдПрдХ



рд╕реЗрд╡рд╛ рдПрдХ рдХрдВрдЯреЗрдирд░ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдХрдИ рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдВ рд╣реЛрддреА рд╣реИрдВ рдЬрд┐рдиреНрд╣реЗрдВ рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред рд╕рднреА рд╕реЗрд╡рд╛рдУрдВ рдореЗрдВ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛ UUID рдФрд░ HANDLE рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдбреЙрд╕рд┐рдорд┐рдЯрд░ рдореЗрдВ 2 рд╕реЗрд╡рд╛рдПрдВ рд╣реИрдВ:

1. рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕реЗрд╡рд╛, рдЬрд┐рд╕рдореЗрдВ рдорд╛рдк рдкрд░рд┐рдгрд╛рдо рдкрдврд╝рдиреЗ рдФрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ (рдзреНрд╡рдирд┐ рдЕрд▓рд╛рд░реНрдо рд╕реЗрдЯрд┐рдВрдЧреНрд╕) рд░рд┐рдХреЙрд░реНрдб рдХрд░рдиреЗ рдХреА рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдВ рд╢рд╛рдорд┐рд▓ рд╣реИрдВред

2редрдПрдХ рд╕реЗрд╡рд╛ рдЬрд┐рд╕рдореЗрдВ рдХрд╛рд░рдЦрд╛рдиреЗ рдХреА рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХреЛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдиреЗ рдХреА рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдВ рд╣реЛрддреА рд╣реИрдВ: рдЕрдВрд╢рд╛рдВрдХрди рдХрд╛рд░рдХ, рдЙрдкрдХрд░рдг рдХрд╛ рдирд╛рдо, рдЖрджрд┐ред

рд╡рд┐рд╢реЗрд╖рддрд╛ - рдЗрд╕рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ:

1. рдорд╛рди (рдЖрдорддреМрд░ рдкрд░ 20 рдмрд╛рдЗрдЯреНрд╕ рд╕реЗ рдЕрдзрд┐рдХ рдирд╣реАрдВ)ред

2. рдбрд┐рд╕реНрдХреНрд░рд┐рдкреНрдЯрд░ - рдпрд╣рд╛рдВ рд╡рд┐рд╢реЗрд╖рддрд╛ рдХрд╛ рдЙрджреНрджреЗрд╢реНрдп, рд╕рдВрдЧреНрд░рд╣реАрдд рдбреЗрдЯрд╛ рдХрд╛ рдкреНрд░рдХрд╛рд░, рд╕рд╛рде рд╣реА рд╡рд┐рд╢реЗрд╖рддрд╛ рдХреА рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХрд╛ рд╡рд░реНрдгрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред

3. рд╡рд┐рд╢рд┐рд╖реНрдЯ рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛ UUID рдФрд░ HANDLEред
рд╣рдо рдЬрд┐рд╕ рдбреЗрдЯрд╛ рдореЗрдВ рд░реБрдЪрд┐ рд░рдЦрддреЗ рд╣реИрдВ: рдкрдВрдЬреАрдХреГрдд рджрд╛рд▓реЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдФрд░ рдмреИрдЯрд░реА рдЪрд╛рд░реНрдЬ рдмрд┐рд▓реНрдХреБрд▓ рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рд╣реИрдВред

BLED112



рдореЙрдбреНрдпреВрд▓ рдПрдХ USB-CDC рдбрд┐рд╡рд╛рдЗрд╕ рд╣реИ, рдЬрд┐рд╕реЗ рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ / dev / ttyACM0 рдХреЗ рд░реВрдк рдореЗрдВ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдФрд░ рдХрд░реНрдиреЗрд▓ рд╕рдВрд╕реНрдХрд░рдг 4.4 рдХреЗ рд╕рд╛рде рд░рд╛рд╕реНрдкрд┐рдпрди рдЬреЗрд╕реА рд▓рд╛рдЗрдЯ рдкрд░ рдХрд┐рд╕реА рднреА рдбреНрд░рд╛рдЗрд╡рд░ рдХреА рд╕реНрдерд╛рдкрдирд╛ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред рдореЙрдбреНрдпреВрд▓ рдХреЗ рд╕рд╛рде рдбреЗрдЯрд╛ рд╡рд┐рдирд┐рдордп рднреА рдПрдХ рд╕реАрд░рд┐рдпрд▓ рдкреЛрд░реНрдЯ рдХреЗ рд╕рд╛рде рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдПрдХреНрд╕рдЪреЗрдВрдЬ рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдмрд╛рдЗрдирд░реА рд╣реИред рд╣рдо рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдкрд╛рд░реНрд╕рд░ рдХреЛ рд╕реНрд╡рдпрдВ рдирд╣реАрдВ рд▓рд┐рдЦреЗрдВрдЧреЗ, рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕ рдореЙрдбреНрдпреВрд▓ рдХреЗ рд▓рд┐рдП рдХрд╛рдлреА рдХрдорд╛рдВрдб рд╣реИрдВ рдФрд░ рдирд┐рд░реНрдорд╛рддрд╛ рд╕реЗ рдПрд╕рдбреА рдореЗрдВ рд╕реА рд▓реЗред рдПрд╕рдбреАрдХреЗ рдХрд╛ рдПрдХ рд▓рд┐рдВрдХ рд▓реЗрдЦ рдХреЗ рдЕрдВрдд рдореЗрдВ рд╣реЛрдЧрд╛ред

рд░рд╛рд╕реНрдкрдмреЗрд░реА PI рд╕реЙрдлреНрдЯрд╡реЗрдпрд░


: рд╣рдо рдПрд╕рдбреАрдХреЗ рд╕реЗ рдирд┐рдореНрди рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреА рдЬрд░реВрд░рдд рд╣реИ

1. , cmd_defs.c cmd_defs.h
2. apitypes.h
3. commands.c
4. uart.c, uart.c

рдПрдкреАрдЖрдИ рд╣реИ рдПрдХ рдХреЙрд▓рдмреИрдХ рдЖрдзрд╛рд░рд┐рддред рдХрдорд╛рдВрдб .C рдлрд╝рд╛рдЗрд▓ рдЕрдкреНрд░рдпреБрдХреНрдд рдХреЙрд▓рдмреИрдХ рдХреЗ рд▓рд┐рдП рд╕реНрдЯрдм рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдШреЛрд╖рд┐рдд рдХрд┐рдпрд╛ред рдПрд╕рдбреАрдХреЗ 2 рдкреНрд░рдХрд╛рд░ рдХреЗ рд╕рдВрджреЗрд╢реЛрдВ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддрд╛ рд╣реИ рдЬреЛ рдореЙрдбреНрдпреВрд▓ рд╕реЗ рдЖ рд╕рдХрддреЗ рд╣реИрдВ: рдШрдЯрдирд╛ рдФрд░ рдСрдкрд░реЗрд╢рди рдХрд╛ рдкрд░рд┐рдгрд╛рдоред рд╣рдорд╛рд░реЗ рдХрд╛рд░реНрдпрдХреНрд░рдо рдореЗрдВ, рд╣рдо рдорд╛рдк рдХреА рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдореЗрдВ рдмрджрд▓рд╛рд╡ рд╣реЛрдиреЗ рдкрд░ рд╣рд░ 2 рд╕реЗрдХрдВрдб рдореЗрдВ рдбреЙрд╕рдореАрдЯрд░ рджреНрд╡рд╛рд░рд╛ рднреЗрдЬреЗ рдЧрдП рдЕрд▓рд░реНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдбреЙрд╕рдореАрдЯрд░ рд╕реЗ рдбреЗрдЯрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВрдЧреЗред рдирддреАрдЬрддрди, рдореЙрдбреНрдпреВрд▓ рд╕реЗ рд╣рд░ 2 рд╕реЗрдХрдВрдб рдореЗрдВ рдПрдХ рдШрдЯрдирд╛ рдЖрдПрдЧреА рдФрд░ рдЗрд╕реА рдХреЙрд▓рдмреИрдХ рдХреЛ рдХреЙрд▓ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред

рдЖрдЗрдП рдбреЛрд╕рдореАрдЯрд░ рдХреЗ рд╕рд╛рде рдбреЗрдЯрд╛ рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдФрд░ рдЖрджрд╛рди-рдкреНрд░рджрд╛рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░реЗрдВ:

1. рдкреЛрд░реНрдЯ 2 рдЦреЛрд▓рддрд╛ рд╣реИ /dev/ttyACM0

редрд╣рдо рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдмреНрд▓реВрдЯреВрде рдореЙрдбреНрдпреВрд▓ рдХреЛ рд░рд┐рдмреВрдЯ рдХрд░рддреЗ рд╣реИрдВ api ble_cmd_system_reset();

ред ble_cmd_gap_connect_direct()

4. рдЗрд╕рдХреЗ рдкрддреЗ рдкрд░ рдбрд┐рд╡рд╛рдЗрд╕ рд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░реЗрдВ ред рдбрд┐рд╡рд╛рдЗрд╕ рд╕реЗрд╡рд╛рдУрдВ рдХреА рд╕реВрдЪреА рдФрд░ рдЙрди рдорд╛рдиреЛрдВ рдХреА рд╢реНрд░реЗрдгрд┐рдпреЛрдВ рдХрд╛ рдЕрдиреБрд░реЛрдз рдХрд░реЗрдВ рдЬрд┐рдирдореЗрдВ рдЗрди рд╕реЗрд╡рд╛рдУрдВ рдореЗрдВ рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреЗ HANDL рд╢рд╛рдорд┐рд▓ рд╣реИрдВред ble_cmd_attclient_read_by_group_type()

5. рдШрдЯрдирд╛ рдХреЗ рдмрд╛рдж, рд╣рдо 6. рдХреЗble_evt_attclient_procedure_completed рд╕рд╛рде рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреА рд╕реВрдЪреА рдХрд╛ рдЕрдиреБрд░реЛрдз рдХрд░рддреЗ рд╣реИрдВред рдорд╛рдк рдХреА рд╡рд┐рд╢реЗрд╖рддрд╛ рдФрд░ рдЧреНрд░рд╛рд╣рдХ рд╡рд┐рд╢реЗрд╖рддрд╛ рд╡рд┐рдиреНрдпрд╛рд╕ рдбрд┐рд╕реНрдХреНрд░рд┐рдкреНрдЯрд░ (CCCD) рдХреЗ HANDLsред 7. рдШрдЯрдирд╛ рдореЗрдВ, рдЕрд▓рд░реНрдЯ рдЪрд╛рд▓реВ рдХрд░реЗрдВред рдкрд┐рдЫрд▓реЗ рдкреИрд░рд╛рдЧреНрд░рд╛рдл рдореЗрдВ, рд╣рдордиреЗ CCCD рдХреЗ HANDLE рдХреЛ рдкрд╣рдЪрд╛рди рд▓рд┐рдпрд╛ рдФрд░ рдЗрд╕реЗ рдкрдврд╝ рдпрд╛ рд▓рд┐рдЦ тАЛтАЛрд╕рдХрддреЗ рд╣реИрдВред рд╕реВрдЪрдирд╛рдУрдВ рдХреЛ рд╕рдХреНрд╖рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ CCCD рд╡рд┐рд╡рд░рдгрдХ рдореЗрдВ "рд╕реВрдЪрдирд╛ рд╕рдХреНрд╖рдо" рдзреНрд╡рдЬ рд╕реЗрдЯ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИble_cmd_attclient_find_information().

ble_evt_attclient_find_information_found

ble_evt_attclient_procedure_completedble_cmd_attclient_attribute_write()ред рдбрд┐рд╡рд╛рдЗрд╕ рд╕реЗ рдбрд┐рд╕реНрдХрдиреЗрдХреНрдЯ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдЗрд╕ рд╣реИрдВрдбрд▓ рдХрд╛ рдорд╛рди рд░реАрд╕реЗрдЯ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред

8. рдЕрдм, рдбрд┐рд╡рд╛рдЗрд╕ рдХреА рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреЗ рдореВрд▓реНрдпреЛрдВ рдХреЛ рдмрджрд▓рддреЗ рд╕рдордп, рдПрдХ рдШрдЯрдирд╛ рдХреЛ рдЙрдард╛рдпрд╛ рдЬрд╛рдПрдЧрд╛ ble_evt_attclient_attribute_value(const struct ble_msg_attclient_attribute_value_evt_t *msg)ред рдЖрдк рдкреИрд░рд╛рдореАрдЯрд░ рджреНрд╡рд╛рд░рд╛ рдПрдХ рд╡рд┐рд╢реЗрд╖рддрд╛ рдХреЛ рджреВрд╕рд░реЗ рд╕реЗ рдЕрд▓рдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ : рдорд╛рдкрдиреЗ рдХреА рд╡рд┐рд╢реЗрд╖рддрд╛ рдХреЗ рдореВрд▓реНрдп рдХреА рд╕рдВрд░рдЪрдирд╛ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░реЗрдВ:
msg->atthandle.



typedef struct __attribute__((__packed__)){
uint8 status_flags;
float dose; //    
float doserate_search; //    
uint16 pulses_last2sec; //-       2 
uint8 battery; //     0  100
uint8 temperature; //  
} atomtag_measurement_t;

atomtag_measurement_t measurement_char;

рдЪреВрдВрдХрд┐ рдорд╛рдк рд╡рд┐рд╢реЗрд╖рддрд╛ рдХреЗ рдореВрд▓реНрдп рдореЗрдВ рдмрд╛рдЗрдЯ рдСрд░реНрдбрд░ рдереЛрдбрд╝рд╛ рдПрдВрдбрд┐рдпрди рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЗрди рд╕рднреА рдмрд╛рдЗрдЯреНрд╕ рдХреЛ рдПрдХ рдкреИрдХ рд╕рдВрд░рдЪрдирд╛ рдореЗрдВ рдХреЙрдкреА рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╣реИ:

memcpy((uint8 *)&measurement_char, msg->value.data, msg->value.len);

рдЦреБрд░рд╛рдХ рджрд░ рдХреА рдЧрдгрдирд╛ 6 рдорд┐рдирдЯ рдХреЗ рд╕рдордп рдЕрдВрддрд░рд╛рд▓ рдкрд░ рдХреА рдЬрд╛рдПрдЧреАред рд╣рдо рдкреНрд░рддреНрдпреЗрдХ 6 рдорд┐рдирдЯ рдореЗрдВ рдПрдХ рд╕реЗ рдЕрдзрд┐рдХ рдмрд╛рд░ narodmon.ru рд╕рд░реНрд╡рд░ рдкрд░ рдкреНрд░рд╢рдВрд╕рд╛ рдкрддреНрд░ рдирд╣реАрдВ рднреЗрдЬреЗрдВрдЧреЗред рдЦреБрд░рд╛рдХ рджрд░ рдХреЗ рдЕрд▓рд╛рд╡рд╛, рд╣рдо рдПрдХ рдмреИрдЯрд░реА рдЪрд╛рд░реНрдЬ рдФрд░ рдПрдХ рд╕рд╛рдВрдЦреНрдпрд┐рдХреАрдп рддреНрд░реБрдЯрд┐ рднреЗрдЬреЗрдВрдЧреЗред рд╕рднреА рдЧрдгрдирд╛ ble_evt_attclient_attribute_value()рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдХреЙрд▓рдмреИрдХ рдореЗрдВ рд╣реЛрддреА рд╣реИрдВред main.c.

рд░реАрдбрд┐рдВрдЧ рдХреЛ 8283 narodmon.ru рдкрд░ tpp рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рднреЗрдЬрд╛ рдЬрд╛рддрд╛ рд╣реИред рд╕рд░реНрд╡рд░ рд╕реЗ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреА рдЬрд╛рдБрдЪ рдирд╣реАрдВ рдХреА рдЬрд╛рддреА рд╣реИред рдкрд╛рда рдкреНрд░реЛрдЯреЛрдХреЙрд▓:

#00:00:00:00:00:00\n
#R1#10.5#err = 10%, batt = 100%\n
##

рдкрд╣рд▓реЗ рдбрд┐рд╡рд╛рдЗрд╕ рдХрд╛ рдореИрдХ рдкрддрд╛ (6 рдмрд╛рдЗрдЯреНрд╕) рдЖрддрд╛ рд╣реИред рд╕реНрд░реЛрдд рдореЗрдВ, рдореИрдХ рдкрддреЗ рдХреЛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рд╕рдВрдЪрд╛рд▓рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЗрд╕реЗ рдмрджрд▓рдирд╛ рдордд рднреВрд▓рдирд╛! рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЬрд╣рд╛рдВ 10.5 ╬╝ ╬╝ / h рдореЗрдВ рдЦреБрд░рд╛рдХ рджрд░ рд╣реИ, рдЗрд░реЗрдЯ рд╕рд╛рдВрдЦреНрдпрд┐рдХреАрдп рддреНрд░реБрдЯрд┐ рд╣реИред
рдпрд╣ рд╕рдм gcc рдХреЗ рд╕рд╛рде рд╕рдВрдХрд▓рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ:

gcc -std=gnu99 -lm  main.c cmd_def.c commands.c uart.c web.c -o narodmon-bin

рдУрдПрд╕ рдХреЛ рд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХреЛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдореИрдВрдиреЗ 0 рд╕реЗ рдмрд╛рд╣рд░ рдирд┐рдХрд▓рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдкрдВрдХреНрддрд┐рдпреЛрдВ рдХреЛ r.local рдлрд╛рдЗрд▓ рдореЗрдВ рдЬреЛрдбрд╝рд╛:

cd /
./home/pi/narodmon/narodmon-bin /dev/ttyACM0 5c:31:3e:da:e8:9c

5c: 31: 3e: da: e8: 9c - рдмреНрд▓реВрдЯреВрде рдбрд┐рд╡рд╛рдЗрд╕ рдХрд╛ рдкрддрд╛, рдЬреЛ рдкрддрд╛ рд▓рдЧрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдХреНрдпрд╛ рдЖрдк рдЗрд╕ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХреЛ рд╕реНрдХреИрди рдкреИрд░рд╛рдореАрдЯрд░ рдХреЗ рд╕рд╛рде рдЪрд▓рд╛рддреЗ рд╣реИрдВ:

./narodmon-bin /dev/ttyACM0 scan

рдкрд░рд┐рдгрд╛рдо


рдбрд┐рд╡рд╛рдЗрд╕ рдХреЗ рд╕рдВрдЪрд╛рд▓рди рдХреЗ рдХреБрдЫ рджрд┐рдиреЛрдВ рдХреЗ рдмрд╛рдж, рдЪрд╛рд░реНрдЯ рдкрд░ рджрд┐рд▓рдЪрд╕реНрдк рдЪреАрдЬреЗрдВ рджрд┐рдЦрд╛рдИ рджреАрдВред рдпрд╣рд╛рдВ рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдмрд░реНрдлрдмрд╛рд░реА рдХреЗ рджреМрд░рд╛рди рдЦреБрд░рд╛рдХ рдХреА рджрд░ рдХреИрд╕реЗ рдмрджрд▓ рдЧрдИред 11 рдирд╡рдВрдмрд░ рдХреЛ ~ 17: 00 ... 18: 00 рдШрдВрдЯреЗ, рд░реБрдХ-рд░реБрдХ рдХрд░ рд╣реЛ рд░рд╣реА рдмрд╛рд░рд┐рд╢ рд╕реЗ рдмрд░реНрдлрдмрд╛рд░реА рд╢реБрд░реВ рд╣реЛ рдЧрдИред рдЬреИрд╕реЗ-рдЬреИрд╕реЗ рдмрд░реНрдлрд╝ рдХреЗ рдЖрд╡рд░рдг рдХреА рдореЛрдЯрд╛рдИ рдмрдврд╝рддреА рдЧрдИ, рдФрд╕рдд рдЦреБрд░рд╛рдХ рдХреА рджрд░ рдХрдо рд╣реЛрддреА рдЧрдИред рдбреЛрд╕рд┐рдореАрдЯрд░ рдЬрдореАрди рд╕реЗ 2 рдореАрдЯрд░ рдХреА рдКрдВрдЪрд╛рдИ рдкрд░ рд╕реНрдерд╛рдкрд┐рдд рд╣реИред

рдЦреБрд░рд╛рдХ рджрд░ рдореЗрдВ рдХрдореА рдХреЛ рдЗрд╕ рддрдереНрдп рд╕реЗ рд╕рдордЭрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ рдХрд┐ рдмрд░реНрдл рдХреА рдкрд░рдд рдкреГрдереНрд╡реА рдХреА рд╕рддрд╣ рдкрд░ рдЖрдВрд╢рд┐рдХ рд░реВрдк рд╕реЗ рдкреНрд░рд╛рдХреГрддрд┐рдХ рдЧрд╛рдорд╛ рд╡рд┐рдХрд┐рд░рдг рдХреЛ рдврд╛рд▓рддреА рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдмрд░реНрдл рдХреА рдкрд░рдд рд╕рддрд╣ рдкрд░ рд░реЗрдбреЙрди рдЧреИрд╕ рдХреА рдкрд╣реБрдВрдЪ рдХреЛ рдЕрд╡рд░реБрджреНрдз рдХрд░рддреА рд╣реИ, рдЬрд┐рдирдореЗрдВ рд╕реЗ рдмреЗрдЯреА рдЙрддреНрдкрд╛рджреЛрдВ рдХреЛ рдПрдХ рдкрд╛рд░рдВрдкрд░рд┐рдХ рдбреЛрд╕рдореАрдЯрд░ рджреНрд╡рд╛рд░рд╛ рдкрддрд╛ рд▓рдЧрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

рдЕрдм рд╣рдо рдмрд░реНрдл рдХреА рдореЛрдЯрд╛рдИ рдХрд╛ рдЕрдиреБрдорд╛рди рд▓рдЧрд╛ рд╕рдХрддреЗ рд╣реИрдВ :) рдЙрди рджрд┐рдиреЛрдВ рдореЗрдВ рд▓рдЧрднрдЧ 8-10 рд╕реЗрдВрдЯреАрдореАрдЯрд░ рдмрд░реНрдл рдЧрд┐рд░рддреА рдереАред рджреБрдирд┐рдпрд╛ рдореЗрдВ рд╣рд╡рд╛рдИ рдлреЛрдЯреЛрдЧреНрд░рд╛рдлреА рдХрд╛ рдЕрднреНрдпрд╛рд╕ рдЙрди рдХреНрд╖реЗрддреНрд░реЛрдВ рдореЗрдВ рдмрд░реНрдл рдХреА рдореЛрдЯрд╛рдИ рдХрд╛ рдЖрдХрд▓рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬрд╣рд╛рдВ рдкрдирдмрд┐рдЬрд▓реА рд╕рдВрдпрдВрддреНрд░ рд╕реНрдерд┐рдд рд╣реИрдВ, рддрд╛рдХрд┐ рдпрд╣ рд╕рдордЭрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рд╡рд╕рдВрдд рдореЗрдВ рдХрд┐рд╕ рддрд░рд╣ рдХреА рдмрд╛рдврд╝ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИред рдХреЗрд╡рд▓ рд╡рд╣рд╛рдБ рдЧрд╛рдорд╛ рд╕реНрдкреЗрдХреНрдЯреНрд░реЛрдореАрдЯрд░ scintillation рдбрд┐рдЯреЗрдХреНрдЯрд░реЛрдВ рдХреЗ рд╕рд╛рде рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдЙрдирдХреА рдЕрдзрд┐рдХ рд╕рдВрд╡реЗрджрдирд╢реАрд▓рддрд╛ред

рдПрдХ рд╕рдорд╛рди рддрд╕реНрд╡реАрд░ рд▓реЛрдХ рдирд┐рдЧрд░рд╛рдиреА рд╕реЗрд╡рд╛ рдХреЗ рдЕрдиреНрдп рдбреЙрд╕рд┐рдореАрдЯрд░ рдкрд░ рджреЗрдЦреА рдЬрд╛рддреА рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдЙрдирдореЗрдВ рд╕реЗ рд╕рднреА рдЗрддрдиреА рдмрд╛рд░ рдбреЗрдЯрд╛ рдирд╣реАрдВ рджреЗрддреЗ рд╣реИрдВ рдФрд░ рдпрд╣ рд╕реНрдкрд╖реНрдЯ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдЦреБрд░рд╛рдХ рджрд░ рдХреА рдЧрдгрдирд╛ рдХреЗ рд▓рд┐рдП рдХреНрдпрд╛ рдПрд▓реНрдЧреЛрд░рд┐рджрдо рд╡рд╣рд╛рдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВред

рдЗрдВрдЯрд░рдиреЗрдЯ рдХрдиреЗрдХреНрд╢рди рди рд╣реЛрдиреЗ рдкрд░ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХреЛ рдПрдХ рдмрдлрд░ рдЬреЛрдбрд╝рдХрд░ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рдбреЙрд╕рд┐рдорд┐рдЯрд░ рд░реАрдбрд┐рдВрдЧ рдХреЛ рд╕рд╣реЗрдЬрд╛ рдЬрд╛рдПрдЧрд╛ред рдкреАрдкреБрд▓реНрд╕ рдореЙрдирд┐рдЯрд░рд┐рдВрдЧ рдПрдкреАрдЖрдИ рдЖрдкрдХреЛ рд░реАрдбрд╛рдпрд░реЗрдХреНрдЯрд▓реА рднреЗрдЬрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдпрд╣ рд░рд╛рд╕реНрдкрдмреЗрд░реА рдкрд╛рдИ рдХреЛ рдирд┐рд░реНрдмрд╛рдз рдмрд┐рдЬрд▓реА рдЖрдкреВрд░реНрддрд┐ рд╕реЗ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд╛рдпрдХ рднреА рд╣реИред рдбрд┐рдЬрд╛рдЗрди рдХреА рд╕рд╛рджрдЧреА рдХреЗ рдмрд╛рд╡рдЬреВрдж, рдЕрдкрдЯрд╛рдЗрдо рд▓рдЧрднрдЧ рддреАрд╕ рджрд┐рдиреЛрдВ рдХреЗ рд▓рд┐рдП рдкреНрд░рд╛рдкреНрдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рд░рд╛рд╖реНрдЯреНрд░реАрдп рдирд┐рдЧрд░рд╛рдиреА рдХреЗ рдорд╛рдирдЪрд┐рддреНрд░ рдкрд░ рджреЛрд╕реАрдореАрдЯрд░ рдпрд╣рд╛рдВ рдкрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдХреГрдкрдпрд╛ рдХрд┐рдХ рди рдХрд░реЗрдВ - рдореИрдВ рд▓рд┐рдирдХреНрд╕ рдХреЗ рд▓рд┐рдП рдирдпрд╛ рд╣реВрдВред




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


1. AtomTag dosimeter
2. SDK рдФрд░ Bluegiga BLED112 рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реАрдХрд░рдг
3. рд▓реЛрдЧ рдирд┐рдЧрд░рд╛рдиреА рд╕реЗрд╡рд╛
4. рдмреНрд▓реВрдЯреВрде LE, рд╡рд┐рдирд┐рд░реНрджреЗрд╢реЛрдВ
5. рд░рд╛рд╕реНрдкрдмреЗрд░реА PI рдХреЗ рд▓рд┐рдП рдХрд╛рд░реНрдпрдХреНрд░рдо рдХрд╛ рд╕реНрд░реЛрдд рдХреЛрдб

6. рд▓реЛрдЧ рдореЙрдирд┐рдЯрд░рд┐рдВрдЧ рдирд┐рдЧрд░рд╛рдиреА Android рдЖрд╡реЗрджрди

Source: https://habr.com/ru/post/hi399839/


All Articles