āĻ•ā§āϞāĻžāωāĻĄ āĻ¸ā§āĻŽāĻžāĻ°ā§āϟ āĻšā§‹āĻŽāĨ¤ āĻĒāĻžāĻ°ā§āϟ 1: āĻ•āĻ¨ā§āĻŸā§āϰ⧋āϞāĻžāϰ āĻāĻŦāĻ‚ āϏ⧇āĻ¨ā§āϏāϰ

āĻ•ā§āϞāĻžāωāĻĄ āĻ¸ā§āĻŽāĻžāĻ°ā§āϟ āĻšā§‹āĻŽāĨ¤ āĻĒāĻžāĻ°ā§āϟ 1: āĻ•āĻ¨ā§āĻŸā§āϰ⧋āϞāĻžāϰ āĻāĻŦāĻ‚ āϏ⧇āĻ¨ā§āϏāϰ

āφāϜ, āĻŽāĻžāχāĻ•ā§āϰ⧋āχāϞ⧇āĻ•ā§āĻŸā§āϰāύāĻŋāĻ•ā§āϏ, āϝ⧋āĻ—āĻžāϝ⧋āĻ— āĻšā§āϝāĻžāύ⧇āϞ, āχāĻ¨ā§āϟāĻžāϰāύ⧇āϟ āĻĒā§āϰāϝ⧁āĻ•ā§āϤāĻŋ āĻāĻŦāĻ‚ āĻ•ā§ƒāĻ¤ā§āϰāĻŋāĻŽ āĻŦ⧁āĻĻā§āϧāĻŋāĻŽāĻ¤ā§āϤāĻžāϰ āĻĻā§āϰ⧁āϤ āĻŦāĻŋāĻ•āĻžāĻļ⧇āϰ āϜāĻ¨ā§āϝ āϧāĻ¨ā§āϝāĻŦāĻžāĻĻ, āĻ¸ā§āĻŽāĻžāĻ°ā§āϟ āĻšā§‹āĻŽā§‡āϰ āĻŦāĻŋāώāϝāĻŧāϟāĻŋ āφāϰāĻ“ āĻŦ⧇āĻļāĻŋ āĻĒā§āϰāĻžāϏāĻ™ā§āĻ—āĻŋāĻ• āĻšāϝāĻŧ⧇ āωāĻ āϛ⧇āĨ¤ āĻĒā§āϰāĻ¸ā§āϤāϰ āϝ⧁āĻ— āĻĨ⧇āϕ⧇ āĻŽāĻžāύ⧁āώ⧇āϰ āφāĻŦāĻžāϏāύ⧇ āωāĻ˛ā§āϞ⧇āĻ–āϝ⧋āĻ—ā§āϝ āĻĒāϰāĻŋāĻŦāĻ°ā§āϤāύ āĻšāϝāĻŧ⧇āϛ⧇ āĻāĻŦāĻ‚ āĻļāĻŋāĻ˛ā§āĻĒ āĻŦāĻŋāĻĒā§āϞāĻŦ 4.0 āĻāĻŦāĻ‚ āχāĻ¨ā§āϟāĻžāϰāύ⧇āϟ āĻ…āĻĢ āĻĨāĻŋāĻ‚āϏ⧇āϰ āϝ⧁āϗ⧇ āĻāϟāĻŋ āφāϰāĻžāĻŽāĻĻāĻžāϝāĻŧāĻ•, āĻ•āĻžāĻ°ā§āϝāĻ•āϰ⧀ āĻāĻŦāĻ‚ āύāĻŋāϰāĻžāĻĒāĻĻ āĻšāϝāĻŧ⧇ āωāϠ⧇āϛ⧇āĨ¤ āϏāĻŽāĻžāϧāĻžāύ āĻŦāĻžāϜāĻžāϰ⧇ āφāϏāϛ⧇ āϝāĻž āĻāĻ•āϟāĻŋ āĻ…ā§āϝāĻžāĻĒāĻžāĻ°ā§āϟāĻŽā§‡āĻ¨ā§āϟ āĻŦāĻž āĻāĻ•āϟāĻŋ āĻĻ⧇āĻļ⧇āϰ āĻŦāĻžāĻĄāĻŧāĻŋāϕ⧇ āĻ¸ā§āĻŽāĻžāĻ°ā§āϟāĻĢā§‹āύ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧇ āĻŦāĻŋāĻļā§āĻŦ⧇āϰ āϝ⧇āϕ⧋āύ⧋ āĻ¸ā§āĻĨāĻžāύ āĻĨ⧇āϕ⧇ āύāĻŋāϝāĻŧāĻ¨ā§āĻ¤ā§āϰāĻŋāϤ āϜāϟāĻŋāϞ āϤāĻĨā§āϝ āϏāĻŋāĻ¸ā§āĻŸā§‡āĻŽā§‡ āĻĒāϰāĻŋāĻŖāϤ āĻ•āϰ⧇āĨ¤ āϤāĻĻ⧁āĻĒāϰāĻŋ, āĻŽāĻžāύāĻŦ-āĻŽā§‡āĻļāĻŋāύ āĻŽāĻŋāĻĨāĻ¸ā§āĻ•ā§āϰāĻŋāϝāĻŧāĻžāϤ⧇ āφāϰ āĻĒā§āϰ⧋āĻ—ā§āϰāĻžāĻŽāĻŋāĻ‚ āĻ­āĻžāώāĻžāϰ āĻœā§āĻžāĻžāύ⧇āϰ āĻĒā§āϰāϝāĻŧā§‹āϜāύ āĻšāϝāĻŧ āύāĻž - āĻ¸ā§āĻĒāĻŋāϚ āϰāĻŋāĻ•āĻ—āύāĻŋāĻļāύ āĻāĻŦāĻ‚ āϏāĻ‚āĻļā§āϞ⧇āώāĻŖ āĻ…ā§āϝāĻžāϞāĻ—āϰāĻŋāĻĻāĻŽāϗ⧁āϞāĻŋāϰ āϜāĻ¨ā§āϝ āϧāĻ¨ā§āϝāĻŦāĻžāĻĻ, āĻāĻ•āϜāύ āĻŦā§āϝāĻ•ā§āϤāĻŋ āϤāĻžāĻĻ⧇āϰ āĻ¸ā§āĻĨāĻžāύ⧀āϝāĻŧ āĻ­āĻžāώāĻžāϝāĻŧ āĻāĻ•āϟāĻŋ āĻ¸ā§āĻŽāĻžāĻ°ā§āϟ āĻšā§‹āĻŽā§‡āϰ āϏāĻžāĻĨ⧇ āĻ•āĻĨāĻž āĻŦāϞ⧇āĨ¤

āĻŦāĻ°ā§āϤāĻŽāĻžāύ⧇ āĻŦāĻžāϜāĻžāϰ⧇ āĻĨāĻžāĻ•āĻž āĻ•āĻŋāϛ⧁ āĻ¸ā§āĻŽāĻžāĻ°ā§āϟ āĻšā§‹āĻŽ āϏāĻŋāĻ¸ā§āĻŸā§‡āĻŽ āĻšāϞ āĻ•ā§āϞāĻžāωāĻĄ āĻ­āĻŋāĻĄāĻŋāĻ“ āύāϜāϰāĻĻāĻžāϰāĻŋ āϏāĻŋāĻ¸ā§āĻŸā§‡āĻŽā§‡āϰ āĻāĻ•āϟāĻŋ āϝ⧌āĻ•ā§āϤāĻŋāĻ• āĻŦāĻŋāĻ•āĻžāĻļ, āϝāĻžāϰ āĻŦāĻŋāĻ•āĻžāĻļāĻ•āĻžāϰ⧀āϰāĻž āϕ⧇āĻŦāϞ āĻĒāĻ°ā§āϝāĻŦ⧇āĻ•ā§āώāϪ⧇āϰ āϜāĻ¨ā§āϝ āύāϝāĻŧ, āĻĻā§‚āϰāĻŦāĻ°ā§āϤ⧀ āĻŦāĻ¸ā§āϤ⧁āϗ⧁āϞāĻŋ āĻĒāϰāĻŋāϚāĻžāϞāύāĻžāϰ āϜāĻ¨ā§āϝāĻ“ āĻāĻ•āϟāĻŋ āĻŦāĻŋāĻ¸ā§āϤ⧃āϤ āϏāĻŽāĻžāϧāĻžāύ⧇āϰ āĻĒā§āϰāϝāĻŧā§‹āϜāύ⧀āϝāĻŧāϤāĻž āωāĻĒāϞāĻŦā§āϧāĻŋ āĻ•āϰ⧇āϛ⧇āύāĨ¤

āφāĻŽāϰāĻž āφāĻĒāύāĻžāϰ āύāϜāϰ⧇ āϤāĻŋāύāϟāĻŋ āύāĻŋāĻŦāĻ¨ā§āϧ⧇āϰ āĻāĻ•āϟāĻŋ āϏāĻŋāϰāĻŋāϜ āωāĻĒāĻ¸ā§āĻĨāĻžāĻĒāύ āĻ•āϰāĻ›āĻŋ, āϝāĻž āφāĻĒāύāĻžāϕ⧇ āĻāĻ•āϟāĻŋ āĻ•ā§āϞāĻžāωāĻĄ āĻ¸ā§āĻŽāĻžāĻ°ā§āϟ āĻšā§‹āĻŽ āϏāĻŋāĻ¸ā§āĻŸā§‡āĻŽā§‡āϰ āϏāĻŽāĻ¸ā§āϤ āĻĒā§āϰāϧāĻžāύ āωāĻĒāĻžāĻĻāĻžāύ āϏāĻŽā§āĻĒāĻ°ā§āϕ⧇ āĻŦāϞāĻŦ⧇, āϝāĻž āϞ⧇āĻ–āĻ• āĻĻā§āĻŦāĻžāϰāĻž āĻŦā§āϝāĻ•ā§āϤāĻŋāĻ—āϤāĻ­āĻžāĻŦ⧇ āϤ⧈āϰāĻŋ āĻ•āϰāĻž āĻšāϝāĻŧ⧇āϛ⧇ āĻāĻŦāĻ‚ āĻ•āĻžāĻ°ā§āϝāĻ•āϰ āĻ•āϰāĻž āĻšāϝāĻŧ⧇āϛ⧇āĨ¤ āĻĒā§āϰāĻĨāĻŽ āύāĻŋāĻŦāĻ¨ā§āϧāϟāĻŋ āĻāĻ•āϟāĻŋ āĻ¸ā§āĻŽāĻžāĻ°ā§āϟ āĻšā§‹āĻŽā§‡āϰ āĻ…āĻ­ā§āϝāĻ¨ā§āϤāϰ⧇ āχāύāĻ¸ā§āϟāϞ āĻ•āϰāĻž āϟāĻžāĻ°ā§āĻŽāĻŋāύāĻžāϞ āĻ•ā§āϞāĻžāϝāĻŧ⧇āĻ¨ā§āϟ āϏāϰāĻžā§āϜāĻžāĻŽ, āĻĻā§āĻŦāĻŋāϤ⧀āϝāĻŧāϟāĻŋ āĻ•ā§āϞāĻžāωāĻĄ āĻ¸ā§āĻŸā§‹āϰ⧇āϜ āĻāĻŦāĻ‚ āĻĄā§‡āϟāĻž āĻĒā§āϰāϏ⧇āϏāĻŋāĻ‚ āϏāĻŋāĻ¸ā§āĻŸā§‡āĻŽā§‡āϰ āφāĻ°ā§āĻ•āĻŋāĻŸā§‡āĻ•āϚāĻžāϰ āĻāĻŦāĻ‚ āĻ…āĻŦāĻļ⧇āώ⧇, āĻŽā§‹āĻŦāĻžāχāϞ āĻāĻŦāĻ‚ āĻ¸ā§āĻĨāĻŋāϰ āĻĄāĻŋāĻ­āĻžāχāϏ⧇ āϏāĻŋāĻ¸ā§āĻŸā§‡āĻŽ āĻĒāϰāĻŋāϚāĻžāϞāύāĻžāϰ āϜāĻ¨ā§āϝ āϤ⧃āϤ⧀āϝāĻŧāϟāĻŋ āĻ•ā§āϞāĻžāϝāĻŧ⧇āĻ¨ā§āϟ āĻ…ā§āϝāĻžāĻĒā§āϞāĻŋāϕ⧇āĻļāύ⧇āϰ āϜāĻ¨ā§āϝ āωāĻ¤ā§āϏāĻ°ā§āĻ—ā§€āĻ•ā§ƒāϤ⧎

āĻ¸ā§āĻŽāĻžāĻ°ā§āϟ āĻšā§‹āĻŽ āϏāϰāĻžā§āϜāĻžāĻŽ

āĻĒā§āϰāĻĨāĻŽāϤ, āφāϏ⧁āύ āĻāĻ•āϟāĻŋ āϏāĻžāϧāĻžāϰāĻŖ āĻ…ā§āϝāĻžāĻĒāĻžāĻ°ā§āϟāĻŽā§‡āĻ¨ā§āϟ, āĻĻāĻžāϚāĻž āĻŦāĻž āϕ⧁āϟāĻŋāϰ āĻĨ⧇āϕ⧇ āϕ⧀āĻ­āĻžāĻŦ⧇ āĻāĻ•āϟāĻŋ āĻ¸ā§āĻŽāĻžāĻ°ā§āϟ āĻŦāĻžāĻĄāĻŧāĻŋ āϤ⧈āϰāĻŋ āĻ•āϰāĻž āϝāĻžāϝāĻŧ āϏ⧇ āϏāĻŽā§āĻĒāĻ°ā§āϕ⧇ āĻ•āĻĨāĻž āĻŦāϞāĻŋāĨ¤ āĻāϟāĻŋ āĻ•āϰāĻžāϰ āϜāĻ¨ā§āϝ, āĻāĻ•āϟāĻŋ āύāĻŋāϝāĻŧāĻŽ āĻšāĻŋāϏāĻžāĻŦ⧇, āĻŦāĻžāĻĄāĻŧāĻŋāϤ⧇ āύāĻŋāĻŽā§āύāϞāĻŋāĻ–āĻŋāϤ āϏāϰāĻžā§āϜāĻžāĻŽ āĻ¸ā§āĻĨāĻžāĻĒāύ āĻ•āϰāĻž āĻĒā§āϰāϝāĻŧā§‹āϜāύ:

  1. āϏ⧇āĻ¨ā§āϏāϰ āϝāĻž āĻŦāĻŋāĻ­āĻŋāĻ¨ā§āύ āĻĒāϰāĻŋāĻŦ⧇āĻļāĻ—āϤ āĻĒāϰāĻžāĻŽāĻŋāϤāĻŋ āĻĒāϰāĻŋāĻŽāĻžāĻĒ āĻ•āϰ⧇;
  2. āĻŦāĻžāĻšā§āϝāĻŋāĻ• āĻŦāĻ¸ā§āϤ⧁āϰ āωāĻĒāϰ āĻ…āĻ­āĻŋāύāϝāĻŧāĻ•āĻžāϰ⧀ actuators;
  3. āĻāĻ•āϟāĻŋ āύāĻŋāϝāĻŧāĻžāĻŽāĻ• āϝāĻž āϏ⧇āĻ¨ā§āϏāϰ āĻĒāϰāĻŋāĻŽāĻžāĻĒ āĻāĻŦāĻ‚ āĻāĻŽāĻŦ⧇āĻĄā§‡āĻĄ āϞāϜāĻŋāĻ• āĻ…āύ⧁āϝāĻžāϝāĻŧā§€ āĻ—āĻŖāύāĻž āĻ•āϰ⧇ āĻāĻŦāĻ‚ āĻ…ā§āϝāĻžāĻ•āϚ⧁āϝāĻŧ⧇āϟāϰāĻĻ⧇āϰ āύāĻŋāĻ°ā§āĻĻ⧇āĻļ āϜāĻžāϰāĻŋ āĻ•āϰ⧇āĨ¤

āύāĻŋāĻšā§‡āϰ āϚāĻŋāĻ¤ā§āϰāϟāĻŋ āĻāĻ•āϟāĻŋ āĻ¸ā§āĻŽāĻžāĻ°ā§āϟ āĻšā§‹āĻŽā§‡āϰ āĻāĻ•āϟāĻŋ āĻĄāĻžāϝāĻŧāĻžāĻ—ā§āϰāĻžāĻŽ āĻĻ⧇āĻ–āĻžāϝāĻŧ, āϝāĻžāϰ āωāĻĒāϰ āĻŦāĻžāĻĨāϰ⧁āĻŽā§‡ āĻĒāĻžāύāĻŋāϰ āĻĢ⧁āĻŸā§‹ (1), āĻŦ⧇āĻĄāϰ⧁āĻŽā§‡ āϤāĻžāĻĒāĻŽāĻžāĻ¤ā§āϰāĻž (2) āĻāĻŦāĻ‚ āφāϞ⧋ (3), āϰāĻžāĻ¨ā§āύāĻžāϘāϰ⧇ āĻāĻ•āϟāĻŋ āĻ¸ā§āĻŽāĻžāĻ°ā§āϟ āϏāϕ⧇āϟ (4) āĻāĻŦāĻ‚ āĻāĻ•āϟāĻŋ āĻšāϞāĻ“āϝāĻŧ⧇āϤ⧇ āĻ­āĻŋāĻĄāĻŋāĻ“ āύāϜāϰāĻĻāĻžāϰāĻŋ āĻ•ā§āϝāĻžāĻŽā§‡āϰāĻž (5)āĨ¤

āĻ•ā§āϞāĻžāωāĻĄ āĻ¸ā§āĻŽāĻžāĻ°ā§āϟ āĻšā§‹āĻŽāĨ¤ āĻĒāĻžāĻ°ā§āϟ 1: āĻ•āĻ¨ā§āĻŸā§āϰ⧋āϞāĻžāϰ āĻāĻŦāĻ‚ āϏ⧇āĻ¨ā§āϏāϰ

āĻŦāĻ°ā§āϤāĻŽāĻžāύ⧇, RF433, Z-Wave, ZigBee, āĻŦā§āϞ⧁āϟ⧁āĻĨ āĻāĻŦāĻ‚ āĻ“āϝāĻŧāĻžāχāĻĢāĻžāχ āĻĒā§āϰ⧋āĻŸā§‹āĻ•āϞ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧇ āĻ•āĻžāϜ āĻ•āϰāĻž āĻ“āϝāĻŧā§āϝāĻžāϰāϞ⧇āϏ āϏ⧇āĻ¨ā§āϏāϰ āĻŦā§āϝāĻžāĻĒāĻ•āĻ­āĻžāĻŦ⧇ āĻŦā§āϝāĻŦāĻšā§ƒāϤ āĻšāϝāĻŧāĨ¤ āϤāĻžāĻĻ⧇āϰ āĻĒā§āϰāϧāĻžāύ āϏ⧁āĻŦāĻŋāϧāĻž āĻšāϞ āχāύāĻ¸ā§āϟāϞ⧇āĻļāύ āĻāĻŦāĻ‚ āĻŦā§āϝāĻŦāĻšāĻžāϰ⧇āϰ āϏāĻšāϜāϤāĻž, āϏ⧇āχāϏāĻžāĻĨ⧇ āĻ•āĻŽ āĻ–āϰāϚ āĻāĻŦāĻ‚ āύāĻŋāĻ°ā§āĻ­āϰāϝ⧋āĻ—ā§āϝāϤāĻž, āĻ•āĻžāϰāĻŖ āύāĻŋāĻ°ā§āĻŽāĻžāϤāĻžāϰāĻž āϤāĻžāĻĻ⧇āϰ āĻĄāĻŋāĻ­āĻžāχāϏāϗ⧁āϞāĻŋāϕ⧇ āĻŦā§āϝāĻžāĻĒāĻ• āĻŦāĻžāϜāĻžāϰ⧇ āφāύāϤ⧇ āĻāĻŦāĻ‚ āĻ—āĻĄāĻŧ āĻŦā§āϝāĻŦāĻšāĻžāϰāĻ•āĻžāϰ⧀āϰ āĻ•āĻžāϛ⧇ āϤāĻžāĻĻ⧇āϰ āĻ…ā§āϝāĻžāĻ•ā§āϏ⧇āϏāϝ⧋āĻ—ā§āϝ āĻ•āϰ⧇ āϤ⧁āϞāϤ⧇ āϏāĻšā§‡āĻˇā§āϟāĨ¤

āϏ⧇āĻ¨ā§āϏāϰ āĻāĻŦāĻ‚ āĻ…ā§āϝāĻžāĻ•āϚ⧁āϝāĻŧ⧇āϟāϰ, āĻāĻ•āϟāĻŋ āύāĻŋāϝāĻŧāĻŽ āĻšāĻŋāϏāĻžāĻŦ⧇, āĻāĻ•āϟāĻŋ āĻ¸ā§āĻŽāĻžāĻ°ā§āϟ āĻšā§‹āĻŽ āĻ•āĻ¨ā§āĻŸā§āϰ⧋āϞāĻžāϰ (6) āĻāϰ āϏāĻžāĻĨ⧇ āĻāĻ•āϟāĻŋ āĻŦ⧇āϤāĻžāϰ āχāĻ¨ā§āϟāĻžāϰāĻĢ⧇āϏ⧇āϰ āĻŽāĻžāĻ§ā§āϝāĻŽā§‡ āϏāĻ‚āϝ⧁āĻ•ā§āϤ āĻĨāĻžāϕ⧇ - āĻāĻ•āϟāĻŋ āĻŦāĻŋāĻļ⧇āώ āĻŽāĻžāχāĻ•ā§āϰ⧋āĻ•āĻŽā§āĻĒāĻŋāωāϟāĻžāϰ āϝāĻž āĻāχ āϏāĻŽāĻ¸ā§āϤ āĻĄāĻŋāĻ­āĻžāχāϏāϗ⧁āϞāĻŋāϕ⧇ āĻāĻ•āϟāĻŋ āĻāĻ•āĻ• āύ⧇āϟāĻ“āϝāĻŧāĻžāĻ°ā§āϕ⧇ āĻāĻ•āĻ¤ā§āϰāĻŋāϤ āĻ•āϰ⧇ āĻāĻŦāĻ‚ āϤāĻžāĻĻ⧇āϰ āύāĻŋāϝāĻŧāĻ¨ā§āĻ¤ā§āϰāĻŖ āĻ•āϰ⧇āĨ¤

āϝāĻžāχāĻšā§‹āĻ•, āĻ•āĻŋāϛ⧁ āϏāĻŽāĻžāϧāĻžāύ āĻāĻ•āχ āϏāĻŽāϝāĻŧ⧇ āĻāĻ•āϟāĻŋ āϏ⧇āĻ¨ā§āϏāϰ, āĻāĻ•āϟāĻŋ āĻ…ā§āϝāĻžāĻ•āϚ⧁āϝāĻŧ⧇āϟāϰ āĻāĻŦāĻ‚ āĻāĻ•āϟāĻŋ āύāĻŋāϝāĻŧāĻžāĻŽāĻ•āϕ⧇ āĻāĻ•āĻ¤ā§āϰāĻŋāϤ āĻ•āϰāϤ⧇ āĻĒāĻžāϰ⧇āĨ¤ āωāĻĻāĻžāĻšāϰāĻŖāĻ¸ā§āĻŦāϰ⧂āĻĒ, āĻāĻ•āϟāĻŋ āĻ¸ā§āĻŽāĻžāĻ°ā§āϟ āĻĒā§āϞāĻžāĻ— āĻāĻ•āϟāĻŋ āϏāĻŽāϝāĻŧāϏ⧂āĻšā§€ āĻ…āύ⧁āϝāĻžāϝāĻŧā§€ āϚāĻžāϞ⧁ āĻŦāĻž āĻŦāĻ¨ā§āϧ āĻ•āϰāĻžāϰ āϜāĻ¨ā§āϝ āĻĒā§āϰ⧋āĻ—ā§āϰāĻžāĻŽ āĻ•āϰāĻž āϝ⧇āϤ⧇ āĻĒāĻžāϰ⧇, āĻāĻŦāĻ‚ āĻāĻ•āϟāĻŋ āĻ•ā§āϞāĻžāωāĻĄ āĻ­āĻŋāĻĄāĻŋāĻ“ āύāϜāϰāĻĻāĻžāϰāĻŋ āĻ•ā§āϝāĻžāĻŽā§‡āϰāĻž āĻāĻ•āϟāĻŋ āĻ—āϤāĻŋ āϏāύāĻžāĻ•ā§āϤāĻ•āĻžāϰ⧀ āϏāĻ‚āϕ⧇āϤ⧇āϰ āωāĻĒāϰ āĻ­āĻŋāĻ¤ā§āϤāĻŋ āĻ•āϰ⧇ āĻ­āĻŋāĻĄāĻŋāĻ“ āϰ⧇āĻ•āĻ°ā§āĻĄ āĻ•āϰāϤ⧇ āĻĒāĻžāϰ⧇āĨ¤ āϏāĻšāϜ āĻ•ā§āώ⧇āĻ¤ā§āϰ⧇, āφāĻĒāύāĻŋ āĻāĻ•āϟāĻŋ āĻĒ⧃āĻĨāĻ• āύāĻŋāϝāĻŧāĻžāĻŽāĻ• āĻ›āĻžāĻĄāĻŧāĻž āĻ•āϰāϤ⧇ āĻĒāĻžāϰ⧇āύ, āĻ•āĻŋāĻ¨ā§āϤ⧁ āĻ…āύ⧇āĻ• āĻĒāϰāĻŋāĻ¸ā§āĻĨāĻŋāϤāĻŋāϤ⧇ āϏāĻ™ā§āϗ⧇ āĻāĻ•āϟāĻŋ āύāĻŽāύ⧀āϝāĻŧ āϏāĻŋāĻ¸ā§āĻŸā§‡āĻŽ āϤ⧈āϰāĻŋ āĻ•āϰāϤ⧇, āĻāϟāĻŋ āĻĒā§āϰāϝāĻŧā§‹āϜāύ⧀āϝāĻŧāĨ¤

āĻ¸ā§āĻŽāĻžāĻ°ā§āϟ āĻšā§‹āĻŽ āĻ•āĻ¨ā§āĻŸā§āϰ⧋āϞāĻžāϰāϕ⧇ āĻ—ā§āϞ⧋āĻŦāĻžāϞ āύ⧇āϟāĻ“āϝāĻŧāĻžāĻ°ā§āϕ⧇āϰ āϏāĻžāĻĨ⧇ āϏāĻ‚āϝ⧁āĻ•ā§āϤ āĻ•āϰāϤ⧇, āĻāĻ•āϟāĻŋ āύāĻŋāϝāĻŧāĻŽāĻŋāϤ āχāĻ¨ā§āϟāĻžāϰāύ⧇āϟ āϰāĻžāωāϟāĻžāϰ (7) āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰāĻž āϝ⧇āϤ⧇ āĻĒāĻžāϰ⧇, āϝāĻž āĻĻā§€āĻ°ā§āϘāĻĻāĻŋāύ āϧāϰ⧇ āϝ⧇ āϕ⧋āύāĻ“ āĻŦāĻžāĻĄāĻŧāĻŋāϤ⧇ āĻāĻ•āϟāĻŋ āϏāĻžāϧāĻžāϰāĻŖ āĻ—ā§ƒāĻšāĻ¸ā§āĻĨāĻžāϞ⧀ āϏāϰāĻžā§āϜāĻžāĻŽ āĻšāϝāĻŧ⧇ āωāϠ⧇āϛ⧇āĨ¤ āĻāĻ–āĻžāύ⧇ āĻāĻ•āϟāĻŋ āĻ¸ā§āĻŽāĻžāĻ°ā§āϟ āĻšā§‹āĻŽ āĻ•āĻ¨ā§āĻŸā§āϰ⧋āϞāĻžāϰ⧇āϰ āĻĒāĻ•ā§āώ⧇ āφāϰ⧇āĻ•āϟāĻŋ āϝ⧁āĻ•ā§āϤāĻŋ āϰāϝāĻŧ⧇āϛ⧇ - āϝāĻĻāĻŋ āχāĻ¨ā§āϟāĻžāϰāύ⧇āĻŸā§‡āϰ āϏāĻžāĻĨ⧇ āϏāĻ‚āϝ⧋āĻ— āĻŦāĻŋāĻšā§āĻ›āĻŋāĻ¨ā§āύ āĻšāϝāĻŧ⧇ āϝāĻžāϝāĻŧ, āϤāĻžāĻšāϞ⧇ āĻ¸ā§āĻŽāĻžāĻ°ā§āϟ āĻšā§‹āĻŽ āĻ¸ā§āĻŦāĻžāĻ­āĻžāĻŦāĻŋāĻ•āĻ­āĻžāĻŦ⧇ āĻ•āĻžāϜ āĻ•āϰāϤ⧇ āĻĨāĻžāĻ•āĻŦ⧇ āύāĻŋāϝāĻŧāĻžāĻŽāϕ⧇āϰ āĻ­āĻŋāϤāϰ⧇ āϏāĻ‚āϰāĻ•ā§āώāĻŋāϤ āϞāϜāĻŋāĻ• āĻŦā§āϞāϕ⧇āϰ āϜāĻ¨ā§āϝ āϧāĻ¨ā§āϝāĻŦāĻžāĻĻ, āĻ•ā§āϞāĻžāωāĻĄ āĻĒāϰāĻŋāώ⧇āĻŦāĻžāϤ⧇ āύāϝāĻŧāĨ¤

āĻ¸ā§āĻŽāĻžāĻ°ā§āϟ āĻšā§‹āĻŽ āĻ•āĻ¨ā§āĻŸā§āϰ⧋āϞāĻžāϰ

āĻāχ āύāĻŋāĻŦāĻ¨ā§āϧ⧇ āφāϞ⧋āϚāĻŋāϤ āĻ•ā§āϞāĻžāωāĻĄ āĻ¸ā§āĻŽāĻžāĻ°ā§āϟ āĻšā§‹āĻŽ āϏāĻŋāĻ¸ā§āĻŸā§‡āĻŽā§‡āϰ āύāĻŋāϝāĻŧāĻžāĻŽāĻ•āϟāĻŋ āĻāĻ•āϟāĻŋ āĻāĻ•āĻ•-āĻŦā§‹āĻ°ā§āĻĄ āĻŽāĻžāχāĻ•ā§āϰ⧋ āĻ•āĻŽā§āĻĒāĻŋāωāϟāĻžāϰ⧇āϰ āωāĻĒāϰ āĻ­āĻŋāĻ¤ā§āϤāĻŋ āĻ•āϰ⧇ āϤ⧈āϰāĻŋ āĻ•āϰāĻž āĻšāϝāĻŧ⧇āϛ⧇ āϰāĻžāĻ¸ā§āĻĒāĻŦ⧇āϰāĻŋ āĻĒāĻžāχ 3 āĻŽāĻĄā§‡āϞ B+, āϝāĻž āĻŽāĻžāĻ°ā§āϚ 2018 āĻ āĻĒā§āϰāĻ•āĻžāĻļāĻŋāϤ āĻšāϝāĻŧ⧇āĻ›āĻŋāϞ āĻāĻŦāĻ‚ āĻ¸ā§āĻŽāĻžāĻ°ā§āϟ āĻšā§‹āĻŽ āĻ•āĻžāĻœā§‡āϰ āϜāĻ¨ā§āϝ āĻĒāĻ°ā§āϝāĻžāĻĒā§āϤ āϏāĻŽā§āĻĒāĻĻ āĻāĻŦāĻ‚ āĻ•āĻ°ā§āĻŽāĻ•ā§āώāĻŽāϤāĻž āϰāϝāĻŧ⧇āϛ⧇āĨ¤ āĻāϟāĻŋāϤ⧇ 53-āĻŦāĻŋāϟ ARMv64-A āφāĻ°ā§āĻ•āĻŋāĻŸā§‡āĻ•āϚāĻžāϰ⧇āϰ āωāĻĒāϰ āĻ­āĻŋāĻ¤ā§āϤāĻŋ āĻ•āϰ⧇ āĻāĻ•āϟāĻŋ āϕ⧋āϝāĻŧāĻžāĻĄ-āϕ⧋āϰ āĻ•āĻ°ā§āĻŸā§‡āĻ•ā§āϏ-A8 āĻĒā§āϰāϏ⧇āϏāϰ āϰāϝāĻŧ⧇āϛ⧇, āϝāĻž 1.4 GHz āĻ āĻ•ā§āϞāĻ• āĻ•āϰāĻž āĻšāϝāĻŧ⧇āϛ⧇, āϏ⧇āχāϏāĻžāĻĨ⧇ 1 GB RAM, Wi-Fi 802.11ac, Bluetooth 4.2 āĻāĻŦāĻ‚ āĻāĻ•āϟāĻŋ āĻ—āĻŋāĻ—āĻžāĻŦāĻŋāϟ āχāĻĨāĻžāϰāύ⧇āϟ āĻ…ā§āϝāĻžāĻĄāĻžāĻĒā§āϟāĻžāϰ āĻ…āĻĒāĻžāϰ⧇āϟāĻŋāĻ‚ USB 2.0 āĻāϰ āĻŽāĻžāĻ§ā§āϝāĻŽā§‡āĨ¤ .

āĻ•ā§āϞāĻžāωāĻĄ āĻ¸ā§āĻŽāĻžāĻ°ā§āϟ āĻšā§‹āĻŽāĨ¤ āĻĒāĻžāĻ°ā§āϟ 1: āĻ•āĻ¨ā§āĻŸā§āϰ⧋āϞāĻžāϰ āĻāĻŦāĻ‚ āϏ⧇āĻ¨ā§āϏāϰ

āĻ•āĻ¨ā§āĻŸā§āϰ⧋āϞāĻžāϰ āĻāĻ•āĻ¤ā§āϰāĻŋāϤ āĻ•āϰāĻž āϖ⧁āĻŦ āϏāĻšāϜ - āĻŽāĻžāχāĻ•ā§āϰ⧋āĻ•āĻŽā§āĻĒāĻŋāωāϟāĻžāϰ (1) āĻāĻ•āϟāĻŋ āĻĒā§āϞāĻžāĻ¸ā§āϟāĻŋāϕ⧇āϰ āϕ⧇āϏ⧇ āχāύāĻ¸ā§āϟāϞ āĻ•āϰāĻž āĻšāϝāĻŧ (2), āϤāĻžāϰāĻĒāϰ āϏāĻĢā§āϟāĻ“āϝāĻŧā§āϝāĻžāϰ (8) āϏāĻš āĻāĻ•āϟāĻŋ 3 āϜāĻŋāĻŦāĻŋ āĻŽā§‡āĻŽāϰāĻŋ āĻ•āĻžāĻ°ā§āĻĄ āĻŽāĻžāχāĻ•ā§āϰ⧋āĻāϏāĻĄāĻŋ āĻĢāĻ°ā§āĻŽā§āϝāĻžāĻŸā§‡ āĻāĻŦāĻ‚ āĻāĻ•āϟāĻŋ USB Z-āĻ“āϝāĻŧ⧇āĻ­ āύ⧇āϟāĻ“āϝāĻŧāĻžāĻ°ā§āĻ• āĻ•āĻ¨ā§āĻŸā§āϰ⧋āϞāĻžāϰ (4) āχāύāĻ¸ā§āϟāϞ āĻ•āϰāĻž āĻšāϝāĻŧāĨ¤ āϏāĻ‚āĻļā§āϞāĻŋāĻˇā§āϟ āĻ¸ā§āϞāϟāĨ¤ āĻ¸ā§āĻŽāĻžāĻ°ā§āϟ āĻšā§‹āĻŽ āĻ•āĻ¨ā§āĻŸā§āϰ⧋āϞāĻžāϰāϟāĻŋ āĻāĻ•āϟāĻŋ 5V, 2.1A āĻĒāĻžāĻ“āϝāĻŧāĻžāϰ āĻ…ā§āϝāĻžāĻĄāĻžāĻĒā§āϟāĻžāϰ (5) āĻāĻŦāĻ‚ āĻāĻ•āϟāĻŋ USB - āĻŽāĻžāχāĻ•ā§āϰ⧋-USB āϕ⧇āĻŦāϞ (6) āĻāϰ āĻŽāĻžāĻ§ā§āϝāĻŽā§‡ āĻĒāĻžāĻ“āϝāĻŧāĻžāϰ āϏāĻžāĻĒā§āϞāĻžāχāϝāĻŧ⧇āϰ āϏāĻžāĻĨ⧇ āϏāĻ‚āϝ⧁āĻ•ā§āϤ āĻĨāĻžāϕ⧇⧎ āĻĒā§āϰāϤāĻŋāϟāĻŋ āĻ•āĻ¨ā§āĻŸā§āϰ⧋āϞāĻžāϰ⧇āϰ āĻāĻ•āϟāĻŋ āĻ…āύāĻ¨ā§āϝ āĻļāύāĻžāĻ•ā§āϤāĻ•āϰāĻŖ āύāĻŽā§āĻŦāϰ āĻĨāĻžāϕ⧇, āϝāĻž āĻĒā§āϰāĻĨāĻŽ āϚāĻžāϞ⧁ āĻšāĻ“āϝāĻŧāĻžāϰ āϏāĻŽāϝāĻŧ āĻ•āύāĻĢāĻŋāĻ—āĻžāϰ⧇āĻļāύ āĻĢāĻžāχāϞ⧇ āϞ⧇āĻ–āĻž āĻĨāĻžāϕ⧇ āĻāĻŦāĻ‚ āĻ•ā§āϞāĻžāωāĻĄ āĻ¸ā§āĻŽāĻžāĻ°ā§āϟ āĻšā§‹āĻŽ āĻĒāϰāĻŋāώ⧇āĻŦāĻžāϗ⧁āϞāĻŋāϰ āϏāĻžāĻĨ⧇ āϝ⧋āĻ—āĻžāϝ⧋āĻ— āĻ•āϰāĻžāϰ āϜāĻ¨ā§āϝ āĻĒā§āϰāϝāĻŧā§‹āϜāύ⧀āϝāĻŧāĨ¤

āĻ¸ā§āĻŽāĻžāĻ°ā§āϟ āĻšā§‹āĻŽ āĻ•āĻ¨ā§āĻŸā§āϰ⧋āϞāĻžāϰ āϏāĻĢā§āϟāĻ“āϝāĻŧā§āϝāĻžāϰāϟāĻŋ āĻ…āĻĒāĻžāϰ⧇āϟāĻŋāĻ‚ āϏāĻŋāĻ¸ā§āĻŸā§‡āĻŽā§‡āϰ āωāĻĒāϰ āĻ­āĻŋāĻ¤ā§āϤāĻŋ āĻ•āϰ⧇ āĻāχ āύāĻŋāĻŦāĻ¨ā§āϧ⧇āϰ āϞ⧇āĻ–āĻ• āĻĻā§āĻŦāĻžāϰāĻž āϤ⧈āϰāĻŋ āĻ•āϰāĻž āĻšāϝāĻŧ⧇āĻ›āĻŋāϞ Linux āϰāĻžāĻ¸ā§āĻĒāĻŦāĻŋāϝāĻŧāĻžāύ āĻ¸ā§āĻŸā§āϰ⧇āϚ. āĻāϟāĻŋ āύāĻŋāĻŽā§āύāϞāĻŋāĻ–āĻŋāϤ āĻĒā§āϰāϧāĻžāύ āϏāĻžāĻŦāϏāĻŋāĻ¸ā§āĻŸā§‡āĻŽ āύāĻŋāϝāĻŧ⧇ āĻ—āĻ āĻŋāϤ:

  • āĻ¸ā§āĻŽāĻžāĻ°ā§āϟ āĻšā§‹āĻŽ āϏāϰāĻžā§āϜāĻžāĻŽ āĻāĻŦāĻ‚ āĻ•ā§āϞāĻžāωāĻĄā§‡āϰ āϏāĻžāĻĨ⧇ āĻŽāĻŋāĻĨāĻ¸ā§āĻ•ā§āϰāĻŋāϝāĻŧāĻž āϜāĻ¨ā§āϝ āϏāĻžāĻ°ā§āĻ­āĻžāϰ āĻĒā§āϰāĻ•ā§āϰāĻŋāϝāĻŧāĻž;
  • āĻ•āĻ¨ā§āĻŸā§āϰ⧋āϞāĻžāϰ⧇āϰ āĻ•āύāĻĢāĻŋāĻ—āĻžāϰ⧇āĻļāύ āĻāĻŦāĻ‚ āĻ…āĻĒāĻžāϰ⧇āϟāĻŋāĻ‚ āĻĒā§āϝāĻžāϰāĻžāĻŽāĻŋāϟāĻžāϰ āϏ⧇āϟ āĻ•āϰāĻžāϰ āϜāĻ¨ā§āϝ āĻ—ā§āϰāĻžāĻĢāĻŋāĻ•āĻžāϞ āχāωāϜāĻžāϰ āχāĻ¨ā§āϟāĻžāϰāĻĢ⧇āϏ;
  • āύāĻŋāϝāĻŧāĻžāĻŽāĻ• āĻ•āύāĻĢāĻŋāĻ—āĻžāϰ⧇āĻļāύ āϏāĻ‚āϰāĻ•ā§āώāϪ⧇āϰ āϜāĻ¨ā§āϝ āĻĄāĻžāϟāĻžāĻŦ⧇āϏāĨ¤

āĻ•ā§āϞāĻžāωāĻĄ āĻ¸ā§āĻŽāĻžāĻ°ā§āϟ āĻšā§‹āĻŽāĨ¤ āĻĒāĻžāĻ°ā§āϟ 1: āĻ•āĻ¨ā§āĻŸā§āϰ⧋āϞāĻžāϰ āĻāĻŦāĻ‚ āϏ⧇āĻ¨ā§āϏāϰ

āĻĄāĻžāϟāĻžāĻŦ⧇āϏ⧇āϰ āĻ¸ā§āĻŽāĻžāĻ°ā§āϟ āĻšā§‹āĻŽ āĻ•āĻ¨ā§āĻŸā§āϰ⧋āϞāĻžāϰ āĻāĻ•āϟāĻŋ āĻāĻŽāĻŦ⧇āĻĄā§‡āĻĄ āĻĄāĻŋāĻŦāĻŋāĻāĻŽāĻāϏ⧇āϰ āωāĻĒāϰ āĻ­āĻŋāĻ¤ā§āϤāĻŋ āĻ•āϰ⧇ āĻĒā§āϰāϝāĻŧā§‹āĻ— āĻ•āϰāĻž āĻšāϝāĻŧ SQLite āĻāĻŦāĻ‚ āϏāĻŋāĻ¸ā§āĻŸā§‡āĻŽ āϏāĻĢā§āϟāĻ“āϝāĻŧā§āϝāĻžāϰ āϏāĻš āĻāĻ•āϟāĻŋ SD āĻ•āĻžāĻ°ā§āĻĄā§‡ āĻāĻ•āϟāĻŋ āĻĢāĻžāχāϞ⧎ āĻāϟāĻŋ āĻ•āĻ¨ā§āĻŸā§āϰ⧋āϞāĻžāϰ āĻ•āύāĻĢāĻŋāĻ—āĻžāϰ⧇āĻļāύ⧇āϰ āϜāĻ¨ā§āϝ āĻāĻ•āϟāĻŋ āĻ¸ā§āĻŸā§‹āϰ⧇āϜ āĻšāĻŋāϏāĻžāĻŦ⧇ āĻ•āĻžāϜ āĻ•āϰ⧇ - āϏāĻ‚āϝ⧁āĻ•ā§āϤ āϏāϰāĻžā§āϜāĻžāĻŽ āĻāĻŦāĻ‚ āĻāϰ āĻŦāĻ°ā§āϤāĻŽāĻžāύ āĻ…āĻŦāĻ¸ā§āĻĨāĻž āϏāĻŽā§āĻĒāĻ°ā§āϕ⧇ āϤāĻĨā§āϝ, āϝ⧌āĻ•ā§āϤāĻŋāĻ• āωāĻ¤ā§āĻĒāĻžāĻĻāύ āύāĻŋāϝāĻŧāĻŽāϗ⧁āϞāĻŋāϰ āĻāĻ•āϟāĻŋ āĻŦā§āϞāĻ•, āϏ⧇āχāϏāĻžāĻĨ⧇ āϤāĻĨā§āϝ āϝāĻž āϏ⧂āĻšā§€āĻ•āϰāϪ⧇āϰ āĻĒā§āϰāϝāĻŧā§‹āϜāύ (āωāĻĻāĻžāĻšāϰāĻŖāĻ¸ā§āĻŦāϰ⧂āĻĒ, āĻāĻ•āϟāĻŋ āĻ¸ā§āĻĨāĻžāύ⧀āϝāĻŧ āĻ­āĻŋāĻĄāĻŋāĻ“ āϏāĻ‚āϰāĻ•ā§āώāĻŖāĻžāĻ—āĻžāϰ⧇āϰ āĻĢāĻžāχāϞ⧇āϰ āύāĻžāĻŽ)āĨ¤ āϝāĻ–āύ āĻ•āĻ¨ā§āĻŸā§āϰ⧋āϞāĻžāϰāϟāĻŋ āϰāĻŋāĻŦ⧁āϟ āĻ•āϰāĻž āĻšāϝāĻŧ, āϤāĻ–āύ āĻāχ āϤāĻĨā§āϝāϟāĻŋ āϏāĻ‚āϰāĻ•ā§āώāĻŖ āĻ•āϰāĻž āĻšāϝāĻŧ, āĻāϟāĻŋ āĻĒāĻžāĻ“āϝāĻŧāĻžāϰ āĻŦā§āϝāĻ°ā§āĻĨāϤāĻžāϰ āĻ•ā§āώ⧇āĻ¤ā§āϰ⧇ āύāĻŋāϝāĻŧāĻžāĻŽāĻ•āϟāĻŋāϕ⧇ āĻĒ⧁āύāϰ⧁āĻĻā§āϧāĻžāϰ āĻ•āϰāĻž āϏāĻŽā§āĻ­āĻŦ āĻ•āϰ⧇ āϤ⧋āϞ⧇āĨ¤

āĻ—ā§āϰāĻžāĻĢāĻŋāĻ•ā§āϝāĻžāϞ āχāĻ¨ā§āϟāĻžāϰāĻĢ⧇āϏ āĻāĻ•āϟāĻŋ āĻŽāĻžāχāĻ•ā§āϰ⧋āĻĢā§āϰ⧇āĻŽāĻ“āϝāĻŧāĻžāĻ°ā§āĻ• āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧇ āĻĒāĻŋāĻāχāϚāĻĒāĻŋ 7 āĻ āĻ¸ā§āĻŽāĻžāĻ°ā§āϟ āĻšā§‹āĻŽ āĻ•āĻ¨ā§āĻŸā§āϰ⧋āϞāĻžāϰ āϤ⧈āϰāĻŋ āĻ•āϰāĻž āĻšāϝāĻŧ⧇āϛ⧇ āĻĒāĻžāϤāϞāĻž. āĻ“āϝāĻŧ⧇āĻŦ āϏāĻžāĻ°ā§āĻ­āĻžāϰ āĻ…ā§āϝāĻžāĻĒā§āϞāĻŋāϕ⧇āĻļāύ āϚāĻžāϞāĻžāύ⧋āϰ āϜāĻ¨ā§āϝ āĻĻāĻžāϝāĻŧā§€āĨ¤ lighttpd, āĻĒā§āϰāĻžāϝāĻŧāĻļāχ āĻāϟāĻŋāϰ āĻ­āĻžāϞ āĻ•āĻžāĻ°ā§āϝāĻ•āĻžāϰāĻŋāϤāĻž āĻāĻŦāĻ‚ āĻ•āĻŽ āϏāĻ‚āĻ¸ā§āĻĨāĻžāύ āĻĒā§āϰāϝāĻŧā§‹āϜāύ⧀āϝāĻŧāϤāĻžāϰ āĻ•āĻžāϰāϪ⧇ āĻāĻŽāĻŦ⧇āĻĄā§‡āĻĄ āĻĄāĻŋāĻ­āĻžāχāϏāϗ⧁āϞāĻŋāϤ⧇ āĻŦā§āϝāĻŦāĻšā§ƒāϤ āĻšāϝāĻŧāĨ¤

āĻ•ā§āϞāĻžāωāĻĄ āĻ¸ā§āĻŽāĻžāĻ°ā§āϟ āĻšā§‹āĻŽāĨ¤ āĻĒāĻžāĻ°ā§āϟ 1: āĻ•āĻ¨ā§āĻŸā§āϰ⧋āϞāĻžāϰ āĻāĻŦāĻ‚ āϏ⧇āĻ¨ā§āϏāϰ
(āωāĻšā§āϚāϤāϰ āϰ⧇āĻœā§‹āϞāĻŋāωāĻļāύ⧇ āϖ⧁āϞāϤ⧇ āĻ›āĻŦāĻŋāϰ āωāĻĒāϰ āĻ•ā§āϞāĻŋāĻ• āĻ•āϰ⧁āύ)

āĻ—ā§āϰāĻžāĻĢāĻŋāĻ•āĻžāϞ āχāĻ¨ā§āϟāĻžāϰāĻĢ⧇āϏ⧇āϰ āĻĒā§āϰāϧāĻžāύ āĻ•āĻžāϜ āĻšāϞ āĻ¸ā§āĻŽāĻžāĻ°ā§āϟ āĻšā§‹āĻŽ āχāϕ⧁āχāĻĒāĻŽā§‡āĻ¨ā§āϟ (āφāχāĻĒāĻŋ āύāϜāϰāĻĻāĻžāϰāĻŋ āĻ•ā§āϝāĻžāĻŽā§‡āϰāĻž āĻāĻŦāĻ‚ āϏ⧇āĻ¨ā§āϏāϰ) āĻ•āĻ¨ā§āĻŸā§āϰ⧋āϞāĻžāϰ⧇āϰ āϏāĻžāĻĨ⧇ āϏāĻ‚āϝ⧁āĻ•ā§āϤ āĻ•āϰāĻžāĨ¤ āĻ“āϝāĻŧ⧇āĻŦ āĻ…ā§āϝāĻžāĻĒā§āϞāĻŋāϕ⧇āĻļāύāϟāĻŋ SQLite āĻĄāĻžāϟāĻžāĻŦ⧇āϏ āĻĨ⧇āϕ⧇ āĻ•āĻ¨ā§āĻŸā§āϰ⧋āϞāĻžāϰ āĻāĻŦāĻ‚ āĻĄāĻŋāĻ­āĻžāχāϏāϗ⧁āϞāĻŋāϰ āĻ•āύāĻĢāĻŋāĻ—āĻžāϰ⧇āĻļāύ āĻāĻŦāĻ‚ āĻŦāĻ°ā§āϤāĻŽāĻžāύ āĻ…āĻŦāĻ¸ā§āĻĨāĻž āĻĒāĻĄāĻŧ⧇āĨ¤ āĻ•āĻ¨ā§āĻŸā§āϰ⧋āϞāĻžāϰ āĻ•āύāĻĢāĻŋāĻ—āĻžāϰ⧇āĻļāύ āĻĒāϰāĻŋāĻŦāĻ°ā§āϤāύ āĻ•āϰāϤ⧇, āĻāϟāĻŋ āϏāĻžāĻ°ā§āĻ­āĻžāϰ āĻĒā§āϰāĻ•ā§āϰāĻŋāϝāĻŧāĻžāϰ RESTful API āχāĻ¨ā§āϟāĻžāϰāĻĢ⧇āϏ⧇āϰ āĻŽāĻžāĻ§ā§āϝāĻŽā§‡ JSON āĻĢāĻ°ā§āĻŽā§āϝāĻžāĻŸā§‡ āύāĻŋāϝāĻŧāĻ¨ā§āĻ¤ā§āϰāĻŖ āĻ•āĻŽāĻžāĻ¨ā§āĻĄ āĻĒāĻžāĻ āĻžāϝāĻŧāĨ¤

āϏāĻžāĻ°ā§āĻ­āĻžāϰ āĻĒā§āϰāĻ•ā§āϰāĻŋāϝāĻŧāĻž

āϏāĻžāĻ°ā§āĻ­āĻžāϰ āĻĒā§āϰāĻ•ā§āϰāĻŋāϝāĻŧāĻž - āĻāĻ•āϟāĻŋ āĻŽā§‚āϞ āωāĻĒāĻžāĻĻāĻžāύ āϝāĻž āĻāĻ•āϟāĻŋ āĻ¸ā§āĻŽāĻžāĻ°ā§āϟ āĻšā§‹āĻŽā§‡āϰ āĻ­āĻŋāĻ¤ā§āϤāĻŋ āϤ⧈āϰāĻŋ āĻ•āϰāĻž āϤāĻĨā§āϝ āĻĒā§āϰāĻ•ā§āϰāĻŋāϝāĻŧāĻžāϗ⧁āϞāĻŋāϕ⧇ āĻ¸ā§āĻŦāϝāĻŧāĻ‚āĻ•ā§āϰāĻŋāϝāĻŧ āĻ•āϰāĻžāϰ āϏāĻŽāĻ¸ā§āϤ āĻĒā§āϰāϧāĻžāύ āĻ•āĻžāϜ āϏāĻŽā§āĻĒāĻžāĻĻāύ āĻ•āϰ⧇: āϏāĻ‚āĻŦ⧇āĻĻāύāĻļā§€āϞ āĻĄā§‡āϟāĻž āĻ—ā§āϰāĻšāĻŖ āĻāĻŦāĻ‚ āĻĒā§āϰāĻ•ā§āϰāĻŋāϝāĻŧāĻžāĻ•āϰāĻŖ, āĻāĻŽāĻŦ⧇āĻĄā§‡āĻĄ āϝ⧁āĻ•ā§āϤāĻŋāϰ āωāĻĒāϰ āύāĻŋāĻ°ā§āĻ­āϰ āĻ•āϰ⧇ āύāĻŋāϝāĻŧāĻ¨ā§āĻ¤ā§āϰāĻŖ āĻ•ā§āϰāĻŋāϝāĻŧāĻž āϜāĻžāϰāĻŋ āĻ•āϰāĻžāĨ¤ āϏāĻžāĻ°ā§āĻ­āĻžāϰ āĻĒā§āϰāĻ•ā§āϰāĻŋāϝāĻŧāĻžāϰ āωāĻĻā§āĻĻ⧇āĻļā§āϝ āĻšāϞ āĻ¸ā§āĻŽāĻžāĻ°ā§āϟ āĻšā§‹āĻŽ āχāϕ⧁āχāĻĒāĻŽā§‡āĻ¨ā§āĻŸā§‡āϰ āϏāĻžāĻĨ⧇ āχāĻ¨ā§āϟāĻžāϰāĻ…ā§āϝāĻžāĻ•ā§āϟ āĻ•āϰāĻž, āĻĒā§āϰ⧋āĻĄāĻžāĻ•āĻļāύ āϞāϜāĻŋāĻ•ā§āϝāĻžāϞ āύāĻŋāϝāĻŧāĻŽāϗ⧁āϞāĻŋ āϚāĻžāϞāĻžāύ⧋, āĻ—ā§āϰāĻžāĻĢāĻŋāĻ•āĻžāϞ āχāĻ¨ā§āϟāĻžāϰāĻĢ⧇āϏ āĻāĻŦāĻ‚ āĻ•ā§āϞāĻžāωāĻĄ āĻĨ⧇āϕ⧇ āĻ•āĻŽāĻžāĻ¨ā§āĻĄ āĻ—ā§āϰāĻšāĻŖ āĻ•āϰāĻž āĻāĻŦāĻ‚ āĻĒā§āϰāĻ•ā§āϰāĻŋāϝāĻŧāĻž āĻ•āϰāĻžāĨ¤ āĻŦāĻŋāĻŦ⧇āϚāύāĻžāϧ⧀āύ āĻ¸ā§āĻŽāĻžāĻ°ā§āϟ āĻšā§‹āĻŽ āĻ•āĻ¨ā§āĻŸā§āϰ⧋āϞāĻžāϰ⧇ āϏāĻžāĻ°ā§āĻ­āĻžāϰ āĻĒā§āϰāĻ•ā§āϰāĻŋāϝāĻŧāĻžāϟāĻŋ āĻāĻ•āϟāĻŋ āĻŽāĻžāĻ˛ā§āϟāĻŋ-āĻĨā§āϰ⧇āĻĄā§‡āĻĄ āĻ…ā§āϝāĻžāĻĒā§āϞāĻŋāϕ⧇āĻļāύ āĻšāĻŋāϏāĻžāĻŦ⧇ āĻĒā§āϰāϝāĻŧā§‹āĻ— āĻ•āϰāĻž āĻšāϝāĻŧ⧇āϛ⧇ āϝāĻž C++ āĻ āĻŦāĻŋāĻ•āĻžāĻļ āĻ•āϰāĻž āĻšāϝāĻŧ⧇āϛ⧇ āĻāĻŦāĻ‚ āĻāĻ•āϟāĻŋ āĻĒ⧃āĻĨāĻ• āĻĒāϰāĻŋāώ⧇āĻŦāĻž āĻšāĻŋāϏāĻžāĻŦ⧇ āϚāĻžāϞ⧁ āĻ•āϰāĻž āĻšāϝāĻŧ⧇āϛ⧇ systemd āĻšāϞ āĻ…āĻĒāĻžāϰ⧇āϟāĻŋāĻ‚ āϏāĻŋāĻ¸ā§āĻŸā§‡āĻŽ Linux Raspbian.

āϏāĻžāĻ°ā§āĻ­āĻžāϰ āĻĒā§āϰāĻ•ā§āϰāĻŋāϝāĻŧāĻžāϰ āĻĒā§āϰāϧāĻžāύ āĻŦā§āϞāĻ•āϗ⧁āϞāĻŋ āĻšāϞ:

  1. āĻŦāĻžāĻ°ā§āϤāĻž āĻŽā§āϝāĻžāύ⧇āϜāĻžāϰ;
  2. āφāχāĻĒāĻŋ āĻ•ā§āϝāĻžāĻŽā§‡āϰāĻž āϏāĻžāĻ°ā§āĻ­āĻžāϰ;
  3. āĻœā§‡āĻĄ-āĻ“āϝāĻŧ⧇āĻ­ āĻĄāĻŋāĻ­āĻžāχāϏ āϏāĻžāĻ°ā§āĻ­āĻžāϰ;
  4. āωāĻ¤ā§āĻĒāĻžāĻĻāύ āϞāϜāĻŋāĻ•ā§āϝāĻžāϞ āύāĻŋāϝāĻŧāĻŽ āϏāĻžāĻ°ā§āĻ­āĻžāϰ;
  5. āύāĻŋāϝāĻŧāĻžāĻŽāĻ• āĻāĻŦāĻ‚ āϝ⧌āĻ•ā§āϤāĻŋāĻ• āύāĻŋāϝāĻŧāĻŽ āĻŦā§āϞāϕ⧇āϰ āĻ•āύāĻĢāĻŋāĻ—āĻžāϰ⧇āĻļāύ⧇āϰ āĻĄā§‡āϟāĻžāĻŦ⧇āϏ;
  6. āĻ—ā§āϰāĻžāĻĢāĻŋāĻ•āĻžāϞ āχāĻ¨ā§āϟāĻžāϰāĻĢ⧇āϏ⧇āϰ āϏāĻžāĻĨ⧇ āĻŽāĻŋāĻĨāĻ¸ā§āĻ•ā§āϰāĻŋāϝāĻŧāĻž āϜāĻ¨ā§āϝ RESTful API āϏāĻžāĻ°ā§āĻ­āĻžāϰ;
  7. āĻ•ā§āϞāĻžāωāĻĄā§‡āϰ āϏāĻžāĻĨ⧇ āχāĻ¨ā§āϟāĻžāϰāĻ…ā§āϝāĻžāĻ•ā§āϟ āĻ•āϰāĻžāϰ āϜāĻ¨ā§āϝ MQTT āĻ•ā§āϞāĻžāϝāĻŧ⧇āĻ¨ā§āϟāĨ¤

āϏāĻžāĻ°ā§āĻ­āĻžāϰ āĻĒā§āϰāĻ•ā§āϰāĻŋāϝāĻŧāĻž āĻŦā§āϞāĻ•āϗ⧁āϞāĻŋ āĻĒ⧃āĻĨāĻ• āĻĨā§āϰ⧇āĻĄ āĻšāĻŋāϏāĻžāĻŦ⧇ āĻĒā§āϰāϝāĻŧā§‹āĻ— āĻ•āϰāĻž āĻšāϝāĻŧ, āϝ⧇āϗ⧁āϞāĻŋāϰ āĻŽāĻ§ā§āϝ⧇ āϤāĻĨā§āϝāϗ⧁āϞāĻŋ JSON āĻĢāĻ°ā§āĻŽā§āϝāĻžāĻŸā§‡ āĻŦāĻžāĻ°ā§āϤāĻžāϰ āφāĻ•āĻžāϰ⧇ āĻ¸ā§āĻĨāĻžāύāĻžāĻ¨ā§āϤāϰāĻŋāϤ āĻšāϝāĻŧ (āĻŦāĻž āĻĒā§āϰāĻ•ā§āϰāĻŋāϝāĻŧāĻž āĻŽā§‡āĻŽāϰāĻŋāϤ⧇ āĻāχ āĻĢāĻ°ā§āĻŽā§āϝāĻžāĻŸā§‡āϰ āĻĒā§āϰāϤāĻŋāύāĻŋāϧāĻŋāĻ¤ā§āĻŦāĻ•āĻžāϰ⧀ āĻĄā§‡āϟāĻž āĻ¸ā§āĻŸā§āϰāĻžāĻ•āϚāĻžāϰ)āĨ¤

āĻ•ā§āϞāĻžāωāĻĄ āĻ¸ā§āĻŽāĻžāĻ°ā§āϟ āĻšā§‹āĻŽāĨ¤ āĻĒāĻžāĻ°ā§āϟ 1: āĻ•āĻ¨ā§āĻŸā§āϰ⧋āϞāĻžāϰ āĻāĻŦāĻ‚ āϏ⧇āĻ¨ā§āϏāϰ

āϏāĻžāĻ°ā§āĻ­āĻžāϰ āĻĒā§āϰāĻ•ā§āϰāĻŋāϝāĻŧāĻžāϰ āĻĒā§āϰāϧāĻžāύ āωāĻĒāĻžāĻĻāĻžāύ āĻŦāĻžāĻ°ā§āϤāĻž āĻŽā§āϝāĻžāύ⧇āϜāĻžāϰ, āϝāĻž JSON āĻŦāĻžāĻ°ā§āϤāĻžāϗ⧁āϞāĻŋāϕ⧇ āϏāĻŽāĻ¸ā§āϤ āϏāĻžāĻ°ā§āĻ­āĻžāϰ āĻĒā§āϰāĻ•ā§āϰāĻŋāϝāĻŧāĻž āĻŦā§āϞāϕ⧇ āϰ⧁āϟ āĻ•āϰ⧇āĨ¤ JSON āĻŦāĻžāĻ°ā§āϤāĻž āϤāĻĨā§āϝ āĻ•ā§āώ⧇āĻ¤ā§āϰāϗ⧁āϞāĻŋāϰ āĻĒā§āϰāĻ•āĻžāϰ āĻāĻŦāĻ‚ āϤāĻžāϰāĻž āϝ⧇ āĻŽāĻžāύāϗ⧁āϞāĻŋ āĻ—ā§āϰāĻšāĻŖ āĻ•āϰāϤ⧇ āĻĒāĻžāϰ⧇ āϤāĻž āĻŸā§‡āĻŦāĻŋāϞ⧇ āϤāĻžāϞāĻŋāĻ•āĻžāϭ⧁āĻ•ā§āϤ āĻ•āϰāĻž āĻšāϝāĻŧ⧇āϛ⧇:

āĻĄāĻŋāĻ­āĻžāχāϏ⧇āϰ āϧāϰāύ
āĻĒā§āϰ⧋āĻŸā§‹āĻ•āϞ
āĻŦāĻžāĻ°ā§āϤāĻžāϰ āϧāϰāύ
āĻĄāĻŋāĻ­āĻžāχāϏ āĻ¸ā§āĻŸā§‡āϟ
āĻšā§āϕ⧁āĻŽ

āĻ•ā§āϝāĻžāĻŽā§‡āϰāĻž
ONVIF
āϏ⧇āĻ¨ā§āϏāϰ āĻĄā§‡āϟāĻž
on
āĻ¸ā§āĻŸā§āϰāĻŋāĻŽāĻŋāĻ‚ (āϚāĻžāϞ⧁/āĻŦāĻ¨ā§āϧ)

āϏ⧇āĻ¨ā§āϏāϰ
zwave
āĻšā§āϕ⧁āĻŽ
āĻŦāĻ¨ā§āϧ
āϰ⧇āĻ•āĻ°ā§āĻĄāĻŋāĻ‚ (āϚāĻžāϞ⧁/āĻŦāĻ¨ā§āϧ)

effector
mqtt
āĻŦā§āϝāĻŦāϏāĻž āϞāϜāĻŋāĻ• āϰ⧁āϞ
āĻ¸ā§āĻŸā§āϰāĻŋāĻŽāĻŋāĻ‚ (āϚāĻžāϞ⧁/āĻŦāĻ¨ā§āϧ)
evice (āϝ⧋āĻ— āĻ•āϰ⧁āύ/āϏāϰāĻžāύ)

āĻŦā§āϝāĻŦāϏāĻžāϝāĻŧāĻŋāĻ• āϝ⧁āĻ•ā§āϤāĻŋ
āĻ•āύāĻĢāĻŋāĻ—āĻžāϰ⧇āĻļāύ āĻĄā§‡āϟāĻž
āϰ⧇āĻ•āĻ°ā§āĻĄāĻŋāĻ‚ (āϚāĻžāϞ⧁/āĻŦāĻ¨ā§āϧ)

āĻŦā§āϞ⧁āϟ⧁āĻĨ
āĻĄāĻŋāĻ­āĻžāχāϏ āĻ¸ā§āĻŸā§‡āϟ
āϭ⧁āϞ

āĻ“āϝāĻŧāĻžāχāĻĢāĻžāχ

rf

āωāĻĻāĻžāĻšāϰāĻŖāĻ¸ā§āĻŦāϰ⧂āĻĒ, āĻāĻ•āϟāĻŋ āĻ•ā§āϝāĻžāĻŽā§‡āϰāĻž āĻŽā§‹āĻļāύ āĻĄāĻŋāĻŸā§‡āĻ•ā§āϟāϰ āĻĨ⧇āϕ⧇ āĻāĻ•āϟāĻŋ āĻŦāĻžāĻ°ā§āϤāĻž āĻāχ āĻŽāϤ āĻĻ⧇āĻ–āĻžāϝāĻŧ:

{
	"vendor": "*****",
	"version": "3.0.0",
	"timestampMs": "1566293475475",
	"clientType": "gateway",
	"deviceId": "1616453d-30cd-44b7-9bf0-************",
	"deviceType": "camera",
	"protocol": "onvif",
	"messageType": "sensorData",
	"sensorType": "camera",
	"label": "motionDetector",
	"sensorData": "on"
}

āωāĻ¤ā§āĻĒāĻžāĻĻāύ āϝ⧁āĻ•ā§āϤāĻŋ

āĻĒā§āϰ⧇āϰāĻ• āĻĨ⧇āϕ⧇ āĻāĻ•āϟāĻŋ āĻŦāĻžāĻ°ā§āϤāĻž āĻ—ā§āϰāĻšāĻŖ āĻŦāĻž āĻĒāĻžāĻ āĻžāϤ⧇, āϏāĻžāĻ°ā§āĻ­āĻžāϰ āĻĒā§āϰāĻ•ā§āϰāĻŋāϝāĻŧāĻž āĻŦā§āϞāĻ• āĻāĻ•āϟāĻŋ āύāĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āϟ āϧāϰāύ⧇āϰ āĻŦāĻžāĻ°ā§āϤāĻž āϏāĻĻāĻ¸ā§āϝāϤāĻž. āϏāĻžāĻŦāĻ¸ā§āĻ•ā§āϰāĻŋāĻĒāĻļāύ āĻšāϞ āϟāĻžāχāĻĒ⧇āϰ āĻāĻ•āϟāĻŋ āĻĒā§āϰ⧋āĻĄāĻžāĻ•āĻļāύ āϞāϜāĻŋāĻ•ā§āϝāĻžāϞ āύāĻŋāϝāĻŧāĻŽ "āϝāĻĻāĻŋ... āϤāĻžāĻšāϞ⧇...", JSON āĻĢāĻ°ā§āĻŽā§āϝāĻžāĻŸā§‡ āωāĻĒāĻ¸ā§āĻĨāĻžāĻĒāĻŋāϤ, āĻāĻŦāĻ‚ āϏāĻžāĻ°ā§āĻ­āĻžāϰ āĻĒā§āϰāĻ•ā§āϰāĻŋāϝāĻŧāĻž āĻŦā§āϞāϕ⧇āϰ āĻŽāĻ§ā§āϝ⧇ āĻŦāĻžāĻ°ā§āϤāĻž āĻšā§āϝāĻžāĻ¨ā§āĻĄāϞāĻžāϰ⧇āϰ āĻāĻ•āϟāĻŋ āϞāĻŋāĻ™ā§āĻ•āĨ¤ āωāĻĻāĻžāĻšāϰāĻŖāĻ¸ā§āĻŦāϰ⧂āĻĒ, āφāχāĻĒāĻŋ āĻ•ā§āϝāĻžāĻŽā§‡āϰāĻž āϏāĻžāĻ°ā§āĻ­āĻžāϰāϕ⧇ āϜāĻŋāχāωāφāχ āĻāĻŦāĻ‚ āĻ•ā§āϞāĻžāωāĻĄ āĻĨ⧇āϕ⧇ āĻ•āĻŽāĻžāĻ¨ā§āĻĄ āĻ—ā§āϰāĻšāĻŖ āĻ•āϰāĻžāϰ āĻ…āύ⧁āĻŽāϤāĻŋ āĻĻāĻŋāϤ⧇, āφāĻĒāύāĻžāϕ⧇ āύāĻŋāĻŽā§āύāϞāĻŋāĻ–āĻŋāϤ āύāĻŋāϝāĻŧāĻŽ āϝ⧋āĻ— āĻ•āϰāϤ⧇ āĻšāĻŦ⧇:

{
	"if": {
	    "and": [{
		"equal": {
		    "deviceId": "1616453d-30cd-44b7-9bf0-************"
		}
	    },
	    {
		"equal": {
		    "messageType": "command"
		}
	    }
	    ]
	},
	"then": {
	    "result": "true"
	}
}

āϝāĻĻāĻŋ āĻļāĻ°ā§āϤāĻžāĻŦāϞ⧀ āωāĻ˛ā§āϞ⧇āĻ– āĻ•āϰāĻž āĻšāϝāĻŧ āĻĒā§‚āĻ°ā§āĻŦāĻŦāĻ°ā§āϤ⧀ (āĻŦāĻžāĻŽ āĻĻāĻŋāϕ⧇) āύāĻŋāϝāĻŧāĻŽ āϏāĻ¤ā§āϝ, āϤāĻžāĻšāϞ⧇ āϤāĻž āϏāĻ¨ā§āϤ⧁āĻˇā§āϟ āĻĢāϞ⧇ (āĻĄāĻžāύ āĻĻāĻŋāϕ⧇) āύāĻŋāϝāĻŧāĻŽ, āĻāĻŦāĻ‚ āĻšā§āϝāĻžāĻ¨ā§āĻĄāϞāĻžāϰ JSON āĻŦāĻžāĻ°ā§āϤāĻžāϰ āĻŽā§‚āϞ āĻ…āĻ‚āĻļ⧇ āĻ…ā§āϝāĻžāĻ•ā§āϏ⧇āϏ āĻĒāĻžāϝāĻŧāĨ¤ āĻĒā§‚āĻ°ā§āĻŦāĻŦāĻ°ā§āϤ⧀ āϝ⧌āĻ•ā§āϤāĻŋāĻ• āĻ…āĻĒāĻžāϰ⧇āϟāϰāĻĻ⧇āϰ āϏāĻŽāĻ°ā§āĻĨāύ āĻ•āϰ⧇ āϝ⧇āϗ⧁āϞāĻŋ JSON āϕ⧀-āĻŽāĻžāύ āĻœā§‹āĻĄāĻŧāĻž āϤ⧁āϞāύāĻž āĻ•āϰ⧇:

  1. āϏāĻŽāĻžāύ "āϏāĻŽāĻžāύ";
  2. "not_equal" āĻāϰ āϏāĻŽāĻžāύ āύāϝāĻŧ;
  3. āĻ•āĻŽ "āĻ•āĻŽ";
  4. āφāϰ⧋ "āĻŦ⧃āĻšāĻ¤ā§āϤāϰ";
  5. "less_or_equal" āĻāϰ āĻšā§‡āϝāĻŧ⧇ āĻ•āĻŽ āĻŦāĻž āϏāĻŽāĻžāύ;
  6. "āĻŦ⧃āĻšāĻ¤ā§āϤāϰ_āĻŦāĻž_āϏāĻŽāĻžāύ" āĻāϰ āĻĨ⧇āϕ⧇ āĻŦāĻĄāĻŧ āĻŦāĻž āϏāĻŽāĻžāύāĨ¤

āĻŦ⧁āϞāĻŋāϝāĻŧāĻžāύ āĻŦā§€āϜāĻ—āĻŖāĻŋāϤ āĻ…āĻĒāĻžāϰ⧇āϟāϰ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧇ āϤ⧁āϞāύāĻž āĻĢāϞāĻžāĻĢāϞ āĻāϕ⧇ āĻ…āĻĒāϰ⧇āϰ āϏāĻžāĻĨ⧇ āϏāĻŽā§āĻĒāĻ°ā§āĻ•āĻŋāϤ āĻšāϤ⧇ āĻĒāĻžāϰ⧇:

  1. āĻāĻŦāĻ‚ "āĻāĻŦāĻ‚"
  2. āĻŦāĻž āĻŦāĻž";
  3. āύāĻž āύāĻž".

āĻāχāĻ­āĻžāĻŦ⧇, āĻĒā§‹āϞāĻŋāĻļ āĻ¸ā§āĻŦāϰāϞāĻŋāĻĒāĻŋāϤ⧇ āĻ…āĻĒāĻžāϰ⧇āϟāϰ āĻāĻŦāĻ‚ āĻ…āĻĒāĻžāϰ⧇āĻ¨ā§āĻĄ āϞāĻŋāϖ⧇, āφāĻĒāύāĻŋ āĻĒā§āϰāϚ⧁āϰ āϏāĻ‚āĻ–ā§āϝāĻ• āĻĒāϰāĻžāĻŽāĻŋāϤāĻŋ āϏāĻš āĻŦ⧇āĻļ āϜāϟāĻŋāϞ āĻĒāϰāĻŋāĻ¸ā§āĻĨāĻŋāϤāĻŋ āϤ⧈āϰāĻŋ āĻ•āϰāϤ⧇ āĻĒāĻžāϰ⧇āύāĨ¤

āĻ āĻŋāĻ• āĻāĻ•āχ āĻĒā§āϰāĻ•ā§āϰāĻŋāϝāĻŧāĻž, JSON āĻŦāĻžāĻ°ā§āϤāĻž āĻāĻŦāĻ‚ JSON āĻĢāĻ°ā§āĻŽā§āϝāĻžāĻŸā§‡ āĻ‰ā§ŽāĻĒāĻžāĻĻāύ āύāĻŋāϝāĻŧāĻŽā§‡āϰ āωāĻĒāϰ āĻ­āĻŋāĻ¤ā§āϤāĻŋ āĻ•āϰ⧇, āĻĒā§āϰ⧋āĻĄāĻžāĻ•āĻļāύ āϞāϜāĻŋāĻ• āϏāĻžāĻ°ā§āĻ­āĻžāϰ āĻŦā§āϞāϕ⧇ āĻœā§āĻžāĻžāύ⧇āϰ āĻĒā§āϰāϤāĻŋāύāĻŋāϧāĻŋāĻ¤ā§āĻŦ āĻ•āϰāϤ⧇ āĻāĻŦāĻ‚ āĻ¸ā§āĻŽāĻžāĻ°ā§āϟ āĻšā§‹āĻŽ āϏ⧇āĻ¨ā§āϏāϰ āĻĨ⧇āϕ⧇ āϏāĻ‚āĻŦ⧇āĻĻāύāĻļā§€āϞ āĻĄā§‡āϟāĻž āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧇ āϝ⧌āĻ•ā§āϤāĻŋāĻ• āĻ…āύ⧁āĻŽāĻžāύ āĻ•āϰāϤ⧇ āĻŦā§āϝāĻŦāĻšā§ƒāϤ āĻšāϝāĻŧāĨ¤

āĻāĻ•āϟāĻŋ āĻŽā§‹āĻŦāĻžāχāϞ āĻ…ā§āϝāĻžāĻĒā§āϞāĻŋāϕ⧇āĻļāύ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧇, āĻŦā§āϝāĻŦāĻšāĻžāϰāĻ•āĻžāϰ⧀ āĻāĻŽāύ āĻĒāϰāĻŋāĻ¸ā§āĻĨāĻŋāϤāĻŋ āϤ⧈āϰāĻŋ āĻ•āϰ⧇ āϝ⧇ āĻ…āύ⧁āϝāĻžāϝāĻŧā§€ āĻ¸ā§āĻŽāĻžāĻ°ā§āϟ āĻšā§‹āĻŽ āĻ•āĻžāϜ āĻ•āϰāĻž āωāϚāĻŋāϤāĨ¤ āωāĻĻāĻžāĻšāϰāĻŖ āĻ¸ā§āĻŦāϰ⧂āĻĒ: "āϝāĻĻāĻŋ āϏāĻžāĻŽāύ⧇āϰ āĻĻāϰāϜāĻž āĻ–ā§‹āϞāĻžāϰ āϜāĻ¨ā§āϝ āϏ⧇āĻ¨ā§āϏāϰāϟāĻŋ āĻŸā§āϰāĻŋāĻ—āĻžāϰ āĻšāϝāĻŧ, āϤāĻŦ⧇ āĻšāϞāĻ“āϝāĻŧ⧇āϤ⧇ āφāϞ⧋āϟāĻŋ āϚāĻžāϞ⧁ āĻ•āϰ⧁āύ". āĻ…ā§āϝāĻžāĻĒā§āϞāĻŋāϕ⧇āĻļāύāϟāĻŋ āĻĄāĻžāϟāĻžāĻŦ⧇āϏ āĻĨ⧇āϕ⧇ āϏ⧇āĻ¨ā§āϏāϰ (āĻ“āĻĒ⧇āύāĻŋāĻ‚ āϏ⧇āĻ¨ā§āϏāϰ) āĻāĻŦāĻ‚ āĻ…ā§āϝāĻžāϕ⧁āϝāĻŧ⧇āϟāϰ (āĻ¸ā§āĻŽāĻžāĻ°ā§āϟ āϏāϕ⧇āϟ āĻŦāĻž āĻ¸ā§āĻŽāĻžāĻ°ā§āϟ āĻ˛ā§āϝāĻžāĻŽā§āĻĒ) āĻāϰ āĻļāύāĻžāĻ•ā§āϤāĻ•āĻžāϰ⧀ āĻĒāĻĄāĻŧ⧇ āĻāĻŦāĻ‚ JSON āĻĢāĻ°ā§āĻŽā§āϝāĻžāĻŸā§‡ āĻāĻ•āϟāĻŋ āϝ⧌āĻ•ā§āϤāĻŋāĻ• āύāĻŋāϝāĻŧāĻŽ āϤ⧈āϰāĻŋ āĻ•āϰ⧇, āϝāĻž āĻ¸ā§āĻŽāĻžāĻ°ā§āϟ āĻšā§‹āĻŽ āĻ•āĻ¨ā§āĻŸā§āϰ⧋āϞāĻžāϰ⧇ āĻĒāĻžāĻ āĻžāύ⧋ āĻšāϝāĻŧāĨ¤ āĻāχ āĻĒā§āϰāĻ•ā§āϰāĻŋāϝāĻŧāĻžāϟāĻŋ āφāĻŽāĻžāĻĻ⧇āϰ āϏāĻŋāϰāĻŋāĻœā§‡āϰ āϤ⧃āϤ⧀āϝāĻŧ āύāĻŋāĻŦāĻ¨ā§āϧ⧇ āφāϰāĻ“ āĻŦāĻŋāĻļāĻĻ⧇ āφāϞ⧋āϚāύāĻž āĻ•āϰāĻž āĻšāĻŦ⧇, āϝ⧇āĻ–āĻžāύ⧇ āφāĻŽāϰāĻž āĻāĻ•āϟāĻŋ āĻ¸ā§āĻŽāĻžāĻ°ā§āϟ āĻšā§‹āĻŽ āĻĒāϰāĻŋāϚāĻžāϞāύāĻžāϰ āϜāĻ¨ā§āϝ āĻ•ā§āϞāĻžāϝāĻŧ⧇āĻ¨ā§āϟ āĻ…ā§āϝāĻžāĻĒā§āϞāĻŋāϕ⧇āĻļāύ āϏāĻŽā§āĻĒāĻ°ā§āϕ⧇ āĻ•āĻĨāĻž āĻŦāϞāĻŦāĨ¤

āωāĻĒāϰ⧇ āφāϞ⧋āϚāĻŋāϤ āĻĒā§āϰ⧋āĻĄāĻžāĻ•āĻļāύ āϞāϜāĻŋāĻ• āĻŽā§‡āĻ•āĻžāύāĻŋāϜāĻŽ āϞāĻžāχāĻŦā§āϰ⧇āϰāĻŋ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧇ āĻŦāĻžāĻ¸ā§āϤāĻŦāĻžāϝāĻŧāĻŋāϤ āĻšāϝāĻŧ āĻĻā§āϰ⧁āϤ JSON — C++ āĻ JSON āĻĢāϰāĻŽā§āϝāĻžāĻŸā§‡āϰ āϜāĻ¨ā§āϝ SAX āĻĒāĻžāĻ°ā§āϏāĻžāϰāĨ¤ āĻĒā§āϰ⧋āĻĄāĻžāĻ•āĻļāύ āĻŦāĻŋāϧāĻŋāϗ⧁āϞāĻŋāϰ āĻāĻ•āϟāĻŋ āĻ…ā§āϝāĻžāϰ⧇āϰ āĻ…āύ⧁āĻ•ā§āϰāĻŽāĻŋāĻ• āĻĒāĻĄāĻŧāĻž āĻāĻŦāĻ‚ āĻĒāĻžāĻ°ā§āϏāĻŋāĻ‚ āφāĻĒāύāĻžāϕ⧇ āĻĒā§‚āĻ°ā§āĻŦāĻŦāĻ°ā§āϤ⧀ āϏāĻŽāϝāĻŧ⧇āϰ āĻŽāĻ§ā§āϝ⧇ āĻĄā§‡āϟāĻž āϤ⧁āϞāύāĻž āĻĢāĻžāĻ‚āĻļāύāϟāĻŋ āϏāĻšāĻœā§‡āχ āĻŦāĻžāĻ¸ā§āϤāĻŦāĻžāϝāĻŧāύ āĻ•āϰāϤ⧇ āĻĻ⧇āϝāĻŧ:

void CRuleEngine::Process(PProperties pFact)
{
    m_pActions->clear();

    rapidjson::Reader   reader;
    for(TStringMap::value_type& rRule : m_Rules)
    {
        std::string sRuleId   = rRule.first;
        std::string sRuleBody = rRule.second;

        CRuleHandler            ruleHandler(pFact);
        rapidjson::StringStream ruleStream(sRuleBody.c_str());
        rapidjson::ParseResult  parseResult = reader.Parse(ruleStream, ruleHandler);
        if(!parseResult)
        {
            m_Logger.LogMessage(
                        NLogger2::ePriorityLevelError,
                        std::string("JSON parse error"),
                        "CRuleEngine::Process()",
                        std::string("RuleId: ") + sRuleId);
        }

        PProperties pAction = ruleHandler.GetAction();
        if(pAction)
        {
            pAction->Set("ruleId", sRuleId);
            m_pActions->push_back(pAction);
        }
    }
}

āĻāϟāĻž āĻšāϞ pFact — āĻāĻ•āϟāĻŋ JSON āĻŦāĻžāĻ°ā§āϤāĻž āĻĨ⧇āϕ⧇ āϕ⧀-āĻŽāĻžāύ āĻœā§‹āĻĄāĻŧāĻž āϧāĻžāϰāĻŖāĻ•āĻžāϰ⧀ āĻāĻ•āϟāĻŋ āĻ•āĻžāĻ āĻžāĻŽā§‹, m_āύāĻŋāϝāĻŧāĻŽ — āĻ‰ā§ŽāĻĒāĻžāĻĻāύ āύāĻŋāϝāĻŧāĻŽā§‡āϰ āĻ¸ā§āĻŸā§āϰāĻŋāĻ‚ āĻ…ā§āϝāĻžāϰ⧇āĨ¤ āχāύāĻ•āĻžāĻŽāĻŋāĻ‚ āĻŦāĻžāĻ°ā§āϤāĻž āĻāĻŦāĻ‚ āωāĻ¤ā§āĻĒāĻžāĻĻāύ āύāĻŋāϝāĻŧāĻŽā§‡āϰ āϤ⧁āϞāύāĻž āĻĢāĻžāĻ‚āĻļāύ⧇ āϏāĻžā§āϚāĻžāϞāĻŋāϤ āĻšāϝāĻŧ reader.Parse(āϰ⧁āϞāĻ¸ā§āĻŸā§āϰāĻŋāĻŽ,āϰ⧁āϞāĻšā§āϝāĻžāĻ¨ā§āĻĄāϞāĻžāϰ)āϝ⧇āĻ–āĻžāύ⧇ āύāĻŋāϝāĻŧāĻŽ āĻšā§āϝāĻžāĻ¨ā§āĻĄāϞāĻžāϰ āĻŦ⧁āϞāĻŋāϝāĻŧāĻžāύ āĻāĻŦāĻ‚ āϤ⧁āϞāύāĻž āĻ…āĻĒāĻžāϰ⧇āϟāϰāĻĻ⧇āϰ āϝ⧁āĻ•ā§āϤāĻŋāϝ⧁āĻ•ā§āϤ āĻāĻ•āϟāĻŋ āĻŦāĻ¸ā§āϤ⧁āĨ¤ sRuleId — āĻāĻ•āϟāĻŋ āĻ…āύāĻ¨ā§āϝ āύāĻŋāϝāĻŧāĻŽ āĻļāύāĻžāĻ•ā§āϤāĻ•āĻžāϰ⧀, āϝāĻžāϰ āϜāĻ¨ā§āϝ āĻ¸ā§āĻŽāĻžāĻ°ā§āϟ āĻšā§‹āĻŽ āĻ•āĻ¨ā§āĻŸā§āϰ⧋āϞāĻžāϰ āĻĄāĻžāϟāĻžāĻŦ⧇āϏ⧇āϰ āĻŽāĻ§ā§āϝ⧇ āύāĻŋāϝāĻŧāĻŽāϗ⧁āϞāĻŋ āϏāĻ‚āϰāĻ•ā§āώāĻŖ āĻāĻŦāĻ‚ āϏāĻŽā§āĻĒāĻžāĻĻāύāĻž āĻ•āϰāĻž āϏāĻŽā§āĻ­āĻŦāĨ¤ m_pActions — āϞāϜāĻŋāĻ•ā§āϝāĻžāϞ āχāύāĻĢāĻžāϰ⧇āĻ¨ā§āϏ⧇āϰ āĻĢāϞāĻžāĻĢāϞ āϏāĻš āĻāĻ•āϟāĻŋ āĻ…ā§āϝāĻžāϰ⧇: āύāĻŋāϝāĻŧāĻŽ āĻŦ⧇āϏ āĻĨ⧇āϕ⧇ āĻĢāϞāĻžāĻĢāϞ āϧāĻžāϰāĻŖāĻ•āĻžāϰ⧀ JSON āĻŦāĻžāĻ°ā§āϤāĻž āĻāĻŦāĻ‚ āĻŦāĻžāĻ°ā§āϤāĻž āĻĒāϰāĻŋāϚāĻžāϞāĻ•āϕ⧇ āφāϰāĻ“ āĻĒāĻžāĻ āĻžāύ⧋ āĻšāϝāĻŧ āϝāĻžāϤ⧇ āĻ—ā§āϰāĻžāĻšāĻ• āĻĨā§āϰ⧇āĻĄāϗ⧁āϞāĻŋ āϏ⧇āϗ⧁āϞāĻŋ āĻĒā§āϰāĻ•ā§āϰāĻŋāϝāĻŧāĻž āĻ•āϰāϤ⧇ āĻĒāĻžāϰ⧇āĨ¤

RapidJSON āĻ•āĻ°ā§āĻŽāĻ•ā§āώāĻŽāϤāĻž āĻĢāĻžāĻ‚āĻļāύ⧇āϰ āϏāĻžāĻĨ⧇ āϤ⧁āϞāύ⧀āϝāĻŧ strlen(), āĻāĻŦāĻ‚ āĻ¨ā§āϝ⧂āύāϤāĻŽ āϏāĻŋāĻ¸ā§āĻŸā§‡āĻŽ āϰāĻŋāϏ⧋āĻ°ā§āϏ āĻĒā§āϰāϝāĻŧā§‹āϜāύ⧀āϝāĻŧāϤāĻž āĻāĻŽāĻŦ⧇āĻĄā§‡āĻĄ āĻĄāĻŋāĻ­āĻžāχāϏāϗ⧁āϞāĻŋāϤ⧇ āĻāχ āϞāĻžāχāĻŦā§āϰ⧇āϰāĻŋ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰāĻžāϰ āĻ…āύ⧁āĻŽāϤāĻŋ āĻĻ⧇āϝāĻŧāĨ¤ JSON āĻĢāĻ°ā§āĻŽā§āϝāĻžāĻŸā§‡ āĻŦāĻžāĻ°ā§āϤāĻž āĻāĻŦāĻ‚ āϝ⧌āĻ•ā§āϤāĻŋāĻ• āύāĻŋāϝāĻŧāĻŽāϗ⧁āϞāĻŋāϰ āĻŦā§āϝāĻŦāĻšāĻžāϰ āφāĻĒāύāĻžāϕ⧇ āĻ¸ā§āĻŽāĻžāĻ°ā§āϟ āĻšā§‹āĻŽ āĻ•āĻ¨ā§āĻŸā§āϰ⧋āϞāĻžāϰ⧇āϰ āϏāĻŽāĻ¸ā§āϤ āωāĻĒāĻžāĻĻāĻžāύāϗ⧁āϞāĻŋāϰ āĻŽāĻ§ā§āϝ⧇ āϤāĻĨā§āϝ āĻŦāĻŋāύāĻŋāĻŽāϝāĻŧ⧇āϰ āĻāĻ•āϟāĻŋ āύāĻŽāύ⧀āϝāĻŧ āϏāĻŋāĻ¸ā§āĻŸā§‡āĻŽ āĻŦāĻžāĻ¸ā§āϤāĻŦāĻžāϝāĻŧāύ āĻ•āϰāϤ⧇ āĻĻ⧇āϝāĻŧ⧎

āĻœā§‡āĻĄ-āĻ“āϝāĻŧ⧇āĻ­ āϏ⧇āĻ¨ā§āϏāϰ āĻāĻŦāĻ‚ āĻ…ā§āϝāĻžāĻ•āϚ⧁āϝāĻŧ⧇āϟāϰ

āĻāĻ•āϟāĻŋ āĻ¸ā§āĻŽāĻžāĻ°ā§āϟ āĻšā§‹āĻŽā§‡āϰ āĻĒā§āϰāϧāĻžāύ āϏ⧁āĻŦāĻŋāϧāĻž āĻšāϞ āĻāϟāĻŋ āĻ¸ā§āĻŦāĻžāϧ⧀āύāĻ­āĻžāĻŦ⧇ āĻŦāĻžāĻšā§āϝāĻŋāĻ• āĻĒāϰāĻŋāĻŦ⧇āĻļ⧇āϰ āĻŦāĻŋāĻ­āĻŋāĻ¨ā§āύ āĻĒāϰāĻžāĻŽāĻŋāϤāĻŋ āĻĒāϰāĻŋāĻŽāĻžāĻĒ āĻ•āϰāϤ⧇ āĻĒāĻžāϰ⧇ āĻāĻŦāĻ‚ āĻĒāϰāĻŋāĻ¸ā§āĻĨāĻŋāϤāĻŋāϰ āωāĻĒāϰ āύāĻŋāĻ°ā§āĻ­āϰ āĻ•āϰ⧇ āĻĻāϰāĻ•āĻžāϰ⧀ āĻĢāĻžāĻ‚āĻļāύ āϏāĻŽā§āĻĒāĻžāĻĻāύ āĻ•āϰāϤ⧇ āĻĒāĻžāϰ⧇āĨ¤ āĻāϟāĻŋ āĻ•āϰāĻžāϰ āϜāĻ¨ā§āϝ, āϏ⧇āĻ¨ā§āϏāϰ āĻāĻŦāĻ‚ āĻ…ā§āϝāĻžāϕ⧁āϝāĻŧ⧇āϟāϰāϗ⧁āϞāĻŋ āĻ¸ā§āĻŽāĻžāĻ°ā§āϟ āĻšā§‹āĻŽ āĻ•āĻ¨ā§āĻŸā§āϰ⧋āϞāĻžāϰ⧇āϰ āϏāĻžāĻĨ⧇ āϏāĻ‚āϝ⧁āĻ•ā§āϤ āĻĨāĻžāϕ⧇āĨ¤ āĻŦāĻ°ā§āϤāĻŽāĻžāύ āϏāĻ‚āĻ¸ā§āĻ•āϰāϪ⧇, āĻāϗ⧁āϞāĻŋ āĻĒā§āϰ⧋āĻŸā§‹āĻ•āϞ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧇ āĻ…āĻĒāĻžāϰ⧇āϟāĻŋāĻ‚ āĻ“āϝāĻŧā§āϝāĻžāϰāϞ⧇āϏ āĻĄāĻŋāĻ­āĻžāχāϏ āĻœā§‡āĻĄ-āĻ“āϝāĻŧ⧇āĻ­ āĻāĻ•āϟāĻŋ āĻŦāĻŋāĻļ⧇āώāĻ­āĻžāĻŦ⧇ āĻŦāϰāĻžāĻĻā§āĻĻ āĻĢā§āϰāĻŋāϕ⧋āϝāĻŧ⧇āĻ¨ā§āϏāĻŋāϤ⧇ 869 MHz āϰāĻžāĻļāĻŋāϝāĻŧāĻžāϰ āϜāĻ¨ā§āϝāĨ¤ āĻĒāϰāĻŋāϚāĻžāϞāύāĻž āĻ•āϰāĻžāϰ āϜāĻ¨ā§āϝ, āϤāĻžāϰāĻž āĻāĻ•āϟāĻŋ āϜāĻžāϞ āύ⧇āϟāĻ“āϝāĻŧāĻžāĻ°ā§āϕ⧇ āĻāĻ•āĻ¤ā§āϰāĻŋāϤ āĻšāϝāĻŧ, āϝāĻž āĻ•āĻ­āĻžāϰ⧇āϜ āĻāϞāĻžāĻ•āĻž āĻŦāĻžāĻĄāĻŧāĻžāύ⧋āϰ āϜāĻ¨ā§āϝ āϏāĻ‚āϕ⧇āϤ āĻĒ⧁āύāϰāĻžāĻŦ⧃āĻ¤ā§āϤāĻŋāĻ•āĻžāϰ⧀ āϧāĻžāϰāĻŖ āĻ•āϰ⧇āĨ¤ āĻĄāĻŋāĻ­āĻžāχāϏāϗ⧁āϞāĻŋāϰ āĻāĻ•āϟāĻŋ āĻŦāĻŋāĻļ⧇āώ āĻļāĻ•ā§āϤāĻŋ āϏāĻžā§āϚāϝāĻŧ āĻŽā§‹āĻĄāĻ“ āϰāϝāĻŧ⧇āϛ⧇ - āϤāĻžāϰāĻž āĻŦ⧇āĻļāĻŋāϰāĻ­āĻžāĻ— āϏāĻŽāϝāĻŧ āĻ¸ā§āϞāĻŋāĻĒ āĻŽā§‹āĻĄā§‡ āĻŦā§āϝāϝāĻŧ āĻ•āϰ⧇ āĻāĻŦāĻ‚ āϤāĻĨā§āϝ āĻĒāĻžāĻ āĻžāϝāĻŧ āϝāĻ–āύ āϤāĻžāĻĻ⧇āϰ āĻ…āĻŦāĻ¸ā§āĻĨāĻž āĻĒāϰāĻŋāĻŦāĻ°ā§āϤāύ āĻšāϝāĻŧ, āϝāĻž āĻŦāĻŋāĻ˛ā§āϟ-āχāύ āĻŦā§āϝāĻžāϟāĻžāϰāĻŋāϰ āφāϝāĻŧ⧁ āωāĻ˛ā§āϞ⧇āĻ–āϝ⧋āĻ—ā§āϝāĻ­āĻžāĻŦ⧇ āĻĒā§āϰāϏāĻžāϰāĻŋāϤ āĻ•āϰāϤ⧇ āĻĒāĻžāϰ⧇āĨ¤

āĻ•ā§āϞāĻžāωāĻĄ āĻ¸ā§āĻŽāĻžāĻ°ā§āϟ āĻšā§‹āĻŽāĨ¤ āĻĒāĻžāĻ°ā§āϟ 1: āĻ•āĻ¨ā§āĻŸā§āϰ⧋āϞāĻžāϰ āĻāĻŦāĻ‚ āϏ⧇āĻ¨ā§āϏāϰ

āφāĻĒāύāĻŋ āĻāĻ–āύ āĻŦāĻžāϜāĻžāϰ⧇ āĻŽā§‹āϟāĻžāĻŽā§āϟāĻŋ āĻŦāĻĄāĻŧ āϏāĻ‚āĻ–ā§āϝāĻ• āĻŦāĻŋāĻ­āĻŋāĻ¨ā§āύ Z-Wave āĻĄāĻŋāĻ­āĻžāχāϏ āϖ⧁āρāĻœā§‡ āĻĒ⧇āϤ⧇ āĻĒāĻžāϰ⧇āύāĨ¤ āφāϏ⧁āύ āĻ•āϝāĻŧ⧇āĻ•āϟāĻŋ āωāĻĻāĻžāĻšāϰāĻŖ āĻĻ⧇āϖ⧇ āύ⧇āĻ“āϝāĻŧāĻž āϝāĻžāĻ•:

  1. Zipato PAN16 āĻ¸ā§āĻŽāĻžāĻ°ā§āϟ āϏāϕ⧇āϟ āύāĻŋāĻŽā§āύāϞāĻŋāĻ–āĻŋāϤ āĻĒāϰāĻžāĻŽāĻŋāϤāĻŋāϗ⧁āϞāĻŋ āĻĒāϰāĻŋāĻŽāĻžāĻĒ āĻ•āϰāϤ⧇ āĻĒāĻžāϰ⧇: āĻŦ⧈āĻĻā§āϝ⧁āϤāĻŋāĻ• āύ⧇āϟāĻ“āϝāĻŧāĻžāĻ°ā§āϕ⧇ āĻŦāĻŋāĻĻā§āĻ¯ā§ā§Ž āĻ–āϰāϚ (kWh), āĻļāĻ•ā§āϤāĻŋ (W), āĻ­ā§‹āĻ˛ā§āĻŸā§‡āϜ (V) āĻāĻŦāĻ‚ āĻŦāĻ°ā§āϤāĻŽāĻžāύ (A)āĨ¤ āĻāϟāĻŋāϤ⧇ āĻāĻ•āϟāĻŋ āĻ…āĻ¨ā§āϤāĻ°ā§āύāĻŋāĻ°ā§āĻŽāĻŋāϤ āϏ⧁āχāϚ āϰāϝāĻŧ⧇āϛ⧇ āϝāĻžāϰ āϏāĻžāĻšāĻžāĻ¯ā§āϝ⧇ āφāĻĒāύāĻŋ āϏāĻ‚āϝ⧁āĻ•ā§āϤ āĻŦ⧈āĻĻā§āϝ⧁āϤāĻŋāĻ• āϝāĻ¨ā§āĻ¤ā§āϰ āύāĻŋāϝāĻŧāĻ¨ā§āĻ¤ā§āϰāĻŖ āĻ•āϰāϤ⧇ āĻĒāĻžāϰ⧇āύ;
  2. āύāĻŋāĻ“ āϕ⧁āϞāĻ•ā§āϝāĻžāĻŽ āϞāĻŋāĻ• āϏ⧇āĻ¨ā§āϏāϰ āϰāĻŋāĻŽā§‹āϟ āĻĒā§āϰ⧋āĻŦ⧇āϰ āĻĒāϰāĻŋāϚāĻŋāϤāĻŋāϗ⧁āϞāĻŋ āĻŦāĻ¨ā§āϧ āĻ•āϰ⧇ āĻ›āĻŋāϟāϕ⧇ āϝāĻžāĻ“āϝāĻŧāĻž āϤāϰāϞ⧇āϰ āωāĻĒāĻ¸ā§āĻĨāĻŋāϤāĻŋ āϏāύāĻžāĻ•ā§āϤ āĻ•āϰ⧇;
  3. āϝāĻ–āύ āϧ⧋āρāϝāĻŧāĻž āĻ•āĻŖāĻž āĻ—ā§āϝāĻžāϏ āĻŦāĻŋāĻļā§āϞ⧇āώāĻ• āĻšā§‡āĻŽā§āĻŦāĻžāϰ⧇ āĻĒā§āϰāĻŦ⧇āĻļ āĻ•āϰ⧇ āϤāĻ–āύ Zipato PH-PSG01 āĻ¸ā§āĻŽā§‹āĻ• āϏ⧇āĻ¨ā§āϏāϰāϟāĻŋ āĻŸā§āϰāĻŋāĻ—āĻžāϰ āĻšāϝāĻŧ;
  4. āύāĻŋāĻ“ āϕ⧁āϞāĻ•ā§āϝāĻžāĻŽ āĻŽā§‹āĻļāύ āϏ⧇āĻ¨ā§āϏāϰ āĻŽāĻžāύāĻŦāĻĻ⧇āĻšā§‡āϰ āχāύāĻĢā§āϰāĻžāϰ⧇āĻĄ āĻŦāĻŋāĻ•āĻŋāϰāĻŖ āĻŦāĻŋāĻļā§āϞ⧇āώāĻŖ āĻ•āϰ⧇āĨ¤ āωāĻĒāϰāĻ¨ā§āϤ⧁ āĻāĻ•āϟāĻŋ āφāϞ⧋ āϏ⧇āĻ¨ā§āϏāϰ (Lx);
  5. āĻŽāĻžāĻ˛ā§āϟāĻŋāϏ⧇āĻ¨ā§āϏāϰ āĻĢāĻŋāϞāĻŋāĻ“ PST02-A āϤāĻžāĻĒāĻŽāĻžāĻ¤ā§āϰāĻž (°C), āφāϞ⧋ (%), āĻĻāϰāϜāĻž āĻ–ā§‹āϞāĻž, āϘāϰ⧇ āĻāĻ•āϜāύ āĻŦā§āϝāĻ•ā§āϤāĻŋāϰ āωāĻĒāĻ¸ā§āĻĨāĻŋāϤāĻŋ āĻĒāϰāĻŋāĻŽāĻžāĻĒ āĻ•āϰ⧇;
  6. āĻœā§‡āĻĄ-āĻ“āϝāĻŧ⧇āĻ­ āχāωāĻāϏāĻŦāĻŋ āĻ¸ā§āϟāĻŋāĻ• ZME E UZB1 āύ⧇āϟāĻ“āϝāĻŧāĻžāĻ°ā§āĻ• āĻ•āĻ¨ā§āĻŸā§āϰ⧋āϞāĻžāϰ, āϝāĻžāϰ āϏāĻžāĻĨ⧇ āϏ⧇āĻ¨ā§āϏāϰ āϏāĻ‚āϝ⧁āĻ•ā§āϤ āφāϛ⧇āĨ¤

āĻāϟāĻŋ āĻ…āĻ¤ā§āϝāĻ¨ā§āϤ āϗ⧁āϰ⧁āĻ¤ā§āĻŦāĻĒā§‚āĻ°ā§āĻŖ āϝ⧇ āĻĄāĻŋāĻ­āĻžāχāϏ āĻāĻŦāĻ‚ āύāĻŋāϝāĻŧāĻžāĻŽāĻ• āĻāĻ•āχ āĻĢā§āϰāĻŋāϕ⧋āϝāĻŧ⧇āĻ¨ā§āϏāĻŋāϤ⧇ āĻ•āĻžāϜ āĻ•āϰ⧇, āĻ…āĻ¨ā§āϝāĻĨāĻžāϝāĻŧ āϤāĻžāϰāĻž āϏāĻ‚āϝ⧋āϗ⧇āϰ āĻŽā§āĻšā§āĻ°ā§āϤ⧇ āĻāϕ⧇ āĻ…āĻĒāϰāϕ⧇ āĻĻ⧇āĻ–āϤ⧇ āĻĒāĻžāĻŦ⧇ āύāĻžāĨ¤ āĻāĻ•āϟāĻŋ āĻœā§‡āĻĄ-āĻ“āϝāĻŧ⧇āĻ­ āύ⧇āϟāĻ“āϝāĻŧāĻžāĻ°ā§āĻ• āĻ•āĻ¨ā§āĻŸā§āϰ⧋āϞāĻžāϰ⧇āϰ āϏāĻžāĻĨ⧇ 232āϟāĻŋ āĻĄāĻŋāĻ­āĻžāχāϏ āϏāĻ‚āϝ⧁āĻ•ā§āϤ āĻ•āϰāĻž āϝ⧇āϤ⧇ āĻĒāĻžāϰ⧇, āϝāĻž āĻāĻ•āϟāĻŋ āĻ…ā§āϝāĻžāĻĒāĻžāĻ°ā§āϟāĻŽā§‡āĻ¨ā§āϟ āĻŦāĻž āĻāĻ•āϟāĻŋ āĻĻ⧇āĻļ⧇āϰ āĻŦāĻžāĻĄāĻŧāĻŋāϰ āϜāĻ¨ā§āϝ āϝāĻĨ⧇āĻˇā§āϟāĨ¤ āĻŦāĻžāĻĄāĻŧāĻŋāϰ āĻ­āĻŋāϤāϰ⧇ āύ⧇āϟāĻ“āϝāĻŧāĻžāĻ°ā§āĻ• āĻ•āĻ­āĻžāϰ⧇āϜ āĻāϞāĻžāĻ•āĻž āĻĒā§āϰāϏāĻžāϰāĻŋāϤ āĻ•āϰāϤ⧇, āĻāĻ•āϟāĻŋ āĻ¸ā§āĻŽāĻžāĻ°ā§āϟ āϏāϕ⧇āϟ āĻāĻ•āϟāĻŋ āϏāĻ‚āϕ⧇āϤ āĻĒ⧁āύāϰāĻžāĻŦ⧃āĻ¤ā§āϤāĻŋāĻ•āĻžāϰ⧀ āĻšāĻŋāϏāĻžāĻŦ⧇ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰāĻž āϝ⧇āϤ⧇ āĻĒāĻžāϰ⧇āĨ¤

āĻ•ā§āϞāĻžāωāĻĄ āĻ¸ā§āĻŽāĻžāĻ°ā§āϟ āĻšā§‹āĻŽāĨ¤ āĻĒāĻžāĻ°ā§āϟ 1: āĻ•āĻ¨ā§āĻŸā§āϰ⧋āϞāĻžāϰ āĻāĻŦāĻ‚ āϏ⧇āĻ¨ā§āϏāϰ

āĻĒā§‚āĻ°ā§āĻŦāĻŦāĻ°ā§āϤ⧀ āĻ…āύ⧁āĻšā§āϛ⧇āĻĻ⧇ āφāϞ⧋āϚāĻŋāϤ āĻ¸ā§āĻŽāĻžāĻ°ā§āϟ āĻšā§‹āĻŽ āĻ•āĻ¨ā§āĻŸā§āϰ⧋āϞāĻžāϰ āϏāĻžāĻ°ā§āĻ­āĻžāϰ āĻĒā§āϰāĻ•ā§āϰāĻŋāϝāĻŧāĻžāϝāĻŧ, Z-āĻ“āϝāĻŧ⧇āĻ­ āϏāĻžāĻ°ā§āĻ­āĻžāϰ Z-āĻ“āϝāĻŧ⧇āĻ­ āĻĄāĻŋāĻ­āĻžāχāϏāϗ⧁āϞāĻŋāϰ āϏāĻžāĻĨ⧇ āχāĻ¨ā§āϟāĻžāϰāĻ…ā§āϝāĻžāĻ•ā§āϟ āĻ•āϰāĻžāϰ āϜāĻ¨ā§āϝ āĻĻāĻžāϝāĻŧā§€āĨ¤ āϏ⧇āĻ¨ā§āϏāϰ āĻĨ⧇āϕ⧇ āϤāĻĨā§āϝ āĻĒ⧇āϤ⧇ āĻāϟāĻŋ āĻāĻ•āϟāĻŋ āϞāĻžāχāĻŦā§āϰ⧇āϰāĻŋ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧇ OpenZWave C++ āĻ, āϝāĻž āĻœā§‡āĻĄ-āĻ“āϝāĻŧ⧇āĻ­ āύ⧇āϟāĻ“āϝāĻŧāĻžāĻ°ā§āĻ• āχāωāĻāϏāĻŦāĻŋ āĻ•āĻ¨ā§āĻŸā§āϰ⧋āϞāĻžāϰ⧇āϰ āϏāĻžāĻĨ⧇ āχāĻ¨ā§āϟāĻžāϰāĻĢ⧇āϏ āĻ•āϰāĻžāϰ āϜāĻ¨ā§āϝ āĻāĻ•āϟāĻŋ āχāĻ¨ā§āϟāĻžāϰāĻĢ⧇āϏ āĻĒā§āϰāĻĻāĻžāύ āĻ•āϰ⧇ āĻāĻŦāĻ‚ āĻŦāĻŋāĻ­āĻŋāĻ¨ā§āύ āϏ⧇āĻ¨ā§āϏāϰ āĻāĻŦāĻ‚ āĻ…ā§āϝāĻžāϕ⧁āϝāĻŧ⧇āϟāϰāϗ⧁āϞāĻŋāϰ āϏāĻžāĻĨ⧇ āĻ•āĻžāϜ āĻ•āϰ⧇āĨ¤ āϏ⧇āĻ¨ā§āϏāϰ āĻĻā§āĻŦāĻžāϰāĻž āĻĒāϰāĻŋāĻŽāĻžāĻĒ āĻ•āϰāĻž āĻĒāϰāĻŋāĻŦ⧇āĻļāĻ—āϤ āĻĒā§āϝāĻžāϰāĻžāĻŽāĻŋāϟāĻžāϰ⧇āϰ āĻŽāĻžāύ āĻāĻ•āϟāĻŋ JSON āĻŦāĻžāĻ°ā§āϤāĻž āφāĻ•āĻžāϰ⧇ Z-Wave āϏāĻžāĻ°ā§āĻ­āĻžāϰ āĻĻā§āĻŦāĻžāϰāĻž āϰ⧇āĻ•āĻ°ā§āĻĄ āĻ•āϰāĻž āĻšāϝāĻŧ:

{
	"vendor": "*****",
	"version": "3.0.0",
	"timestampMs": "1566479791290",
	"clientType": "gateway",
	"deviceId": "20873eb0-dd5e-4213-a175-************",
	"deviceType": "sensor",
	"protocol": "zwave",
	"messageType": "sensorData",
	"homeId": "0xefa0cfa7",
	"nodeId": "20",
	"sensorType": "METER",
	"label": "Voltage",
	"sensorData": "229.3",
	"units": "V"
}

āϤāĻžāϰāĻĒāϰ āĻāϟāĻŋ āϏāĻžāĻ°ā§āĻ­āĻžāϰ āĻĒā§āϰāĻ•ā§āϰāĻŋāϝāĻŧāĻžāϰ āĻŦāĻžāĻ°ā§āϤāĻž āĻĒāϰāĻŋāϚāĻžāϞāϕ⧇āϰ āĻ•āĻžāϛ⧇ āĻĢāϰ⧋āϝāĻŧāĻžāĻ°ā§āĻĄ āĻ•āϰāĻž āĻšāϝāĻŧ āϝāĻžāϤ⧇ āĻ—ā§āϰāĻžāĻšāĻ• āĻĨā§āϰ⧇āĻĄāϗ⧁āϞāĻŋ āĻāϟāĻŋ āĻ—ā§āϰāĻšāĻŖ āĻ•āϰāϤ⧇ āĻĒāĻžāϰ⧇āĨ¤ āĻĒā§āϰāϧāĻžāύ āĻ—ā§āϰāĻžāĻšāĻ• āĻšāϞ āĻĒā§āϰ⧋āĻĄāĻžāĻ•āĻļāύ āϞāϜāĻŋāĻ• āϏāĻžāĻ°ā§āĻ­āĻžāϰ, āϝāĻž āϞāϜāĻŋāĻ• āύāĻŋāϝāĻŧāĻŽā§‡āϰ āĻĒā§‚āĻ°ā§āĻŦāĻŦāĻ°ā§āϤ⧀ āĻŦāĻžāĻ°ā§āϤāĻž āĻ•ā§āώ⧇āĻ¤ā§āϰ⧇āϰ āĻŽāĻžāύāϗ⧁āϞāĻŋāϰ āϏāĻžāĻĨ⧇ āĻŽā§‡āϞ⧇āĨ¤ āĻ•āĻ¨ā§āĻŸā§āϰ⧋āϞ āĻ•āĻŽāĻžāĻ¨ā§āĻĄ āϏāĻŽā§āĻŦāϞāĻŋāϤ āĻ…āύ⧁āĻŽāĻžāύ āĻĢāϞāĻžāĻĢāϞāϗ⧁āϞāĻŋ āĻŦāĻžāĻ°ā§āϤāĻž āĻĒāϰāĻŋāϚāĻžāϞāϕ⧇āϰ āĻ•āĻžāϛ⧇ āĻĢ⧇āϰāϤ āĻĒāĻžāĻ āĻžāύ⧋ āĻšāϝāĻŧ āĻāĻŦāĻ‚ āϏ⧇āĻ–āĻžāύ āĻĨ⧇āϕ⧇ āĻœā§‡āĻĄ-āĻ“āϝāĻŧ⧇āĻ­ āϏāĻžāĻ°ā§āĻ­āĻžāϰ⧇ āϝāĻžāϝāĻŧ, āϝāĻž āϤāĻžāĻĻ⧇āϰ āĻĄāĻŋāϕ⧋āĻĄ āĻ•āϰ⧇ āĻāĻŦāĻ‚ āĻœā§‡āĻĄ-āĻ“āϝāĻŧ⧇āĻ­ āύ⧇āϟāĻ“āϝāĻŧāĻžāĻ°ā§āĻ• āχāωāĻāϏāĻŦāĻŋ āĻ•āĻ¨ā§āĻŸā§āϰ⧋āϞāĻžāϰ⧇ āĻĒāĻžāĻ āĻžāϝāĻŧāĨ¤ āϤāĻžāϰāĻĒāϰ⧇ āϤāĻžāϰāĻž āĻ…ā§āϝāĻžāĻ•āϚ⧁āϝāĻŧ⧇āϟāϰ⧇ āĻĒā§āϰāĻŦ⧇āĻļ āĻ•āϰ⧇, āϝāĻž āĻĒāϰāĻŋāĻŦ⧇āĻļāĻ—āϤ āĻŦāĻ¸ā§āϤ⧁āϰ āĻ…āĻŦāĻ¸ā§āĻĨāĻž āĻĒāϰāĻŋāĻŦāĻ°ā§āϤāύ āĻ•āϰ⧇ āĻāĻŦāĻ‚ āĻ¸ā§āĻŽāĻžāĻ°ā§āϟ āĻšā§‹āĻŽ āĻāχāĻ­āĻžāĻŦ⧇ āĻĻāϰāĻ•āĻžāϰ⧀ āĻ•āĻžāϜ āĻ•āϰ⧇āĨ¤

āĻ•ā§āϞāĻžāωāĻĄ āĻ¸ā§āĻŽāĻžāĻ°ā§āϟ āĻšā§‹āĻŽāĨ¤ āĻĒāĻžāĻ°ā§āϟ 1: āĻ•āĻ¨ā§āĻŸā§āϰ⧋āϞāĻžāϰ āĻāĻŦāĻ‚ āϏ⧇āĻ¨ā§āϏāϰ
(āωāĻšā§āϚāϤāϰ āϰ⧇āĻœā§‹āϞāĻŋāωāĻļāύ⧇ āϖ⧁āϞāϤ⧇ āĻ›āĻŦāĻŋāϰ āωāĻĒāϰ āĻ•ā§āϞāĻŋāĻ• āĻ•āϰ⧁āύ)

āĻ¸ā§āĻŽāĻžāĻ°ā§āϟ āĻšā§‹āĻŽ āĻ•āĻ¨ā§āĻŸā§āϰ⧋āϞāĻžāϰ⧇āϰ āĻ—ā§āϰāĻžāĻĢāĻŋāĻ•ā§āϝāĻžāϞ āχāĻ¨ā§āϟāĻžāϰāĻĢ⧇āϏ⧇ āĻœā§‡āĻĄ-āĻ“āϝāĻŧ⧇āĻ­ āĻĄāĻŋāĻ­āĻžāχāϏ āϏāĻ‚āϝ⧋āĻ— āĻ•āϰāĻž āĻšāϝāĻŧāĨ¤ āĻāϟāĻŋ āĻ•āϰāϤ⧇, āĻĄāĻŋāĻ­āĻžāχāϏāϗ⧁āϞāĻŋāϰ āĻāĻ•āϟāĻŋ āϤāĻžāϞāĻŋāĻ•āĻž āϏāĻš āĻĒ⧃āĻˇā§āĻ āĻžāϝāĻŧ āϝāĻžāύ āĻāĻŦāĻ‚ "āϝ⧋āĻ— āĻ•āϰ⧁āύ" āĻŦā§‹āϤāĻžāĻŽāϟāĻŋ āĻ•ā§āϞāĻŋāĻ• āĻ•āϰ⧁āύāĨ¤ RESTful API āχāĻ¨ā§āϟāĻžāϰāĻĢ⧇āϏ⧇āϰ āĻŽāĻžāĻ§ā§āϝāĻŽā§‡ āĻ…ā§āϝāĻžāĻĄ āĻ•āĻŽāĻžāĻ¨ā§āĻĄ āϏāĻžāĻ°ā§āĻ­āĻžāϰ āĻĒā§āϰāĻ•ā§āϰāĻŋāϝāĻŧāĻžāϝāĻŧ āĻĒā§āϰāĻŦ⧇āĻļ āĻ•āϰ⧇ āĻāĻŦāĻ‚ āϤāĻžāϰāĻĒāϰ āĻŦāĻžāĻ°ā§āϤāĻž āĻŽā§āϝāĻžāύ⧇āϜāĻžāϰ āĻĻā§āĻŦāĻžāϰāĻž Z-āĻ“āϝāĻŧ⧇āĻ­ āϏāĻžāĻ°ā§āĻ­āĻžāϰ⧇ āĻĒāĻžāĻ āĻžāύ⧋ āĻšāϝāĻŧ, āϝāĻž Z-Wave āύ⧇āϟāĻ“āϝāĻŧāĻžāĻ°ā§āĻ• USB āĻ•āĻ¨ā§āĻŸā§āϰ⧋āϞāĻžāϰāϕ⧇ āĻĄāĻŋāĻ­āĻžāχāϏ āϝ⧋āĻ— āĻ•āϰāĻžāϰ āϜāĻ¨ā§āϝ āĻāĻ•āϟāĻŋ āĻŦāĻŋāĻļ⧇āώ āĻŽā§‹āĻĄā§‡ āϰāĻžāϖ⧇āĨ¤ āĻāϰāĻĒāϰ⧇, āĻœā§‡āĻĄ-āĻ“āϝāĻŧ⧇āĻ­ āĻĄāĻŋāĻ­āĻžāχāϏ⧇ āφāĻĒāύāĻžāϕ⧇ āĻĒāϰāĻŋāώ⧇āĻŦāĻž āĻŦā§‹āϤāĻžāĻŽāϟāĻŋāϰ āĻĻā§āϰ⧁āϤ āĻĒā§āϰ⧇āϏ⧇āϰ āĻāĻ•āϟāĻŋ āϏāĻŋāϰāĻŋāϜ (3 āϏ⧇āϕ⧇āĻ¨ā§āĻĄā§‡āϰ āĻŽāĻ§ā§āϝ⧇ 1,5 āϟāĻŋ āĻĒā§āϰ⧇āϏ) āĻ•āϰāϤ⧇ āĻšāĻŦ⧇āĨ¤ USB āĻ•āĻ¨ā§āĻŸā§āϰ⧋āϞāĻžāϰ āĻĄāĻŋāĻ­āĻžāχāϏāϟāĻŋāϕ⧇ āύ⧇āϟāĻ“āϝāĻŧāĻžāĻ°ā§āϕ⧇āϰ āϏāĻžāĻĨ⧇ āϏāĻ‚āϝ⧁āĻ•ā§āϤ āĻ•āϰ⧇ āĻāĻŦāĻ‚ āĻāϟāĻŋ āϏāĻŽā§āĻĒāĻ°ā§āϕ⧇ āϤāĻĨā§āϝ Z-Wave āϏāĻžāĻ°ā§āĻ­āĻžāϰ⧇ āĻĒāĻžāĻ āĻžāϝāĻŧāĨ¤ āĻāϟāĻŋ, āĻĒāϰāĻŋāĻŦāĻ°ā§āϤ⧇, āύāϤ⧁āύ āĻĄāĻŋāĻ­āĻžāχāϏ⧇āϰ āĻĒāϰāĻžāĻŽāĻŋāϤāĻŋ āϏāĻš SQLite āĻĄāĻžāϟāĻžāĻŦ⧇āϏ⧇ āĻāĻ•āϟāĻŋ āύāϤ⧁āύ āĻāĻ¨ā§āĻŸā§āϰāĻŋ āϤ⧈āϰāĻŋ āĻ•āϰ⧇āĨ¤ āĻāĻ•āϟāĻŋ āύāĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āϟ āϏāĻŽāϝāĻŧ⧇āϰ āĻŦā§āϝāĻŦāϧāĻžāύ⧇āϰ āĻĒāϰ⧇, āĻ—ā§āϰāĻžāĻĢāĻŋāĻ•āĻžāϞ āχāĻ¨ā§āϟāĻžāϰāĻĢ⧇āϏ Z-Wave āĻĄāĻŋāĻ­āĻžāχāϏ āϤāĻžāϞāĻŋāĻ•āĻž āĻĒ⧃āĻˇā§āĻ āĻžāϝāĻŧ āĻĢāĻŋāϰ⧇ āφāϏ⧇, āĻĄāĻžāϟāĻžāĻŦ⧇āϏ āĻĨ⧇āϕ⧇ āϤāĻĨā§āϝ āĻĒāĻĄāĻŧ⧇ āĻāĻŦāĻ‚ āϤāĻžāϞāĻŋāĻ•āĻžāϝāĻŧ āύāϤ⧁āύ āĻĄāĻŋāĻ­āĻžāχāϏ āĻĒā§āϰāĻĻāĻ°ā§āĻļāύ āĻ•āϰ⧇āĨ¤ āĻĒā§āϰāϤāĻŋāϟāĻŋ āĻĄāĻŋāĻ­āĻžāχāϏ āϤāĻžāϰ āύāĻŋāϜāĻ¸ā§āĻŦ āĻ…āύāĻ¨ā§āϝ āĻļāύāĻžāĻ•ā§āϤāĻ•āĻžāϰ⧀ āĻĒāĻžāϝāĻŧ, āϝāĻž āωāĻ¤ā§āĻĒāĻžāĻĻāύ āĻ…āύ⧁āĻŽāĻžāύ āύāĻŋāϝāĻŧāĻŽā§‡ āĻāĻŦāĻ‚ āĻ•ā§āϞāĻžāωāĻĄā§‡ āĻ•āĻžāϜ āĻ•āϰāĻžāϰ āϏāĻŽāϝāĻŧ āĻŦā§āϝāĻŦāĻšā§ƒāϤ āĻšāϝāĻŧāĨ¤ āĻāχ āĻ…ā§āϝāĻžāϞāĻ—āϰāĻŋāĻĻāĻŽā§‡āϰ āĻ•ā§āϰāĻŋāϝāĻŧāĻžāĻ•āϞāĻžāĻĒāϟāĻŋ UML āĻĄāĻžāϝāĻŧāĻžāĻ—ā§āϰāĻžāĻŽā§‡ āĻĻ⧇āĻ–āĻžāύ⧋ āĻšāϝāĻŧ⧇āϛ⧇:

āĻ•ā§āϞāĻžāωāĻĄ āĻ¸ā§āĻŽāĻžāĻ°ā§āϟ āĻšā§‹āĻŽāĨ¤ āĻĒāĻžāĻ°ā§āϟ 1: āĻ•āĻ¨ā§āĻŸā§āϰ⧋āϞāĻžāϰ āĻāĻŦāĻ‚ āϏ⧇āĻ¨ā§āϏāϰ
(āωāĻšā§āϚāϤāϰ āϰ⧇āĻœā§‹āϞāĻŋāωāĻļāύ⧇ āϖ⧁āϞāϤ⧇ āĻ›āĻŦāĻŋāϰ āωāĻĒāϰ āĻ•ā§āϞāĻŋāĻ• āĻ•āϰ⧁āύ)

āφāχāĻĒāĻŋ āĻ•ā§āϝāĻžāĻŽā§‡āϰāĻž āϏāĻ‚āϝ⧁āĻ•ā§āϤ āĻ•āϰāĻž āĻšāĻšā§āϛ⧇

āĻāχ āύāĻŋāĻŦāĻ¨ā§āϧ⧇ āφāϞ⧋āϚāĻŋāϤ āĻ•ā§āϞāĻžāωāĻĄ āĻ¸ā§āĻŽāĻžāĻ°ā§āϟ āĻšā§‹āĻŽ āϏāĻŋāĻ¸ā§āĻŸā§‡āĻŽāϟāĻŋ āĻ•ā§āϞāĻžāωāĻĄ āĻ­āĻŋāĻĄāĻŋāĻ“ āύāϜāϰāĻĻāĻžāϰāĻŋ āϏāĻŋāĻ¸ā§āĻŸā§‡āĻŽā§‡āϰ āĻāĻ•āϟāĻŋ āφāĻĒāĻ—ā§āϰ⧇āĻĄ, āϝāĻž āϞ⧇āĻ–āĻ• āĻĻā§āĻŦāĻžāϰāĻžāĻ“ āϤ⧈āϰāĻŋ āĻ•āϰāĻž āĻšāϝāĻŧ⧇āϛ⧇, āϝāĻž āĻŦ⧇āĻļ āĻ•āϝāĻŧ⧇āĻ• āĻŦāĻ›āϰ āϧāϰ⧇ āĻŦāĻžāϜāĻžāϰ⧇ āϰāϝāĻŧ⧇āϛ⧇ āĻāĻŦāĻ‚ āϰāĻžāĻļāĻŋāϝāĻŧāĻžāϝāĻŧ āĻ…āύ⧇āĻ• āχāύāĻ¸ā§āϟāϞ⧇āĻļāύ āϰāϝāĻŧ⧇āϛ⧇āĨ¤

āĻ•ā§āϞāĻžāωāĻĄ āĻ­āĻŋāĻĄāĻŋāĻ“ āύāϜāϰāĻĻāĻžāϰāĻŋ āϏāĻŋāĻ¸ā§āĻŸā§‡āĻŽā§‡āϰ āϜāĻ¨ā§āϝ, āϤ⧀āĻŦā§āϰ āϏāĻŽāĻ¸ā§āϝāĻžāϗ⧁āϞāĻŋāϰ āĻŽāĻ§ā§āϝ⧇ āĻāĻ•āϟāĻŋ āĻšāϞ āϏāϰāĻžā§āϜāĻžāĻŽāϗ⧁āϞāĻŋāϰ āϏ⧀āĻŽāĻŋāϤ āύāĻŋāĻ°ā§āĻŦāĻžāϚāύ āϝāĻžāϰ āϏāĻžāĻĨ⧇ āĻāϕ⧀āĻ•āϰāĻŖ āĻ•āϰāĻž āϝ⧇āϤ⧇ āĻĒāĻžāϰ⧇āĨ¤ āĻ•ā§āϞāĻžāωāĻĄā§‡āϰ āϏāĻžāĻĨ⧇ āϏāĻ‚āϝ⧋āĻ— āĻ•āϰāĻžāϰ āϜāĻ¨ā§āϝ āĻĻāĻžāϝāĻŧā§€ āϏāĻĢā§āϟāĻ“āϝāĻŧā§āϝāĻžāϰāϟāĻŋ āĻ­āĻŋāĻĄāĻŋāĻ“ āĻ•ā§āϝāĻžāĻŽā§‡āϰāĻžāϰ āĻ­āĻŋāϤāϰ⧇ āχāύāĻ¸ā§āϟāϞ āĻ•āϰāĻž āĻšāϝāĻŧ, āϝāĻž āĻ…āĻŦāĻŋāϞāĻŽā§āĻŦ⧇ āϤāĻžāϰ āĻšāĻžāĻ°ā§āĻĄāĻ“āϝāĻŧā§āϝāĻžāϰ⧇āϰ āωāĻĒāϰ āϗ⧁āϰ⧁āϤāϰ āϚāĻžāĻšāĻŋāĻĻāĻž āϰāĻžāϖ⧇ - āĻĒā§āϰāϏ⧇āϏāϰ āĻāĻŦāĻ‚ āĻŦāĻŋāύāĻžāĻŽā§‚āĻ˛ā§āϝ⧇ āĻŽā§‡āĻŽāϰāĻŋāϰ āĻĒāϰāĻŋāĻŽāĻžāĻŖāĨ¤ āĻāϟāĻŋ āĻĒā§āϰāϧāĻžāύāϤ āύāĻŋāϝāĻŧāĻŽāĻŋāϤ āφāχāĻĒāĻŋ āĻ•ā§āϝāĻžāĻŽā§‡āϰāĻžāϰ āϤ⧁āϞāύāĻžāϝāĻŧ āĻ•ā§āϞāĻžāωāĻĄ āϏāĻŋāϏāĻŋāϟāĻŋāĻ­āĻŋ āĻ•ā§āϝāĻžāĻŽā§‡āϰāĻžāϰ āωāĻšā§āϚ āĻŽā§‚āĻ˛ā§āϝ āĻŦā§āϝāĻžāĻ–ā§āϝāĻž āĻ•āϰ⧇āĨ¤ āĻāĻ›āĻžāĻĄāĻŧāĻžāĻ“, āĻ•ā§āϝāĻžāĻŽā§‡āϰāĻž āĻĢāĻžāχāϞ āϏāĻŋāĻ¸ā§āĻŸā§‡āĻŽ āĻāĻŦāĻ‚ āϏāĻŽāĻ¸ā§āϤ āĻĒā§āϰāϝāĻŧā§‹āϜāύ⧀āϝāĻŧ āωāĻ¨ā§āύāϝāĻŧāύ āϏāϰāĻžā§āϜāĻžāĻŽāϗ⧁āϞāĻŋāϤ⧇ āĻ…ā§āϝāĻžāĻ•ā§āϏ⧇āϏ āĻĒ⧇āϤ⧇ āϏāĻŋāϏāĻŋāϟāĻŋāĻ­āĻŋ āĻ•ā§āϝāĻžāĻŽā§‡āϰāĻž āωāĻ¤ā§āĻĒāĻžāĻĻāύāĻ•āĻžāϰ⧀ āϏāĻ‚āĻ¸ā§āĻĨāĻžāϗ⧁āϞāĻŋāϰ āϏāĻžāĻĨ⧇ āφāϞ⧋āϚāύāĻžāϰ āĻāĻ•āϟāĻŋ āĻĻā§€āĻ°ā§āϘ āĻĒāĻ°ā§āϝāĻžāϝāĻŧ⧇ āĻĒā§āϰāϝāĻŧā§‹āϜāύ⧎

āĻ•ā§āϞāĻžāωāĻĄ āĻ¸ā§āĻŽāĻžāĻ°ā§āϟ āĻšā§‹āĻŽāĨ¤ āĻĒāĻžāĻ°ā§āϟ 1: āĻ•āĻ¨ā§āĻŸā§āϰ⧋āϞāĻžāϰ āĻāĻŦāĻ‚ āϏ⧇āĻ¨ā§āϏāϰ

āĻ…āĻ¨ā§āϝāĻĻāĻŋāϕ⧇, āϏāĻŽāĻ¸ā§āϤ āφāϧ⧁āύāĻŋāĻ• āφāχāĻĒāĻŋ āĻ•ā§āϝāĻžāĻŽā§‡āϰāĻžāϝāĻŧ āĻ…āĻ¨ā§āϝāĻžāĻ¨ā§āϝ āϏāϰāĻžā§āϜāĻžāĻŽā§‡āϰ āϏāĻžāĻĨ⧇ āχāĻ¨ā§āϟāĻžāϰāĻ…ā§āϝāĻžāĻ•āĻļāύ⧇āϰ āϜāĻ¨ā§āϝ āĻ¸ā§āĻŸā§āϝāĻžāĻ¨ā§āĻĄāĻžāĻ°ā§āĻĄ āĻĒā§āϰ⧋āĻŸā§‹āĻ•āϞ āϰāϝāĻŧ⧇āϛ⧇ (āĻŦāĻŋāĻļ⧇āώāϤ, āĻ­āĻŋāĻĄāĻŋāĻ“ āϰ⧇āĻ•āĻ°ā§āĻĄāĻžāϰ)āĨ¤ āĻāχāĻ­āĻžāĻŦ⧇, āĻāĻ•āϟāĻŋ āĻĒ⧃āĻĨāĻ• āύāĻŋāϝāĻŧāĻžāĻŽāϕ⧇āϰ āĻŦā§āϝāĻŦāĻšāĻžāϰ āϝāĻž āĻāĻ•āϟāĻŋ āĻ¸ā§āĻŸā§āϝāĻžāĻ¨ā§āĻĄāĻžāĻ°ā§āĻĄ āĻĒā§āϰ⧋āĻŸā§‹āĻ•āϞ⧇āϰ āĻŽāĻžāĻ§ā§āϝāĻŽā§‡ āϏāĻ‚āϝ⧋āĻ— āĻ•āϰ⧇ āĻāĻŦāĻ‚ IP āĻ•ā§āϝāĻžāĻŽā§‡āϰāĻž āĻĨ⧇āϕ⧇ āĻ•ā§āϞāĻžāωāĻĄā§‡ āĻ­āĻŋāĻĄāĻŋāĻ“ āĻ¸ā§āĻŸā§āϰāĻŋāĻŽ āϏāĻŽā§āĻĒā§āϰāϚāĻžāϰ āĻ•āϰ⧇ āĻ•ā§āϞāĻžāωāĻĄ āĻ­āĻŋāĻĄāĻŋāĻ“ āύāϜāϰāĻĻāĻžāϰāĻŋ āϏāĻŋāĻ¸ā§āĻŸā§‡āĻŽā§‡āϰ āϜāĻ¨ā§āϝ āωāĻ˛ā§āϞ⧇āĻ–āϝ⧋āĻ—ā§āϝ āĻĒā§āϰāϤāĻŋāϝ⧋āĻ—āĻŋāϤāĻžāĻŽā§‚āϞāĻ• āϏ⧁āĻŦāĻŋāϧāĻž āĻĒā§āϰāĻĻāĻžāύ āĻ•āϰ⧇āĨ¤ āϤāĻĻ⧁āĻĒāϰāĻŋ, āϝāĻĻāĻŋ āĻ•ā§āϞāĻžāϝāĻŧ⧇āĻ¨ā§āϟ āχāϤāĻŋāĻŽāĻ§ā§āϝ⧇āχ āϏāĻžāϧāĻžāϰāĻŖ āφāχāĻĒāĻŋ āĻ•ā§āϝāĻžāĻŽā§‡āϰāĻžāϗ⧁āϞāĻŋāϰ āωāĻĒāϰ āĻ­āĻŋāĻ¤ā§āϤāĻŋ āĻ•āϰ⧇ āĻāĻ•āϟāĻŋ āĻ­āĻŋāĻĄāĻŋāĻ“ āύāϜāϰāĻĻāĻžāϰāĻŋ āϏāĻŋāĻ¸ā§āĻŸā§‡āĻŽ āχāύāĻ¸ā§āϟāϞ āĻ•āϰ⧇ āĻĨāĻžāϕ⧇, āϤāĻŦ⧇ āĻāϟāĻŋāϕ⧇ āĻĒā§āϰāϏāĻžāϰāĻŋāϤ āĻ•āϰāĻž āĻāĻŦāĻ‚ āĻāϟāĻŋāϕ⧇ āĻāĻ•āϟāĻŋ āĻĒā§‚āĻ°ā§āĻŖāĻžāĻ™ā§āĻ— āĻ•ā§āϞāĻžāωāĻĄ āĻ¸ā§āĻŽāĻžāĻ°ā§āϟ āĻšā§‹āĻŽā§‡ āĻĒāϰāĻŋāĻŖāϤ āĻ•āϰāĻž āϏāĻŽā§āĻ­āĻŦ āĻšāϝāĻŧāĨ¤

āφāχāĻĒāĻŋ āĻ­āĻŋāĻĄāĻŋāĻ“ āύāϜāϰāĻĻāĻžāϰāĻŋ āϏāĻŋāĻ¸ā§āĻŸā§‡āĻŽā§‡āϰ āϜāĻ¨ā§āϝ āϏāĻŦāĻšā§‡āϝāĻŧ⧇ āϜāύāĻĒā§āϰāĻŋāϝāĻŧ āĻĒā§āϰ⧋āĻŸā§‹āĻ•āϞ, āϝāĻž āĻāĻ–āύ āĻŦā§āϝāϤāĻŋāĻ•ā§āϰāĻŽ āĻ›āĻžāĻĄāĻŧāĻž āϏāĻŽāĻ¸ā§āϤ āφāχāĻĒāĻŋ āĻ•ā§āϝāĻžāĻŽā§‡āϰāĻž āύāĻŋāĻ°ā§āĻŽāĻžāϤāĻžāĻĻ⧇āϰ āĻĻā§āĻŦāĻžāϰāĻž āϏāĻŽāĻ°ā§āĻĨāĻŋāϤ, āĻ“āĻāύāĻ­āĻŋāφāχāĻāĻĢ āĻĒā§āϰ⧋āĻĢāĻžāχāϞ āĻāϏ, āϝāĻžāϰ āĻ¸ā§āĻĒ⧇āϏāĻŋāĻĢāĻŋāϕ⧇āĻļāύ āĻāĻ•āϟāĻŋ āĻ“āϝāĻŧ⧇āĻŦ āĻĒāϰāĻŋāώ⧇āĻŦāĻž āĻŦāĻ°ā§āĻŖāύāĻž āĻ­āĻžāώāĻžāϝāĻŧ āĻŦāĻŋāĻĻā§āϝāĻŽāĻžāύ āĻĄāĻžāĻŦā§āϞ⧁āĻāϏāĻĄāĻŋāĻāϞ. āϟ⧁āϞāĻ•āĻŋāϟ āĻĨ⧇āϕ⧇ āχāωāϟāĻŋāϞāĻŋāϟāĻŋ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧇ gSOAP āφāχāĻĒāĻŋ āĻ•ā§āϝāĻžāĻŽā§‡āϰāĻžāϗ⧁āϞāĻŋāϰ āϏāĻžāĻĨ⧇ āĻ•āĻžāϜ āĻ•āϰ⧇ āĻāĻŽāύ āĻĒāϰāĻŋāώ⧇āĻŦāĻžāϗ⧁āϞāĻŋāϰ āϜāĻ¨ā§āϝ āϏ⧋āĻ°ā§āϏ āϕ⧋āĻĄ āϤ⧈āϰāĻŋ āĻ•āϰāĻž āϏāĻŽā§āĻ­āĻŦ:

$ wsdl2h -o onvif.h 
	https://www.onvif.org/ver10/device/wsdl/devicemgmt.wsdl 
	https://www.onvif.org/ver10/events/wsdl/event.wsdl 
	https://www.onvif.org/ver10/media/wsdl/media.wsdl 
	https://www.onvif.org/ver20/ptz/wsdl/ptz.wsdl

$ soapcpp2 -Cwvbj -c++11 -d cpp_files/onvif -i onvif.h

āĻĢāϞāĻ¸ā§āĻŦāϰ⧂āĻĒ, āφāĻŽāϰāĻž C++ āĻ āĻšā§‡āĻĄāĻžāϰ “*.h” āĻāĻŦāĻ‚ āϏ⧋āĻ°ā§āϏ “*.cpp” āĻĢāĻžāχāϞ⧇āϰ āĻāĻ•āϟāĻŋ āϏ⧇āϟ āĻĒāĻžāχ, āϝāĻž āϏāϰāĻžāϏāϰāĻŋ āĻāĻ•āϟāĻŋ āĻ…ā§āϝāĻžāĻĒā§āϞāĻŋāϕ⧇āĻļāύ āĻŦāĻž āĻāĻ•āϟāĻŋ āĻĒ⧃āĻĨāĻ• āϞāĻžāχāĻŦā§āϰ⧇āϰāĻŋāϤ⧇ āϰāĻžāĻ–āĻž āϝāĻžāϝāĻŧ āĻāĻŦāĻ‚ GCC āĻ•āĻŽā§āĻĒāĻžāχāϞāĻžāϰ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧇ āĻ•āĻŽā§āĻĒāĻžāχāϞ āĻ•āϰāĻž āϝāĻžāϝāĻŧāĨ¤ āĻ…āύ⧇āĻ• āĻĢāĻžāĻ‚āĻļāύ⧇āϰ āĻ•āĻžāϰāϪ⧇, āϕ⧋āĻĄāϟāĻŋ āĻŦāĻĄāĻŧ āĻāĻŦāĻ‚ āĻ…āϤāĻŋāϰāĻŋāĻ•ā§āϤ āĻ…āĻĒā§āϟāĻŋāĻŽāĻžāχāĻœā§‡āĻļāĻžāύ āĻĒā§āϰāϝāĻŧā§‹āϜāύāĨ¤ āϰāĻžāĻ¸ā§āĻĒāĻŦ⧇āϰāĻŋ āĻĒāĻžāχ 3 āĻŽāĻĄā§‡āϞ B+ āĻŽāĻžāχāĻ•ā§āϰ⧋āĻ•āĻŽā§āĻĒāĻŋāωāϟāĻžāϰ⧇ āĻāχ āϕ⧋āĻĄāϟāĻŋ āĻ•āĻžāĻ°ā§āϝāĻ•āϰ āĻ•āϰāĻžāϰ āϜāĻ¨ā§āϝ āĻĒāĻ°ā§āϝāĻžāĻĒā§āϤ āĻ•āĻ°ā§āĻŽāĻ•ā§āώāĻŽāϤāĻž āϰāϝāĻŧ⧇āϛ⧇, āĻ•āĻŋāĻ¨ā§āϤ⧁ āϝāĻĻāĻŋ āϕ⧋āĻĄāϟāĻŋāϕ⧇ āĻ…āĻ¨ā§āϝ āĻĒā§āĻ˛ā§āϝāĻžāϟāĻĢāĻ°ā§āĻŽā§‡ āĻĒā§‹āĻ°ā§āϟ āĻ•āϰāĻžāϰ āĻĒā§āϰāϝāĻŧā§‹āϜāύ āĻšāϝāĻŧ, āϤāĻžāĻšāϞ⧇ āϏāĻ āĻŋāĻ• āĻĒā§āϰāϏ⧇āϏāϰ āφāĻ°ā§āĻ•āĻŋāĻŸā§‡āĻ•āϚāĻžāϰ āĻāĻŦāĻ‚ āϏāĻŋāĻ¸ā§āĻŸā§‡āĻŽ āϰāĻŋāϏ⧋āĻ°ā§āϏ āύāĻŋāĻ°ā§āĻŦāĻžāϚāύ āĻ•āϰāĻž āĻĒā§āϰāϝāĻŧā§‹āϜāύāĨ¤

āĻ¸ā§āĻĨāĻžāύ⧀āϝāĻŧ āύ⧇āϟāĻ“āϝāĻŧāĻžāĻ°ā§āϕ⧇ āĻ•āĻžāϜ āĻ•āϰāĻžāϰ āϏāĻŽāϝāĻŧ ONVIF āĻ¸ā§āĻŸā§āϝāĻžāĻ¨ā§āĻĄāĻžāĻ°ā§āĻĄ āϏāĻŽāĻ°ā§āĻĨāύ āĻ•āϰ⧇ āĻāĻŽāύ āφāχāĻĒāĻŋ āĻ•ā§āϝāĻžāĻŽā§‡āϰāĻžāϗ⧁āϞāĻŋ āĻ āĻŋāĻ•āĻžāύāĻž āϏāĻš āĻāĻ•āϟāĻŋ āĻŦāĻŋāĻļ⧇āώ āĻŽāĻžāĻ˛ā§āϟāĻŋāĻ•āĻžāĻ¸ā§āϟ āĻ—ā§āϰ⧁āĻĒ⧇āϰ āϏāĻžāĻĨ⧇ āϏāĻ‚āϝ⧁āĻ•ā§āϤ āĻĨāĻžāϕ⧇ 239.255.255.250. āĻāĻ•āϟāĻŋ āĻĒā§āϰāĻŸā§‹āĻ•āϞ āφāϛ⧇ WS āφāĻŦāĻŋāĻˇā§āĻ•āĻžāϰ, āϝāĻž āφāĻĒāύāĻžāϕ⧇ āĻ¸ā§āĻĨāĻžāύ⧀āϝāĻŧ āύ⧇āϟāĻ“āϝāĻŧāĻžāĻ°ā§āϕ⧇ āĻĄāĻŋāĻ­āĻžāχāϏāϗ⧁āϞāĻŋāϰ āϜāĻ¨ā§āϝ āĻ…āύ⧁āϏāĻ¨ā§āϧāĻžāύ āĻ¸ā§āĻŦāϝāĻŧāĻ‚āĻ•ā§āϰāĻŋāϝāĻŧ āĻ•āϰāϤ⧇ āĻĻ⧇āϝāĻŧ⧎

āĻ¸ā§āĻŽāĻžāĻ°ā§āϟ āĻšā§‹āĻŽ āĻ•āĻ¨ā§āĻŸā§āϰ⧋āϞāĻžāϰ⧇āϰ āĻ—ā§āϰāĻžāĻĢāĻŋāĻ•āĻžāϞ āχāĻ¨ā§āϟāĻžāϰāĻĢ⧇āϏ āĻĒāĻŋāĻāχāϚāĻĒāĻŋ-āϤ⧇ āφāχāĻĒāĻŋ āĻ•ā§āϝāĻžāĻŽā§‡āϰāĻžāϗ⧁āϞāĻŋāϰ āϜāĻ¨ā§āϝ āĻāĻ•āϟāĻŋ āĻ…āύ⧁āϏāĻ¨ā§āϧāĻžāύ āĻĢāĻžāĻ‚āĻļāύ āĻĒā§āϰāϝāĻŧā§‹āĻ— āĻ•āϰ⧇, āϝāĻž XML āĻŦāĻžāĻ°ā§āϤāĻžāϗ⧁āϞāĻŋāϰ āĻŽāĻžāĻ§ā§āϝāĻŽā§‡ āĻ“āϝāĻŧ⧇āĻŦ āĻĒāϰāĻŋāώ⧇āĻŦāĻžāϗ⧁āϞāĻŋāϰ āϏāĻžāĻĨ⧇ āχāĻ¨ā§āϟāĻžāϰāĻ…ā§āϝāĻžāĻ•ā§āϟ āĻ•āϰāĻžāϰ āϏāĻŽāϝāĻŧ āϖ⧁āĻŦ āϏ⧁āĻŦāĻŋāϧāĻžāϜāύāĻ•āĨ¤ āĻŽā§‡āύ⧁ āφāχāĻŸā§‡āĻŽ āύāĻŋāĻ°ā§āĻŦāĻžāϚāύ āĻ•āϰāĻžāϰ āϏāĻŽāϝāĻŧ āĻĄāĻŋāĻ­āĻžāχāϏ > āφāχāĻĒāĻŋ āĻ•ā§āϝāĻžāĻŽā§‡āϰāĻž > āĻ¸ā§āĻ•ā§āϝāĻžāύāĻŋāĻ‚ āφāχāĻĒāĻŋ āĻ•ā§āϝāĻžāĻŽā§‡āϰāĻž āĻ…āύ⧁āϏāĻ¨ā§āϧāĻžāύ⧇āϰ āϜāĻ¨ā§āϝ āĻ…ā§āϝāĻžāϞāĻ—āϰāĻŋāĻĻāĻŽ āϚāĻžāϞ⧁ āĻ•āϰāĻž āĻšāϝāĻŧ⧇āϛ⧇, āĻĢāϞāĻžāĻĢāϞāϟāĻŋ āĻŸā§‡āĻŦāĻŋāϞ⧇āϰ āφāĻ•āĻžāϰ⧇ āĻĒā§āϰāĻĻāĻ°ā§āĻļāύ āĻ•āϰ⧇:

āĻ•ā§āϞāĻžāωāĻĄ āĻ¸ā§āĻŽāĻžāĻ°ā§āϟ āĻšā§‹āĻŽāĨ¤ āĻĒāĻžāĻ°ā§āϟ 1: āĻ•āĻ¨ā§āĻŸā§āϰ⧋āϞāĻžāϰ āĻāĻŦāĻ‚ āϏ⧇āĻ¨ā§āϏāϰ
(āωāĻšā§āϚāϤāϰ āϰ⧇āĻœā§‹āϞāĻŋāωāĻļāύ⧇ āϖ⧁āϞāϤ⧇ āĻ›āĻŦāĻŋāϰ āωāĻĒāϰ āĻ•ā§āϞāĻŋāĻ• āĻ•āϰ⧁āύ)

āφāĻĒāύāĻŋ āϝāĻ–āύ āĻ•āĻ¨ā§āĻŸā§āϰ⧋āϞāĻžāϰ⧇ āĻāĻ•āϟāĻŋ āĻ•ā§āϝāĻžāĻŽā§‡āϰāĻž āϝ⧋āĻ— āĻ•āϰ⧇āύ, āϤāĻ–āύ āφāĻĒāύāĻŋ āϏ⧇āϟāĻŋāĻ‚āϏ āύāĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āϟ āĻ•āϰāϤ⧇ āĻĒāĻžāϰ⧇āύ āϝāĻž āĻ…āύ⧁āϝāĻžāϝāĻŧā§€ āĻāϟāĻŋ āĻ•ā§āϞāĻžāωāĻĄā§‡āϰ āϏāĻžāĻĨ⧇ āχāĻ¨ā§āϟāĻžāϰāĻ…ā§āϝāĻžāĻ•ā§āϟ āĻ•āϰāĻŦ⧇āĨ¤ āĻāĻ›āĻžāĻĄāĻŧāĻžāĻ“ āĻāχ āĻĒāĻ°ā§āϝāĻžāϝāĻŧ⧇, āĻāϟāĻŋ āĻ¸ā§āĻŦāϝāĻŧāĻ‚āĻ•ā§āϰāĻŋāϝāĻŧāĻ­āĻžāĻŦ⧇ āĻāĻ•āϟāĻŋ āĻ…āύāĻ¨ā§āϝ āĻĄāĻŋāĻ­āĻžāχāϏ āĻļāύāĻžāĻ•ā§āϤāĻ•āĻžāϰ⧀ āĻŦāϰāĻžāĻĻā§āĻĻ āĻ•āϰāĻž āĻšāϝāĻŧ, āϝāĻžāϰ āĻĻā§āĻŦāĻžāϰāĻž āĻāϟāĻŋ āĻĒāϰ⧇ āϏāĻšāĻœā§‡āχ āĻ•ā§āϞāĻžāωāĻĄā§‡āϰ āĻŽāĻ§ā§āϝ⧇ āϏāύāĻžāĻ•ā§āϤ āĻ•āϰāĻž āϝāĻžāϝāĻŧāĨ¤

āĻ•ā§āϞāĻžāωāĻĄ āĻ¸ā§āĻŽāĻžāĻ°ā§āϟ āĻšā§‹āĻŽāĨ¤ āĻĒāĻžāĻ°ā§āϟ 1: āĻ•āĻ¨ā§āĻŸā§āϰ⧋āϞāĻžāϰ āĻāĻŦāĻ‚ āϏ⧇āĻ¨ā§āϏāϰ

āĻāϰāĻĒāϰ⧇, āϝ⧁āĻ•ā§āϤ āĻ•āϰāĻž āĻ•ā§āϝāĻžāĻŽā§‡āϰāĻžāϰ āϏāĻŽāĻ¸ā§āϤ āĻĒā§āϝāĻžāϰāĻžāĻŽāĻŋāϟāĻžāϰ āϏāĻŽā§āĻŦāϞāĻŋāϤ JSON āĻĢāĻ°ā§āĻŽā§āϝāĻžāĻŸā§‡ āĻāĻ•āϟāĻŋ āĻŦāĻžāĻ°ā§āϤāĻž āϤ⧈āϰāĻŋ āĻ•āϰāĻž āĻšāϝāĻŧ āĻāĻŦāĻ‚ RESTful API āĻ•āĻŽāĻžāĻ¨ā§āĻĄā§‡āϰ āĻŽāĻžāĻ§ā§āϝāĻŽā§‡ āĻ¸ā§āĻŽāĻžāĻ°ā§āϟ āĻšā§‹āĻŽ āĻ•āĻ¨ā§āĻŸā§āϰ⧋āϞāĻžāϰ⧇āϰ āϏāĻžāĻ°ā§āĻ­āĻžāϰ āĻĒā§āϰāĻ•ā§āϰāĻŋāϝāĻŧāĻžāϝāĻŧ āĻĒāĻžāĻ āĻžāύ⧋ āĻšāϝāĻŧ, āϝ⧇āĻ–āĻžāύ⧇ āĻ•ā§āϝāĻžāĻŽā§‡āϰāĻž āĻĒā§āϝāĻžāϰāĻžāĻŽāĻŋāϟāĻžāϰāϗ⧁āϞāĻŋ āĻĄāĻŋāϕ⧋āĻĄ āĻ•āϰāĻž āĻšāϝāĻŧ āĻāĻŦāĻ‚ āĻ…āĻ­ā§āϝāĻ¨ā§āϤāϰ⧀āĻŖ SQLite āĻĄāĻžāϟāĻžāĻŦ⧇āϏ⧇ āϏāĻ‚āϰāĻ•ā§āώāĻŖ āĻ•āϰāĻž āĻšāϝāĻŧ āĻāĻŦāĻ‚ āĻāĻ›āĻžāĻĄāĻŧāĻžāĻ“ āύāĻŋāĻŽā§āύāϞāĻŋāĻ–āĻŋāϤ āĻĒā§āϰāĻ•ā§āϰāĻŋāϝāĻŧāĻžāĻ•āϰāĻŖ āĻĨā§āϰ⧇āĻĄ āϚāĻžāϞ⧁ āĻ•āϰāϤ⧇ āĻŦā§āϝāĻŦāĻšā§ƒāϤ:

  1. āĻ­āĻŋāĻĄāĻŋāĻ“ āĻāĻŦāĻ‚ āĻ…āĻĄāĻŋāĻ“ āĻ¸ā§āĻŸā§āϰ⧀āĻŽ āĻĒ⧇āϤ⧇ āĻāĻ•āϟāĻŋ RTSP āϏāĻ‚āϝ⧋āĻ— āĻ¸ā§āĻĨāĻžāĻĒāύ āĻ•āϰāĻž;
  2. G.711 mu-Law, G.711 A-Law, G.723, āχāĻ¤ā§āϝāĻžāĻĻāĻŋ āĻĢāϰāĻŽā§āϝāĻžāϟ āĻĨ⧇āϕ⧇ āĻ…āĻĄāĻŋāĻ“ āĻŸā§āϰāĻžāĻ¨ā§āϏāϕ⧋āĻĄāĻŋāĻ‚āĨ¤ AAC āĻŦāĻŋāĻ¨ā§āϝāĻžāϏ⧇;
  3. H.264 āĻĢāϰāĻŽā§āϝāĻžāĻŸā§‡ āĻ­āĻŋāĻĄāĻŋāĻ“ āĻ¸ā§āĻŸā§āϰāĻŋāĻŽ āĻāĻŦāĻ‚ AAC āĻĢāϰāĻŽā§āϝāĻžāĻŸā§‡ āĻ…āĻĄāĻŋāĻ“āϕ⧇ āĻāĻ•āϟāĻŋ FLV āĻ•āĻ¨ā§āĻŸā§‡āχāύāĻžāϰ⧇ āĻŸā§āϰāĻžāĻ¨ā§āϏāϕ⧋āĻĄ āĻ•āϰāĻž āĻāĻŦāĻ‚ RTMP āĻĒā§āϰ⧋āĻŸā§‹āĻ•āϞ⧇āϰ āĻŽāĻžāĻ§ā§āϝāĻŽā§‡ āĻ•ā§āϞāĻžāωāĻĄā§‡ āĻŸā§āϰāĻžāĻ¨ā§āϏāĻŽāĻŋāϟ āĻ•āϰāĻž;
  4. ONVIF āĻĒā§āϰ⧋āĻŸā§‹āĻ•āϞ⧇āϰ āĻŽāĻžāĻ§ā§āϝāĻŽā§‡ āφāχāĻĒāĻŋ āĻ•ā§āϝāĻžāĻŽā§‡āϰāĻž āĻŽā§‹āĻļāύ āĻĄāĻŋāĻŸā§‡āĻ•ā§āϟāϰ⧇āϰ āĻāĻ¨ā§āĻĄāĻĒāϝāĻŧ⧇āĻ¨ā§āĻŸā§‡āϰ āϏāĻžāĻĨ⧇ āĻāĻ•āϟāĻŋ āϏāĻ‚āϝ⧋āĻ— āĻ¸ā§āĻĨāĻžāĻĒāύ āĻ•āϰāĻž āĻāĻŦāĻ‚ āĻĒāĻ°ā§āϝāĻžāϝāĻŧāĻ•ā§āϰāĻŽā§‡ āĻĒā§‹āϞāĻŋāĻ‚ āĻ•āϰāĻž;
  5. āĻĒāĻ°ā§āϝāĻžāϝāĻŧāĻ•ā§āϰāĻŽā§‡ āĻāĻ•āϟāĻŋ āĻĨāĻžāĻŽā§āĻŦāύ⧇āχāϞ āĻĒā§āϰāĻŋāĻ­āĻŋāω āχāĻŽā§‡āϜ āϤ⧈āϰāĻŋ āĻ•āϰāĻž āĻāĻŦāĻ‚ MQTT āĻĒā§āϰ⧋āĻŸā§‹āĻ•āϞ⧇āϰ āĻŽāĻžāĻ§ā§āϝāĻŽā§‡ āĻ•ā§āϞāĻžāωāĻĄā§‡ āĻĒāĻžāĻ āĻžāύ⧋;
  6. āĻ¸ā§āĻŽāĻžāĻ°ā§āϟ āĻšā§‹āĻŽ āĻ•āĻ¨ā§āĻŸā§āϰ⧋āϞāĻžāϰ⧇āϰ āĻāĻ•āϟāĻŋ SD āĻŦāĻž āĻĢā§āĻ˛ā§āϝāĻžāĻļ āĻ•āĻžāĻ°ā§āĻĄā§‡ MP4 āĻĢāĻ°ā§āĻŽā§āϝāĻžāĻŸā§‡ āĻĒ⧃āĻĨāĻ• āĻĢāĻžāχāϞ āφāĻ•āĻžāϰ⧇ āĻ­āĻŋāĻĄāĻŋāĻ“ āĻāĻŦāĻ‚ āĻ…āĻĄāĻŋāĻ“ āĻ¸ā§āĻŸā§āϰāĻŋāĻŽāϗ⧁āϞāĻŋāϰ āĻ¸ā§āĻĨāĻžāύ⧀āϝāĻŧ āϰ⧇āĻ•āĻ°ā§āĻĄāĻŋāĻ‚āĨ¤

āĻ•ā§āϞāĻžāωāĻĄ āĻ¸ā§āĻŽāĻžāĻ°ā§āϟ āĻšā§‹āĻŽāĨ¤ āĻĒāĻžāĻ°ā§āϟ 1: āĻ•āĻ¨ā§āĻŸā§āϰ⧋āϞāĻžāϰ āĻāĻŦāĻ‚ āϏ⧇āĻ¨ā§āϏāϰ

āϏāĻžāĻ°ā§āĻ­āĻžāϰ āĻĒā§āϰāĻ•ā§āϰāĻŋāϝāĻŧāĻžāϝāĻŧ āĻ•ā§āϝāĻžāĻŽā§‡āϰāĻž, āĻŸā§āϰāĻžāĻ¨ā§āϏāϕ⧋āĻĄ, āĻĒā§āϰāĻ•ā§āϰāĻŋāϝāĻŧāĻž āĻāĻŦāĻ‚ āϰ⧇āĻ•āĻ°ā§āĻĄ āĻ­āĻŋāĻĄāĻŋāĻ“ āĻ¸ā§āĻŸā§āϰāĻŋāĻŽāϗ⧁āϞāĻŋāϰ āϏāĻžāĻĨ⧇ āĻāĻ•āϟāĻŋ āϏāĻ‚āϝ⧋āĻ— āĻ¸ā§āĻĨāĻžāĻĒāύ āĻ•āϰāϤ⧇, āϞāĻžāχāĻŦā§āϰ⧇āϰāĻŋāϰ āĻĢāĻžāĻ‚āĻļāύāϗ⧁āϞāĻŋ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰāĻž āĻšāϝāĻŧ FFmpeg 4.1.0.

āĻ•āĻ°ā§āĻŽāĻ•ā§āώāĻŽāϤāĻž āĻĒāϰ⧀āĻ•ā§āώāĻžāϰ āĻĒāϰ⧀āĻ•ā§āώāĻžāϝāĻŧ, 3āϟāĻŋ āĻ•ā§āϝāĻžāĻŽā§‡āϰāĻž āύāĻŋāϝāĻŧāĻžāĻŽāϕ⧇āϰ āϏāĻžāĻĨ⧇ āϏāĻ‚āϝ⧁āĻ•ā§āϤ āĻ›āĻŋāϞ:

  1. āĻšāĻžāχāĻ“āϝāĻŧāĻžāϚ DS-I114W (āϰ⧇āĻœā§‹āϞāĻŋāωāĻļāύ - 720p, āĻ•āĻŽā§āĻĒā§āϰ⧇āĻļāύ āĻĢāĻ°ā§āĻŽā§āϝāĻžāϟ - H.264, āĻŦāĻŋāϟāϰ⧇āϟ - 1 Mb/s, āĻļāĻŦā§āĻĻ G.711 mu-Law);
  2. āĻŽāĻžāχāĻ•ā§āϰ⧋āĻĄāĻŋāϜāĻŋāϟāĻžāϞ MDC-M6290FTD-1 (āϰ⧇āĻœā§‹āϞāĻŋāωāĻļāύ - 1080p, āĻ•āĻŽā§āĻĒā§āϰ⧇āĻļāύ āĻĢāĻ°ā§āĻŽā§āϝāĻžāϟ - H.264, āĻŦāĻŋāϟāϰ⧇āϟ - 1 Mb/s, āϕ⧋āύ āĻļāĻŦā§āĻĻ āύ⧇āχ);
  3. Dahua DH-IPC-HDW4231EMP-AS-0360B (āϰ⧇āĻœā§‹āϞāĻŋāωāĻļāύ - 1080p, āĻ•āĻŽā§āĻĒā§āϰ⧇āĻļāύ āĻĢāϰāĻŽā§āϝāĻžāϟ - H.264, āĻŦāĻŋāϟāϰ⧇āϟ - 1.5 Mb/s, AAC āĻ…āĻĄāĻŋāĻ“)āĨ¤

āĻ•ā§āϞāĻžāωāĻĄ āĻ¸ā§āĻŽāĻžāĻ°ā§āϟ āĻšā§‹āĻŽāĨ¤ āĻĒāĻžāĻ°ā§āϟ 1: āĻ•āĻ¨ā§āĻŸā§āϰ⧋āϞāĻžāϰ āĻāĻŦāĻ‚ āϏ⧇āĻ¨ā§āϏāϰ

āϤāĻŋāύāϟāĻŋ āĻ¸ā§āĻŸā§āϰāĻŋāĻŽ āĻāĻ•āχ āϏāĻžāĻĨ⧇ āĻ•ā§āϞāĻžāωāĻĄā§‡ āφāωāϟāĻĒ⧁āϟ āĻ›āĻŋāϞ, āĻļ⧁āϧ⧁āĻŽāĻžāĻ¤ā§āϰ āĻāĻ•āϟāĻŋ āĻ•ā§āϝāĻžāĻŽā§‡āϰāĻž āĻĨ⧇āϕ⧇ āĻ…āĻĄāĻŋāĻ“ āĻŸā§āϰāĻžāĻ¨ā§āϏāϕ⧋āĻĄāĻŋāĻ‚ āĻ•āϰāĻž āĻšāϝāĻŧ⧇āĻ›āĻŋāϞ āĻāĻŦāĻ‚ āĻ¸ā§āĻĨāĻžāύ⧀āϝāĻŧ āϏāĻ‚āϰāĻ•ā§āώāĻŖāĻžāĻ—āĻžāϰ āϰ⧇āĻ•āĻ°ā§āĻĄāĻŋāĻ‚ āĻ…āĻ•ā§āώāĻŽ āĻ•āϰāĻž āĻšāϝāĻŧ⧇āĻ›āĻŋāϞāĨ¤ CPU āϞ⧋āĻĄ āĻ›āĻŋāϞ āφāύ⧁āĻŽāĻžāύāĻŋāĻ• 5%, RAM āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ›āĻŋāϞ 32 MB (āĻĒā§āϰāϤāĻŋ āĻĒā§āϰāĻ•ā§āϰāĻŋāϝāĻŧāĻž), 56 MB (OS āϏāĻš āĻŽā§‹āϟ)āĨ¤

āĻāχāĻ­āĻžāĻŦ⧇, āĻāĻ•āϟāĻŋ āĻ¸ā§āĻŽāĻžāĻ°ā§āϟ āĻšā§‹āĻŽ āĻ•āĻ¨ā§āĻŸā§āϰ⧋āϞāĻžāϰ⧇āϰ āϏāĻžāĻĨ⧇ āĻĒā§āϰāĻžāϝāĻŧ ⧍ā§Ļ-ā§Šā§ĻāϟāĻŋ āĻ•ā§āϝāĻžāĻŽā§‡āϰāĻž (āϰ⧇āĻœā§‹āϞāĻŋāωāĻļāύ āĻāĻŦāĻ‚ āĻŦāĻŋāϟāϰ⧇āĻŸā§‡āϰ āωāĻĒāϰ āύāĻŋāĻ°ā§āĻ­āϰ āĻ•āϰ⧇) āϏāĻ‚āϝ⧁āĻ•ā§āϤ āĻ•āϰāĻž āϝ⧇āϤ⧇ āĻĒāĻžāϰ⧇, āϝāĻž āĻāĻ•āϟāĻŋ āϤāĻŋāύāϤāϞāĻž āĻŦāĻžāĻĄāĻŧāĻŋ āĻŦāĻž āϛ⧋āϟ āϗ⧁āĻĻāĻžāĻŽā§‡āϰ āĻ­āĻŋāĻĄāĻŋāĻ“ āύāϜāϰāĻĻāĻžāϰāĻŋ āĻŦā§āϝāĻŦāĻ¸ā§āĻĨāĻžāϰ āϜāĻ¨ā§āϝ āϝāĻĨ⧇āĻˇā§āϟāĨ¤ āωāĻšā§āϚāϤāϰ āĻĒāĻžāϰāĻĢāϰāĻŽā§āϝāĻžāĻ¨ā§āϏ⧇āϰ āĻĒā§āϰāϝāĻŧā§‹āϜāύ āĻāĻŽāύ āĻ•āĻžāĻœā§‡āϰ āϜāĻ¨ā§āϝ, āĻŽāĻžāĻ˛ā§āϟāĻŋ-āϕ⧋āϰ āχāĻ¨ā§āĻŸā§‡āϞ āĻĒā§āϰāϏ⧇āϏāϰ āĻāĻŦāĻ‚ āĻ“āĻāϏ āϏāĻš āĻāĻ•āϟāĻŋ āύ⧇āϟāϟāĻĒ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰāĻž āϝ⧇āϤ⧇ āĻĒāĻžāϰ⧇āĨ¤ Linux Debian āϏāĻžāĻ°ā§āϜāĨ¤ āĻ•āĻ¨ā§āĻŸā§āϰ⧋āϞāĻžāϰāϟāĻŋ āĻŦāĻ°ā§āϤāĻŽāĻžāύ⧇ āĻĒāϰ⧀āĻ•ā§āώāĻžāĻŽā§‚āϞāĻ•āĻ­āĻžāĻŦ⧇ āϚāĻžāϞ⧁ āϰāϝāĻŧ⧇āϛ⧇ āĻāĻŦāĻ‚ āĻāϰ āĻ•āĻžāĻ°ā§āϝāĻ•ā§āώāĻŽāϤāĻžāϰ āϤāĻĨā§āϝ āĻšāĻžāϞāύāĻžāĻ—āĻžāĻĻ āĻ•āϰāĻž āĻšāĻŦ⧇āĨ¤

āĻŽā§‡āĻ˜ā§‡āϰ āϏāĻžāĻĨ⧇ āĻŽāĻŋāĻĨāĻ¸ā§āĻ•ā§āϰāĻŋāϝāĻŧāĻž

āĻāĻ•āϟāĻŋ āĻ•ā§āϞāĻžāωāĻĄ-āĻ­āĻŋāĻ¤ā§āϤāĻŋāĻ• āĻ¸ā§āĻŽāĻžāĻ°ā§āϟ āĻšā§‹āĻŽ āĻ•ā§āϞāĻžāωāĻĄā§‡ āĻŦā§āϝāĻŦāĻšāĻžāϰāĻ•āĻžāϰ⧀āϰ āĻĄā§‡āϟāĻž (āĻ­āĻŋāĻĄāĻŋāĻ“ āĻāĻŦāĻ‚ āϏ⧇āĻ¨ā§āϏāϰ āĻĒāϰāĻŋāĻŽāĻžāĻĒ) āϏāĻžā§āϚāϝāĻŧ āĻ•āϰ⧇āĨ¤ āĻ•ā§āϞāĻžāωāĻĄ āĻ¸ā§āĻŸā§‹āϰ⧇āĻœā§‡āϰ āφāĻ°ā§āĻ•āĻŋāĻŸā§‡āĻ•āϚāĻžāϰ āφāĻŽāĻžāĻĻ⧇āϰ āϏāĻŋāϰāĻŋāĻœā§‡āϰ āĻĒāϰāĻŦāĻ°ā§āϤ⧀ āύāĻŋāĻŦāĻ¨ā§āϧ⧇ āφāϰāĻ“ āĻŦāĻŋāĻļāĻĻ⧇ āφāϞ⧋āϚāύāĻž āĻ•āϰāĻž āĻšāĻŦ⧇āĨ¤ āĻāĻ–āύ āĻ¸ā§āĻŽāĻžāĻ°ā§āϟ āĻšā§‹āĻŽ āĻ•āĻ¨ā§āĻŸā§āϰ⧋āϞāĻžāϰ āĻĨ⧇āϕ⧇ āĻ•ā§āϞāĻžāωāĻĄā§‡ āϤāĻĨā§āϝ āĻŦāĻžāĻ°ā§āϤāĻž āĻĒā§āϰ⧇āϰāϪ⧇āϰ āϜāĻ¨ā§āϝ āχāĻ¨ā§āϟāĻžāϰāĻĢ⧇āϏ āϏāĻŽā§āĻĒāĻ°ā§āϕ⧇ āĻ•āĻĨāĻž āĻŦāϞāĻž āϝāĻžāĻ•āĨ¤

āϏāĻ‚āϝ⧁āĻ•ā§āϤ āĻĄāĻŋāĻ­āĻžāχāϏ āĻāĻŦāĻ‚ āϏ⧇āĻ¨ā§āϏāϰ āĻĒāϰāĻŋāĻŽāĻžāĻĒ⧇āϰ āĻ…āĻŦāĻ¸ā§āĻĨāĻž āĻĒā§āϰ⧋āĻŸā§‹āĻ•āϞ⧇āϰ āĻŽāĻžāĻ§ā§āϝāĻŽā§‡ āĻĒā§āϰ⧇āϰāĻŖ āĻ•āϰāĻž āĻšāϝāĻŧ MQTT, āϝāĻž āĻĒā§āϰāĻžāϝāĻŧāĻļāχ āχāĻ¨ā§āϟāĻžāϰāύ⧇āϟ āĻ…āĻĢ āĻĨāĻŋāĻ‚āϏ āĻĒā§āϰāĻœā§‡āĻ•ā§āĻŸā§‡ āĻŦā§āϝāĻŦāĻšā§ƒāϤ āĻšāϝāĻŧ āĻāϰ āϏāϰāϞāϤāĻž āĻāĻŦāĻ‚ āĻļāĻ•ā§āϤāĻŋ āĻĻāĻ•ā§āώāϤāĻžāϰ āĻ•āĻžāϰāϪ⧇āĨ¤ MQTT āĻāĻ•āϟāĻŋ āĻ•ā§āϞāĻžāϝāĻŧ⧇āĻ¨ā§āϟ-āϏāĻžāĻ°ā§āĻ­āĻžāϰ āĻŽāĻĄā§‡āϞ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧇, āϝ⧇āĻ–āĻžāύ⧇ āĻ•ā§āϞāĻžāϝāĻŧ⧇āĻ¨ā§āϟāϰāĻž āĻŦā§āϰ⧋āĻ•āĻžāϰ⧇āϰ āĻŽāĻ§ā§āϝ⧇ āύāĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āϟ āĻŦāĻŋāώāϝāĻŧāϗ⧁āϞāĻŋāϤ⧇ āϏāĻžāĻŦāĻ¸ā§āĻ•ā§āϰāĻžāχāĻŦ āĻ•āϰ⧇ āĻāĻŦāĻ‚ āϤāĻžāĻĻ⧇āϰ āĻŦāĻžāĻ°ā§āϤāĻž āĻĒā§āϰāĻ•āĻžāĻļ āĻ•āϰ⧇āĨ¤ āĻŦā§āϰ⧋āĻ•āĻžāϰ QoS (āĻĒāϰāĻŋāώ⧇āĻŦāĻžāϰ āϗ⧁āĻŖāĻŽāĻžāύ) āĻ¸ā§āϤāϰ āĻĻā§āĻŦāĻžāϰāĻž āύāĻŋāĻ°ā§āϧāĻžāϰāĻŋāϤ āύāĻŋāϝāĻŧāĻŽ āĻ…āύ⧁āϏāĻžāϰ⧇ āϏāĻŽāĻ¸ā§āϤ āĻ—ā§āϰāĻžāĻšāĻ•āϕ⧇ āĻŦāĻžāĻ°ā§āϤāĻž āĻĒāĻžāĻ āĻžāϝāĻŧ:

  • QoS 0 - āϏāĻ°ā§āĻŦā§‹āĻšā§āϚ āĻāĻ•āĻŦāĻžāϰ (āϕ⧋āύāĻ“ āĻĄā§‡āϞāĻŋāĻ­āĻžāϰāĻŋāϰ āĻ—ā§āϝāĻžāϰāĻžāĻ¨ā§āϟāĻŋ āύ⧇āχ);
  • QoS 1 - āĻ…āĻ¨ā§āϤāϤ āĻāĻ•āĻŦāĻžāϰ (āĻĄā§‡āϞāĻŋāĻ­āĻžāϰāĻŋ āύāĻŋāĻļā§āϚāĻŋāϤāĻ•āϰāĻŖ āϏāĻš);
  • QoS 2 - āĻ āĻŋāĻ• āĻāĻ•āĻŦāĻžāϰ (āĻ…āϤāĻŋāϰāĻŋāĻ•ā§āϤ āĻŦāĻŋāϤāϰāĻŖ āύāĻŋāĻļā§āϚāĻŋāϤāĻ•āϰāĻŖ āϏāĻš)āĨ¤

āφāĻŽāĻžāĻĻ⧇āϰ āĻ•ā§āώ⧇āĻ¤ā§āϰ⧇, āφāĻŽāϰāĻž āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰāĻŋ Eclipse Mosquito. āĻŦāĻŋāώāϝāĻŧ⧇āϰ āύāĻžāĻŽ āĻšāϞ āĻ¸ā§āĻŽāĻžāĻ°ā§āϟ āĻšā§‹āĻŽ āĻ•āĻ¨ā§āĻŸā§āϰ⧋āϞāĻžāϰ⧇āϰ āĻ…āύāĻ¨ā§āϝ āĻļāύāĻžāĻ•ā§āϤāĻ•āĻžāϰ⧀āĨ¤ āϏāĻžāĻ°ā§āĻ­āĻžāϰ āĻĒā§āϰāĻ•ā§āϰāĻŋāϝāĻŧāĻžāϰ āĻŽāĻ§ā§āϝ⧇ āĻĨāĻžāĻ•āĻž MQTT āĻ•ā§āϞāĻžāϝāĻŧ⧇āĻ¨ā§āϟ āĻāχ āĻŦāĻŋāώāϝāĻŧ⧇ āϏāĻĻāĻ¸ā§āϝāϤāĻž āύ⧇āϝāĻŧ āĻāĻŦāĻ‚ āĻŦāĻžāĻ°ā§āϤāĻž āĻĒāϰāĻŋāϚāĻžāϞāĻ• āĻĨ⧇āϕ⧇ āφāϏāĻž JSON āĻŦāĻžāĻ°ā§āϤāĻžāϗ⧁āϞāĻŋāϕ⧇ āĻāϤ⧇ āĻ…āύ⧁āĻŦāĻžāĻĻ āĻ•āϰ⧇āĨ¤ āĻŦāĻŋāĻĒāϰ⧀āϤāĻ­āĻžāĻŦ⧇, MQTT āĻŦā§āϰ⧋āĻ•āĻžāϰ⧇āϰ āĻŦāĻžāĻ°ā§āϤāĻžāϗ⧁āϞāĻŋ āĻāϟāĻŋāϰ āĻĻā§āĻŦāĻžāϰāĻž āĻŦāĻžāĻ°ā§āϤāĻž āĻĒāϰāĻŋāϚāĻžāϞāϕ⧇āϰ āĻ•āĻžāϛ⧇ āĻĢāϰ⧋āϝāĻŧāĻžāĻ°ā§āĻĄ āĻ•āϰāĻž āĻšāϝāĻŧ, āϝāĻž āϤāĻžāϰāĻĒāϰ āϏāĻžāĻ°ā§āĻ­āĻžāϰ āĻĒā§āϰāĻ•ā§āϰāĻŋāϝāĻŧāĻžāϰ āĻŽāĻ§ā§āϝ⧇ āϤāĻžāĻĻ⧇āϰ āĻ—ā§āϰāĻžāĻšāĻ•āĻĻ⧇āϰ āĻ•āĻžāϛ⧇ āĻŽāĻžāĻ˛ā§āϟāĻŋāĻĒā§āϞ⧇āĻ•ā§āϏ āĻ•āϰ⧇:

āĻ•ā§āϞāĻžāωāĻĄ āĻ¸ā§āĻŽāĻžāĻ°ā§āϟ āĻšā§‹āĻŽāĨ¤ āĻĒāĻžāĻ°ā§āϟ 1: āĻ•āĻ¨ā§āĻŸā§āϰ⧋āϞāĻžāϰ āĻāĻŦāĻ‚ āϏ⧇āĻ¨ā§āϏāϰ

āĻ¸ā§āĻŽāĻžāĻ°ā§āϟ āĻšā§‹āĻŽ āĻ•āĻ¨ā§āĻŸā§āϰ⧋āϞāĻžāϰ⧇āϰ āĻ…āĻŦāĻ¸ā§āĻĨāĻž āϏāĻŽā§āĻĒāĻ°ā§āϕ⧇ āĻŦāĻžāĻ°ā§āϤāĻž āĻĒā§āϰ⧇āϰāĻŖ āĻ•āϰāϤ⧇, āϏāĻ‚āϰāĻ•ā§āώāĻŋāϤ āĻŦāĻžāĻ°ā§āϤāĻžāϗ⧁āϞāĻŋāϰ āĻĒā§āϰāĻ•ā§āϰāĻŋāϝāĻŧāĻž āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰāĻž āĻšāϝāĻŧ āϰāĻžāĻ–āĻž āĻŦāĻžāĻ°ā§āϤāĻž MQTT āĻĒā§āϰ⧋āĻŸā§‹āĻ•āϞāĨ¤ āĻāϟāĻŋ āφāĻĒāύāĻžāϕ⧇ āĻĒāĻžāĻ“āϝāĻŧāĻžāϰ āĻŦā§āϝāĻ°ā§āĻĨāϤāĻžāϰ āϏāĻŽāϝāĻŧ āĻĒ⧁āύāϰāĻžāϝāĻŧ āϏāĻ‚āϝ⧋āϗ⧇āϰ āϏāĻŽāϝāĻŧ āϏāĻ āĻŋāĻ•āĻ­āĻžāĻŦ⧇ āύāĻŋāϰ⧀āĻ•ā§āώāĻŖ āĻ•āϰāϤ⧇ āĻĻ⧇āϝāĻŧāĨ¤

MQTT āĻ•ā§āϞāĻžāϝāĻŧ⧇āĻ¨ā§āϟ āϞāĻžāχāĻŦā§āϰ⧇āϰāĻŋ āĻŦāĻžāĻ¸ā§āϤāĻŦāĻžāϝāĻŧāύ⧇āϰ āωāĻĒāϰ āĻ­āĻŋāĻ¤ā§āϤāĻŋ āĻ•āϰ⧇ āϤ⧈āϰāĻŋ āĻ•āϰāĻž āĻšāϝāĻŧ⧇āĻ›āĻŋāϞ āĻ—ā§āϰāĻšāύ āĻĒāĻžāĻšā§‹ C++ āĻ­āĻžāώāĻžāϝāĻŧāĨ¤

H.264 + AAC āĻŽāĻŋāĻĄāĻŋāϝāĻŧāĻž āĻ¸ā§āĻŸā§āϰāĻŋāĻŽāϗ⧁āϞāĻŋ RTMP āĻĒā§āϰ⧋āĻŸā§‹āĻ•āϞ⧇āϰ āĻŽāĻžāĻ§ā§āϝāĻŽā§‡ āĻ•ā§āϞāĻžāωāĻĄā§‡ āĻĒāĻžāĻ āĻžāύ⧋ āĻšāϝāĻŧ, āϝ⧇āĻ–āĻžāύ⧇ āĻŽāĻŋāĻĄāĻŋāϝāĻŧāĻž āϏāĻžāĻ°ā§āĻ­āĻžāϰāϗ⧁āϞāĻŋāϰ āĻāĻ•āϟāĻŋ āĻ•ā§āϞāĻžāĻ¸ā§āϟāĻžāϰ āϤāĻžāĻĻ⧇āϰ āĻĒā§āϰāĻ•ā§āϰāĻŋāϝāĻŧāĻžāĻ•āϰāĻŖ āĻāĻŦāĻ‚ āϏāĻ‚āϰāĻ•ā§āώāϪ⧇āϰ āϜāĻ¨ā§āϝ āĻĻāĻžāϝāĻŧā§€āĨ¤ āĻ•ā§āϞāĻžāĻ¸ā§āϟāĻžāϰ⧇ āϞ⧋āĻĄāϟāĻŋ āϏāĻ°ā§āĻŦā§‹āĻ¤ā§āϤāĻŽāĻ­āĻžāĻŦ⧇ āĻŦāĻŋāϤāϰāĻŖ āĻ•āϰāϤ⧇ āĻāĻŦāĻ‚ āϏāĻ°ā§āĻŦāύāĻŋāĻŽā§āύ āϞ⧋āĻĄ āĻšāĻ“āϝāĻŧāĻž āĻŽāĻŋāĻĄāĻŋāϝāĻŧāĻž āϏāĻžāĻ°ā§āĻ­āĻžāϰ āύāĻŋāĻ°ā§āĻŦāĻžāϚāύ āĻ•āϰāϤ⧇, āĻ¸ā§āĻŽāĻžāĻ°ā§āϟ āĻšā§‹āĻŽ āĻ•āĻ¨ā§āĻŸā§āϰ⧋āϞāĻžāϰ āĻ•ā§āϞāĻžāωāĻĄ āϞ⧋āĻĄ āĻŦā§āϝāĻžāϞ⧇āĻ¨ā§āϏāĻžāϰ⧇āϰ āĻ•āĻžāϛ⧇ āĻāĻ•āϟāĻŋ āĻĒā§āϰāĻžāĻĨāĻŽāĻŋāĻ• āĻ…āύ⧁āϰ⧋āϧ āĻ•āϰ⧇ āĻāĻŦāĻ‚ āϤāĻžāϰ āĻĒāϰ⧇āχ āĻŽāĻŋāĻĄāĻŋāϝāĻŧāĻž āĻ¸ā§āĻŸā§āϰāĻŋāĻŽ āĻĒāĻžāĻ āĻžāϝāĻŧāĨ¤

āωāĻĒāϏāĻ‚āĻšāĻžāϰ

āύāĻŋāĻŦāĻ¨ā§āϧāϟāĻŋ āϰāĻžāĻ¸ā§āĻĒāĻŦ⧇āϰāĻŋ āĻĒāĻžāχ 3 āĻŦāĻŋ+ āĻŽāĻžāχāĻ•ā§āϰ⧋āĻ•āĻŽā§āĻĒāĻŋāωāϟāĻžāϰ⧇āϰ āωāĻĒāϰ āĻ­āĻŋāĻ¤ā§āϤāĻŋ āĻ•āϰ⧇ āĻāĻ•āϟāĻŋ āĻ¸ā§āĻŽāĻžāĻ°ā§āϟ āĻšā§‹āĻŽ āĻ•āĻ¨ā§āĻŸā§āϰ⧋āϞāĻžāϰ⧇āϰ āĻāĻ•āϟāĻŋ āϏ⧁āύāĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āϟ āĻŦāĻžāĻ¸ā§āϤāĻŦāĻžāϝāĻŧāύ āĻĒāϰ⧀āĻ•ā§āώāĻž āĻ•āϰ⧇āϛ⧇, āϝāĻž Z-āĻ“āϝāĻŧ⧇āĻ­ āĻĒā§āϰ⧋āĻŸā§‹āĻ•āϞ⧇āϰ āĻŽāĻžāĻ§ā§āϝāĻŽā§‡ āϤāĻĨā§āϝ āĻ—ā§āϰāĻšāĻŖ, āĻĒā§āϰāĻ•ā§āϰāĻŋāϝāĻŧāĻžāĻ•āϰāĻŖ āĻāĻŦāĻ‚ āύāĻŋāϝāĻŧāĻ¨ā§āĻ¤ā§āϰāĻŖ āϏāϰāĻžā§āϜāĻžāĻŽ, ONVIF āĻĒā§āϰ⧋āĻŸā§‹āĻ•āϞ⧇āϰ āĻŽāĻžāĻ§ā§āϝāĻŽā§‡ āφāχāĻĒāĻŋ āĻ•ā§āϝāĻžāĻŽā§‡āϰāĻžāϰ āϏāĻžāĻĨ⧇ āχāĻ¨ā§āϟāĻžāϰāĻ…ā§āϝāĻžāĻ•ā§āϟ āĻ•āϰāϤ⧇ āĻĒāĻžāϰ⧇ āĻāĻŦāĻ‚ āĻĄā§‡āϟāĻž āĻŦāĻŋāύāĻŋāĻŽāϝāĻŧ āĻ•āϰāϤ⧇ āĻĒāĻžāϰ⧇āĨ¤ MQTT āĻāĻŦāĻ‚ RTMP āĻĒā§āϰ⧋āĻŸā§‹āĻ•āϞ⧇āϰ āĻŽāĻžāĻ§ā§āϝāĻŽā§‡ āĻ•ā§āϞāĻžāωāĻĄ āĻĒāϰāĻŋāώ⧇āĻŦāĻžāϰ āϏāĻžāĻĨ⧇ āĻ•āĻŽāĻžāĻ¨ā§āĻĄāĨ¤ JSON āĻĢāϰāĻŽā§āϝāĻžāĻŸā§‡ āωāĻĒāĻ¸ā§āĻĨāĻžāĻĒāĻŋāϤ āϝ⧌āĻ•ā§āϤāĻŋāĻ• āύāĻŋāϝāĻŧāĻŽ āĻāĻŦāĻ‚ āϤāĻĨā§āϝ⧇āϰ āϤ⧁āϞāύāĻžāϰ āĻ­āĻŋāĻ¤ā§āϤāĻŋāϤ⧇ āĻāĻ•āϟāĻŋ āĻĒā§āϰ⧋āĻĄāĻžāĻ•āĻļāύ āϞāϜāĻŋāĻ• āχāĻžā§āϜāĻŋāύ āϤ⧈āϰāĻŋ āĻ•āϰāĻž āĻšāϝāĻŧ⧇āϛ⧇āĨ¤

āĻ¸ā§āĻŽāĻžāĻ°ā§āϟ āĻšā§‹āĻŽ āĻ•āĻ¨ā§āĻŸā§āϰ⧋āϞāĻžāϰ āĻŦāĻ°ā§āϤāĻŽāĻžāύ⧇ āĻŽāĻ¸ā§āϕ⧋ āĻāĻŦāĻ‚ āĻŽāĻ¸ā§āϕ⧋ āĻ…āĻžā§āϚāϞ⧇āϰ āĻŦāĻŋāĻ­āĻŋāĻ¨ā§āύ āϏāĻžāχāĻŸā§‡ āĻŸā§āϰāĻžāϝāĻŧāĻžāϞ āĻ…āĻĒāĻžāϰ⧇āĻļāύ āϚāϞāϛ⧇āĨ¤

āĻ•āĻ¨ā§āĻŸā§āϰ⧋āϞāĻžāϰ⧇āϰ āĻĒāϰāĻŦāĻ°ā§āϤ⧀ āϏāĻ‚āĻ¸ā§āĻ•āϰāĻŖāϟāĻŋ āĻ…āĻ¨ā§āϝāĻžāĻ¨ā§āϝ āϧāϰāϪ⧇āϰ āĻĄāĻŋāĻ­āĻžāχāϏ (RF, Bluetooth, WiFi, āϤāĻžāϰāϝ⧁āĻ•ā§āϤ) āϏāĻ‚āϝ⧁āĻ•ā§āϤ āĻ•āϰāĻžāϰ āĻĒāϰāĻŋāĻ•āĻ˛ā§āĻĒāύāĻž āĻ•āϰ⧇āϛ⧇āĨ¤ āĻŦā§āϝāĻŦāĻšāĻžāϰāĻ•āĻžāϰ⧀āĻĻ⧇āϰ āϏ⧁āĻŦāĻŋāϧāĻžāϰ āϜāĻ¨ā§āϝ, āϏ⧇āĻ¨ā§āϏāϰ āĻāĻŦāĻ‚ āφāχāĻĒāĻŋ āĻ•ā§āϝāĻžāĻŽā§‡āϰāĻž āϏāĻ‚āϝ⧋āĻ— āĻ•āϰāĻžāϰ āĻĒāĻĻā§āϧāϤāĻŋ āĻŽā§‹āĻŦāĻžāχāϞ āĻ…ā§āϝāĻžāĻĒā§āϞāĻŋāϕ⧇āĻļāύ⧇ āĻ¸ā§āĻĨāĻžāύāĻžāĻ¨ā§āϤāϰ āĻ•āϰāĻž āĻšāĻŦ⧇āĨ¤ āϏāĻžāĻ°ā§āĻ­āĻžāϰ āĻĒā§āϰāϏ⧇āϏ āϕ⧋āĻĄ āĻ…āĻĒā§āϟāĻŋāĻŽāĻžāχāϜ āĻ•āϰāĻž āĻāĻŦāĻ‚ āϏāĻĢā§āϟāĻ“āϝāĻŧā§āϝāĻžāϰāϟāĻŋāϕ⧇ āĻ…āĻĒāĻžāϰ⧇āϟāĻŋāĻ‚ āϏāĻŋāĻ¸ā§āĻŸā§‡āĻŽā§‡ āĻĒā§‹āĻ°ā§āϟ āĻ•āϰāĻžāϰ āϜāĻ¨ā§āϝāĻ“ āϧāĻžāϰāĻŖāĻž āϰāϝāĻŧ⧇āϛ⧇⧎ āĻ“āĻĒ⧇āύāφāϰāϟāĻŋ. āĻāϟāĻŋ āφāĻĒāύāĻžāϕ⧇ āĻāĻ•āϟāĻŋ āĻĒ⧃āĻĨāĻ• āĻ•āĻ¨ā§āĻŸā§āϰ⧋āϞāĻžāϰ⧇ āϏāĻ‚āϰāĻ•ā§āώāĻŖ āĻ•āϰāϤ⧇ āĻāĻŦāĻ‚ āĻāĻ•āϟāĻŋ āύāĻŋāϝāĻŧāĻŽāĻŋāϤ āĻĒāϰāĻŋāĻŦāĻžāϰ⧇āϰ āϰāĻžāωāϟāĻžāϰ⧇ āĻāĻ•āϟāĻŋ āĻ¸ā§āĻŽāĻžāĻ°ā§āϟ āĻšā§‹āĻŽā§‡āϰ āĻ•āĻžāĻ°ā§āϝāĻ•āĻžāϰāĻŋāϤāĻž āĻ¸ā§āĻĨāĻžāύāĻžāĻ¨ā§āϤāϰ āĻ•āϰāϤ⧇ āĻĻ⧇āϝāĻŧ⧎

āωāĻ¤ā§āϏ: www.habr.com

DDoS āϏ⧁āϰāĻ•ā§āώāĻž, VPS VDS āϏāĻžāĻ°ā§āĻ­āĻžāϰ āϏāĻš āϏāĻžāχāϟāϗ⧁āϞāĻŋāϰ āϜāĻ¨ā§āϝ āύāĻŋāĻ°ā§āĻ­āϰāϝ⧋āĻ—ā§āϝ āĻšā§‹āĻ¸ā§āϟāĻŋāĻ‚ āĻ•āĻŋāύ⧁āύ đŸ”Ĩ DDoS āϏ⧁āϰāĻ•ā§āώāĻž āϏāĻš āύāĻŋāĻ°ā§āĻ­āϰāϝ⧋āĻ—ā§āϝ āĻ“āϝāĻŧ⧇āĻŦāϏāĻžāχāϟ āĻšā§‹āĻ¸ā§āϟāĻŋāĻ‚ āĻ•āĻŋāύ⧁āύ, VPS VDS āϏāĻžāĻ°ā§āĻ­āĻžāϰ | ProHoster