key = "letters1keydog963"
totp = pyotp.TOTP(key)
base64.b32encode
.
Parameters
Secret
REQUIRED: The secret parameter is an arbitrary key value encoded in Base32 according to RFC 3548. The padding specified in RFC 3548 section 2.2 is not required and should be omitted.
from typing import Dict, Any
def process(answer, result_json: Dict[str, Any]) -> None:
tmp_json = parse_answer(answer)
result_json['summary_text'] += tmp_json['result']
result_json['tags'].extend(tmp_json['tags'])
result_json['input_size'] += answer.input_size
result_json['output_size'] += answer.output_size
def handler(text: str, max_size: int) -> Dict[str, Any]:
result_json = {'summary_text': '', 'tags': [], 'input_size': 0, 'output_size': 0}
match len(text):
case size if size > max_size:
chunker = TextChunker(maxlen=max_size)
for chunk in chunker.chunk(text):
answer = get_answer(chunk, tags_quantity=1)
process(answer, result_json)
case _:
answer = get_answer(text, tags_quantity=3)
process(answer, result_json)
return result_json
import subprocess
from time import sleep
class CameraMonitor:
def __init__(self):
self.IP12 = '192.168.0.100'
self.IP13 = '192.168.0.101'
self.RODOS12 = '192.168.1.100'
self.RODOS13 = '192.168.1.101'
self.fail_count = {'Купол 12': 0, 'Купол 13': 0}
self.reboot_count = {'Купол 12': 0, 'Купол 13': 0}
def ping_camera(self, ip):
cmd = f'ping {ip} -n 1 -w 100'
response = subprocess.call(cmd, stdout=subprocess.DEVNULL)
return response == 0
def cameras_checker(self):
r_dict = {'Купол 12': self.IP12, 'Купол 13': self.IP13}
while True:
for camera, ip in r_dict.items():
if self.ping_camera(ip):
print(f'Camera {camera} - OK')
self.fail_count[camera] = 0
else:
self.fail_count[camera] += 1
print(f'Camera {camera} - Died')
if self.fail_count[camera] >= 5:
self.cameras_reboot(camera)
sleep(5)
def cameras_reboot(self, camera):
if camera == 'Купол 12':
ip = self.RODOS12
else:
ip = self.RODOS13
self.reboot_count[camera] += 1
print(f'Rebooting {camera} at IP {ip}')
def info(self):
for camera, count in self.reboot_count.items():
print(f'Перезагрузок {camera}: {count}')
if __name__ == "__main__":
monitor = CameraMonitor()
monitor.cameras_checker()
>>> timeit.timeit(stmt='(A == B).all()', setup='import numpy; A, B = numpy.zeros((1000,)), numpy.zeros((1000,))', number=10_000_000)
20.43348090001382
>>> timeit.timeit(stmt='numpy.array_equal(A, B)', setup='import numpy; A, B = numpy.zeros((1000,)), numpy.zeros((1000,))', number=10_000_000)
27.85776079981588
>>>
return builtins.bool((a1 == a2).all())
так как аккум даёт максимум 4.2 v я решил поставить повышайку которая может с 3 вольт поднять до 30 вольт и максимум выдаёт 2 ампер. Кулер потребляет 0.2 ампер. Но безопасно ли подключать таким образом?Выбрали экспертом - отвечаю. Судя по этим параметрам, так делать можно. Но надо иметь ввиду, что ток, потребляемый от аккума, будет много больше, чем 0,2 ампера. Насколько меньше напряжение, настолько же больше будет ток. Я буду оперировать напряжением не 30 вольт, а 24, поскольку именно таково штатное напряжение питания вентилятора, и именно на 24 надо настраивать выход вашей повышайки: