ПовСзивањС Π²ΠΎΠ΄ΠΎΠΌΠ΅Ρ€Π° Π½Π° ΠΏΠ°ΠΌΠ΅Ρ‚Π½Ρƒ ΠΊΡƒΡ›Ρƒ

НСкада су систСми ΠΊΡƒΡ›Π½Π΅ Π°ΡƒΡ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·Π°Ρ†ΠΈΡ˜Π΅ ΠΈΠ»ΠΈ β€žΠΏΠ°ΠΌΠ΅Ρ‚Π½Π° ΠΊΡƒΡ›Π°β€œ ΠΊΠ°ΠΊΠΎ су ΠΈΡ… чСсто Π½Π°Π·ΠΈΠ²Π°Π»ΠΈ Π±ΠΈΠ»ΠΈ ΡΡ‚Ρ€Π°ΡˆΠ½ΠΎ скупи ΠΈ само су Π±ΠΎΠ³Π°Ρ‚ΠΈ ΠΌΠΎΠ³Π»ΠΈ Π΄Π° ΠΈΡ… ΠΏΡ€ΠΈΡƒΡˆΡ‚Π΅. Данас Π½Π° Ρ‚Ρ€ΠΆΠΈΡˆΡ‚Ρƒ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΡ€ΠΎΠ½Π°Ρ›ΠΈ ΠΏΡ€ΠΈΠ»ΠΈΡ‡Π½ΠΎ Ρ˜Π΅Ρ„Ρ‚ΠΈΠ½Π΅ ΠΊΠΎΠΌΠΏΠ»Π΅Ρ‚Π΅ са сСнзорима, Π΄ΡƒΠ³ΠΌΠ°Π΄ΠΈΠΌΠ°/ΠΏΡ€Π΅ΠΊΠΈΠ΄Π°Ρ‡ΠΈΠΌΠ° ΠΈ Π°ΠΊΡ‚ΡƒΠ°Ρ‚ΠΎΡ€ΠΈΠΌΠ° Π·Π° ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Ρƒ ΠΎΡΠ²Π΅Ρ‚Ρ™Π΅ΡšΠ°, ΡƒΡ‚ΠΈΡ‡Π½ΠΈΡ†Π°, Π²Π΅Π½Ρ‚ΠΈΠ»Π°Ρ†ΠΈΡ˜Π΅, водоснабдСвања ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΏΠΎΡ‚Ρ€ΠΎΡˆΠ°Ρ‡Π°. А Ρ‡Π°ΠΊ ΠΈ Π½Π°Ρ˜ΠΈΡΠΊΠ²Π°Ρ€Π΅Π½ΠΈΡ˜ΠΈ β€žΡƒΡ€Π°Π΄ΠΈ ΡΠ°ΠΌβ€œ ΠΌΠΎΠΆΠ΅ сС ΡƒΠΊΡ™ΡƒΡ‡ΠΈΡ‚ΠΈ Ρƒ Π»Π΅ΠΏΠΎΡ‚Ρƒ ΠΈ саставити ΡƒΡ€Π΅Ρ’Π°Ρ˜Π΅ Π·Π° ΠΏΠ°ΠΌΠ΅Ρ‚Π½ΠΈ Π΄ΠΎΠΌ ΠΏΠΎ Ρ˜Π΅Ρ„Ρ‚ΠΈΠ½ΠΎΡ˜ Ρ†Π΅Π½ΠΈ.

ПовСзивањС Π²ΠΎΠ΄ΠΎΠΌΠ΅Ρ€Π° Π½Π° ΠΏΠ°ΠΌΠ΅Ρ‚Π½Ρƒ ΠΊΡƒΡ›Ρƒ

Π’ΠΈΠΏΠΈΡ‡Π½ΠΎ, ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈ ΡƒΡ€Π΅Ρ’Π°Ρ˜ΠΈ су ΠΈΠ»ΠΈ сСнзори ΠΈΠ»ΠΈ Π°ΠΊΡ‚ΡƒΠ°Ρ‚ΠΎΡ€ΠΈ. Они ΠΎΠ»Π°ΠΊΡˆΠ°Π²Π°Ρ˜Ρƒ ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡ˜Ρƒ ΡΡ†Π΅Π½Π°Ρ€ΠΈΡ˜Π° ΠΏΠΎΠΏΡƒΡ‚ β€žΠΊΠ°Π΄Π° сС Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€Π° сСнзор ΠΏΠΎΠΊΡ€Π΅Ρ‚Π°, ΡƒΠΏΠ°Π»ΠΈ ΡΠ²Π΅Ρ‚Π»Π°β€œ ΠΈΠ»ΠΈ β€žΠΏΡ€Π΅ΠΊΠΈΠ΄Π°Ρ‡ Π±Π»ΠΈΠ·Ρƒ ΠΈΠ·Π»Π°Π·Π° гаси свСтла Ρƒ Ρ†Π΅Π»ΠΎΠΌ ΡΡ‚Π°Π½Ρƒβ€œ. Али ствари Π½Π΅ΠΊΠ°ΠΊΠΎ нису ишлС са Ρ‚Π΅Π»Π΅ΠΌΠ΅Ρ‚Ρ€ΠΈΡ˜ΠΎΠΌ. Π£ Π½Π°Ρ˜Π±ΠΎΡ™Π΅ΠΌ ΡΠ»ΡƒΡ‡Π°Ρ˜Ρƒ, Ρ‚ΠΎ јС Π³Ρ€Π°Ρ„ΠΈΠΊΠΎΠ½ Ρ‚Π΅ΠΌΠΏΠ΅Ρ€Π°Ρ‚ΡƒΡ€Π΅ ΠΈ влаТности ΠΈΠ»ΠΈ Ρ‚Ρ€Π΅Π½ΡƒΡ‚Π½Π΅ снагС Π½Π° ΠΎΠ΄Ρ€Π΅Ρ’Π΅Π½ΠΎΡ˜ ΡƒΡ‚ΠΈΡ‡Π½ΠΈΡ†ΠΈ.

НСдавно сам инсталирао Π²ΠΎΠ΄ΠΎΠΌΡ˜Π΅Ρ€Π΅ са импулсним ΠΈΠ·Π»Π°Π·ΠΎΠΌ. Π—Π° сваки Π»ΠΈΡ‚Π°Ρ€ који ΠΏΡ€ΠΎΡ’Π΅ ΠΊΡ€ΠΎΠ· ΠΌΠ΅Ρ€Π°Ρ‡, ΠΏΡ€Π΅ΠΊΠΈΠ΄Π°Ρ‡ сС Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€Π° ΠΈ Π·Π°Ρ‚Π²Π°Ρ€Π° ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚. ЈСдино ΡˆΡ‚ΠΎ ΠΏΡ€Π΅ΠΎΡΡ‚Π°Ρ˜Π΅ Ρ˜Π΅ΡΡ‚Π΅ Π΄Π° сС ΡƒΡ…Π²Π°Ρ‚ΠΈΡ‚Π΅ Π·Π° ΠΆΠΈΡ†Π΅ ΠΈ ΠΏΠΎΠΊΡƒΡˆΠ°Ρ‚Π΅ Π΄Π° ΠΈΠ·Π²ΡƒΡ‡Π΅Ρ‚Π΅ корист ΠΎΠ΄ Ρ‚ΠΎΠ³Π°. На ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π°Π½Π°Π»ΠΈΠ·ΠΈΡ€Π°Ρ˜Ρ‚Π΅ ΠΏΠΎΡ‚Ρ€ΠΎΡˆΡšΡƒ Π²ΠΎΠ΄Π΅ ΠΏΠΎ сату ΠΈ Π΄Π°Π½Ρƒ Ρƒ Π½Π΅Π΄Π΅Ρ™ΠΈ. Па, Π°ΠΊΠΎ Ρƒ стану ΠΏΠΎΡΡ‚ΠΎΡ˜ΠΈ Π½Π΅ΠΊΠΎΠ»ΠΈΠΊΠΎ ΠΏΠΎΠ΄ΠΈΠ·Π°Ρ‡Π° Π²ΠΎΠ΄Π΅, ΠΎΠ½Π΄Π° јС згоднијС Π²ΠΈΠ΄Π΅Ρ‚ΠΈ свС Ρ‚Ρ€Π΅Π½ΡƒΡ‚Π½Π΅ ΠΈΠ½Π΄ΠΈΠΊΠ°Ρ‚ΠΎΡ€Π΅ Π½Π° јСдном Π΅ΠΊΡ€Π°Π½Ρƒ Π½Π΅Π³ΠΎ Π΄Π° сС ΠΏΠ΅ΡšΠ΅Ρ‚Π΅ Ρƒ Ρ‚Π΅ΡˆΠΊΠΎ доступнС нишС ΠΏΠΎΠΌΠΎΡ›Ρƒ Π±Π°Ρ‚Π΅Ρ€ΠΈΡ˜ΡΠΊΠ΅ Π»Π°ΠΌΠΏΠ΅.

Испод Ρ€Π΅Π·Π° јС моја Π²Π΅Ρ€Π·ΠΈΡ˜Π° ΡƒΡ€Π΅Ρ’Π°Ρ˜Π° заснованог Π½Π° Π•Π‘ΠŸ8266, који Π±Ρ€ΠΎΡ˜ΠΈ импулсС са Π²ΠΎΠ΄ΠΎΠΌΠ΅Ρ€Π° ΠΈ ΡˆΠ°Ρ™Π΅ ΠΎΡ‡ΠΈΡ‚Π°Π²Π°ΡšΠ° ΠΏΡ€Π΅ΠΊΠΎ МКВВ-Π° Π½Π° сСрвСр ΠΏΠ°ΠΌΠ΅Ρ‚Π½Π΅ ΠΊΡƒΡ›Π΅. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΈΡ€Π°Ρ›Π΅ΠΌΠΎ Ρƒ ΠΌΠΈΠΊΡ€ΠΎΠΏΠΈΡ‚ΠΎΠ½Ρƒ користСћи уасинцио Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ. ΠŸΡ€ΠΈΠ»ΠΈΠΊΠΎΠΌ ΠΊΡ€Π΅ΠΈΡ€Π°ΡšΠ° Ρ„ΠΈΡ€ΠΌΠ²Π΅Ρ€Π°, наишао сам Π½Π° Π½Π΅ΠΊΠΎΠ»ΠΈΠΊΠΎ Π·Π°Π½ΠΈΠΌΡ™ΠΈΠ²ΠΈΡ… ΠΏΠΎΡ‚Π΅ΡˆΠΊΠΎΡ›Π°, ΠΎ којима Ρ›Ρƒ Ρ‚Π°ΠΊΠΎΡ’Π΅ Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚ΠΈ Ρƒ ΠΎΠ²ΠΎΠΌ Ρ‡Π»Π°Π½ΠΊΡƒ. Иди!

Π‘Ρ…Π΅ΠΌΠ°

ПовСзивањС Π²ΠΎΠ΄ΠΎΠΌΠ΅Ρ€Π° Π½Π° ΠΏΠ°ΠΌΠ΅Ρ‚Π½Ρƒ ΠΊΡƒΡ›Ρƒ

Π‘Ρ€Ρ†Π΅ Ρ‡ΠΈΡ‚Π°Π²ΠΎΠ³ ΠΊΠΎΠ»Π° јС ΠΌΠΎΠ΄ΡƒΠ» Π½Π° ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π΅Ρ€Ρƒ Π•Π‘ΠŸ8266. ΠŸΡ€Π²ΠΎΠ±ΠΈΡ‚Π½ΠΎ јС ΠΏΠ»Π°Π½ΠΈΡ€Π°Π½ Π•Π‘ΠŸ-12, Π°Π»ΠΈ сС ΠΏΠΎΠΊΠ°Π·Π°Π»ΠΎ Π΄Π° јС мој нСисправан. ΠœΠΎΡ€Π°Π»ΠΈ смо Π±ΠΈΡ‚ΠΈ Π·Π°Π΄ΠΎΠ²ΠΎΡ™Π½ΠΈ ΠΌΠΎΠ΄ΡƒΠ»ΠΎΠΌ Π•Π‘ΠŸ-07, који јС Π±ΠΈΠΎ доступан. На срСћу, исти су ΠΈ ΠΏΠΎ ΠΏΠΈΠ½ΠΎΠ²ΠΈΠΌΠ° ΠΈ ΠΏΠΎ функционалности, јСдина Ρ€Π°Π·Π»ΠΈΠΊΠ° јС Ρƒ Π°Π½Ρ‚Π΅Π½ΠΈ - Π•Π‘ΠŸ-12 ΠΈΠΌΠ° ΡƒΠ³Ρ€Π°Ρ’Π΅Π½Ρƒ, Π΄ΠΎΠΊ Π•Π‘ΠŸ-07 ΠΈΠΌΠ° СкстСрну. ΠœΠ΅Ρ’ΡƒΡ‚ΠΈΠΌ, Ρ‡Π°ΠΊ ΠΈ Π±Π΅Π· Π’ΠΈΠ€ΠΈ Π°Π½Ρ‚Π΅Π½Π΅, сигнал Ρƒ ΠΌΠΎΠΌ ΠΊΡƒΠΏΠ°Ρ‚ΠΈΠ»Ρƒ сС Π½ΠΎΡ€ΠΌΠ°Π»Π½ΠΎ ΠΏΡ€ΠΈΠΌΠ°.

Π‘Ρ‚Π°Π½Π΄Π°Ρ€Π΄Π½ΠΎ ΠΎΠΆΠΈΡ‡Π΅ΡšΠ΅ ΠΌΠΎΠ΄ΡƒΠ»Π°:

  • Π΄ΡƒΠ³ΠΌΠ΅ Π·Π° Ρ€Π΅ΡΠ΅Ρ‚ΠΎΠ²Π°ΡšΠ΅ са ΠΏΠΎΠ²Π»Π°Ρ‡Π΅ΡšΠ΅ΠΌ ΠΈ ΠΊΠΎΠ½Π΄Π΅Π½Π·Π°Ρ‚ΠΎΡ€ΠΎΠΌ (ΠΈΠ°ΠΊΠΎ су ΠΎΠ±Π° Π²Π΅Ρ› ΡƒΠ½ΡƒΡ‚Π°Ρ€ ΠΌΠΎΠ΄ΡƒΠ»Π°)
  • Π‘ΠΈΠ³Π½Π°Π» Π·Π° ΠΎΠΌΠΎΠ³ΡƒΡ›Π°Π²Π°ΡšΠ΅ (Π¦Π₯_ΠŸΠ”) сС ΠΏΠΎΠ²Π»Π°Ρ‡ΠΈ Π½Π° напајањС
  • Π“ΠŸΠ˜Πž15 јС ΠΏΠΎΠ²ΡƒΡ‡Π΅Π½ Π½Π° Π·Π΅ΠΌΡ™Ρƒ. Ово јС ΠΏΠΎΡ‚Ρ€Π΅Π±Π½ΠΎ само Π½Π° ΠΏΠΎΡ‡Π΅Ρ‚ΠΊΡƒ, Π°Π»ΠΈ још ΡƒΠ²Π΅ΠΊ Π½Π΅ΠΌΠ°ΠΌ ΡˆΡ‚Π° Π΄Π° причврстим Π·Π° ΠΎΠ²Ρƒ Π½ΠΎΠ³Ρƒ; вишС ΠΌΠΈ Π½Π΅ Ρ‚Ρ€Π΅Π±Π°

Π”Π° бистС ΠΌΠΎΠ΄ΡƒΠ» ΠΏΡ€Π΅Π±Π°Ρ†ΠΈΠ»ΠΈ Ρƒ Ρ€Π΅ΠΆΠΈΠΌ Ρ„ΠΈΡ€ΠΌΠ²Π΅Ρ€Π°, ΠΏΠΎΡ‚Ρ€Π΅Π±Π½ΠΎ јС Π΄Π° ΠΊΡ€Π°Ρ‚ΠΊΠΎ ΡΠΏΠΎΡ˜ΠΈΡ‚Π΅ Π“ΠŸΠ˜Πž2 Π½Π° масу, Π° Π΄Π° Π±ΠΈ Π±ΠΈΠ»ΠΎ згоднијС, ΠΎΠ±Π΅Π·Π±Π΅Π΄ΠΈΠΎ сам Π΄ΡƒΠ³ΠΌΠ΅ Π·Π° ΠΏΠΎΠΊΡ€Π΅Ρ‚Π°ΡšΠ΅. Π£ Π½ΠΎΡ€ΠΌΠ°Π»Π½ΠΎΠΌ ΡΡ‚Π°ΡšΡƒ, овај ΠΏΠΈΠ½ сС ΠΏΠΎΠ²Π»Π°Ρ‡ΠΈ Π½Π° напајањС.

Π‘Ρ‚Π°ΡšΠ΅ Π“ΠŸΠ˜Πž2 линијС сС ΠΏΡ€ΠΎΠ²Π΅Ρ€Π°Π²Π° само Π½Π° ΠΏΠΎΡ‡Π΅Ρ‚ΠΊΡƒ Ρ€Π°Π΄Π° - ΠΊΠ°Π΄Π° сС ΡƒΠΊΡ™ΡƒΡ‡ΠΈ напајањС ΠΈΠ»ΠΈ ΠΎΠ΄ΠΌΠ°Ρ… Π½Π°ΠΊΠΎΠ½ Ρ€Π΅ΡΠ΅Ρ‚ΠΎΠ²Π°ΡšΠ°. Π”Π°ΠΊΠ»Π΅, ΠΌΠΎΠ΄ΡƒΠ» сС ΠΈΠ»ΠΈ ΠΏΠΎΠΊΡ€Π΅Ρ›Π΅ ΠΊΠ°ΠΎ ΠΈ ΠΎΠ±ΠΈΡ‡Π½ΠΎ ΠΈΠ»ΠΈ ΠΈΠ΄Π΅ Ρƒ Ρ€Π΅ΠΆΠΈΠΌ Ρ„ΠΈΡ€ΠΌΠ²Π΅Ρ€Π°. Када сС ΡƒΡ‡ΠΈΡ‚Π°, овај ΠΏΠΈΠ½ сС ΠΌΠΎΠΆΠ΅ користити ΠΊΠ°ΠΎ ΠΎΠ±ΠΈΡ‡Π°Π½ Π“ΠŸΠ˜Πž. Па, ΠΏΠΎΡˆΡ‚ΠΎ Ρ‚Π°ΠΌΠΎ Π²Π΅Ρ› ΠΏΠΎΡΡ‚ΠΎΡ˜ΠΈ Π΄ΡƒΠ³ΠΌΠ΅, ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΌΡƒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠΈΡ‚ΠΈ Π½Π΅ΠΊΡƒ корисну Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡ˜Ρƒ.

Π—Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΈΡ€Π°ΡšΠ΅ ΠΈ ΠΎΡ‚ΠΊΠ»Π°ΡšΠ°ΡšΠ΅ Π³Ρ€Π΅ΡˆΠ°ΠΊΠ° користићу УАРВ, који сС ΠΈΠ·Π»Π°Π·ΠΈ Π½Π° Ρ‡Π΅ΡˆΠ°Ρ™. Када јС ΠΏΠΎΡ‚Ρ€Π΅Π±Π½ΠΎ, Ρ˜Π΅Π΄Π½ΠΎΡΡ‚Π°Π²Π½ΠΎ ΠΏΡ€ΠΈΠΊΡ™ΡƒΡ‡ΠΈΠΌ Π£Π‘Π‘-УАРВ Π°Π΄Π°ΠΏΡ‚Π΅Ρ€ Ρ‚Π°ΠΌΠΎ. Π‘Π°ΠΌΠΎ Ρ‚Ρ€Π΅Π±Π° Π΄Π° Π·Π°ΠΏΠ°ΠΌΡ‚ΠΈΡ‚Π΅ Π΄Π° сС ΠΌΠΎΠ΄ΡƒΠ» напаја ΠΎΠ΄ 3.3Π’. Ако Π·Π°Π±ΠΎΡ€Π°Π²ΠΈΡ‚Π΅ Π΄Π° ΠΏΡ€Π΅Π±Π°Ρ†ΠΈΡ‚Π΅ Π°Π΄Π°ΠΏΡ‚Π΅Ρ€ Π½Π° овај Π½Π°ΠΏΠΎΠ½ ΠΈ Π½Π°ΠΏΠ°Ρ˜Π°Ρ‚Π΅ 5Π’, ΠΌΠΎΠ΄ΡƒΠ» Ρ›Π΅ Π½Π°Ρ˜Π²Π΅Ρ€ΠΎΠ²Π°Ρ‚Π½ΠΈΡ˜Π΅ ΠΏΡ€Π΅Π³ΠΎΡ€Π΅Ρ‚ΠΈ.

НСмам ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° са ΡΡ‚Ρ€ΡƒΡ˜ΠΎΠΌ Ρƒ ΠΊΡƒΠΏΠ°Ρ‚ΠΈΠ»Ρƒ - ΡƒΡ‚ΠΈΡ‡Π½ΠΈΡ†Π° сС Π½Π°Π»Π°Π·ΠΈ Π½Π° ΠΎΠΊΠΎ ΠΌΠ΅Ρ‚Π°Ρ€ ΠΎΠ΄ Π±Ρ€ΠΎΡ˜ΠΈΠ»Π°, Ρ‚Π°ΠΊΠΎ Π΄Π° Ρ›Ρƒ сС Π½Π°ΠΏΠ°Ρ˜Π°Ρ‚ΠΈ Π½Π° 220Π’. Као ΠΈΠ·Π²ΠΎΡ€ напајања ΠΈΠΌΠ°Ρ›Ρƒ ΠΌΠ°Π»ΠΈ Π±Π»ΠΎΠΊ Π₯Π›Πš-ПМ03 ΠΎΠ΄ ВСнстар Π ΠΎΠ±ΠΎΡ‚. Ја Π»ΠΈΡ‡Π½ΠΎ Ρ‚Π΅ΡˆΠΊΠΎ подносим Π°Π½Π°Π»ΠΎΠ³Π½Ρƒ ΠΈ СнСргСтску Π΅Π»Π΅ΠΊΡ‚Ρ€ΠΎΠ½ΠΈΠΊΡƒ, Π°Π»ΠΈ Π΅Π²ΠΎ Π³ΠΎΡ‚ΠΎΠ²ΠΎΠ³ напајања Ρƒ ΠΌΠ°Π»ΠΎΠΌ ΠΊΡƒΡ›ΠΈΡˆΡ‚Ρƒ.

Π”Π° сигнализирам Ρ€Π΅ΠΆΠΈΠΌΠ΅ Ρ€Π°Π΄Π°, ΠΎΠ±Π΅Π·Π±Π΅Π΄ΠΈΠΎ сам Π›Π•Π” ΠΏΠΎΠ²Π΅Π·Π°Π½Ρƒ Π½Π° Π“ΠŸΠ˜Πž2. ΠœΠ΅Ρ’ΡƒΡ‚ΠΈΠΌ, нисам Π³Π° ΠΎΠ΄Π»Π΅ΠΌΠΈΠΎ, Ρ˜Π΅Ρ€... Π•Π‘ΠŸ-07 ΠΌΠΎΠ΄ΡƒΠ» Π²Π΅Ρ› ΠΈΠΌΠ° Π›Π•Π”, Π° Ρ‚Π°ΠΊΠΎΡ’Π΅ јС ΠΏΠΎΠ²Π΅Π·Π°Π½ Π½Π° Π“ΠŸΠ˜Πž2. Али Π½Π΅ΠΊΠ° Π±ΡƒΠ΄Π΅ Π½Π° ΠΏΠ»ΠΎΡ‡ΠΈ, Ρƒ ΡΠ»ΡƒΡ‡Π°Ρ˜Ρƒ Π΄Π° ΠΆΠ΅Π»ΠΈΠΌ Π΄Π° ΠΈΠ·Π±Π°Ρ†ΠΈΠΌ ΠΎΠ²Ρƒ Π›Π•Π” Π΄ΠΈΠΎΠ΄Ρƒ Π½Π° ΠΊΡƒΡ›ΠΈΡˆΡ‚Π΅.

ΠŸΡ€Π΅Ρ’ΠΈΠΌΠΎ Π½Π° Π½Π°Ρ˜Π·Π°Π½ΠΈΠΌΡ™ΠΈΠ²ΠΈΡ˜ΠΈ Π΄Π΅ΠΎ. Π’ΠΎΠ΄ΠΎΠΌΠ΅Ρ€ΠΈ Π½Π΅ΠΌΠ°Ρ˜Ρƒ Π»ΠΎΠ³ΠΈΠΊΡƒ, Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΎΠ΄ ΡšΠΈΡ… Ρ‚Ρ€Π°ΠΆΠΈΡ‚ΠΈ Ρ‚Ρ€Π΅Π½ΡƒΡ‚Π½Π° ΠΎΡ‡ΠΈΡ‚Π°Π²Π°ΡšΠ°. ЈСдино ΡˆΡ‚ΠΎ Π½Π°ΠΌ јС доступно су импулси - Π·Π°Ρ‚Π²Π°Ρ€Π°ΡšΠ΅ ΠΊΠΎΠ½Ρ‚Π°ΠΊΠ°Ρ‚Π° Ρ€Π΅Π΅Π΄ ΠΏΡ€Π΅ΠΊΠΈΠ΄Π°Ρ‡Π° Π½Π° сваки Π»ΠΈΡ‚Π°Ρ€. Моји ΠΈΠ·Π»Π°Π·ΠΈ Ρ€Π΅Π΅Π΄ ΠΏΡ€Π΅ΠΊΠΈΠ΄Π°Ρ‡Π° су ΠΏΠΎΠ²Π΅Π·Π°Π½ΠΈ Π½Π° Π“ΠŸΠ˜Πž12/Π“ΠŸΠ˜Πž13. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΡΠΊΠΈ Ρ›Ρƒ ΠΎΠΌΠΎΠ³ΡƒΡ›ΠΈΡ‚ΠΈ ΠΏΡƒΠ»Π»-ΡƒΠΏ ΠΎΡ‚ΠΏΠΎΡ€Π½ΠΈΠΊ ΡƒΠ½ΡƒΡ‚Π°Ρ€ ΠΌΠΎΠ΄ΡƒΠ»Π°.

Π£ ΠΏΠΎΡ‡Π΅Ρ‚ΠΊΡƒ сам Π·Π°Π±ΠΎΡ€Π°Π²ΠΈΠΎ Π΄Π° ΠΎΠ±Π΅Π·Π±Π΅Π΄ΠΈΠΌ ΠΎΡ‚ΠΏΠΎΡ€Π½ΠΈΠΊΠ΅ Π 8 ΠΈ Π 9 ΠΈ моја Π²Π΅Ρ€Π·ΠΈΡ˜Π° ΠΏΠ»ΠΎΡ‡Π΅ ΠΈΡ… Π½Π΅ΠΌΠ°. Али ΠΏΠΎΡˆΡ‚ΠΎ Π²Π΅Ρ› постављам Π΄ΠΈΡ˜Π°Π³Ρ€Π°ΠΌ Π΄Π° Π³Π° сви Π²ΠΈΠ΄Π΅, Π²Ρ€Π΅Π΄ΠΈ исправити овај ΠΏΡ€Π΅Π²ΠΈΠ΄. ΠžΡ‚ΠΏΠΎΡ€Π½ΠΈΡ†ΠΈ су ΠΏΠΎΡ‚Ρ€Π΅Π±Π½ΠΈ Π΄Π° Π½Π΅ Π±ΠΈ спалили ΠΏΠΎΡ€Ρ‚ Π°ΠΊΠΎ Ρ„ΠΈΡ€ΠΌΠ²Π΅Ρ€ ΠΏΠΎΠΊΠ²Π°Ρ€ΠΈ ΠΈ постави ΠΏΠΈΠ½ Π½Π° јСдан, Π° Ρ€Π΅Π΅Π΄ ΠΏΡ€Π΅ΠΊΠΈΠ΄Π°Ρ‡ скрати ΠΎΠ²Ρƒ Π»ΠΈΠ½ΠΈΡ˜Ρƒ Π½Π° масу (са ΠΎΡ‚ΠΏΠΎΡ€Π½ΠΈΠΊΠΎΠΌ Ρ›Π΅ Ρ‚Π΅Ρ›ΠΈ максимално 3.3Π’/1000ΠžΡ…ΠΌ = 3.3мА).

Π’Ρ€Π΅ΠΌΠ΅ јС Π΄Π° размислимо ΡˆΡ‚Π° Π΄Π° Ρ€Π°Π΄ΠΈΠΌΠΎ Π°ΠΊΠΎ нСстанС ΡΡ‚Ρ€ΡƒΡ˜Π΅. ΠŸΡ€Π²Π° ΠΎΠΏΡ†ΠΈΡ˜Π° јС Π΄Π° Π½Π° ΠΏΠΎΡ‡Π΅Ρ‚ΠΊΡƒ Π·Π°Ρ‚Ρ€Π°ΠΆΠΈΡ‚Π΅ ΠΏΠΎΡ‡Π΅Ρ‚Π½Π΅ врСдности Π±Ρ€ΠΎΡ˜Π°Ρ‡Π° ΠΎΠ΄ сСрвСра. Али Ρ‚ΠΎ Π±ΠΈ Π·Π°Ρ…Ρ‚Π΅Π²Π°Π»ΠΎ Π·Π½Π°Ρ‡Π°Ρ˜Π½Ρƒ ΠΊΠΎΠΌΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΡ˜Ρƒ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π° Ρ€Π°Π·ΠΌΠ΅Π½Π΅. Π¨Ρ‚Π°Π²ΠΈΡˆΠ΅, пСрформансС ΡƒΡ€Π΅Ρ’Π°Ρ˜Π° Ρƒ ΠΎΠ²ΠΎΠΌ ΡΠ»ΡƒΡ‡Π°Ρ˜Ρƒ зависС ΠΎΠ΄ ΡΡ‚Π°ΡšΠ° сСрвСра. Ако сС сСрвСр нијС ΠΏΠΎΠΊΡ€Π΅Π½ΡƒΠΎ Π½Π°ΠΊΠΎΠ½ ΡˆΡ‚ΠΎ јС напајањС искључСно (ΠΈΠ»ΠΈ ΠΏΠΎΠΊΡ€Π΅Π½ΡƒΡ‚ΠΎ каснијС), Π²ΠΎΠ΄ΠΎΠΌΠ΅Ρ€ Π½Π΅ Π±ΠΈ ΠΌΠΎΠ³Π°ΠΎ Π΄Π° Π·Π°Ρ…Ρ‚Π΅Π²Π° ΠΏΠΎΡ‡Π΅Ρ‚Π½Π΅ врСдности ΠΈ Π½Π΅ Π±ΠΈ Ρ€Π°Π΄ΠΈΠΎ исправно.

Π—Π±ΠΎΠ³ Ρ‚ΠΎΠ³Π° сам ΠΎΠ΄Π»ΡƒΡ‡ΠΈΠΎ Π΄Π° ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚ΠΈΡ€Π°ΠΌ Ρ‡ΡƒΠ²Π°ΡšΠ΅ врСдности Π±Ρ€ΠΎΡ˜Π°Ρ‡Π° Ρƒ ΠΌΠ΅ΠΌΠΎΡ€ΠΈΡ˜ΡΠΊΠΎΠΌ Ρ‡ΠΈΠΏΡƒ ΠΏΠΎΠ²Π΅Π·Π°Π½ΠΎΠΌ ΠΏΡ€Π΅ΠΊΠΎ И2Π¦. НСмам посСбнС Π·Π°Ρ…Ρ‚Π΅Π²Π΅ Π·Π° Π²Π΅Π»ΠΈΡ‡ΠΈΠ½Ρƒ Ρ„Π»Π΅Ρˆ ΠΌΠ΅ΠΌΠΎΡ€ΠΈΡ˜Π΅ - ΠΏΠΎΡ‚Ρ€Π΅Π±Π½ΠΎ јС Π΄Π° сачуватС само 2 Π±Ρ€ΠΎΡ˜Π° (Π±Ρ€ΠΎΡ˜ Π»ΠΈΡ‚Π°Ρ€Π° ΠΏΡ€Π΅ΠΌΠ° ΠΌΠ΅Ρ€ΠΈΠ»ΠΈΠΌΠ° Ρ‚ΠΎΠΏΠ»Π΅ ΠΈ Ρ…Π»Π°Π΄Π½Π΅ Π²ΠΎΠ΄Π΅). Π§Π°ΠΊ Ρ›Π΅ ΠΈ најмањи ΠΌΠΎΠ΄ΡƒΠ» ΠΌΠΎΡ›ΠΈ. Али ΠΌΠΎΡ€Π°Ρ‚Π΅ ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚ΠΈ ΠΏΠ°ΠΆΡšΡƒ Π½Π° Π±Ρ€ΠΎΡ˜ циклуса снимања. Π—Π° Π²Π΅Ρ›ΠΈΠ½Ρƒ ΠΌΠΎΠ΄ΡƒΠ»Π° ΠΎΠ²ΠΎ јС 100 Ρ…ΠΈΡ™Π°Π΄Π° циклуса, Π·Π° Π½Π΅ΠΊΠ΅ ΠΈ Π΄ΠΎ ΠΌΠΈΠ»ΠΈΠΎΠ½.

Π§ΠΈΠ½ΠΈ сС Π΄Π° јС ΠΌΠΈΠ»ΠΈΠΎΠ½ ΠΌΠ½ΠΎΠ³ΠΎ. Али Π·Π° 4 Π³ΠΎΠ΄ΠΈΠ½Π΅ ΠΆΠΈΠ²ΠΎΡ‚Π° Ρƒ свом стану, ΠΏΠΎΡ‚Ρ€ΠΎΡˆΠΈΠΎ сам Π½Π΅ΡˆΡ‚ΠΎ вишС ΠΎΠ΄ 500 ΠΊΡƒΠ±Π½ΠΈΡ… ΠΌΠ΅Ρ‚Π°Ρ€Π° Π²ΠΎΠ΄Π΅, Ρ‚ΠΎ јС 500 Ρ…ΠΈΡ™Π°Π΄Π° Π»ΠΈΡ‚Π°Ρ€Π°! И 500 Ρ…ΠΈΡ™Π°Π΄Π° записа Ρƒ фласху. А Ρ‚ΠΎ јС само Ρ…Π»Π°Π΄Π½Π° Π²ΠΎΠ΄Π°. ΠœΠΎΠΆΠ΅Ρ‚Π΅, Π½Π°Ρ€Π°Π²Π½ΠΎ, ΠΏΠΎΠ½ΠΎΠ²ΠΎ Π»Π΅ΠΌΠΈΡ‚ΠΈ Ρ‡ΠΈΠΏ сваких Π½Π΅ΠΊΠΎΠ»ΠΈΠΊΠΎ Π³ΠΎΠ΄ΠΈΠ½Π°, Π°Π»ΠΈ испоставило сС Π΄Π° ΠΏΠΎΡΡ‚ΠΎΡ˜Π΅ ЀРАМ Ρ‡ΠΈΠΏΠΎΠ²ΠΈ. Π‘Π° програмскС Ρ‚Π°Ρ‡ΠΊΠ΅ Π³Π»Π΅Π΄ΠΈΡˆΡ‚Π°, ΠΎΠ²ΠΎ јС исти И2Π¦ Π•Π•ΠŸΠ ΠžΠœ, само са Π²Π΅ΠΎΠΌΠ° Π²Π΅Π»ΠΈΠΊΠΈΠΌ Π±Ρ€ΠΎΡ˜Π΅ΠΌ циклуса ΠΏΠΎΠ½ΠΎΠ²Π½ΠΎΠ³ писања (стотинС ΠΌΠΈΠ»ΠΈΠΎΠ½Π°). Π‘Π°ΠΌΠΎ још ΡƒΠ²Π΅ΠΊ Π½Π΅ ΠΌΠΎΠ³Ρƒ Π΄Π° Π΄ΠΎΡ’Π΅ΠΌ Π΄ΠΎ ΠΏΡ€ΠΎΠ΄Π°Π²Π½ΠΈΡ†Π΅ са Ρ‚Π°ΠΊΠ²ΠΈΠΌ ΠΌΠΈΠΊΡ€ΠΎ ΠΊΡ€ΡƒΠ³ΠΎΠ²ΠΈΠΌΠ°, ΠΏΠ° Ρ›Π΅ Π·Π° сада ΡΡ‚Π°Ρ˜Π°Ρ‚ΠΈ ΡƒΠΎΠ±ΠΈΡ‡Π°Ρ˜Π΅Π½ΠΈ 24Π›Π¦512.

Π¨Ρ‚Π°ΠΌΠΏΠ°Π½Π° ΠΏΠ»ΠΎΡ‡Π°

Π£ ΠΏΠΎΡ‡Π΅Ρ‚ΠΊΡƒ сам ΠΏΠ»Π°Π½ΠΈΡ€Π°ΠΎ Π΄Π° Π½Π°ΠΏΡ€Π°Π²ΠΈΠΌ ΠΏΠ»ΠΎΡ‡Ρƒ ΠΊΠΎΠ΄ ΠΊΡƒΡ›Π΅. Π‘Ρ‚ΠΎΠ³Π° јС Ρ‚Π°Π±Π»Π° Π΄ΠΈΠ·Π°Ρ˜Π½ΠΈΡ€Π°Π½Π° ΠΊΠ°ΠΎ Ρ˜Π΅Π΄Π½ΠΎΡΡ‚Ρ€Π°Π½Π°. Али Π½Π°ΠΊΠΎΠ½ сат Π²Ρ€Π΅ΠΌΠ΅Π½Π° са ласСрским Π³Π²ΠΎΠΆΡ’Π΅ΠΌ ΠΈ маском Π·Π° Π»Π΅ΠΌΡ™Π΅ΡšΠ΅ (Π±Π΅Π· Ρ‚ΠΎΠ³Π° Π½Π΅ΠΊΠ°ΠΊΠΎ нијС Ρ†ΠΎΠΌΠΌΠ΅ ΠΈΠ» Ρ„Π°ΡƒΡ‚), ΠΈΠΏΠ°ΠΊ сам ΠΎΠ΄Π»ΡƒΡ‡ΠΈΠΎ Π΄Π° Π½Π°Ρ€ΡƒΡ‡ΠΈΠΌ ΠΏΠ»ΠΎΡ‡Π΅ ΠΎΠ΄ КинСза.

ПовСзивањС Π²ΠΎΠ΄ΠΎΠΌΠ΅Ρ€Π° Π½Π° ΠΏΠ°ΠΌΠ΅Ρ‚Π½Ρƒ ΠΊΡƒΡ›Ρƒ

Π‘ΠΊΠΎΡ€ΠΎ ΠΏΡ€Π΅ Π½Π΅Π³ΠΎ ΡˆΡ‚ΠΎ сам Π½Π°Ρ€ΡƒΡ‡ΠΈΠΎ ΠΏΠ»ΠΎΡ‡Ρƒ, схватио сам Π΄Π° ΠΏΠΎΡ€Π΅Π΄ Ρ‡ΠΈΠΏΠ° Ρ„Π»Π΅Ρˆ ΠΌΠ΅ΠΌΠΎΡ€ΠΈΡ˜Π΅ ΠΌΠΎΠ³Ρƒ Π΄Π° ΠΏΠΎΠ²Π΅ΠΆΠ΅ΠΌ још Π½Π΅ΡˆΡ‚ΠΎ корисно са И2Π¦ магистралом, ΠΊΠ°ΠΎ ΡˆΡ‚ΠΎ јС Π΅ΠΊΡ€Π°Π½. Још ΡƒΠ²Π΅ΠΊ јС ΠΏΠΈΡ‚Π°ΡšΠ΅ ΡˆΡ‚Π° Ρ‚Π°Ρ‡Π½ΠΎ Π΄Π° сС објави, Π°Π»ΠΈ Ρ‚ΠΎ Ρ‚Ρ€Π΅Π±Π° Π΄Π° сС усмСри Π½Π° ΠΏΠ»ΠΎΡ‡Ρƒ. Па, ΠΏΠΎΡˆΡ‚ΠΎ сам Ρ…Ρ‚Π΅ΠΎ Π΄Π° Π½Π°Ρ€ΡƒΡ‡ΠΈΠΌ ΠΏΠ»ΠΎΡ‡Π΅ ΠΈΠ· Ρ„Π°Π±Ρ€ΠΈΠΊΠ΅, нијС Π±ΠΈΠ»ΠΎ сврхС Π΄Π° сС ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π°Π²Π°ΠΌ Π½Π° Ρ˜Π΅Π΄Π½ΠΎΡΡ‚Ρ€Π°Π½Ρƒ ΠΏΠ»ΠΎΡ‡Ρƒ, Ρ‚Π°ΠΊΠΎ Π΄Π° су И2Π¦ линијС јСдинС Π½Π° задњој страни ΠΏΠ»ΠΎΡ‡Π΅.

ΠŸΠΎΡΡ‚ΠΎΡ˜Π°ΠΎ јС ΠΈ јСдан Π²Π΅Π»ΠΈΠΊΠΈ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ са Ρ˜Π΅Π΄Π½ΠΎΡΠΌΠ΅Ρ€Π½ΠΈΠΌ ΠΎΠΆΠΈΡ‡Π΅ΡšΠ΅ΠΌ. ΠˆΠ΅Ρ€ ΠŸΠ»ΠΎΡ‡Π° јС Π½Π°Ρ†Ρ€Ρ‚Π°Π½Π° ΠΊΠ°ΠΎ Ρ˜Π΅Π΄Π½ΠΎΡΡ‚Ρ€Π°Π½Π°, ΠΏΠ° јС ΠΏΠ»Π°Π½ΠΈΡ€Π°Π½ΠΎ Π΄Π° сС Π½Π° јСдној страни поставС стазС ΠΈ Π‘ΠœΠ” ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π΅, Π° Π½Π° Π΄Ρ€ΡƒΠ³Ρƒ ΠΈΠ·Π»Π°Π·Π½Π΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π΅, ΠΊΠΎΠ½Π΅ΠΊΡ‚ΠΎΡ€ΠΈ ΠΈ напајањС. Када сам Π΄ΠΎΠ±ΠΈΠΎ ΠΏΠ»ΠΎΡ‡Π΅ мСсСц Π΄Π°Π½Π° каснијС, Π·Π°Π±ΠΎΡ€Π°Π²ΠΈΠΎ сам Π½Π° ΠΏΡ€Π²ΠΎΠ±ΠΈΡ‚Π½ΠΈ ΠΏΠ»Π°Π½ ΠΈ Π·Π°Π»Π΅ΠΌΠΈΠΎ свС ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π΅ Π½Π° ΠΏΡ€Π΅Π΄ΡšΠΎΡ˜ страни. И Ρ‚Π΅ΠΊ ΠΊΠ°Π΄Π° јС дошло Π΄ΠΎ Π»Π΅ΠΌΡ™Π΅ΡšΠ° напајања, испоставило сС Π΄Π° су плус ΠΈ минус ΠΎΠ±Ρ€Π½ΡƒΡ‚ΠΈ. ΠœΠΎΡ€Π°ΠΎ сам Π΄Π° сС Π±Π°Π²ΠΈΠΌ Ρ„Π°Ρ€ΠΌΠΎΠΌ са скакачима. На Π³ΠΎΡ€ΡšΠΎΡ˜ слици сам Π²Π΅Ρ› ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈΠΎ ΠΎΠΆΠΈΡ‡Π΅ΡšΠ΅, Π°Π»ΠΈ сС Π·Π΅ΠΌΡ™Π° прСноси са јСдног Π΄Π΅Π»Π° ΠΏΠ»ΠΎΡ‡Π΅ Π½Π° Π΄Ρ€ΡƒΠ³ΠΈ ΠΏΡ€Π΅ΠΊΠΎ ΠΏΠΈΠ½ΠΎΠ²Π° Π΄ΡƒΠ³ΠΌΠ΅Ρ‚Π° Π‘ΠΎΠΎΡ‚ (ΠΈΠ°ΠΊΠΎ Π±ΠΈ Π±ΠΈΠ»ΠΎ ΠΌΠΎΠ³ΡƒΡ›Π΅ Π½Π°Ρ†Ρ€Ρ‚Π°Ρ‚ΠΈ стазу Π½Π° Π΄Ρ€ΡƒΠ³ΠΎΠΌ ΡΠ»ΠΎΡ˜Ρƒ).

Испало јС овако

ПовСзивањС Π²ΠΎΠ΄ΠΎΠΌΠ΅Ρ€Π° Π½Π° ΠΏΠ°ΠΌΠ΅Ρ‚Π½Ρƒ ΠΊΡƒΡ›Ρƒ

ΠšΠΎΡ€ΠΏΡƒΡ

Π‘Π»Π΅Π΄Π΅Ρ›ΠΈ ΠΊΠΎΡ€Π°ΠΊ јС Ρ‚Π΅Π»ΠΎ. Ако ΠΈΠΌΠ°Ρ‚Π΅ 3Π” ΡˆΡ‚Π°ΠΌΠΏΠ°Ρ‡, Ρ‚ΠΎ нијС ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ. Нисам сС ΠΏΡ€Π΅Π²ΠΈΡˆΠ΅ ΠΌΡƒΡ‡ΠΈΠΎ - само сам Π½Π°Ρ†Ρ€Ρ‚Π°ΠΎ ΠΊΡƒΡ‚ΠΈΡ˜Ρƒ ΠΏΡ€Π°Π²Π΅ Π²Π΅Π»ΠΈΡ‡ΠΈΠ½Π΅ ΠΈ Π½Π°ΠΏΡ€Π°Π²ΠΈΠΎ ΠΈΠ·Ρ€Π΅Π·Π΅ Π½Π° ΠΏΡ€Π°Π²ΠΈΠΌ мСстима. ΠŸΠΎΠΊΠ»ΠΎΠΏΠ°Ρ† јС ΠΏΡ€ΠΈΡ‡Π²Ρ€ΡˆΡ›Π΅Π½ Π·Π° Ρ‚Π΅Π»ΠΎ ΠΏΠΎΠΌΠΎΡ›Ρƒ ΠΌΠ°Π»ΠΈΡ… вијака Π·Π° ΡΠ°ΠΌΠΎΠΏΡ€Π΅Π·ΠΈΠ²Π°ΡšΠ΅.

ПовСзивањС Π²ΠΎΠ΄ΠΎΠΌΠ΅Ρ€Π° Π½Π° ΠΏΠ°ΠΌΠ΅Ρ‚Π½Ρƒ ΠΊΡƒΡ›Ρƒ

Π’Π΅Ρ› сам ΠΏΠΎΠΌΠ΅Π½ΡƒΠΎ Π΄Π° Π΄ΡƒΠ³ΠΌΠ΅ Π·Π° ΠΏΠΎΠΊΡ€Π΅Ρ‚Π°ΡšΠ΅ ΠΌΠΎΠΆΠ΅ Π΄Π° сС користи ΠΊΠ°ΠΎ Π΄ΡƒΠ³ΠΌΠ΅ ΠΎΠΏΡˆΡ‚Π΅ Π½Π°ΠΌΠ΅Π½Π΅ - Ρ‚Π°ΠΊΠΎ Π΄Π° Ρ›Π΅ΠΌΠΎ Π³Π° ΠΏΡ€ΠΈΠΊΠ°Π·Π°Ρ‚ΠΈ Π½Π° ΠΏΡ€Π΅Π΄ΡšΠΎΡ˜ ΠΏΠ»ΠΎΡ‡ΠΈ. Π”Π° Π±ΠΈΡ… Ρ‚ΠΎ ΡƒΡ€Π°Π΄ΠΈΠΎ, Π½Π°Ρ†Ρ€Ρ‚Π°ΠΎ сам посСбан β€žΠ±ΡƒΠ½Π°Ρ€β€œ Π³Π΄Π΅ Π΄ΡƒΠ³ΠΌΠ΅ ΠΆΠΈΠ²ΠΈ.

ПовСзивањС Π²ΠΎΠ΄ΠΎΠΌΠ΅Ρ€Π° Π½Π° ΠΏΠ°ΠΌΠ΅Ρ‚Π½Ρƒ ΠΊΡƒΡ›Ρƒ

Π£Π½ΡƒΡ‚Π°Ρ€ ΠΊΡƒΡ›ΠΈΡˆΡ‚Π° сС Π½Π°Π»Π°Π·Π΅ ΠΈ ΠΊΠ»ΠΈΠ½ΠΎΠ²ΠΈ Π½Π° којС јС постављСна ΠΏΠ»ΠΎΡ‡Π° ΠΈ ΠΏΡ€ΠΈΡ‡Π²Ρ€ΡˆΡ›Π΅Π½Π° јСдним М3 Π·Π°Π²Ρ€Ρ‚ΡšΠ΅ΠΌ (нијС Π±ΠΈΠ»ΠΎ вишС простора Π½Π° ΠΏΠ»ΠΎΡ‡ΠΈ)

ΠžΠ΄Π°Π±Ρ€Π°ΠΎ сам Π΅ΠΊΡ€Π°Π½ Π²Π΅Ρ› ΠΊΠ°Π΄Π° сам ΠΎΠ΄ΡˆΡ‚Π°ΠΌΠΏΠ°ΠΎ ΠΏΡ€Π²Ρƒ ΠΏΡ€ΠΎΠ±Π½Ρƒ Π²Π΅Ρ€Π·ΠΈΡ˜Ρƒ ΠΊΡƒΡ›ΠΈΡˆΡ‚Π°. Π‘Ρ‚Π°Π½Π΄Π°Ρ€Π΄Π½ΠΈ Π΄Π²ΠΎΡ€Π΅Π΄Π½ΠΈ Ρ‡ΠΈΡ‚Π°Ρ‡ сС нијС ΡƒΠΊΠ»Π°ΠΏΠ°ΠΎ Ρƒ ΠΎΠ²ΠΎ ΠΊΡƒΡ›ΠΈΡˆΡ‚Π΅, Π°Π»ΠΈ Π½Π° Π΄Π½Ρƒ јС Π±ΠΈΠΎ ΠžΠ›Π•Π” Π΅ΠΊΡ€Π°Π½ Π‘Π‘Π”1306 128Γ—32. Мало јС ΠΌΠ°Π»ΠΈ, Π°Π»ΠΈ Π½Π΅ ΠΌΠΎΡ€Π°ΠΌ Π΄Π° Π±ΡƒΡ™ΠΈΠΌ Ρƒ њСга сваки Π΄Π°Π½ - ΠΏΡ€Π΅Π²ΠΈΡˆΠ΅ јС Π·Π° ΠΌΠ΅Π½Π΅.

Π‘Ρ…Π²Π°Ρ‚ΠΈΠ²ΡˆΠΈ Π½Π° овај Π½Π°Ρ‡ΠΈΠ½ ΠΈ ΠΊΠ°ΠΊΠΎ Ρ›Π΅ ΠΆΠΈΡ†Π΅ Π±ΠΈΡ‚ΠΈ ΠΈΠ·Π²Π΅Π΄Π΅Π½Π΅ ΠΎΠ΄ њСга, ΠΎΠ΄Π»ΡƒΡ‡ΠΈΠΎ сам Π΄Π° Π·Π°Π»Π΅ΠΏΠΈΠΌ Π΅ΠΊΡ€Π°Π½ Ρƒ срСдину ΠΊΡƒΡ›ΠΈΡˆΡ‚Π°. Π•Ρ€Π³ΠΎΠ½ΠΎΠΌΠΈΡ˜Π° јС, Π½Π°Ρ€Π°Π²Π½ΠΎ, испод Π½ΠΈΠ²ΠΎΠ° - Π΄ΡƒΠ³ΠΌΠ΅ јС Π½Π° Π²Ρ€Ρ…Ρƒ, Π΅ΠΊΡ€Π°Π½ јС Π½Π° Π΄Π½Ρƒ. Али Π²Π΅Ρ› сам Ρ€Π΅ΠΊΠ°ΠΎ Π΄Π° јС идСја Π·Π° ΠΏΡ€ΠΈΡ‡Π²Ρ€ΡˆΡ›ΠΈΠ²Π°ΡšΠ΅ Π΅ΠΊΡ€Π°Π½Π° дошла прСкасно ΠΈ Π΄Π° сам Π±ΠΈΠΎ ΠΏΡ€Π΅Π²ΠΈΡˆΠ΅ лСњ Π΄Π° ΠΏΠΎΠ½ΠΎΠ²ΠΎ ΠΏΠΎΠ²Π΅ΠΆΠ΅ΠΌ ΠΏΠ»ΠΎΡ‡Ρƒ Π΄Π° Π±ΠΈΡ… ΠΏΠΎΠΌΠ΅Ρ€ΠΈΠΎ Π΄ΡƒΠ³ΠΌΠ΅.

Π£Ρ€Π΅Ρ’Π°Ρ˜ јС састављСн. ΠœΠΎΠ΄ΡƒΠ» дисплСја јС Π·Π°Π»Π΅ΠΏΡ™Π΅Π½ Π½Π° ΡˆΠΌΡ€ΠΊ Π²Ρ€ΡƒΡ›ΠΈΠΌ Π»Π΅ΠΏΠΊΠΎΠΌ

ПовСзивањС Π²ΠΎΠ΄ΠΎΠΌΠ΅Ρ€Π° Π½Π° ΠΏΠ°ΠΌΠ΅Ρ‚Π½Ρƒ ΠΊΡƒΡ›Ρƒ

ПовСзивањС Π²ΠΎΠ΄ΠΎΠΌΠ΅Ρ€Π° Π½Π° ΠΏΠ°ΠΌΠ΅Ρ‚Π½Ρƒ ΠΊΡƒΡ›Ρƒ

ΠšΡ€Π°Ρ˜ΡšΠΈ Ρ€Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚ сС ΠΌΠΎΠΆΠ΅ Π²ΠΈΠ΄Π΅Ρ‚ΠΈ Π½Π° ΠšΠ”ΠŸΠ’

Π€ΠΈΡ€ΠΌΠ²Π°Ρ€Π΅

ΠŸΡ€Π΅Ρ’ΠΈΠΌΠΎ Π½Π° софтвСрски Π΄Π΅ΠΎ. Π—Π° ΠΌΠ°Π»Π΅ Π·Π°Π½Π°Ρ‚Π΅ ΠΊΠ°ΠΎ ΡˆΡ‚ΠΎ јС овај, заиста Π²ΠΎΠ»ΠΈΠΌ Π΄Π° користим ΠŸΠΈΡ‚Ρ…ΠΎΠ½ (ΠΌΠΈΡ†Ρ€ΠΎΠΏΠΈΡ‚Ρ…ΠΎΠ½) - испоставља сС Π΄Π° јС ΠΊΠΎΠ΄ Π²Π΅ΠΎΠΌΠ° ΠΊΠΎΠΌΠΏΠ°ΠΊΡ‚Π°Π½ ΠΈ Ρ€Π°Π·ΡƒΠΌΡ™ΠΈΠ². На срСћу, Π½Π΅ΠΌΠ° ΠΏΠΎΡ‚Ρ€Π΅Π±Π΅ Π΄Π° сС ΡΠΏΡƒΡˆΡ‚Π°Ρ‚Π΅ Π½Π° Π½ΠΈΠ²ΠΎ рСгистра Π΄Π° бистС истиснули микросСкундС – свС сС ΠΌΠΎΠΆΠ΅ ΡƒΡ€Π°Π΄ΠΈΡ‚ΠΈ ΠΈΠ· ΠŸΠ°Ρ˜Ρ‚ΠΎΠ½Π°.

Π§ΠΈΠ½ΠΈ сС Π΄Π° јС свС Ρ˜Π΅Π΄Π½ΠΎΡΡ‚Π°Π²Π½ΠΎ, Π°Π»ΠΈ Π½Π΅ баш Ρ˜Π΅Π΄Π½ΠΎΡΡ‚Π°Π²Π½ΠΎ - ΡƒΡ€Π΅Ρ’Π°Ρ˜ ΠΈΠΌΠ° Π½Π΅ΠΊΠΎΠ»ΠΈΠΊΠΎ нСзависних Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡ˜Π°:

  • ΠšΠΎΡ€ΠΈΡΠ½ΠΈΠΊ притиснС Π΄ΡƒΠ³ΠΌΠ΅ ΠΈ ΠΏΠΎΠ³Π»Π΅Π΄Π° Ρƒ Π΅ΠΊΡ€Π°Π½
  • Π›ΠΈΡ‚Ρ€ΠΈ ΠΎΠ·Π½Π°Ρ‡ΠΈΡ‚Π΅ ΠΈ Π°ΠΆΡƒΡ€ΠΈΡ€Π°Ρ˜Ρ‚Π΅ врСдности Ρƒ Ρ„Π»Π΅Ρˆ ΠΌΠ΅ΠΌΠΎΡ€ΠΈΡ˜ΠΈ
  • ΠœΠΎΠ΄ΡƒΠ» ΠΏΡ€Π°Ρ‚ΠΈ Π’ΠΈΠ€ΠΈ сигнал ΠΈ ΠΏΠΎΠ½ΠΎΠ²ΠΎ сС ΠΏΠΎΠ²Π΅Π·ΡƒΡ˜Π΅ Π°ΠΊΠΎ јС ΠΏΠΎΡ‚Ρ€Π΅Π±Π½ΠΎ
  • Па, Π±Π΅Π· Ρ‚Ρ€Π΅ΠΏΡ›ΡƒΡ›Π΅ ΡΠΈΡ˜Π°Π»ΠΈΡ†Π΅ јС Π½Π΅ΠΌΠΎΠ³ΡƒΡ›Π΅

НС ΠΌΠΎΠΆΠ΅Ρ‚Π΅ прСтпоставити Π΄Π° јСдна Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡ˜Π° нијС Ρ€Π°Π΄ΠΈΠ»Π° Π°ΠΊΠΎ јС Π΄Ρ€ΡƒΠ³Π° ΠΈΠ· Π½Π΅ΠΊΠΎΠ³ Ρ€Π°Π·Π»ΠΎΠ³Π° Π·Π°Π³Π»Π°Π²Ρ™Π΅Π½Π°. Π’Π΅Ρ› сам сС наситио кактуса Ρƒ Π΄Ρ€ΡƒΠ³ΠΈΠΌ ΠΏΡ€ΠΎΡ˜Π΅ΠΊΡ‚ΠΈΠΌΠ° ΠΈ сада још ΡƒΠ²Π΅ΠΊ Π²ΠΈΠ΄ΠΈΠΌ Π³Ρ€Π΅ΡˆΠΊΠ΅ Ρƒ стилу β€žΠΏΡ€ΠΎΠΏΡƒΡΡ‚ΠΈΠΎ још јСдан Π»ΠΈΡ‚Π°Ρ€ Ρ˜Π΅Ρ€ сС Π΅ΠΊΡ€Π°Π½ Ρƒ Ρ‚ΠΎΠΌ Ρ‚Ρ€Π΅Π½ΡƒΡ‚ΠΊΡƒ Π°ΠΆΡƒΡ€ΠΈΡ€Π°ΠΎβ€œ ΠΈΠ»ΠΈ β€žΠΊΠΎΡ€ΠΈΡΠ½ΠΈΠΊ Π½Π΅ ΠΌΠΎΠΆΠ΅ Π½ΠΈΡˆΡ‚Π° Π΄Π° ΡƒΡ€Π°Π΄ΠΈ Π΄ΠΎΠΊ сС ΠΌΠΎΠ΄ΡƒΠ» ΠΏΠΎΠ²Π΅Π·ΡƒΡ˜Π΅ Π½Π° Π’ΠΈ-Ρ„ΠΈ." Наравно, Π½Π΅ΠΊΠ΅ ствари сС ΠΌΠΎΠ³Ρƒ ΡƒΡ€Π°Π΄ΠΈΡ‚ΠΈ ΠΏΡƒΡ‚Π΅ΠΌ ΠΏΡ€Π΅ΠΊΠΈΠ΄Π°, Π°Π»ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π½Π°ΠΈΡ›ΠΈ Π½Π° ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅ΡšΠ° Ρƒ Ρ‚Ρ€Π°Ρ˜Π°ΡšΡƒ, ΡƒΠ³Π½Π΅ΠΆΡ’Π΅ΡšΡƒ ΠΏΠΎΠ·ΠΈΠ²Π° ΠΈΠ»ΠΈ нСатомским ΠΏΡ€ΠΎΠΌΠ΅Π½Π°ΠΌΠ° ΠΏΡ€ΠΎΠΌΠ΅Π½Ρ™ΠΈΠ²ΠΈΡ…. Па, ΠΊΠΎΠ΄ који свС Ρ€Π°Π΄ΠΈ Π±Ρ€Π·ΠΎ сС ΠΏΡ€Π΅Ρ‚Π²Π°Ρ€Π° Ρƒ ΠΊΠ°ΡˆΡƒ.

Π’ ΠΎΠ·Π±ΠΈΡ™Π½ΠΈΡ˜ΠΈ ΠΏΡ€ΠΎΡ˜Π΅ΠΊΠ°Ρ‚ ΠšΠΎΡ€ΠΈΡΡ‚ΠΈΠΎ сам класични ΠΏΡ€Π΅Π²Π΅Π½Ρ‚ΠΈΠ²Π½ΠΈ мултитаскинг ΠΈ Π€Ρ€Π΅Π΅Π Π’ΠžΠ‘, Π°Π»ΠΈ Ρƒ ΠΎΠ²ΠΎΠΌ ΡΠ»ΡƒΡ‡Π°Ρ˜Ρƒ ΠΌΠΎΠ΄Π΅Π» сС ΠΏΠΎΠΊΠ°Π·Π°ΠΎ ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡ€ΠΈΠΊΠ»Π°Π΄Π½ΠΈΡ˜ΠΈΠΌ ΠΊΠΎΡ€ΡƒΡ‚ΠΈΠ½Π΅ ΠΈ уасинц Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ΅ . Π¨Ρ‚Π°Π²ΠΈΡˆΠ΅, ΠŸΠΈΡ‚Ρ…ΠΎΠ½ ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡ˜Π° ΠΊΠΎΡ€ΡƒΡ‚ΠΈΠ½Π° јС Ρ˜Π΅Π΄Π½ΠΎΡΡ‚Π°Π²Π½ΠΎ Π½Π΅Π²Π΅Ρ€ΠΎΠ²Π°Ρ‚Π½Π° - свС сС Ρ€Π°Π΄ΠΈ Ρ˜Π΅Π΄Π½ΠΎΡΡ‚Π°Π²Π½ΠΎ ΠΈ Π·Π³ΠΎΠ΄Π½ΠΎ Π·Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ΅Ρ€Π°. Π‘Π°ΠΌΠΎ Π½Π°ΠΏΠΈΡˆΠΈΡ‚Π΅ ΡΠ²ΠΎΡ˜Ρƒ Π»ΠΎΠ³ΠΈΠΊΡƒ, само ΠΌΠΈ Ρ€Π΅Ρ†ΠΈΡ‚Π΅ Π½Π° која мСста ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° ΠΏΡ€Π΅Π»Π°Π·ΠΈΡ‚Π΅ ΠΈΠ·ΠΌΠ΅Ρ’Ρƒ Ρ‚ΠΎΠΊΠΎΠ²Π°.

ΠŸΡ€Π΅Π΄Π»Π°ΠΆΠ΅ΠΌ Π΄Π° сС ΠΊΠ°ΠΎ ΠΈΠ·Π±ΠΎΡ€Π½ΠΈ ΠΏΡ€Π΅Π΄ΠΌΠ΅Ρ‚ ΠΏΡ€ΠΎΡƒΡ‡Π°Π²Π°Ρ˜Ρƒ Ρ€Π°Π·Π»ΠΈΠΊΠ΅ ΠΈΠ·ΠΌΠ΅Ρ’Ρƒ ΠΏΡ€Π΅Π²Π΅Π½Ρ‚ΠΈΠ²Π½ΠΎΠ³ ΠΈ такмичарског мултитаскинга. Π‘Π°Π΄Π° ΠΊΠΎΠ½Π°Ρ‡Π½ΠΎ ΠΏΡ€Π΅Ρ’ΠΈΠΌΠΎ Π½Π° ΠΊΠΎΠ΄.

#####################################
# Counter class - implements a single water counter on specified pin
#####################################
class Counter():
    debounce_ms = const(25)
    
    def __init__(self, pin_num, value_storage):
        self._value_storage = value_storage
        
        self._value = self._value_storage.read()
        self._value_changed = False

        self._pin = Pin(pin_num, Pin.IN, Pin.PULL_UP)

        loop = asyncio.get_event_loop()
        loop.create_task(self._switchcheck())  # Thread runs forever

Π‘Π²Π°ΠΊΠΈΠΌ Π±Ρ€ΠΎΡ˜Π°Ρ‡Π΅ΠΌ Ρ€ΡƒΠΊΡƒΡ˜Π΅ инстанца класС Π¦ΠΎΡƒΠ½Ρ‚Π΅Ρ€. ΠŸΡ€Π΅ свСга, ΠΏΠΎΡ‡Π΅Ρ‚Π½Π° врСдност Π±Ρ€ΠΎΡ˜Π°Ρ‡Π° сС ΠΎΠ΄ΡƒΠ·ΠΈΠΌΠ° ΠΎΠ΄ Π•Π•ΠŸΠ ΠžΠœ-Π° (врСдност_ΡΠΊΠ»Π°Π΄ΠΈΡˆΡ‚Π°) - Ρ‚Π°ΠΊΠΎ сС ΠΎΡΡ‚Π²Π°Ρ€ΡƒΡ˜Π΅ ΠΎΠΏΠΎΡ€Π°Π²Π°ΠΊ Π½Π°ΠΊΠΎΠ½ нСстанка ΡΡ‚Ρ€ΡƒΡ˜Π΅.

Пин сС ΠΈΠ½ΠΈΡ†ΠΈΡ˜Π°Π»ΠΈΠ·ΡƒΡ˜Π΅ са ΡƒΠ³Ρ€Π°Ρ’Π΅Π½ΠΈΠΌ ΠΏΠΎΠ²Π»Π°Ρ‡Π΅ΡšΠ΅ΠΌ Π΄ΠΎ напајања: Π°ΠΊΠΎ јС Ρ€Π΅Π΅Π΄ ΠΏΡ€Π΅ΠΊΠΈΠ΄Π°Ρ‡ Π·Π°Ρ‚Π²ΠΎΡ€Π΅Π½, линија јС Π½ΡƒΠ»Π°, Π°ΠΊΠΎ јС линија ΠΎΡ‚Π²ΠΎΡ€Π΅Π½Π°, ΠΏΠΎΠ²Π»Π°Ρ‡ΠΈ сС Π΄ΠΎ ΠΈΠ·Π²ΠΎΡ€Π° напајања ΠΈ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π΅Ρ€ ΠΎΡ‡ΠΈΡ‚Π°Π²Π° јСдан.

ОвдС сС Ρ‚Π°ΠΊΠΎΡ’Π΅ ΠΏΠΎΠΊΡ€Π΅Ρ›Π΅ посСбан Π·Π°Π΄Π°Ρ‚Π°ΠΊ, који Ρ›Π΅ испитати ΠΏΠΈΠ½. Π‘Π²Π°ΠΊΠΈ Π±Ρ€ΠΎΡ˜Π°Ρ‡ Ρ›Π΅ ΠΏΠΎΠΊΡ€Π΅Π½ΡƒΡ‚ΠΈ свој Π·Π°Π΄Π°Ρ‚Π°ΠΊ. Π•Π²ΠΎ њСног ΠΊΠΎΠ΄Π°

    """ Poll pin and advance value when another litre passed """
    async def _switchcheck(self):
        last_checked_pin_state = self._pin.value()  # Get initial state

        # Poll for a pin change
        while True:
            state = self._pin.value()
            if state != last_checked_pin_state:
                # State has changed: act on it now.
                last_checked_pin_state = state
                if state == 0:
                    self._another_litre_passed()

            # Ignore further state changes until switch has settled
            await asyncio.sleep_ms(Counter.debounce_ms)

Π—Π° Ρ„ΠΈΠ»Ρ‚Ρ€ΠΈΡ€Π°ΡšΠ΅ одбијања ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚Π° ΠΏΠΎΡ‚Ρ€Π΅Π±Π½ΠΎ јС кашњСњС ΠΎΠ΄ 25 мс, Π° истоврСмСно Ρ€Π΅Π³ΡƒΠ»ΠΈΡˆΠ΅ ΠΊΠΎΠ»ΠΈΠΊΠΎ чСсто сС Π·Π°Π΄Π°Ρ‚Π°ΠΊ Π±ΡƒΠ΄ΠΈ (Π΄ΠΎΠΊ овај Π·Π°Π΄Π°Ρ‚Π°ΠΊ спава, Π΄Ρ€ΡƒΠ³ΠΈ Π·Π°Π΄Π°Ρ†ΠΈ су ΠΏΠΎΠΊΡ€Π΅Π½ΡƒΡ‚ΠΈ). Π‘Π²Π°ΠΊΠΈΡ… 25мс Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡ˜Π° сС Π±ΡƒΠ΄ΠΈ, ΠΏΡ€ΠΎΠ²Π΅Ρ€Π°Π²Π° ΠΏΠΈΠ½ ΠΈ Π°ΠΊΠΎ су ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚ΠΈ Ρ€Π΅Π΅Π΄ ΠΏΡ€Π΅ΠΊΠΈΠ΄Π°Ρ‡Π° Π·Π°Ρ‚Π²ΠΎΡ€Π΅Π½ΠΈ, ΠΎΠ½Π΄Π° јС још јСдан Π»ΠΈΡ‚Π°Ρ€ ΠΏΡ€ΠΎΡˆΠ°ΠΎ ΠΊΡ€ΠΎΠ· ΠΌΠ΅Ρ€Π°Ρ‡ ΠΈ Ρ‚ΠΎ Ρ‚Ρ€Π΅Π±Π° ΠΎΠ±Ρ€Π°Π΄ΠΈΡ‚ΠΈ.

    def _another_litre_passed(self):
        self._value += 1
        self._value_changed = True

        self._value_storage.write(self._value)

ΠžΠ±Ρ€Π°Π΄Π° слСдСћСг Π»ΠΈΡ‚Ρ€Π° јС Ρ‚Ρ€ΠΈΠ²ΠΈΡ˜Π°Π»Π½Π° - Π±Ρ€ΠΎΡ˜Π°Ρ‡ сС Ρ˜Π΅Π΄Π½ΠΎΡΡ‚Π°Π²Π½ΠΎ ΠΏΠΎΠ²Π΅Ρ›Π°Π²Π°. Па, Π±ΠΈΠ»ΠΎ Π±ΠΈ Π»Π΅ΠΏΠΎ записати Π½ΠΎΠ²Ρƒ врСдност Π½Π° Ρ„Π»Π΅Ρˆ диск.

Π Π°Π΄ΠΈ лакшСг ΠΊΠΎΡ€ΠΈΡˆΡ›Π΅ΡšΠ°, ΠΎΠ±Π΅Π·Π±Π΅Ρ’Π΅Π½ΠΈ су β€žΠΏΡ€ΠΈΡΡ‚ΡƒΠΏΠ½ΠΈΡ†ΠΈβ€œ.

    def value(self):
        self._value_changed = False
        return self._value

    def set_value(self, value):
        self._value = value
        self._value_changed = False

Па, Ρ…Π°Ρ˜Π΄Π΅ сада Π΄Π° искористимо прСдности ΠŸΠΈΡ‚Ρ…ΠΎΠ½-Π° ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ΅ уасинц ΠΈ Π½Π°ΠΏΡ€Π°Π²ΠΈΠΌΠΎ Ρ†ΠΎΡƒΠ½Ρ‚Π΅Ρ€ ΠΎΠ±Ρ˜Π΅ΠΊΠ°Ρ‚ Π½Π° Ρ‡Π΅ΠΊΠ°ΡšΠ΅ (ΠΊΠ°ΠΊΠΎ ΠΌΠΎΠΆΠ΅ΠΌΠΎ ΠΎΠ²ΠΎ прСвСсти Π½Π° руски? Онај који ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΎΡ‡Π΅ΠΊΠΈΠ²Π°Ρ‚ΠΈ?)

    def __await__(self):
        while not self._value_changed:
            yield from asyncio.sleep(0)

        return self.value()

    __iter__ = __await__  

Ово јС Ρ‚Π°ΠΊΠΎ Π·Π³ΠΎΠ΄Π½Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡ˜Π° која Ρ‡Π΅ΠΊΠ° Π΄ΠΎΠΊ сС врСдност Π±Ρ€ΠΎΡ˜Π°Ρ‡Π° Π½Π΅ Π°ΠΆΡƒΡ€ΠΈΡ€Π° - Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡ˜Π° сС с Π²Ρ€Π΅ΠΌΠ΅Π½Π° Π½Π° Π²Ρ€Π΅ΠΌΠ΅ Π±ΡƒΠ΄ΠΈ ΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€Π°Π²Π° заставицу _Π²Π°Π»ΡƒΠ΅_Ρ†Ρ…Π°Π½Π³Π΅Π΄. Π”ΠΎΠ±Ρ€Π° ствар Ρƒ Π²Π΅Π·ΠΈ са ΠΎΠ²ΠΎΠΌ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡ˜ΠΎΠΌ јС Ρ‚ΠΎ ΡˆΡ‚ΠΎ ΠΏΠΎΠ·ΠΈΠ²Π½ΠΈ ΠΊΠΎΠ΄ ΠΌΠΎΠΆΠ΅ заспати Π΄ΠΎΠΊ ΠΏΠΎΠ·ΠΈΠ²Π° ΠΎΠ²Ρƒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡ˜Ρƒ ΠΈ спавати Π΄ΠΎΠΊ сС Π½Π΅ ΠΏΡ€ΠΈΠΌΠΈ Π½ΠΎΠ²Π° врСдност.

Π¨Ρ‚Π° јС са ΠΏΡ€Π΅ΠΊΠΈΠ΄ΠΈΠΌΠ°?Π”Π°, Ρƒ ΠΎΠ²ΠΎΠΌ Ρ‚Ρ€Π΅Π½ΡƒΡ‚ΠΊΡƒ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° ΠΌΠ΅ Ρ‚Ρ€ΠΎΠ»ΡƒΡ˜Π΅Ρ‚Π΅, Ρ€Π΅ΠΊΠ°Π²ΡˆΠΈ Π΄Π° стС сами Ρ€Π΅ΠΊΠ»ΠΈ ΠΎ ΠΏΡ€Π΅ΠΊΠΈΠ΄ΠΈΠΌΠ°, Π°Π»ΠΈ Ρƒ стварности стС Π½Π°ΠΏΡ€Π°Π²ΠΈΠ»ΠΈ Π³Π»ΡƒΠΏΡƒ Π°Π½ΠΊΠ΅Ρ‚Ρƒ. Π—Π°ΠΏΡ€Π°Π²ΠΎ, ΠΏΡ€Π΅ΠΊΠΈΠ΄ΠΈ су ΠΏΡ€Π²Π° ствар ΠΊΠΎΡ˜Ρƒ сам ΠΏΠΎΠΊΡƒΡˆΠ°ΠΎ. Π£ Π•Π‘ΠŸ8266 ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΎΠ²Π°Ρ‚ΠΈ ΠΈΠ²ΠΈΡ‡Π½ΠΈ ΠΏΡ€Π΅ΠΊΠΈΠ΄, ΠΏΠ° Ρ‡Π°ΠΊ ΠΈ написати Ρ€ΡƒΠΊΠΎΠ²Π°Π»Π°Ρ† Π·Π° овај ΠΏΡ€Π΅ΠΊΠΈΠ΄ Ρƒ ΠŸΠΈΡ‚Ρ…ΠΎΠ½-Ρƒ. Π£ ΠΎΠ²ΠΎΠΌ ΠΏΡ€Π΅ΠΊΠΈΠ΄Ρƒ, врСдност ΠΏΡ€ΠΎΠΌΠ΅Π½Ρ™ΠΈΠ²Π΅ ΠΌΠΎΠΆΠ΅ Π΄Π° сС Π°ΠΆΡƒΡ€ΠΈΡ€Π°. Π’Π΅Ρ€ΠΎΠ²Π°Ρ‚Π½ΠΎ Π±ΠΈ ΠΎΠ²ΠΎ Π±ΠΈΠ»ΠΎ Π΄ΠΎΠ²ΠΎΡ™Π½ΠΎ Π΄Π° јС Π±Ρ€ΠΎΡ˜Π°Ρ‡ ΠΏΠΎΠ΄Ρ€Π΅Ρ’Π΅Π½ΠΈ ΡƒΡ€Π΅Ρ’Π°Ρ˜ - онај који Ρ‡Π΅ΠΊΠ° Π΄ΠΎΠΊ сС ΠΎΠ΄ њСга Π½Π΅ Π·Π°Ρ‚Ρ€Π°ΠΆΠΈ ΠΎΠ²Π° врСдност.

НаТалост (ΠΈΠ»ΠΈ Π½Π° срСћу?) мој ΡƒΡ€Π΅Ρ’Π°Ρ˜ јС Π°ΠΊΡ‚ΠΈΠ²Π°Π½, ΠΌΠΎΡ€Π° сам Π΄Π° ΡˆΠ°Ρ™Π΅ ΠΏΠΎΡ€ΡƒΠΊΠ΅ ΠΏΡ€Π΅ΠΊΠΎ МКВВ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π° ΠΈ ΡƒΠΏΠΈΡΡƒΡ˜Π΅ ΠΏΠΎΠ΄Π°Ρ‚ΠΊΠ΅ Ρƒ Π•Π•ΠŸΠ ΠžΠœ. И Ρ‚Ρƒ Π½Π° сцСну ΡΡ‚ΡƒΠΏΠ°Ρ˜Ρƒ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅ΡšΠ° – Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄ΠΎΠ΄ΠΈΡ˜Π΅Π»ΠΈΡ‚ΠΈ ΠΌΠ΅ΠΌΠΎΡ€ΠΈΡ˜Ρƒ Ρƒ ΠΏΡ€Π΅ΠΊΠΈΠ΄ΠΈΠΌΠ° ΠΈ користити Π²Π΅Π»ΠΈΠΊΠΈ стСк, ΡˆΡ‚ΠΎ Π·Π½Π°Ρ‡ΠΈ Π΄Π° ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π·Π°Π±ΠΎΡ€Π°Π²ΠΈΡ‚ΠΈ Π½Π° слањС ΠΏΠΎΡ€ΡƒΠΊΠ° ΠΏΡ€Π΅ΠΊΠΎ ΠΌΡ€Π΅ΠΆΠ΅. ΠŸΠΎΡΡ‚ΠΎΡ˜Π΅ ΠΊΠΎΠ»Π°Ρ‡ΠΈ ΠΏΠΎΠΏΡƒΡ‚ ΠΌΠΈΡ†Ρ€ΠΎΠΏΠΈΡ‚Ρ…ΠΎΠ½.сцхСдулС() који Π²Π°ΠΌ ΠΎΠΌΠΎΠ³ΡƒΡ›Π°Π²Π°Ρ˜Ρƒ Π΄Π° ΠΏΠΎΠΊΡ€Π΅Π½Π΅Ρ‚Π΅ Π½Π΅ΠΊΡƒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡ˜Ρƒ β€žΡˆΡ‚ΠΎ јС ΠΏΡ€Π΅ ΠΌΠΎΠ³ΡƒΡ›Π΅β€œ, Π°Π»ΠΈ поставља сС ΠΏΠΈΡ‚Π°ΡšΠ΅ β€žΡƒ Ρ‡Π΅ΠΌΡƒ јС ΠΏΠΎΠ΅Π½Ρ‚Π°?β€œ Π¨Ρ‚Π° Π°ΠΊΠΎ Ρ‚Ρ€Π΅Π½ΡƒΡ‚Π½ΠΎ ΡˆΠ°Ρ™Π΅ΠΌΠΎ Π½Π΅ΠΊΡƒ врсту ΠΏΠΎΡ€ΡƒΠΊΠ΅, Π° ΠΎΠ½Π΄Π° Π΄ΠΎΡ’Π΅ ΠΏΡ€Π΅ΠΊΠΈΠ΄ ΠΈ ΠΏΠΎΠΊΠ²Π°Ρ€ΠΈ врСдности ΠΏΡ€ΠΎΠΌΠ΅Π½Ρ™ΠΈΠ²ΠΈΡ…. Или, Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π½ΠΎΠ²Π° врСдност Π±Ρ€ΠΎΡ˜Π°Ρ‡Π° јС стигла са сСрвСра Π΄ΠΎΠΊ стару још нисмо записали. Π£ΠΎΠΏΡˆΡ‚Π΅Π½ΠΎ Π³ΠΎΠ²ΠΎΡ€Π΅Ρ›ΠΈ, ΠΌΠΎΡ€Π°Ρ‚Π΅ Π±Π»ΠΎΠΊΠΈΡ€Π°Ρ‚ΠΈ ΡΠΈΠ½Ρ…Ρ€ΠΎΠ½ΠΈΠ·Π°Ρ†ΠΈΡ˜Ρƒ ΠΈΠ»ΠΈ Π½Π΅ΠΊΠ°ΠΊΠΎ Π΄Ρ€ΡƒΠ³Π°Ρ‡ΠΈΡ˜Π΅ ΠΈΠ·Π°Ρ›ΠΈ ΠΈΠ· њС.

И с Π²Ρ€Π΅ΠΌΠ΅Π½Π° Π½Π° Π²Ρ€Π΅ΠΌΠ΅ Π ΡƒΠ½Ρ‚ΠΈΠΌΠ΅Π•Ρ€Ρ€ΠΎΡ€: Π·Π°ΠΊΠ°ΠΆΠΈΡ‚Π΅ ΠΏΡƒΠ½Π΅ ΠΏΠ°Π΄ΠΎΠ²Π΅ стСка ΠΈ ΠΊΠΎ Π·Π½Π° Π·Π°ΡˆΡ‚ΠΎ?

Π£Π· Сксплицитно ΠΏΠΎΠ»Π»ΠΈΠ½Π³ ΠΈ уасинц, Ρƒ ΠΎΠ²ΠΎΠΌ ΡΠ»ΡƒΡ‡Π°Ρ˜Ρƒ Π½Π΅ΠΊΠ°ΠΊΠΎ испада лСпшС ΠΈ ΠΏΠΎΡƒΠ·Π΄Π°Π½ΠΈΡ˜Π΅

Π”ΠΎΠ½Π΅ΠΎ сам Ρ€Π°Π΄ са Π•Π•ΠŸΠ ΠžΠœ-ΠΎΠΌ Ρƒ ΠΌΠ°Π»ΠΈ Ρ€Π°Π·Ρ€Π΅Π΄

class EEPROM():
    i2c_addr = const(80)

    def __init__(self, i2c):
        self.i2c = i2c
        self.i2c_buf = bytearray(4) # Avoid creation/destruction of the buffer on each call


    def read(self, eeprom_addr):
        self.i2c.readfrom_mem_into(self.i2c_addr, eeprom_addr, self.i2c_buf, addrsize=16)
        return ustruct.unpack_from("<I", self.i2c_buf)[0]    
        
    
    def write(self, eeprom_addr, value):
        ustruct.pack_into("<I", self.i2c_buf, 0, value)
        self.i2c.writeto_mem(self.i2c_addr, eeprom_addr, self.i2c_buf, addrsize=16)

Π£ ΠŸΠΈΡ‚Ρ…ΠΎΠ½-Ρƒ јС Ρ‚Π΅ΡˆΠΊΠΎ Ρ€Π°Π΄ΠΈΡ‚ΠΈ Π΄ΠΈΡ€Π΅ΠΊΡ‚Π½ΠΎ са Π±Π°Ρ˜Ρ‚ΠΎΠ²ΠΈΠΌΠ°, Π°Π»ΠΈ Π±Π°Ρ˜Ρ‚ΠΎΠ²ΠΈ сС Π·Π°ΠΏΠΈΡΡƒΡ˜Ρƒ Ρƒ ΠΌΠ΅ΠΌΠΎΡ€ΠΈΡ˜Ρƒ. ΠœΠΎΡ€Π°ΠΎ сам Π΄Π° ΠΎΠ³Ρ€Π°Π΄ΠΈΠΌ ΠΊΠΎΠ½Π²Π΅Ρ€Π·ΠΈΡ˜Ρƒ ΠΈΠ·ΠΌΠ΅Ρ’Ρƒ Ρ†Π΅Π»ΠΎΠ³ Π±Ρ€ΠΎΡ˜Π° ΠΈ Π±Π°Ρ˜Ρ‚ΠΎΠ²Π° користСћи уструцт Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ.

Π”Π° Π½Π΅ Π±ΠΈΡ… сваки ΠΏΡƒΡ‚ прСносио И2Π¦ ΠΎΠ±Ρ˜Π΅ΠΊΠ°Ρ‚ ΠΈ адрСсу ΠΌΠ΅ΠΌΠΎΡ€ΠΈΡ˜ΡΠΊΠ΅ Ρ›Π΅Π»ΠΈΡ˜Π΅, свС сам ΡƒΠΌΠΎΡ‚Π°ΠΎ Ρƒ ΠΌΠ°Π»ΠΈ ΠΈ Π·Π³ΠΎΠ΄Π°Π½ класик

class EEPROMValue():
    def __init__(self, i2c, eeprom_addr):
        self._eeprom = EEPROM(i2c)
        self._eeprom_addr = eeprom_addr
        

    def read(self):
        return self._eeprom.read(self._eeprom_addr)


    def write(self, value):
        self._eeprom.write(self._eeprom_addr, value)

Π‘Π°ΠΌ И2Π¦ ΠΎΠ±Ρ˜Π΅ΠΊΠ°Ρ‚ сС ΠΊΡ€Π΅ΠΈΡ€Π° са ΠΎΠ²ΠΈΠΌ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΈΠΌΠ°

i2c = I2C(freq=400000, scl=Pin(5), sda=Pin(4))

Π”ΠΎΡˆΠ»ΠΈ смо Π΄ΠΎ Π½Π°Ρ˜Π·Π°Π½ΠΈΠΌΡ™ΠΈΠ²ΠΈΡ˜Π΅Π³ Π΄Π΅Π»Π° – ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡ˜Π΅ ΠΊΠΎΠΌΡƒΠ½ΠΈΠΊΠ°Ρ†ΠΈΡ˜Π΅ са сСрвСром ΠΏΡ€Π΅ΠΊΠΎ МКВВ-Π°. Па, Π½Π΅ΠΌΠ° ΠΏΠΎΡ‚Ρ€Π΅Π±Π΅ Π·Π° ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡ˜ΠΎΠΌ самог ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π° – нашао сам Π³Π° Π½Π° ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚Ρƒ Π³ΠΎΡ‚ΠΎΠ²Π° асинхрона ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡ˜Π°. Ово јС ΠΎΠ½ΠΎ ΡˆΡ‚ΠΎ Ρ›Π΅ΠΌΠΎ користити.

Π‘Π²Π΅ Π½Π°Ρ˜Π·Π°Π½ΠΈΠΌΡ™ΠΈΠ²ΠΈΡ˜Π΅ ствари сакупљСнС су Ρƒ класи Π¦ΠΎΡƒΠ½Ρ‚Π΅Ρ€ΠœΠšΠ’Π’Π¦Π»ΠΈΠ΅Π½Ρ‚, која сС заснива Π½Π° Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅Ρ†ΠΈ ΠœΠšΠ’Π’Π¦Π»ΠΈΠ΅Π½Ρ‚. ΠšΡ€Π΅Π½ΠΈΠΌΠΎ ΠΎΠ΄ ΠΏΠ΅Ρ€ΠΈΡ„Π΅Ρ€ΠΈΡ˜Π΅

#####################################
# Class handles both counters and sends their status to MQTT
#####################################
class CounterMQTTClient(MQTTClient):

    blue_led = Pin(2, Pin.OUT, value = 1)
    button = Pin(0, Pin.IN)

    hot_counter = Counter(12, EEPROMValue(i2c, EEPROM_ADDR_HOT_VALUE))
    cold_counter = Counter(13, EEPROMValue(i2c, EEPROM_ADDR_COLD_VALUE))

ОвдС ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΊΡ€Π΅ΠΈΡ€Π°Ρ‚ΠΈ ΠΈ конфигурисати ΠΈΠ³Π»Π΅ ΠΈ Π΄ΡƒΠ³ΠΌΠ°Π΄ ΡΠΈΡ˜Π°Π»ΠΈΡ†Π°, ΠΊΠ°ΠΎ ΠΈ ΠΎΠ±Ρ˜Π΅ΠΊΡ‚Π΅ Π·Π° ΠΌΠ΅Ρ€Π΅ΡšΠ΅ Ρ…Π»Π°Π΄Π½Π΅ ΠΈ Ρ‚ΠΎΠΏΠ»Π΅ Π²ΠΎΠ΄Π΅.

Π‘Π° ΠΈΠ½ΠΈΡ†ΠΈΡ˜Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡ˜ΠΎΠΌ нијС свС Ρ‚Π°ΠΊΠΎ Ρ‚Ρ€ΠΈΠ²ΠΈΡ˜Π°Π»Π½ΠΎ

    def __init__(self):
        self.internet_outage = True
        self.internet_outages = 0
        self.internet_outage_start = ticks_ms()

        with open("config.txt") as config_file:
            config['ssid'] = config_file.readline().rstrip()
            config['wifi_pw'] = config_file.readline().rstrip()
            config['server'] = config_file.readline().rstrip()
            config['client_id'] = config_file.readline().rstrip()
            self._mqtt_cold_water_theme = config_file.readline().rstrip()
            self._mqtt_hot_water_theme = config_file.readline().rstrip()
            self._mqtt_debug_water_theme = config_file.readline().rstrip()

        config['subs_cb'] = self.mqtt_msg_handler
        config['wifi_coro'] = self.wifi_connection_handler
        config['connect_coro'] = self.mqtt_connection_handler
        config['clean'] = False
        config['clean_init'] = False
        super().__init__(config)

        loop = asyncio.get_event_loop()
        loop.create_task(self._heartbeat())
        loop.create_task(self._counter_coro(self.cold_counter, self._mqtt_cold_water_theme))
        loop.create_task(self._counter_coro(self.hot_counter, self._mqtt_hot_water_theme))
        loop.create_task(self._display_coro())

Π—Π° подСшавањС Ρ€Π°Π΄Π½ΠΈΡ… ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Π°Ρ€Π° Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ΅ ΠΌΠΊΡ‚Ρ‚_ас користи сС Π²Π΅Π»ΠΈΠΊΠΈ Ρ€Π΅Ρ‡Π½ΠΈΠΊ Ρ€Π°Π·Π»ΠΈΡ‡ΠΈΡ‚ΠΈΡ… подСшавања - Ρ†ΠΎΠ½Ρ„ΠΈΠ³. Π’Π΅Ρ›ΠΈΠ½Π° ΠΏΠΎΠ΄Ρ€Π°Π·ΡƒΠΌΠ΅Π²Π°Π½ΠΈΡ… подСшавања јС Ρƒ Ρ€Π΅Π΄Ρƒ Π·Π° нас, Π°Π»ΠΈ ΠΌΠ½ΠΎΠ³Π° подСшавања ΠΌΠΎΡ€Π°Ρ˜Ρƒ Π±ΠΈΡ‚ΠΈ Сксплицитно подСшСна. Π”Π° Π½Π΅ Π±ΠΈΡ… писао подСшавања Π΄ΠΈΡ€Π΅ΠΊΡ‚Π½ΠΎ Ρƒ ΠΊΠΎΠ΄Ρƒ, Ρ‡ΡƒΠ²Π°ΠΌ ΠΈΡ… Ρƒ Ρ‚Π΅ΠΊΡΡ‚ΡƒΠ°Π»Π½ΠΎΡ˜ Π΄Π°Ρ‚ΠΎΡ‚Π΅Ρ†ΠΈ Ρ†ΠΎΠ½Ρ„ΠΈΠ³.Ρ‚ΠΊΡ‚. Ово Π²Π°ΠΌ ΠΎΠΌΠΎΠ³ΡƒΡ›Π°Π²Π° Π΄Π° ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈΡ‚Π΅ ΠΊΠΎΠ΄ Π±Π΅Π· ΠΎΠ±Π·ΠΈΡ€Π° Π½Π° подСшавања, ΠΊΠ°ΠΎ ΠΈ Π΄Π° Π·Π°ΠΊΠΈΠ²Π°Ρ‚Π΅ Π½Π΅ΠΊΠΎΠ»ΠΈΠΊΠΎ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ‡Π½ΠΈΡ… ΡƒΡ€Π΅Ρ’Π°Ρ˜Π° са Ρ€Π°Π·Π»ΠΈΡ‡ΠΈΡ‚ΠΈΠΌ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΈΠΌΠ°.

ПослСдњи Π±Π»ΠΎΠΊ ΠΊΠΎΠ΄Π° ΠΏΠΎΠΊΡ€Π΅Ρ›Π΅ Π½Π΅ΠΊΠΎΠ»ΠΈΠΊΠΎ ΠΊΠΎΡ€ΡƒΡ‚ΠΈΠ½Π° којС слуТС Ρ€Π°Π·Π»ΠΈΡ‡ΠΈΡ‚ΠΈΠΌ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡ˜Π°ΠΌΠ° систСма. На ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π΅Π²ΠΎ ΠΊΠΎΡ€ΡƒΡ‚ΠΈΠ½Π΅ која сСрвисира Π±Ρ€ΠΎΡ˜Π°Ρ‡Π΅

    async def _counter_coro(self, counter, topic):
        # Publish initial value
        value = counter.value()
        await self.publish(topic, str(value))

        # Publish each new value
        while True:
            value = await counter
            await self.publish_msg(topic, str(value))

ΠšΠΎΡ€ΡƒΡ‚ΠΈΠ½Π° Ρ‡Π΅ΠΊΠ° Ρƒ ΠΏΠ΅Ρ‚Ρ™ΠΈ Π½Π° Π½ΠΎΠ²Ρƒ врСдност Π±Ρ€ΠΎΡ˜Π°Ρ‡Π° ΠΈ, Ρ‡ΠΈΠΌ сС појави, ΡˆΠ°Ρ™Π΅ ΠΏΠΎΡ€ΡƒΠΊΡƒ ΠΏΡ€Π΅ΠΊΠΎ МКВВ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π°. ΠŸΡ€Π²ΠΈ Π΄Π΅ΠΎ ΠΊΠΎΠ΄Π° ΡˆΠ°Ρ™Π΅ ΠΏΠΎΡ‡Π΅Ρ‚Π½Ρƒ врСдност Ρ‡Π°ΠΊ ΠΈ Π°ΠΊΠΎ Π²ΠΎΠ΄Π° Π½Π΅ Ρ‚Π΅Ρ‡Π΅ ΠΊΡ€ΠΎΠ· Π±Ρ€ΠΎΡ˜Π°Ρ‡.

Основна класа ΠœΠšΠ’Π’Π¦Π»ΠΈΠ΅Π½Ρ‚ слуТи сама сСби, ΠΏΠΎΠΊΡ€Π΅Ρ›Π΅ Π’ΠΈΠ€ΠΈ Π²Π΅Π·Ρƒ ΠΈ ΠΏΠΎΠ½ΠΎΠ²ΠΎ сС ΠΏΠΎΠ²Π΅Π·ΡƒΡ˜Π΅ ΠΊΠ°Π΄Π° сС Π²Π΅Π·Π° ΠΈΠ·Π³ΡƒΠ±ΠΈ. Када Π΄ΠΎΡ’Π΅ Π΄ΠΎ ΠΏΡ€ΠΎΠΌΠ΅Π½Π° Ρƒ ΡΡ‚Π°ΡšΡƒ Π’ΠΈΠ€ΠΈ Π²Π΅Π·Π΅, Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° нас ΠΎΠ±Π°Π²Π΅ΡˆΡ‚Π°Π²Π° ΠΏΠΎΠ·ΠΈΠ²ΠΎΠΌ Π²ΠΈΡ„ΠΈ_Ρ†ΠΎΠ½Π½Π΅Ρ†Ρ‚ΠΈΠΎΠ½_Ρ…Π°Π½Π΄Π»Π΅Ρ€

    async def wifi_connection_handler(self, state):
        self.internet_outage = not state
        if state:
            self.dprint('WiFi is up.')
            duration = ticks_diff(ticks_ms(), self.internet_outage_start) // 1000
            await self.publish_debug_msg('ReconnectedAfter', duration)
        else:
            self.internet_outages += 1
            self.internet_outage_start = ticks_ms()
            self.dprint('WiFi is down.')
            
        await asyncio.sleep(0)

Π€ΡƒΠ½ΠΊΡ†ΠΈΡ˜Π° јС ΠΏΠΎΡˆΡ‚Π΅Π½ΠΎ ΠΊΠΎΠΏΠΈΡ€Π°Π½Π° ΠΈΠ· ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°. Π£ ΠΎΠ²ΠΎΠΌ ΡΠ»ΡƒΡ‡Π°Ρ˜Ρƒ, ΠΎΠ½ Π±Ρ€ΠΎΡ˜ΠΈ Π±Ρ€ΠΎΡ˜ ΠΏΡ€Π΅ΠΊΠΈΠ΄Π° (ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚_оутагСс) ΠΈ ΡšΠΈΡ…ΠΎΠ²ΠΎ Ρ‚Ρ€Π°Ρ˜Π°ΡšΠ΅. Када сС Π²Π΅Π·Π° успостави, сСрвСру сС ΡˆΠ°Ρ™Π΅ Π²Ρ€Π΅ΠΌΠ΅ ΠΌΠΈΡ€ΠΎΠ²Π°ΡšΠ°.

Π˜Π½Π°Ρ‡Π΅, послСдњС спавањС јС ΠΏΠΎΡ‚Ρ€Π΅Π±Π½ΠΎ само Π΄Π° Π±ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡ˜Π° Π±ΠΈΠ»Π° асинхрона – Ρƒ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅Ρ†ΠΈ сС ΠΏΠΎΠ·ΠΈΠ²Π° ΠΏΡ€Π΅ΠΊΠΎ Ρ‡Π΅ΠΊΠ°ΡšΠ°, Π° ΠΌΠΎΠ³Ρƒ сС ΠΏΠΎΠ·Π²Π°Ρ‚ΠΈ само Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡ˜Π΅ Ρ‡ΠΈΡ˜Π΅ Ρ‚Π΅Π»ΠΎ садрТи још јСдан Π°Π²Π°ΠΈΡ‚.

ΠŸΠΎΡ€Π΅Π΄ повСзивања Π½Π° Π’ΠΈΠ€ΠΈ, ΠΏΠΎΡ‚Ρ€Π΅Π±Π½ΠΎ јС Π΄Π° успоставитС ΠΈ Π²Π΅Π·Ρƒ са МКВВ Π±Ρ€ΠΎΠΊΠ΅Ρ€ΠΎΠΌ (сСрвСром). Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΡ’Π΅ Ρ€Π°Π΄ΠΈ, Π° ΠΌΠΈ ΠΈΠΌΠ°ΠΌΠΎ ΠΏΡ€ΠΈΠ»ΠΈΠΊΡƒ Π΄Π° ΡƒΡ€Π°Π΄ΠΈΠΌΠΎ Π½Π΅ΡˆΡ‚ΠΎ корисно ΠΊΠ°Π΄Π° сС Π²Π΅Π·Π° успостави

    async def mqtt_connection_handler(self, client):
        await client.subscribe(self._mqtt_cold_water_theme)
        await client.subscribe(self._mqtt_hot_water_theme)

ОвдС сС ΠΏΡ€Π΅Ρ‚ΠΏΠ»Π°Ρ›ΡƒΡ˜Π΅ΠΌΠΎ Π½Π° Π½Π΅ΠΊΠΎΠ»ΠΈΠΊΠΎ ΠΏΠΎΡ€ΡƒΠΊΠ° - сСрвСр сада ΠΈΠΌΠ° могућност Π΄Π° постави Ρ‚Ρ€Π΅Π½ΡƒΡ‚Π½Π΅ врСдности Π±Ρ€ΠΎΡ˜Π°Ρ‡Π° слањСм ΠΎΠ΄Π³ΠΎΠ²Π°Ρ€Π°Ρ˜ΡƒΡ›Π΅ ΠΏΠΎΡ€ΡƒΠΊΠ΅.

    def mqtt_msg_handler(self, topic, msg):
        topicstr = str(topic, 'utf8')
        self.dprint("Received MQTT message topic={}, msg={}".format(topicstr, msg))

        if topicstr == self._mqtt_cold_water_theme:
            self.cold_counter.set_value(int(msg))

        if topicstr == self._mqtt_hot_water_theme:
            self.hot_counter.set_value(int(msg))

Ова Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡ˜Π° ΠΎΠ±Ρ€Π°Ρ’ΡƒΡ˜Π΅ Π΄ΠΎΠ»Π°Π·Π½Π΅ ΠΏΠΎΡ€ΡƒΠΊΠ΅ ΠΈ Ρƒ зависности ΠΎΠ΄ Ρ‚Π΅ΠΌΠ΅ (наслов ΠΏΠΎΡ€ΡƒΠΊΠ΅) Π°ΠΆΡƒΡ€ΠΈΡ€Π°Ρ˜Ρƒ сС врСдности јСдног ΠΎΠ΄ Π±Ρ€ΠΎΡ˜Π°Ρ‡Π°

НСколико ΠΏΠΎΠΌΠΎΡ›Π½ΠΈΡ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡ˜Π°

    # Publish a message if WiFi and broker is up, else discard
    async def publish_msg(self, topic, msg):
        self.dprint("Publishing message on topic {}: {}".format(topic, msg))
        if not self.internet_outage:
            await self.publish(topic, msg)
        else:
            self.dprint("Message was not published - no internet connection")

Ова Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡ˜Π° ΡˆΠ°Ρ™Π΅ ΠΏΠΎΡ€ΡƒΠΊΡƒ Π°ΠΊΠΎ јС Π²Π΅Π·Π° успостављСна. Ако Π½Π΅ΠΌΠ° Π²Π΅Π·Π΅, ΠΏΠΎΡ€ΡƒΠΊΠ° сС ΠΈΠ³Π½ΠΎΡ€ΠΈΡˆΠ΅.

А ΠΎΠ²ΠΎ јС само Π·Π³ΠΎΠ΄Π½Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡ˜Π° која Π³Π΅Π½Π΅Ρ€ΠΈΡˆΠ΅ ΠΈ ΡˆΠ°Ρ™Π΅ ΠΏΠΎΡ€ΡƒΠΊΠ΅ Π·Π° ΠΎΡ‚ΠΊΠ»Π°ΡšΠ°ΡšΠ΅ Π³Ρ€Π΅ΡˆΠ°ΠΊΠ°.

    async def publish_debug_msg(self, subtopic, msg):
        await self.publish_msg("{}/{}".format(self._mqtt_debug_water_theme, subtopic), str(msg))

Π’ΠΎΠ»ΠΈΠΊΠΎ тСкста, Π° Π›Π•Π” Π΄ΠΈΠΎΠ΄Π° још нисмо Ρ‚Ρ€Π΅ΠΏΠ½ΡƒΠ»ΠΈ. Π•Π²ΠΎ

    # Blink flash LED if WiFi down
    async def _heartbeat(self):
        while True:
            if self.internet_outage:
                self.blue_led(not self.blue_led()) # Fast blinking if no connection
                await asyncio.sleep_ms(200) 
            else:
                self.blue_led(0) # Rare blinking when connected
                await asyncio.sleep_ms(50)
                self.blue_led(1)
                await asyncio.sleep_ms(5000)

ΠžΠΌΠΎΠ³ΡƒΡ›ΠΈΠΎ сам 2 Ρ€Π΅ΠΆΠΈΠΌΠ° Ρ‚Ρ€Π΅ΠΏΡ‚Π°ΡšΠ°. Ако сС Π²Π΅Π·Π° ΠΈΠ·Π³ΡƒΠ±ΠΈ (ΠΈΠ»ΠΈ сС Ρ‚Π΅ΠΊ успоставља), ΡƒΡ€Π΅Ρ’Π°Ρ˜ Ρ›Π΅ Π±Ρ€Π·ΠΎ Ρ‚Ρ€Π΅ΠΏΡ‚Π°Ρ‚ΠΈ. Ако јС Π²Π΅Π·Π° успостављСна, ΡƒΡ€Π΅Ρ’Π°Ρ˜ Ρ‚Ρ€Π΅ΠΏΡ›Π΅ сваких 5 сСкунди. Ако јС ΠΏΠΎΡ‚Ρ€Π΅Π±Π½ΠΎ, ΠΎΠ²Π΄Π΅ сС ΠΌΠΎΠ³Ρƒ ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚ΠΈΡ€Π°Ρ‚ΠΈ Π΄Ρ€ΡƒΠ³ΠΈ Ρ€Π΅ΠΆΠΈΠΌΠΈ Ρ‚Ρ€Π΅ΠΏΡ‚Π°ΡšΠ°.

Али Π›Π•Π” јС само маТСњС. Π’Π°ΠΊΠΎΡ’Π΅ смо Ρ†ΠΈΡ™Π°Π»ΠΈ Π½Π° ΠΏΡ€ΠΈΠΊΠ°Π·.

    async def _display_coro(self):
        display = SSD1306_I2C(128,32, i2c)
    
        while True:
            display.poweron()
            display.fill(0)
            display.text("COLD: {:.3f}".format(self.cold_counter.value() / 1000), 16, 4)
            display.text("HOT:  {:.3f}".format(self.hot_counter.value() / 1000), 16, 20)
            display.show()
            await asyncio.sleep(3)
            display.poweroff()

            while self.button():
                await asyncio.sleep_ms(20)

Ово јС ΠΎΠ½ΠΎ ΠΎ Ρ‡Π΅ΠΌΡƒ сам Π³ΠΎΠ²ΠΎΡ€ΠΈΠΎ – ΠΊΠΎΠ»ΠΈΠΊΠΎ јС Ρ˜Π΅Π΄Π½ΠΎΡΡ‚Π°Π²Π½ΠΎ ΠΈ Π·Π³ΠΎΠ΄Π½ΠΎ са ΠΊΠΎΡ€ΡƒΡ‚ΠΈΠ½Π°ΠΌΠ°. Ова ΠΌΠ°Π»Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡ˜Π° ΠΎΠΏΠΈΡΡƒΡ˜Π΅ Π¦Π•Π›Πž корисничко искуство. ΠšΠΎΡ€ΡƒΡ‚ΠΈΠ½Π° Ρ˜Π΅Π΄Π½ΠΎΡΡ‚Π°Π²Π½ΠΎ Ρ‡Π΅ΠΊΠ° Π΄Π° сС Π΄ΡƒΠ³ΠΌΠ΅ притиснС ΠΈ ΡƒΠΊΡ™ΡƒΡ‡ΡƒΡ˜Π΅ Π΅ΠΊΡ€Π°Π½ Π½Π° 3 сСкундС. Π”ΠΈΡΠΏΠ»Π΅Ρ˜ ΠΏΡ€ΠΈΠΊΠ°Π·ΡƒΡ˜Π΅ Ρ‚Ρ€Π΅Π½ΡƒΡ‚Π½Π° ΠΎΡ‡ΠΈΡ‚Π°Π²Π°ΡšΠ° Π±Ρ€ΠΎΡ˜ΠΈΠ»Π°.

ΠžΡΡ‚Π°Π»ΠΎ јС још ΠΏΠ°Ρ€ ситница. Π•Π²ΠΎ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡ˜Π΅ која (ΠΏΠΎΠ½ΠΎΠ²Π½ΠΎ) ΠΏΠΎΠΊΡ€Π΅Ρ›Π΅ Ρ†Π΅Π»ΠΎ ΠΎΠ²ΠΎ ΠΏΡ€Π΅Π΄ΡƒΠ·Π΅Ρ›Π΅. Π“Π»Π°Π²Π½Π° ΠΏΠ΅Ρ‚Ρ™Π° само јСдном Ρƒ ΠΌΠΈΠ½ΡƒΡ‚Ρƒ ΡˆΠ°Ρ™Π΅ Ρ€Π°Π·Π½Π΅ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡ˜Π΅ Π·Π° ΠΎΡ‚ΠΊΠ»Π°ΡšΠ°ΡšΠ΅ Π³Ρ€Π΅ΡˆΠ°ΠΊΠ°. Π£ΠΎΠΏΡˆΡ‚Π΅Π½ΠΎ, Ρ†ΠΈΡ‚ΠΈΡ€Π°ΠΌ ΠΎΠ½Π°ΠΊΠΎ ΠΊΠ°ΠΊΠΎ Ρ˜Π΅ΡΡ‚Π΅ - мислим Π΄Π° Π½Π΅ΠΌΠ° ΠΏΠΎΡ‚Ρ€Π΅Π±Π΅ Π΄Π° сС ΠΏΡ€Π΅Π²ΠΈΡˆΠ΅ ΠΊΠΎΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΡˆΠ΅

   async def main(self):
        while True:
            try:
                await self._connect_to_WiFi()
                await self._run_main_loop()
                    
            except Exception as e:
                self.dprint('Global communication failure: ', e)
                await asyncio.sleep(20)

    async def _connect_to_WiFi(self):
        self.dprint('Connecting to WiFi and MQTT')
        sta_if = network.WLAN(network.STA_IF)
        sta_if.connect(config['ssid'], config['wifi_pw'])
        
        conn = False
        while not conn:
            await self.connect()
            conn = True

        self.dprint('Connected!')
        self.internet_outage = False

    async def _run_main_loop(self):
        # Loop forever
        mins = 0
        while True:
            gc.collect()  # For RAM stats.
            mem_free = gc.mem_free()
            mem_alloc = gc.mem_alloc()

            try:
                await self.publish_debug_msg("Uptime", mins)
                await self.publish_debug_msg("Repubs", self.REPUB_COUNT)
                await self.publish_debug_msg("Outages", self.internet_outages)
                await self.publish_debug_msg("MemFree", mem_free)
                await self.publish_debug_msg("MemAlloc", mem_alloc)
            except Exception as e:
                self.dprint("Exception occurred: ", e)
            mins += 1

            await asyncio.sleep(60)

Па, још ΠΏΠ°Ρ€ подСшавања ΠΈ константи Π΄Π° Π·Π°Π²Ρ€ΡˆΠΈΠΌΠΎ опис

#####################################
# Constants and configuration
#####################################


config['keepalive'] = 60
config['clean'] = False
config['will'] = ('/ESP/Wemos/Water/LastWill', 'Goodbye cruel world!', False, 0)

MQTTClient.DEBUG = True

EEPROM_ADDR_HOT_VALUE = const(0)
EEPROM_ADDR_COLD_VALUE = const(4)

Π‘Π²Π΅ ΠΏΠΎΡ‡ΠΈΡšΠ΅ ΠΎΠ²Π°ΠΊΠΎ

client = CounterMQTTClient()
loop = asyncio.get_event_loop()
loop.run_until_complete(client.main())

ΠΠ΅ΡˆΡ‚ΠΎ ΠΌΠΈ сС Π΄ΠΎΠ³ΠΎΠ΄ΠΈΠ»ΠΎ Ρƒ ΡΠ΅Ρ›Π°ΡšΡƒ

Π”Π°ΠΊΠ»Π΅, сав ΠΊΠΎΠ΄ јС Ρ‚Ρƒ. Π£ΠΏΠ»ΠΎΠ°Π΄ΠΎΠ²Π°ΠΎ сам Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠ΅ користСћи Π°ΠΌΠΏΠΈ услуТни ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌ - ΠΎΠ½ Π²Π°ΠΌ ΠΎΠΌΠΎΠ³ΡƒΡ›Π°Π²Π° Π΄Π° ΠΈΡ… ΠΎΡ‚ΠΏΡ€Π΅ΠΌΠΈΡ‚Π΅ Π½Π° ΠΈΠ½Ρ‚Π΅Ρ€Π½ΠΈ (онај Ρƒ самом Π•Π‘ΠŸ-07) Ρ„Π»Π΅Ρˆ диск ΠΈ Π·Π°Ρ‚ΠΈΠΌ ΠΌΡƒ приступитС ΠΈΠ· ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ° ΠΊΠ°ΠΎ ΠΎΠ±ΠΈΡ‡Π½Π΅ Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠ΅. Π’Π°ΠΌΠΎ сам Ρ‚Π°ΠΊΠΎΡ’Π΅ ΠΎΡ‚ΠΏΡ€Π΅ΠΌΠΈΠΎ ΠΌΠΊΡ‚Ρ‚_ас, уасинцио, ссд1306 ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ΅ ΠΊΠΎΠ»Π΅ΠΊΡ†ΠΈΡ˜Π° којС сам користио (користи сС ΡƒΠ½ΡƒΡ‚Π°Ρ€ ΠΌΠΊΡ‚Ρ‚_ас).

ΠŸΠΎΠΊΡ€Π΅Ρ›Π΅ΠΌΠΎ ΠΈ... Π”ΠΎΠ±ΠΈΡ˜Π°ΠΌΠΎ ΠœΠ΅ΠΌΠΎΡ€ΠΈΠ•Ρ€Ρ€ΠΎΡ€. Π¨Ρ‚Π°Π²ΠΈΡˆΠ΅, ΡˆΡ‚ΠΎ сам вишС ΠΏΠΎΠΊΡƒΡˆΠ°Π²Π°ΠΎ Π΄Π° Ρ€Π°Π·ΡƒΠΌΠ΅ΠΌ Π³Π΄Π΅ Ρ‚Π°Ρ‡Π½ΠΎ ΠΌΠ΅ΠΌΠΎΡ€ΠΈΡ˜Π° Ρ†ΡƒΡ€ΠΈ, ΡˆΡ‚ΠΎ сам вишС отисака Π·Π° ΠΎΡ‚ΠΊΠ»Π°ΡšΠ°ΡšΠ΅ Π³Ρ€Π΅ΡˆΠ°ΠΊΠ° постављао, Ρ‚ΠΎ сС ΠΎΠ²Π° Π³Ρ€Π΅ΡˆΠΊΠ° Ρ€Π°Π½ΠΈΡ˜Π΅ ΠΏΠΎΡ˜Π°Π²Ρ™ΠΈΠ²Π°Π»Π°. ΠšΡ€Π°Ρ‚ΠΊΠ° ΠΏΡ€Π΅Ρ‚Ρ€Π°Π³Π° Ρƒ Π“ΡƒΠ³Π»Ρƒ Π΄ΠΎΠ²Π΅Π»Π° ΠΌΠ΅ јС Π΄ΠΎ ΡΡ…Π²Π°Ρ‚Π°ΡšΠ° Π΄Π° ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π΅Ρ€ Ρƒ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΡƒ ΠΈΠΌΠ° само 30 ΠΊΠ‘ ΠΌΠ΅ΠΌΠΎΡ€ΠΈΡ˜Π΅, Ρƒ којС 65 ΠΊΠ‘ ΠΊΠΎΠ΄Π° (ΡƒΠΊΡ™ΡƒΡ‡ΡƒΡ˜ΡƒΡ›ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ΅) Ρ˜Π΅Π΄Π½ΠΎΡΡ‚Π°Π²Π½ΠΎ Π½Π΅ ΠΌΠΎΠΆΠ΅ Π΄Π° станС.

Али ΠΏΠΎΡΡ‚ΠΎΡ˜ΠΈ ΠΈΠ·Π»Π°Π·. Π˜ΡΠΏΠΎΡΡ‚Π°Π²ΠΈΠ»ΠΎ сС Π΄Π° ΠΌΠΈΡ†Ρ€ΠΎΠΏΠΈΡ‚Ρ…ΠΎΠ½ Π½Π΅ ΠΈΠ·Π²Ρ€ΡˆΠ°Π²Π° ΠΊΠΎΠ΄ Π΄ΠΈΡ€Π΅ΠΊΡ‚Π½ΠΎ ΠΈΠ· .ΠΏΠΈ Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠ΅ – ΠΎΠ²Π° Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠ° сС ΠΏΡ€Π²ΠΎ ΠΊΠΎΠΌΠΏΠ°Ρ˜Π»ΠΈΡ€Π°. Π¨Ρ‚Π°Π²ΠΈΡˆΠ΅, ΠΊΠΎΠΌΠΏΠ°Ρ˜Π»ΠΈΡ€Π° сС Π΄ΠΈΡ€Π΅ΠΊΡ‚Π½ΠΎ Π½Π° ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π΅Ρ€Ρƒ, ΠΏΡ€Π΅Ρ‚Π²Π°Ρ€Π° сС Ρƒ Π±Π°Ρ˜Ρ‚ΠΊΠΎΠ΄, који сС Π·Π°Ρ‚ΠΈΠΌ Ρ‡ΡƒΠ²Π° Ρƒ ΠΌΠ΅ΠΌΠΎΡ€ΠΈΡ˜ΠΈ. Па, Π΄Π° Π±ΠΈ ΠΊΠΎΠΌΠΏΠ°Ρ˜Π»Π΅Ρ€ Ρ€Π°Π΄ΠΈΠΎ, ΠΏΠΎΡ‚Ρ€Π΅Π±Π½Π° Π²Π°ΠΌ јС ΠΈ ΠΎΠ΄Ρ€Π΅Ρ’Π΅Π½Π° ΠΊΠΎΠ»ΠΈΡ‡ΠΈΠ½Π° РАМ-Π°.

Π’Ρ€ΠΈΠΊ јС Π΄Π° сачуватС ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π΅Ρ€ ΠΎΠ΄ ΠΊΠΎΠΌΠΏΠΈΠ»Π°Ρ†ΠΈΡ˜Π΅ која Π·Π°Ρ…Ρ‚Π΅Π²Π° ΠΌΠ½ΠΎΠ³ΠΎ рСсурса. ΠœΠΎΠΆΠ΅Ρ‚Π΅ саставити Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠ΅ Π½Π° Π²Π΅Π»ΠΈΠΊΠΎΠΌ Ρ€Π°Ρ‡ΡƒΠ½Π°Ρ€Ρƒ ΠΈ ΡƒΡ‡ΠΈΡ‚Π°Ρ‚ΠΈ Π³ΠΎΡ‚ΠΎΠ² Π±Π°Ρ˜Ρ‚ ΠΊΠΎΠ΄ Ρƒ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π΅Ρ€. Π”Π° бистС Ρ‚ΠΎ ΡƒΡ€Π°Π΄ΠΈΠ»ΠΈ, ΠΏΠΎΡ‚Ρ€Π΅Π±Π½ΠΎ јС Π΄Π° ΠΏΡ€Π΅ΡƒΠ·ΠΌΠ΅Ρ‚Π΅ ΠΌΠΈΠΊΡ€ΠΎΠΏΠΈΡ‚Ρ…ΠΎΠ½ Ρ„ΠΈΡ€ΠΌΠ²Π΅Ρ€ ΠΈ Π½Π°ΠΏΡ€Π°Π²ΠΈΡ‚Π΅ Π³Π° ΠΌΠΏΠΈ-цросс услуТни ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌ.

Нисам написао ΠœΠ°ΠΊΠ΅Ρ„ΠΈΠ»Π΅, Π²Π΅Ρ› сам Ρ€ΡƒΡ‡Π½ΠΎ ΠΏΡ€ΠΎΡˆΠ°ΠΎ ΠΈ ΠΊΠΎΠΌΠΏΠ°Ρ˜Π»ΠΈΡ€Π°ΠΎ свС ΠΏΠΎΡ‚Ρ€Π΅Π±Π½Π΅ Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠ΅ (ΡƒΠΊΡ™ΡƒΡ‡ΡƒΡ˜ΡƒΡ›ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ΅) Π½Π΅ΡˆΡ‚ΠΎ ΠΎΠ²Π°ΠΊΠΎ

mpy-cross water_counter.py

ΠžΡΡ‚Π°Ρ˜Π΅ само Π΄Π° ΠΎΡ‚ΠΏΡ€Π΅ΠΌΠΈΡ‚Π΅ Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠ΅ са Π΅ΠΊΡΡ‚Π΅Π½Π·ΠΈΡ˜ΠΎΠΌ .ΠΌΠΏΠΈ, Π½Π΅ Π·Π°Π±ΠΎΡ€Π°Π²Ρ™Π°Ρ˜ΡƒΡ›ΠΈ Π΄Π° ΠΏΡ€Π²ΠΎ ΠΈΠ·Π±Ρ€ΠΈΡˆΠ΅Ρ‚Π΅ ΠΎΠ΄Π³ΠΎΠ²Π°Ρ€Π°Ρ˜ΡƒΡ›ΠΈ .ΠΏΠΈ ΠΈΠ· систСма Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠ° ΡƒΡ€Π΅Ρ’Π°Ρ˜Π°.

Π£Ρ€Π°Π΄ΠΈΠΎ сам сав Ρ€Π°Π·Π²ΠΎΡ˜ Ρƒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΡƒ (Π˜Π”Π•?) Π•Π‘ΠŸΠ»ΠΎΡ€Π΅Ρ€. ΠžΠΌΠΎΠ³ΡƒΡ›Π°Π²Π° Π²Π°ΠΌ Π΄Π° ΠΎΡ‚ΠΏΡ€Π΅ΠΌΠΈΡ‚Π΅ скриптС Ρƒ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π΅Ρ€ ΠΈ ΠΎΠ΄ΠΌΠ°Ρ… ΠΈΡ… ΠΈΠ·Π²Ρ€ΡˆΠΈΡ‚Π΅. Π£ ΠΌΠΎΠΌ ΡΠ»ΡƒΡ‡Π°Ρ˜Ρƒ, сва Π»ΠΎΠ³ΠΈΠΊΠ° ΠΈ ΠΊΡ€Π΅ΠΈΡ€Π°ΡšΠ΅ свих ΠΎΠ±Ρ˜Π΅ΠΊΠ°Ρ‚Π° Π½Π°Π»Π°Π·ΠΈ сС Ρƒ Π΄Π°Ρ‚ΠΎΡ‚Π΅Ρ†ΠΈ Π²Π°Ρ‚Π΅Ρ€_Ρ†ΠΎΡƒΠ½Ρ‚Π΅Ρ€.ΠΏΠΈ (.ΠΌΠΏΠΈ). Али Π΄Π° Π±ΠΈ сС свС ΠΎΠ²ΠΎ ΠΏΠΎΠΊΡ€Π΅Π½ΡƒΠ»ΠΎ аутоматски, Π½Π° ΠΏΠΎΡ‡Π΅Ρ‚ΠΊΡƒ ΠΌΠΎΡ€Π° Π΄Π° ΠΏΠΎΡΡ‚ΠΎΡ˜ΠΈ ΠΈ Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠ° која сС Π·ΠΎΠ²Π΅ ΠΌΠ°ΠΈΠ½.ΠΏΠΈ. Π¨Ρ‚Π°Π²ΠΈΡˆΠ΅, Ρ‚Ρ€Π΅Π±Π°Π»ΠΎ Π±ΠΈ Π΄Π° Π±ΡƒΠ΄Π΅ Ρ‚Π°Ρ‡Π½ΠΎ .ΠΏΠΈ, Π° Π½Π΅ ΡƒΠ½Π°ΠΏΡ€Π΅Π΄ ΠΊΠΎΠΌΠΏΠ°Ρ˜Π»ΠΈΡ€Π°Π½ .ΠΌΠΏΠΈ. Π•Π²ΠΎ њСговог Ρ‚Ρ€ΠΈΠ²ΠΈΡ˜Π°Π»Π½ΠΎΠ³ ΡΠ°Π΄Ρ€ΠΆΠ°Ρ˜Π°

import water_counter

ΠŸΠΎΠΊΡ€Π΅Ρ›Π΅ΠΌΠΎ Π³Π° - свС Ρ€Π°Π΄ΠΈ. Али слободна ΠΌΠ΅ΠΌΠΎΡ€ΠΈΡ˜Π° јС Π°Π»Π°Ρ€ΠΌΠ°Π½Ρ‚Π½ΠΎ ΠΌΠ°Π»Π° - ΠΎΠΊΠΎ 1 ΠΊΠ±. Још ΡƒΠ²Π΅ΠΊ ΠΈΠΌΠ°ΠΌ ΠΏΠ»Π°Π½ΠΎΠ²Π΅ Π΄Π° ΠΏΡ€ΠΎΡˆΠΈΡ€ΠΈΠΌ функционалност ΡƒΡ€Π΅Ρ’Π°Ρ˜Π°, Π° овај ΠΊΠΈΠ»ΠΎΠ±Π°Ρ˜Ρ‚ ΠΌΠΈ ΠΎΡ‡ΠΈΠ³Π»Π΅Π΄Π½ΠΎ нијС Π΄ΠΎΠ²ΠΎΡ™Π°Π½. Али ΠΏΠΎΠΊΠ°Π·Π°Π»ΠΎ сС Π΄Π° ΠΈ Π·Π° овај ΡΠ»ΡƒΡ‡Π°Ρ˜ ΠΏΠΎΡΡ‚ΠΎΡ˜ΠΈ ΠΈΠ·Π»Π°Π·.

Π•Π²ΠΎ Ρƒ Ρ‡Π΅ΠΌΡƒ јС ствар. Иако су Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠ΅ ΠΊΠΎΠΌΠΏΠ°Ρ˜Π»ΠΈΡ€Π°Π½Π΅ Ρƒ Π±Π°Ρ˜Ρ‚ ΠΊΠΎΠ΄ ΠΈ Π½Π°Π»Π°Π·Π΅ сС Ρƒ ΠΈΠ½Ρ‚Π΅Ρ€Π½ΠΎΠΌ систСму Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠ°, Ρƒ стварности сС ΠΈ Π΄Π°Ρ™Π΅ ΡƒΡ‡ΠΈΡ‚Π°Π²Π°Ρ˜Ρƒ Ρƒ РАМ ΠΈ ΠΎΠ΄Π°Ρ‚Π»Π΅ ΠΈΠ·Π²Ρ€ΡˆΠ°Π²Π°Ρ˜Ρƒ. Али испоставило сС Π΄Π° ΠΌΠΈΡ†Ρ€ΠΎΠΏΠΈΡ‚Ρ…ΠΎΠ½ ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΈΠ·Π²Ρ€ΡˆΠΈ Π±Π°Ρ˜Ρ‚ΠΊΠΎΠ΄ Π΄ΠΈΡ€Π΅ΠΊΡ‚Π½ΠΎ ΠΈΠ· Ρ„Π»Π΅Ρˆ ΠΌΠ΅ΠΌΠΎΡ€ΠΈΡ˜Π΅, Π°Π»ΠΈ Π·Π° Ρ‚ΠΎ ΠΌΠΎΡ€Π°Ρ‚Π΅ Π΄Π° Π³Π° ΡƒΠ³Ρ€Π°Π΄ΠΈΡ‚Π΅ Π΄ΠΈΡ€Π΅ΠΊΡ‚Π½ΠΎ Ρƒ Ρ„ΠΈΡ€ΠΌΠ²Π΅Ρ€. НијС Ρ‚Π΅ΡˆΠΊΠΎ, ΠΈΠ°ΠΊΠΎ јС Π½Π° ΠΌΠΎΠΌ Π½Π΅Ρ‚Π±ΠΎΠΎΠΊ-Ρƒ Ρ‚Ρ€Π΅Π±Π°Π»ΠΎ доста Π²Ρ€Π΅ΠΌΠ΅Π½Π° (само Ρ‚Π°ΠΌΠΎ сам ΠΈΠΌΠ°ΠΎ Π›ΠΈΠ½ΡƒΠΊ).

Algoritam je sledeći:

  • ΠŸΡ€Π΅ΡƒΠ·Π΅Ρ‚ΠΈ ΠΈ инсталирати Π•Π‘ΠŸ ОпСн Π‘Π”Πš. Ова ствар саставља ΠΊΠΎΠΌΠΏΠ°Ρ˜Π»Π΅Ρ€ ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ΅ Π·Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ΅ Π·Π° Π•Π‘ΠŸ8266. БастављСно ΠΏΡ€Π΅ΠΌΠ° упутствима Π½Π° главној страници ΠΏΡ€ΠΎΡ˜Π΅ΠΊΡ‚Π° (ΠΎΠ΄Π°Π±Ρ€Π°ΠΎ сам поставку Π‘Π’ΠΠΠ”ΠΠ›ΠžΠΠ•=иСс)
  • Π”ΠΎΠ²Π½Π»ΠΎΠ°Π΄ ΠΌΠΈΡ†Ρ€ΠΎΠΏΠΈΡ‚Ρ…ΠΎΠ½ сортс
  • ΠŸΠΎΡΡ‚Π°Π²ΠΈΡ‚Π΅ ΠΏΠΎΡ‚Ρ€Π΅Π±Π½Π΅ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ΅ Ρƒ ΠΏΠΎΡ€Ρ‚ΠΎΠ²Π΅/Ссп8266/модулСс ΡƒΠ½ΡƒΡ‚Π°Ρ€ стабла ΠΌΠΈΡ†Ρ€ΠΎΠΏΠΈΡ‚Ρ…ΠΎΠ½-Π°
  • Бастављамо Ρ„ΠΈΡ€ΠΌΠ²Π΅Ρ€ ΠΏΡ€Π΅ΠΌΠ° упутствима Ρƒ Π΄Π°Ρ‚ΠΎΡ‚Π΅Ρ†ΠΈ портс/Ссп8266/Π Π•ΠΠ”ΠœΠ•.ΠΌΠ΄
  • Π£Ρ‡ΠΈΡ‚Π°Π²Π°ΠΌΠΎ Ρ„ΠΈΡ€ΠΌΠ²Π΅Ρ€ Ρƒ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π΅Ρ€ (ΠΎΠ²ΠΎ Ρ€Π°Π΄ΠΈΠΌ Π½Π° Виндовс-Ρƒ користСћи Π•Π‘ΠŸ8266ЀласхСр ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ΅ ΠΈΠ»ΠΈ ΠŸΠΈΡ‚Ρ…ΠΎΠ½ Ссптоол)

Π’ΠΎ јС Ρ‚ΠΎ, сада Ρ›Π΅ 'ΠΈΠΌΠΏΠΎΡ€Ρ‚ ссд1306' ΠΏΠΎΠ΄ΠΈΡ›ΠΈ ΠΊΠΎΠ΄ Π΄ΠΈΡ€Π΅ΠΊΡ‚Π½ΠΎ ΠΈΠ· Ρ„ΠΈΡ€ΠΌΠ²Π΅Ρ€Π° ΠΈ РАМ сС Π½Π΅Ρ›Π΅ Ρ‚Ρ€ΠΎΡˆΠΈΡ‚ΠΈ Π·Π° ΠΎΠ²ΠΎ. Овим Ρ‚Ρ€ΠΈΠΊΠΎΠΌ сам ΡƒΠΏΠ»ΠΎΠ°Π΄ΠΎΠ²Π°ΠΎ само ΠΊΠΎΠ΄ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ΅ Ρƒ Ρ„ΠΈΡ€ΠΌΠ²Π΅Ρ€, Π΄ΠΎΠΊ сС Π³Π»Π°Π²Π½ΠΈ програмски ΠΊΠΎΠ΄ ΠΈΠ·Π²Ρ€ΡˆΠ°Π²Π° ΠΈΠ· систСма Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠ°. Ово Π²Π°ΠΌ ΠΎΠΌΠΎΠ³ΡƒΡ›Π°Π²Π° Π΄Π° Π»Π°ΠΊΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌ Π±Π΅Π· ΠΏΠΎΠ½ΠΎΠ²Π½ΠΎΠ³ ΠΊΠΎΠΌΠΏΠ°Ρ˜Π»ΠΈΡ€Π°ΡšΠ° Ρ„ΠΈΡ€ΠΌΠ²Π΅Ρ€Π°. Π’Ρ€Π΅Π½ΡƒΡ‚Π½ΠΎ ΠΈΠΌΠ°ΠΌ ΠΎΠΊΠΎ 8.5 ΠΊΠ± слободнС РАМ ΠΌΠ΅ΠΌΠΎΡ€ΠΈΡ˜Π΅. Ово Ρ›Π΅ Π½Π°ΠΌ ΠΎΠΌΠΎΠ³ΡƒΡ›ΠΈΡ‚ΠΈ Π΄Π° ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚ΠΈΡ€Π°ΠΌΠΎ доста Ρ€Π°Π·Π»ΠΈΡ‡ΠΈΡ‚ΠΈΡ… корисних функционалности Ρƒ будућности. Па, Π°ΠΊΠΎ ΡƒΠΎΠΏΡˆΡ‚Π΅ Π½Π΅ΠΌΠ° Π΄ΠΎΠ²ΠΎΡ™Π½ΠΎ ΠΌΠ΅ΠΌΠΎΡ€ΠΈΡ˜Π΅, ΠΎΠ½Π΄Π° ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡƒΠ³ΡƒΡ€Π°Ρ‚ΠΈ Π³Π»Π°Π²Π½ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌ Ρƒ Ρ„ΠΈΡ€ΠΌΠ²Π΅Ρ€.

Па ΡˆΡ‚Π° сад Π΄Π° Ρ€Π°Π΄ΠΈΠΌΠΎ ΠΏΠΎΠ²ΠΎΠ΄ΠΎΠΌ Ρ‚ΠΎΠ³Π°?

Ок, Ρ…Π°Ρ€Π΄Π²Π΅Ρ€ јС Π·Π°Π»Π΅ΠΌΡ™Π΅Π½, Ρ„ΠΈΡ€ΠΌΠ²Π΅Ρ€ јС написан, ΠΊΡƒΡ‚ΠΈΡ˜Π° јС ΠΎΠ΄ΡˆΡ‚Π°ΠΌΠΏΠ°Π½Π°, ΡƒΡ€Π΅Ρ’Π°Ρ˜ Π·Π°ΠΊΠ°Ρ‡Π΅Π½ Π½Π° Π·ΠΈΠ΄ ΠΈ вСсСло Ρ‚Ρ€Π΅ΠΏΡ›Π΅ ΡΠΈΡ˜Π°Π»ΠΈΡ†Π°. Али Π·Π° сада јС свС Ρ‚ΠΎ Ρ†Ρ€Π½Π° ΠΊΡƒΡ‚ΠΈΡ˜Π° (Π±ΡƒΠΊΠ²Π°Π»Π½ΠΎ ΠΈ Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ‚ΠΈΠ²Π½ΠΎ) ΠΈ још ΡƒΠ²Π΅ΠΊ јС ΠΎΠ΄ ΠΌΠ°Π»Π΅ користи. Π’Ρ€Π΅ΠΌΠ΅ јС Π΄Π° сС Π½Π΅ΡˆΡ‚ΠΎ ΡƒΡ€Π°Π΄ΠΈ са МКВВ ΠΏΠΎΡ€ΡƒΠΊΠ°ΠΌΠ° којС сС ΡˆΠ°Ρ™Ρƒ Π½Π° сСрвСр.

Мој β€žΠΏΠ°ΠΌΠ΅Ρ‚Π½ΠΈ Π΄ΠΎΠΌβ€œ сС ΠΎΠΊΡ€Π΅Ρ›Π΅ ΠœΠ°Ρ˜ΠΎΡ€Π΄ΠΎΠΌΠΎ систСм. МКВВ ΠΌΠΎΠ΄ΡƒΠ» ΠΈΠ»ΠΈ ΠΈΠ·Π»Π°Π·ΠΈ ΠΈΠ· ΠΊΡƒΡ‚ΠΈΡ˜Π΅, ΠΈΠ»ΠΈ сС Π»Π°ΠΊΠΎ инсталира са Ρ‚Ρ€ΠΆΠΈΡˆΡ‚Π° Π΄ΠΎΠ΄Π°Ρ‚Π°ΠΊΠ° - Π½Π΅ сСћам сС ΠΎΠ΄Π°ΠΊΠ»Π΅ сам Π³Π° Π΄ΠΎΠ±ΠΈΠΎ. МКВВ нијС самодовољна ствар - ΠΏΠΎΡ‚Ρ€Π΅Π±Π°Π½ Π²Π°ΠΌ јС Ρ‚Π·Π². Π±Ρ€ΠΎΠΊΠ΅Ρ€ - сСрвСр који ΠΏΡ€ΠΈΠΌΠ°, сортира ΠΈ ΠΏΡ€ΠΎΡΠ»Π΅Ρ’ΡƒΡ˜Π΅ МКВВ ΠΏΠΎΡ€ΡƒΠΊΠ΅ ΠΊΠ»ΠΈΡ˜Π΅Π½Ρ‚ΠΈΠΌΠ°. ΠšΠΎΡ€ΠΈΡΡ‚ΠΈΠΌ москуитто, који (ΠΊΠ°ΠΎ ΠΌΠ°Ρ˜ΠΎΡ€Π΄ΠΎΠΌΠΎ) Ρ€Π°Π΄ΠΈ Π½Π° истом Π½Π΅Ρ‚Π±ΠΎΠΎΠΊ-Ρƒ.

Након ΡˆΡ‚ΠΎ ΡƒΡ€Π΅Ρ’Π°Ρ˜ Π±Π°Ρ€Π΅ΠΌ јСдном ΠΏΠΎΡˆΠ°Ρ™Π΅ ΠΏΠΎΡ€ΡƒΠΊΡƒ, врСдност Ρ›Π΅ сС ΠΎΠ΄ΠΌΠ°Ρ… ΠΏΠΎΡ˜Π°Π²ΠΈΡ‚ΠΈ Π½Π° листи.

ПовСзивањС Π²ΠΎΠ΄ΠΎΠΌΠ΅Ρ€Π° Π½Π° ΠΏΠ°ΠΌΠ΅Ρ‚Π½Ρƒ ΠΊΡƒΡ›Ρƒ

ОвС врСдности сС сада ΠΌΠΎΠ³Ρƒ ΠΏΠΎΠ²Π΅Π·Π°Ρ‚ΠΈ са систСмским ΠΎΠ±Ρ˜Π΅ΠΊΡ‚ΠΈΠΌΠ°, ΠΌΠΎΠ³Ρƒ сС користити Ρƒ скриптама Π·Π° Π°ΡƒΡ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·Π°Ρ†ΠΈΡ˜Ρƒ ΠΈ ΠΏΠΎΠ΄Π²Ρ€Π³Π½ΡƒΡ‚ΠΈ Ρ€Π°Π·Π½ΠΈΠΌ Π°Π½Π°Π»ΠΈΠ·Π°ΠΌΠ° - свС Ρ‚ΠΎ јС Π²Π°Π½ ΠΎΠΊΠ²ΠΈΡ€Π° ΠΎΠ²ΠΎΠ³ Ρ‡Π»Π°Π½ΠΊΠ°. ΠœΠΎΠ³Ρƒ ΠΏΡ€Π΅ΠΏΠΎΡ€ΡƒΡ‡ΠΈΡ‚ΠΈ ΠΌΠ°Ρ˜ΠΎΡ€Π΄ΠΎΠΌΠΎ систСм свима који су заинтСрСсовани ΠΊΠ°Π½Π°Π» ЕлСцтроницс Ин ЛСнс β€” ΠΏΡ€ΠΈΡ˜Π°Ρ‚Π΅Ρ™ Ρ‚Π°ΠΊΠΎΡ’Π΅ Π³Ρ€Π°Π΄ΠΈ ΠΏΠ°ΠΌΠ΅Ρ‚Π½Ρƒ ΠΊΡƒΡ›Ρƒ ΠΈ јасно Π³ΠΎΠ²ΠΎΡ€ΠΈ ΠΎ ΠΏΠΎΡΡ‚Π°Π²Ρ™Π°ΡšΡƒ систСма.

ΠŸΠΎΠΊΠ°Π·Π°Ρ›Ρƒ Π²Π°ΠΌ само Π½Π΅ΠΊΠΎΠ»ΠΈΠΊΠΎ Π³Ρ€Π°Ρ„ΠΈΠΊΠΎΠ½Π°. Ово јС Ρ˜Π΅Π΄Π½ΠΎΡΡ‚Π°Π²Π°Π½ Π³Ρ€Π°Ρ„ΠΈΠΊΠΎΠ½ Π΄Π½Π΅Π²Π½ΠΈΡ… врСдности

ПовСзивањС Π²ΠΎΠ΄ΠΎΠΌΠ΅Ρ€Π° Π½Π° ΠΏΠ°ΠΌΠ΅Ρ‚Π½Ρƒ ΠΊΡƒΡ›Ρƒ
Π’ΠΈΠ΄ΠΈ сС Π΄Π° скоро Π½ΠΈΠΊΠΎ нијС користио Π²ΠΎΠ΄Ρƒ Π½ΠΎΡ›Ρƒ. ΠŸΠ°Ρ€ ΠΏΡƒΡ‚Π° јС Π½Π΅ΠΊΠΎ ΠΎΡ‚ΠΈΡˆΠ°ΠΎ Ρƒ Ρ‚ΠΎΠ°Π»Π΅Ρ‚, Π° Ρ‡ΠΈΠ½ΠΈ сС Π΄Π° Ρ„ΠΈΠ»Ρ‚Π΅Ρ€ Ρ€Π΅Π²Π΅Ρ€Π·Π½Π΅ осмозС усисава ΠΏΠ°Ρ€ Π»ΠΈΡ‚Π°Ρ€Π° Π·Π° Π½ΠΎΡ›. Π£Ρ˜ΡƒΡ‚Ρ€Ρƒ сС ΠΏΠΎΡ‚Ρ€ΠΎΡˆΡšΠ° Π·Π½Π°Ρ‡Π°Ρ˜Π½ΠΎ ΠΏΠΎΠ²Π΅Ρ›Π°Π²Π°. ΠžΠ±ΠΈΡ‡Π½ΠΎ користим Π²ΠΎΠ΄Ρƒ ΠΈΠ· Π±ΠΎΡ˜Π»Π΅Ρ€Π°, Π°Π»ΠΈ ΠΎΠ½Π΄Π° сам Ρ…Ρ‚Π΅ΠΎ Π΄Π° сС ΠΎΠΊΡƒΠΏΠ°ΠΌ ΠΈ ΠΏΡ€ΠΈΠ²Ρ€Π΅ΠΌΠ΅Π½ΠΎ ΠΏΡ€Π΅ΡˆΠ°ΠΎ Π½Π° градску Ρ‚ΠΎΠΏΠ»Ρƒ Π²ΠΎΠ΄Ρƒ - Ρ‚ΠΎ јС Ρ‚Π°ΠΊΠΎΡ’Π΅ јасно Π²ΠΈΠ΄Ρ™ΠΈΠ²ΠΎ Π½Π° доњСм Π³Ρ€Π°Ρ„ΠΈΠΊΠΎΠ½Ρƒ.

Из ΠΎΠ²ΠΎΠ³ Π³Ρ€Π°Ρ„ΠΈΠΊΠΎΠ½Π° сам сазнао Π΄Π° јС Π·Π° ΠΎΠ΄Π»Π°Π·Π°ΠΊ Ρƒ Ρ‚ΠΎΠ°Π»Π΅Ρ‚ ΠΏΠΎΡ‚Ρ€Π΅Π±Π½ΠΎ 6-7 Π»ΠΈΡ‚Π°Ρ€Π° Π²ΠΎΠ΄Π΅, Π·Π° Ρ‚ΡƒΡˆΠΈΡ€Π°ΡšΠ΅ јС ΠΏΠΎΡ‚Ρ€Π΅Π±Π½ΠΎ 20-30 Π»ΠΈΡ‚Π°Ρ€Π°, Π·Π° ΠΏΡ€Π°ΡšΠ΅ судова ΠΎΠΊΠΎ 20 Π»ΠΈΡ‚Π°Ρ€Π°, Π° Π·Π° ΠΊΡƒΠΏΠ°ΡšΠ΅ 160 Π»ΠΈΡ‚Π°Ρ€Π°. Моја ΠΏΠΎΡ€ΠΎΠ΄ΠΈΡ†Π° Ρ‚Ρ€ΠΎΡˆΠΈ Π½Π΅Π³Π΄Π΅ ΠΎΠΊΠΎ 500-600 Π»ΠΈΡ‚Π°Ρ€Π° Π΄Π½Π΅Π²Π½ΠΎ.

Π—Π° ΠΎΠ½Π΅ који су посСбно Ρ€Π°Π΄ΠΎΠ·Π½Π°Π»ΠΈ, ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΠ³Π»Π΅Π΄Π°Ρ‚ΠΈ записС Π·Π° сваку ΠΏΠΎΡ˜Π΅Π΄ΠΈΠ½Π°Ρ‡Π½Ρƒ врСдност

ПовСзивањС Π²ΠΎΠ΄ΠΎΠΌΠ΅Ρ€Π° Π½Π° ΠΏΠ°ΠΌΠ΅Ρ‚Π½Ρƒ ΠΊΡƒΡ›Ρƒ

ОдавдС сам сазнао Π΄Π° ΠΊΠ°Π΄Π° јС славина ΠΎΡ‚Π²ΠΎΡ€Π΅Π½Π°, Π²ΠΎΠ΄Π° Ρ‚Π΅Ρ‡Π΅ Π±Ρ€Π·ΠΈΠ½ΠΎΠΌ ΠΎΠ΄ ΠΏΡ€ΠΈΠ±Π»ΠΈΠΆΠ½ΠΎ 1 Π»ΠΈΡ‚Π°Ρ€ Ρƒ 5 с.

Али Ρƒ ΠΎΠ²ΠΎΠΌ ΠΎΠ±Π»ΠΈΠΊΡƒ статистикС Π²Π΅Ρ€ΠΎΠ²Π°Ρ‚Π½ΠΎ нису баш Π·Π³ΠΎΠ΄Π½Π΅ Π·Π° глСдањС. ΠœΠ°Ρ˜ΠΎΡ€Π΄ΠΎΠΌΠΎ Ρ‚Π°ΠΊΠΎΡ’Π΅ ΠΈΠΌΠ° могућност Π΄Π° ΠΏΡ€Π΅Π³Π»Π΅Π΄Π° Π³Ρ€Π°Ρ„ΠΈΠΊΠΎΠ½Π΅ ΠΏΠΎΡ‚Ρ€ΠΎΡˆΡšΠ΅ ΠΏΠΎ Π΄Π°Π½Ρƒ, Π½Π΅Π΄Π΅Ρ™ΠΈ ΠΈ мСсСцу. Π•Π²ΠΎ, Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π³Ρ€Π°Ρ„ΠΈΠΊΠΎΠ½ ΠΏΠΎΡ‚Ρ€ΠΎΡˆΡšΠ΅ Ρƒ шипкама

ПовСзивањС Π²ΠΎΠ΄ΠΎΠΌΠ΅Ρ€Π° Π½Π° ΠΏΠ°ΠΌΠ΅Ρ‚Π½Ρƒ ΠΊΡƒΡ›Ρƒ

Π—Π° сада ΠΈΠΌΠ°ΠΌ ΠΏΠΎΠ΄Π°Ρ‚ΠΊΠ΅ само Π·Π° Π½Π΅Π΄Π΅Ρ™Ρƒ Π΄Π°Π½Π°. Π—Π° мСсСц Π΄Π°Π½Π° овај Π³Ρ€Π°Ρ„ΠΈΠΊΠΎΠ½ Ρ›Π΅ Π±ΠΈΡ‚ΠΈ ΠΈΠ½Π΄ΠΈΠΊΠ°Ρ‚ΠΈΠ²Π½ΠΈΡ˜ΠΈ - сваки Π΄Π°Π½ Ρ›Π΅ ΠΈΠΌΠ°Ρ‚ΠΈ засСбну ΠΊΠΎΠ»ΠΎΠ½Ρƒ. Π‘Π»ΠΈΠΊΠ° јС ΠΌΠ°Π»ΠΎ ΠΏΠΎΠΊΠ²Π°Ρ€Π΅Π½Π° подСшавањСм врСдности којС уносим Ρ€ΡƒΡ‡Π½ΠΎ (Π½Π°Ρ˜Π²Π΅Ρ›Π° ΠΊΠΎΠ»ΠΎΠ½Π°). И још нијС јасно Π΄Π° Π»ΠΈ сам ΠΏΠΎΠ³Ρ€Π΅ΡˆΠ½ΠΎ поставио ΠΏΡ€Π²Π΅ врСдности, скоро ΠΊΠΎΡ†ΠΊΡƒ мањС, ΠΈΠ»ΠΈ јС ΠΎΠ²ΠΎ Π³Ρ€Π΅ΡˆΠΊΠ° Ρƒ Ρ„ΠΈΡ€ΠΌΠ²Π΅Ρ€Ρƒ ΠΈ нису ΠΏΡ€Π΅Π±Ρ€ΠΎΡ˜Π°Π½ΠΈ сви Π»ΠΈΡ‚Ρ€ΠΈ. ΠŸΠΎΡ‚Ρ€Π΅Π±Π½ΠΎ ΠΌΠΈ јС још Π²Ρ€Π΅ΠΌΠ΅Π½Π°.

Π‘Π°ΠΌΠΈΠΌ Π³Ρ€Π°Ρ„ΠΎΠ²ΠΈΠΌΠ° јС још ΠΏΠΎΡ‚Ρ€Π΅Π±Π½Π° магија, Π±Π΅Ρ™Π΅ΡšΠ΅, Ρ„Π°Ρ€Π±Π°ΡšΠ΅. МоТда Ρ›Ρƒ Ρ‚Π°ΠΊΠΎΡ’Π΅ Π½Π°ΠΏΡ€Π°Π²ΠΈΡ‚ΠΈ Π³Ρ€Π°Ρ„ΠΈΠΊΠΎΠ½ ΠΏΠΎΡ‚Ρ€ΠΎΡˆΡšΠ΅ ΠΌΠ΅ΠΌΠΎΡ€ΠΈΡ˜Π΅ Π·Π° ΠΏΠΎΡ‚Ρ€Π΅Π±Π΅ ΠΎΡ‚ΠΊΠ»Π°ΡšΠ°ΡšΠ° Π³Ρ€Π΅ΡˆΠ°ΠΊΠ° - Ρƒ ΡΠ»ΡƒΡ‡Π°Ρ˜Ρƒ Π΄Π° Ρ‚Π°ΠΌΠΎ Π½Π΅ΡˆΡ‚ΠΎ Ρ†ΡƒΡ€ΠΈ. МоТда Ρ›Ρƒ Π½Π΅ΠΊΠ°ΠΊΠΎ ΠΏΡ€ΠΈΠΊΠ°Π·Π°Ρ‚ΠΈ ΠΏΠ΅Ρ€ΠΈΠΎΠ΄Π΅ ΠΊΠ°Π΄Π° нијС Π±ΠΈΠ»ΠΎ ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚Π°. Π—Π° сада јС свС ΠΎΠ²ΠΎ Π½Π° Π½ΠΈΠ²ΠΎΡƒ идСја.

Π—Π°ΠΊΡ™ΡƒΡ‡Π°ΠΊ

Данас јС мој стан постао ΠΌΠ°Π»ΠΎ ΠΏΠ°ΠΌΠ΅Ρ‚Π½ΠΈΡ˜ΠΈ. Π‘Π° Ρ‚Π°ΠΊΠΎ ΠΌΠ°Π»ΠΈΠΌ ΡƒΡ€Π΅Ρ’Π°Ρ˜Π΅ΠΌ Π±ΠΈΡ›Π΅ ΠΌΠΈ згоднијС Π΄Π° ΠΏΡ€Π°Ρ‚ΠΈΠΌ ΠΏΠΎΡ‚Ρ€ΠΎΡˆΡšΡƒ Π²ΠΎΠ΄Π΅ Ρƒ ΠΊΡƒΡ›ΠΈ. Ако сам Ρ€Π°Π½ΠΈΡ˜Π΅ Π±ΠΈΠΎ ΠΎΠ³ΠΎΡ€Ρ‡Π΅Π½ Π½Π° β€žΠΎΠΏΠ΅Ρ‚ смо ΠΏΠΎΡ‚Ρ€ΠΎΡˆΠΈΠ»ΠΈ ΠΌΠ½ΠΎΠ³ΠΎ Π²ΠΎΠ΄Π΅ Π·Π° мСсСц Π΄Π°Π½Π°β€œ, сада ΠΌΠΎΠ³Ρƒ Π΄Π° ΠΏΡ€ΠΎΠ½Π°Ρ’Π΅ΠΌ ΠΈΠ·Π²ΠΎΡ€ ΠΎΠ²Π΅ ΠΏΠΎΡ‚Ρ€ΠΎΡˆΡšΠ΅.

НСкима Ρ›Π΅ ΠΌΠΎΠΆΠ΄Π° Π±ΠΈΡ‚ΠΈ Ρ‡ΡƒΠ΄Π½ΠΎ Π³Π»Π΅Π΄Π°Ρ‚ΠΈ ΠΎΡ‡ΠΈΡ‚Π°Π²Π°ΡšΠ° Π½Π° Π΅ΠΊΡ€Π°Π½Ρƒ Π°ΠΊΠΎ јС ΠΌΠ΅Ρ‚Π°Ρ€ ΡƒΠ΄Π°Ρ™Π΅Π½ ΠΎΠ΄ самог ΠΌΠ΅Ρ€Π°Ρ‡Π°. Али Ρƒ Π½Π΅ Ρ‚Π°ΠΊΠΎ далСкој будућности ΠΏΠ»Π°Π½ΠΈΡ€Π°ΠΌ Π΄Π° сС прСсСлим Ρƒ Π΄Ρ€ΡƒΠ³ΠΈ стан, Π³Π΄Π΅ Ρ›Π΅ Π±ΠΈΡ‚ΠΈ Π½Π΅ΠΊΠΎΠ»ΠΈΠΊΠΎ Π²ΠΎΠ΄ΠΎΡΡ‚Π°Ρ˜Π°, Π° сами Π±Ρ€ΠΎΡ˜ΠΈΠ»Π° Ρ›Π΅ сС Π½Π°Ρ˜Π²Π΅Ρ€ΠΎΠ²Π°Ρ‚Π½ΠΈΡ˜Π΅ Π½Π°Π»Π°Π·ΠΈΡ‚ΠΈ Π½Π° подСсту. Π”Π°ΠΊΠ»Π΅, ΡƒΡ€Π΅Ρ’Π°Ρ˜ Π·Π° даљинско Ρ‡ΠΈΡ‚Π°ΡšΠ΅ Ρ›Π΅ Π±ΠΈΡ‚ΠΈ Π²Π΅ΠΎΠΌΠ° користан.

Π’Π°ΠΊΠΎΡ’Π΅ ΠΏΠ»Π°Π½ΠΈΡ€Π°ΠΌ Π΄Π° ΠΏΡ€ΠΎΡˆΠΈΡ€ΠΈΠΌ функционалност ΡƒΡ€Π΅Ρ’Π°Ρ˜Π°. Π’Π΅Ρ› Π³Π»Π΅Π΄Π°ΠΌ ΠΌΠΎΡ‚ΠΎΡ€ΠΈΠ·ΠΎΠ²Π°Π½Π΅ Π²Π΅Π½Ρ‚ΠΈΠ»Π΅. Π‘Π°Π΄Π°, Π΄Π° ΠΏΡ€Π΅Π±Π°Ρ†ΠΈΠΌ ΠΊΠΎΡ‚Π°ΠΎ Π½Π° градску Π²ΠΎΠ΄Ρƒ, Ρ‚Ρ€Π΅Π±Π° Π΄Π° Π·Π°Π²Ρ€Ρ‚ΠΈΠΌ 3 славинС Ρƒ Ρ‚Π΅ΡˆΠΊΠΎ Π΄ΠΎΡΡ‚ΡƒΠΏΠ½ΠΎΡ˜ ниши. Π‘ΠΈΠ»ΠΎ Π±ΠΈ ΠΌΠ½ΠΎΠ³ΠΎ згоднијС Ρ‚ΠΎ ΡƒΡ‡ΠΈΠ½ΠΈΡ‚ΠΈ јСдним Π΄ΡƒΠ³ΠΌΠ΅Ρ‚ΠΎΠΌ са ΠΎΠ΄Π³ΠΎΠ²Π°Ρ€Π°Ρ˜ΡƒΡ›ΠΎΠΌ ΠΈΠ½Π΄ΠΈΠΊΠ°Ρ†ΠΈΡ˜ΠΎΠΌ. Па, Π½Π°Ρ€Π°Π²Π½ΠΎ, Π²Ρ€Π΅Π΄ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚ΠΈ Π·Π°ΡˆΡ‚ΠΈΡ‚Ρƒ ΠΎΠ΄ Ρ†ΡƒΡ€Π΅ΡšΠ°.

Π£ Ρ‡Π»Π°Π½ΠΊΡƒ сам описао ΡΠ²ΠΎΡ˜Ρƒ Π²Π΅Ρ€Π·ΠΈΡ˜Ρƒ ΡƒΡ€Π΅Ρ’Π°Ρ˜Π° заснованог Π½Π° Π•Π‘ΠŸ8266. По ΠΌΠΎΠΌ ΠΌΠΈΡˆΡ™Π΅ΡšΡƒ, дошао сам Π΄ΠΎ Π²Π΅ΠΎΠΌΠ° интСрСсантнС Π²Π΅Ρ€Π·ΠΈΡ˜Π΅ ΠΌΠΈΠΊΡ€ΠΎΠΏΠΈΡ‚Ρ…ΠΎΠ½ Ρ„ΠΈΡ€ΠΌΠ²Π΅Ρ€Π° користСћи ΠΊΠΎΡ€ΡƒΡ‚ΠΈΠ½Π΅ - Ρ˜Π΅Π΄Π½ΠΎΡΡ‚Π°Π²Π½ΠΎ ΠΈ Π»Π΅ΠΏΠΎ. ΠŸΠΎΠΊΡƒΡˆΠ°ΠΎ сам Π΄Π° опишСм ΠΌΠ½ΠΎΠ³Π΅ нијансС ΠΈ нСдостаткС Π½Π° којС сам наишао Ρ‚ΠΎΠΊΠΎΠΌ кампањС. МоТда сам свС ΠΈΡΡƒΠ²ΠΈΡˆΠ΅ Π΄Π΅Ρ‚Π°Ρ™Π½ΠΎ описао; Π»ΠΈΡ‡Π½ΠΎ, ΠΊΠ°ΠΎ Ρ‡ΠΈΡ‚Π°ΠΎΡ†Ρƒ, лакшС јС Π΄Π° прСскочим Π½Π΅ΠΏΠΎΡ‚Ρ€Π΅Π±Π½Π΅ ствари Π½Π΅Π³ΠΎ Π΄Π° каснијС Ρ€Π°Π·ΠΌΠΈΡˆΡ™Π°ΠΌ ΡˆΡ‚Π° јС остало Π½Π΅Π΄ΠΎΡ€Π΅Ρ‡Π΅Π½ΠΎ.

Као ΠΈ ΡƒΠ²Π΅ΠΊ, ΠΎΡ‚Π²ΠΎΡ€Π΅Π½ сам Π·Π° конструктивну ΠΊΡ€ΠΈΡ‚ΠΈΠΊΡƒ.

Π˜Π·Π²ΠΎΡ€
Коло ΠΈ ΠΏΠ»ΠΎΡ‡Π°
МодСл ΠΊΡƒΡ›ΠΈΡˆΡ‚Π°

Π˜Π·Π²ΠΎΡ€: Π²Π²Π².Ρ…Π°Π±Ρ€.Ρ†ΠΎΠΌ

Π”ΠΎΠ΄Π°Ρ˜ ΠΊΠΎΠΌΠ΅Π½Ρ‚Π°Ρ€