ΠΠ·ΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΠΈ ΠΎΡ NCC Group
ΠΡΡ Π° ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΡΠΈΡΠ°Π½ΠΈ ΠΎΠ±ΡΠΎ 6 ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠΈ Π² ΠΌΡΠ΅ΠΆΠΎΠ²ΠΈΡ ΡΡΠ΅ΠΊ, 4 Π² ΡΠ΄ΡΠΎΡΠΎ, 2 Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½Π°ΡΠ° ΠΎΠ±Π²ΠΈΠ²ΠΊΠ°, 5 Π² ΠΌΠ°Π½ΠΈΠΏΡΠ»Π°ΡΠΎΡΠΈΡΠ΅ Π½Π° ΡΠΈΡΡΠ΅ΠΌΠ½ΠΈ ΠΏΠΎΠ²ΠΈΠΊΠ²Π°Π½ΠΈΡ, 5 Π² USB ΠΏΠΎΠ΄ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ° ΠΈ 3 Π² ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠ° Π·Π° Π°ΠΊΡΡΠ°Π»ΠΈΠ·ΠΈΡΠ°Π½Π΅ Π½Π° ΡΡΡΠΌΡΠ΅ΡΠ°. ΠΠ²Π° ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° ΡΠ° ΠΎΡΠ΅Π½Π΅Π½ΠΈ ΠΊΠ°ΡΠΎ ΠΊΡΠΈΡΠΈΡΠ½ΠΈ, Π΄Π²Π° ΡΠ° Π²ΠΈΡΠΎΠΊΠΈ, 9 ΡΠ° ΡΠΌΠ΅ΡΠ΅Π½ΠΈ, 9 ΡΠ° Π½ΠΈΡΠΊΠΈ ΠΈ 4 ΡΠ° Π·Π° ΡΠ°Π·Π³Π»Π΅ΠΆΠ΄Π°Π½Π΅. ΠΡΠΈΡΠΈΡΠ½ΠΈΡΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ Π·Π°ΡΡΠ³Π°Ρ IPv4 ΡΡΠ΅ΠΊΠ° ΠΈ MQTT Π°Π½Π°Π»ΠΈΠ·Π°ΡΠΎΡΠ°, ΠΎΠΏΠ°ΡΠ½ΠΈΡΠ΅ Π·Π°ΡΡΠ³Π°Ρ USB ΠΌΠ°ΡΠΎΠ²ΠΎΡΠΎ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅ ΠΈ USB DFU Π΄ΡΠ°ΠΉΠ²Π΅ΡΠΈΡΠ΅. ΠΠΎ Π²ΡΠ΅ΠΌΠ΅ Π½Π° ΡΠ°Π·ΠΊΡΠΈΠ²Π°Π½Π΅ΡΠΎ Π½Π° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡΡΠ° Π±ΡΡ Π° ΠΏΠΎΠ΄Π³ΠΎΡΠ²Π΅Π½ΠΈ ΠΊΠΎΡΠ΅ΠΊΡΠΈΠΈ ΡΠ°ΠΌΠΎ Π·Π° 15 ΠΎΡ Π½Π°ΠΉ-ΠΎΠΏΠ°ΡΠ½ΠΈΡΠ΅ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠΈ; ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ, Π²ΠΎΠ΄Π΅ΡΠΈ Π΄ΠΎ ΠΎΡΠΊΠ°Π· Π½Π° ΡΡΠ»ΡΠ³Π° ΠΈΠ»ΠΈ ΡΠ²ΡΡΠ·Π°Π½ΠΈ Ρ Π½Π΅Π΄ΠΎΡΡΠ°ΡΡΡΠΈ Π² Π΄ΠΎΠΏΡΠ»Π½ΠΈΡΠ΅Π»Π½ΠΈ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠΈ Π·Π° Π·Π°ΡΠΈΡΠ° Π½Π° ΡΠ΄ΡΠΎΡΠΎ, ΠΎΡΡΠ°Π²Π°Ρ Π½Π΅ΠΊΠΎΡΠΈΠ³ΠΈΡΠ°Π½ΠΈ.
Π IPv4 ΡΡΠ΅ΠΊΠ° Π½Π° ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ°ΡΠ° Π΅ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΡΠΈΡΠ°Π½Π° ΡΡΠ·Π²ΠΈΠΌΠΎΡΡ, ΠΊΠΎΡΡΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΠΎΡ ΡΠ°Π·ΡΡΠΎΡΠ½ΠΈΠ΅, ΠΊΠΎΠ΅ΡΠΎ Π²ΠΎΠ΄ΠΈ Π΄ΠΎ ΠΏΠΎΠ²ΡΠ΅Π΄Π° Π½Π° ΠΏΠ°ΠΌΠ΅ΡΡΠ° ΠΏΡΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° Π½Π° ICMP ΠΏΠ°ΠΊΠ΅ΡΠΈ, ΠΌΠΎΠ΄ΠΈΡΠΈΡΠΈΡΠ°Π½ΠΈ ΠΏΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ Π½Π°ΡΠΈΠ½. ΠΡΡΠ³ ΡΠ΅ΡΠΈΠΎΠ·Π΅Π½ ΠΏΡΠΎΠ±Π»Π΅ΠΌ Π±Π΅ΡΠ΅ ΠΎΡΠΊΡΠΈΡ Π² Π°Π½Π°Π»ΠΈΠ·Π°ΡΠΎΡΠ° Π½Π° ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π° MQTT, ΠΊΠΎΠΉΡΠΎ Π΅ ΠΏΡΠΈΡΠΈΠ½Π΅Π½ ΠΎΡ Π»ΠΈΠΏΡΠ° Π½Π° ΠΏΡΠ°Π²ΠΈΠ»Π½Π° ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° Π½Π° Π΄ΡΠ»ΠΆΠΈΠ½Π°ΡΠ° Π½Π° ΠΏΠΎΠ»Π΅ΡΠΎ Π½Π° Π·Π°Π³Π»Π°Π²ΠΊΠ°ΡΠ° ΠΈ ΠΌΠΎΠΆΠ΅ Π΄Π° Π΄ΠΎΠ²Π΅Π΄Π΅ Π΄ΠΎ Π΄ΠΈΡΡΠ°Π½ΡΠΈΠΎΠ½Π½ΠΎ ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ Π½Π° ΠΊΠΎΠ΄. ΠΠΎ-ΠΌΠ°Π»ΠΊΠΎ ΡΠ΅ΠΆΠΊΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ Ρ ΠΎΡΠΊΠ°Π· Π½Π° ΡΡΠ»ΡΠ³Π° ΡΠ΅ ΡΡΠ΅ΡΠ°Ρ Π² IPv6 ΡΡΠ΅ΠΊΠ° ΠΈ ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ΡΠΎ Π½Π° ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π° CoAP.
ΠΡΡΠ³ΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ ΠΌΠΎΠ³Π°Ρ Π΄Π° Π±ΡΠ΄Π°Ρ Π΅ΠΊΡΠΏΠ»ΠΎΠ°ΡΠΈΡΠ°Π½ΠΈ Π»ΠΎΠΊΠ°Π»Π½ΠΎ, Π·Π° Π΄Π° ΠΏΡΠΈΡΠΈΠ½ΡΡ ΠΎΡΠΊΠ°Π· Π½Π° ΡΡΠ»ΡΠ³Π° ΠΈΠ»ΠΈ Π΄Π° ΠΈΠ·ΠΏΡΠ»Π½ΡΡ ΠΊΠΎΠ΄ Π½Π° Π½ΠΈΠ²ΠΎ ΡΠ΄ΡΠΎ. ΠΠΎΠ²Π΅ΡΠ΅ΡΠΎ ΠΎΡ ΡΠ΅Π·ΠΈ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠΈ ΡΠ° ΡΠ²ΡΡΠ·Π°Π½ΠΈ Ρ Π»ΠΈΠΏΡΠ°ΡΠ° Π½Π° ΠΏΡΠ°Π²ΠΈΠ»Π½ΠΈ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ Π½Π° Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΈΡΠ΅ Π½Π° ΡΠΈΡΡΠ΅ΠΌΠ½ΠΈΡΠ΅ ΠΏΠΎΠ²ΠΈΠΊΠ²Π°Π½ΠΈΡ ΠΈ ΠΌΠΎΠ³Π°Ρ Π΄Π° Π΄ΠΎΠ²Π΅Π΄Π°Ρ Π΄ΠΎ Π·Π°ΠΏΠΈΡΠ²Π°Π½Π΅ ΠΈ ΡΠ΅ΡΠ΅Π½Π΅ Π½Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»Π½ΠΈ ΠΎΠ±Π»Π°ΡΡΠΈ ΠΎΡ ΠΏΠ°ΠΌΠ΅ΡΡΠ° Π½Π° ΡΠ΄ΡΠΎΡΠΎ. ΠΡΠΎΠ±Π»Π΅ΠΌΠΈΡΠ΅ ΡΠ΅ ΠΏΡΠΎΡΡΠΈΡΠ°Ρ ΠΈ Π΄ΠΎ ΡΠ°ΠΌΠΈΡ ΠΊΠΎΠ΄ Π·Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° Π½Π° ΡΠΈΡΡΠ΅ΠΌΠ½ΠΎ ΠΏΠΎΠ²ΠΈΠΊΠ²Π°Π½Π΅ - ΠΈΠ·Π²ΠΈΠΊΠ²Π°Π½Π΅ΡΠΎ Π½Π° ΠΎΡΡΠΈΡΠ°ΡΠ΅Π»Π΅Π½ Π½ΠΎΠΌΠ΅Ρ Π½Π° ΡΠΈΡΡΠ΅ΠΌΠ½ΠΎ ΠΏΠΎΠ²ΠΈΠΊΠ²Π°Π½Π΅ Π²ΠΎΠ΄ΠΈ Π΄ΠΎ ΠΏΡΠ΅ΠΏΡΠ»Π²Π°Π½Π΅ Π½Π° ΡΡΠ»ΠΎ ΡΠΈΡΠ»ΠΎ. Π―Π΄ΡΠΎΡΠΎ ΡΡΡΠΎ ΡΠ°ΠΊΠ° ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΡΠΈΡΠ° ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ ΠΏΡΠΈ Π²Π½Π΅Π΄ΡΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° ASLR Π·Π°ΡΠΈΡΠ° (ΡΠ°Π½Π΄ΠΎΠΌΠΈΠ·Π°ΡΠΈΡ Π½Π° Π°Π΄ΡΠ΅ΡΠ½ΠΎΡΠΎ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ) ΠΈ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠ° Π·Π° Π·Π°Π΄Π°Π²Π°Π½Π΅ Π½Π° ΠΊΠ°Π½Π°ΡΡΠ΅ΡΠ° Π² ΡΡΠ΅ΠΊΠ°, ΠΊΠΎΠ΅ΡΠΎ ΠΏΡΠ°Π²ΠΈ ΡΠ΅Π·ΠΈ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠΈ Π½Π΅Π΅ΡΠ΅ΠΊΡΠΈΠ²Π½ΠΈ.
ΠΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ Π·Π°ΡΡΠ³Π°Ρ USB ΡΡΠ΅ΠΊΠ° ΠΈ ΠΎΡΠ΄Π΅Π»Π½ΠΈΡΠ΅ Π΄ΡΠ°ΠΉΠ²Π΅ΡΠΈ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈΡΠ΅ Π² USB ΠΏΠ°ΠΌΠ΅ΡΡΠ° ΠΌΠΎΠ³Π°Ρ Π΄Π° ΠΏΡΠΈΡΠΈΠ½ΡΡ ΠΏΡΠ΅ΠΏΡΠ»Π²Π°Π½Π΅ Π½Π° Π±ΡΡΠ΅ΡΠ° ΠΈ Π΄Π° ΠΈΠ·ΠΏΡΠ»Π½ΡΡ ΠΊΠΎΠ΄ Π½Π° Π½ΠΈΠ²ΠΎ ΡΠ΄ΡΠΎ, ΠΊΠΎΠ³Π°ΡΠΎ ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎΡΠΎ Π΅ ΡΠ²ΡΡΠ·Π°Π½ΠΎ ΠΊΡΠΌ USB Ρ
ΠΎΡΡ, ΠΊΠΎΠ½ΡΡΠΎΠ»ΠΈΡΠ°Π½ ΠΎΡ Π°ΡΠ°ΠΊΡΠ²Π°ΡΠΈΡ. Π£ΡΠ·Π²ΠΈΠΌΠΎΡΡ Π² USB DFU, Π΄ΡΠ°ΠΉΠ²Π΅Ρ Π·Π° Π·Π°ΡΠ΅ΠΆΠ΄Π°Π½Π΅ Π½Π° Π½ΠΎΠ² ΡΡΡΠΌΡΠ΅Ρ ΠΏΡΠ΅Π· USB, Π²ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π΄Π° Π·Π°ΡΠ΅Π΄ΠΈΡΠ΅ ΠΌΠΎΠ΄ΠΈΡΠΈΡΠΈΡΠ°Π½ΠΎ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ Π½Π° ΡΡΡΠΌΡΠ΅ΡΠ° Π²ΡΠ² Π²ΡΡΡΠ΅ΡΠ½Π°ΡΠ° Flash Π½Π° ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π΅ΡΠ°, Π±Π΅Π· Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΡΠ΅ ΠΊΡΠΈΠΏΡΠΈΡΠ°Π½Π΅ ΠΈ Π·Π°ΠΎΠ±ΠΈΠΊΠ°Π»ΡΠΉΠΊΠΈ ΡΠ΅ΠΆΠΈΠΌΠ° Π½Π° Π·Π°ΡΠΈΡΠ΅Π½ΠΎ Π·Π°ΡΠ΅ΠΆΠ΄Π°Π½Π΅ Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° Π½Π° ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° ΡΠΈΡΡΠΎΠ² ΠΏΠΎΠ΄ΠΏΠΈΡ. ΠΡΠ²Π΅Π½ ΡΠΎΠ²Π° Π±Π΅ΡΠ΅ ΠΏΡΠΎΡΡΠ΅Π½ ΠΊΠΎΠ΄ΡΡ Π½Π° ΠΎΡΠ²ΠΎΡΠ΅Π½ΠΈΡ Π±ΡΡΡΠ»ΠΎΡΠ΄ΡΡ
ΠΊΠΎΠ΅ΡΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° Π΄ΠΎΠ²Π΅Π΄Π΅ Π΄ΠΎ ΠΏΡΠ΅ΠΏΡΠ»Π²Π°Π½Π΅ Π½Π° Π±ΡΡΠ΅ΡΠ° ΠΏΡΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° SMP (Simple Management Protocol) ΠΏΡΠΎΡΠΎΠΊΠΎΠ» ΠΏΡΠ΅Π· UART.
Π‘ΠΏΠΎΠΌΠ½Π΅ΡΠ΅ ΡΠΈ, ΡΠ΅ Π² Zephyr Π·Π° Π²ΡΠΈΡΠΊΠΈ ΠΏΡΠΎΡΠ΅ΡΠΈ Π΅ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π΅Π½ΠΎ ΡΠ°ΠΌΠΎ Π΅Π΄Π½ΠΎ Π³Π»ΠΎΠ±Π°Π»Π½ΠΎ ΡΠΏΠΎΠ΄Π΅Π»Π΅Π½ΠΎ Π²ΠΈΡΡΡΠ°Π»Π½ΠΎ Π°Π΄ΡΠ΅ΡΠ½ΠΎ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ (SASOS, Single Address Space Operating System). Π‘ΠΏΠ΅ΡΠΈΡΠΈΡΠ½ΠΈΡΡ Π·Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΡΠΎ ΠΊΠΎΠ΄ ΡΠ΅ ΠΊΠΎΠΌΠ±ΠΈΠ½ΠΈΡΠ° ΡΡΡ ΡΠΏΠ΅ΡΠΈΡΠΈΡΠ½ΠΎ Π·Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΡΠΎ ΡΠ΄ΡΠΎ, Π·Π° Π΄Π° ΡΠ΅ ΠΎΠ±ΡΠ°Π·ΡΠ²Π° ΠΌΠΎΠ½ΠΎΠ»ΠΈΡΠ΅Π½ ΠΈΠ·ΠΏΡΠ»Π½ΠΈΠΌ ΡΠ°ΠΉΠ», ΠΊΠΎΠΉΡΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ Π·Π°ΡΠ΅ΠΆΠ΄Π° ΠΈ ΠΈΠ·ΠΏΡΠ»Π½ΡΠ²Π° Π½Π° ΡΠΏΠ΅ΡΠΈΡΠΈΡΠ΅Π½ Ρ Π°ΡΠ΄ΡΠ΅Ρ. ΠΡΠΈΡΠΊΠΈ ΡΠΈΡΡΠ΅ΠΌΠ½ΠΈ ΡΠ΅ΡΡΡΡΠΈ ΡΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡ ΠΏΠΎ Π²ΡΠ΅ΠΌΠ΅ Π½Π° ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠ°Π½Π΅, Π½Π°ΠΌΠ°Π»ΡΠ²Π°ΠΉΠΊΠΈ ΡΠ°Π·ΠΌΠ΅ΡΠ° Π½Π° ΠΊΠΎΠ΄Π° ΠΈ ΡΠ²Π΅Π»ΠΈΡΠ°Π²Π°ΠΉΠΊΠΈ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡΡΠ°. Π‘ΠΈΡΡΠ΅ΠΌΠ½ΠΈΡΡ ΠΎΠ±ΡΠ°Π· ΠΌΠΎΠΆΠ΅ Π΄Π° Π²ΠΊΠ»ΡΡΠ²Π° ΡΠ°ΠΌΠΎ ΡΠ΅Π·ΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ Π½Π° ΡΠ΄ΡΠΎΡΠΎ, ΠΊΠΎΠΈΡΠΎ ΡΠ° Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΈ Π·Π° ΡΡΠ°ΡΡΠΈΡΠ°Π½Π΅ Π½Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΡΠΎ.
Π’ΡΡΠ±Π²Π° Π΄Π° ΡΠ΅ ΠΎΡΠ±Π΅Π»Π΅ΠΆΠΈ, ΡΠ΅ ΡΡΠ΅Π΄ ΠΎΡΠ½ΠΎΠ²Π½ΠΈΡΠ΅ ΠΏΡΠ΅Π΄ΠΈΠΌΡΡΠ²Π° Π½Π° Zephyr
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: opennet.ru