• Что делать с питанием от аккумуляторов на улице?

    firedragon
    @firedragon
    Не джун-мидл-сеньор, а трус-балбес-бывалый.
    Минус для них смерть заизолируй пеной или урсой и сделай термоподогрев

    Я такую фигню делал для газовиков что то типа термоса и внутри блок аккамуляторов бигл боне и ик диоды плюс мелкий вентилятор
    Ответ написан
    Комментировать
  • Что делать с питанием от аккумуляторов на улице?

    @mordo445
    Используй кислотные аккумуляторы закопанные на метр-полтора в землю -- в герметичном ящике. Хорошая термостабилизация, долгая жизнь, если водой не зальет и если не вечна мерзлота
    Ответ написан
    2 комментария
  • Как включать светодиоды датчиком освещенности с Алиэкспресс?

    @evgeniy_lm
    Во-первых, модуль освещенности дает сигнал, когда светло,

    Вот это новость! Он же "модуль освещенности", а не "затемненности"

    как я понимаю, он при срабатывании (когда светло) дает на цифровой выход низкий сигнал (землю, минус). А когда темно - ничего не дает.

    Это ЦИФРОВОЙ!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! датчик. Он на выходе выдает 0 или 1 TTL уровня т.е. 0В или 5В напряжения. А у вас как в той загадке "то потухнет, то погаснет"
    В чем проблема, если когда светло на выходе 5В проинвертируйте сигнал любым npn транзистором. Такой мусор на алике заказывать не нужно.

    ЗЫ Мне, например, заказывать всю эту хрень на алике даже в голову не пришло, в любом ближайшем инетмагазине это стоит столько же только доставка в течении пары дней

    ЗЫ ЗЫ А что вы собрались включать 2n7000? У него предельно допустимый ток 1А, т.е. несколько часов он потянет не больше 0,3А. Для 12В LED ленты это 3,6Вт. Маловато как то. Я бы взял IRFZ44N, на него без радиатора можно 3А повесить
    Ответ написан
    7 комментариев
  • Как рассчитать мощность солнечной панели?

    @pfg21
    ex-турист
    потребление, (только лучше не примерное), домножаешь на полтора (~70% суммарный кпд зарядник - аккум - выходной проебразователь) * 24 час. это суточное потребление.
    умножаешь раз в пять-семь (запас на не- или малосолнечные дни) - считаешь необходимую емкость аккума.
    берешь потребление за три дня (опять же про запас) смотришь в табличке инсоляцию для своего региона - считаешь необходимую мощность солнечной панели.
    еще стоит подобрать железяки, могущие напрямую питаться от выбранного аккума.
    да и взять зарядник для аккума с mppt.
    если аккум будет использоваться зимой без утепления, то еще домножаешь на "зимний" кпд. да и смотришь в сторону свинца, ибо кпд замерзшего лития около плинтуса.
    это так... для прикидки :)
    Ответ написан
    Комментировать
  • Как сделать мини ветрогенератор из моторчика от принтера?

    @evgeniy_lm
    Ваш моторчик высокооборотистый и нужные вам 3Вт он выдаст при 3000-5000 оборотах, так что необходим редуктор с большим передаточным числом. Не забывайте чем сложнее редуктор тем больше потерь мощности. Так же необходимо предусмотреть ограничение тока при порывах ветра
    Ответ написан
    Комментировать
  • Как сделать замену определенный значений в БД sqlite3 на Python 3?

    hottabxp
    @hottabxp Куратор тега Python
    Сначала мы жили бедно, а потом нас обокрали..
    Играйтесь:
    import sqlite3
    
    conn = sqlite3.connect('users.db')
    cursor = conn.cursor()
    
    cursor.execute('''CREATE TABLE IF NOT EXISTS users(id INTEGER PRIMARY KEY AUTOINCREMENT,
                                                        user_name TEXT,
                                                        user_id TEXT,
                                                        user_status TEXT
                                                    )''')
    
    cursor.execute('DELETE FROM users')
    
    users = [[None,'Валера','123','blocked'],
            [None,'Тарас','134','blocked'],
            [None,'Степан','145','normal'],
            [None,'Абдурахман','168','blocked'],
            [None,'Петя','190','normal']]
    
    for user in users:
        cursor.execute('INSERT INTO users VALUES(?,?,?,?)',user) # Заполняем таблицу из списка
    conn.commit()
    
    result = cursor.execute('SELECT id,user_id FROM users WHERE user_status="blocked"').fetchall()
    # Выбираем из базы id(порядковый номер пользователя в базе), user_id - id пользователя в вашей системе только тех пользователей,
    # в которыъ статус blocked
    
    for x in result: # перебираем результаты
        id,user_id = x # Распаковываем кортеж
        cursor.execute('UPDATE users SET user_status=? WHERE id=?',('normal',id)) # обновляем записи в таблице.
        # Так как у нас есть порядковый номер пользователя в таблице(id), то обновляем записи этих id и устанавливаем
        #  user_status в normal
        print(f'Статус blocked изменен на normal для следуещего пользователя {user_id}')
    
    conn.commit()
    conn.close()
    Ответ написан
    Комментировать
  • Как сделать автоматическое поддержание работы скрипта Python на Ubuntu?

    Victor_M
    @Victor_M
    Системный аналитик
    Запустить скрипт в качестве Сервиса.
    У меня сделано так:
    1. Пользователь-владелец домашнего каталога скрипта - telebot, рут-права не обязательны для работы
    2. Создать файл telebot.service в каталог /etc/systemd/system

    Содержимое файла:
    [Unit]
    Description=Service for Telegram bot main. From user telebot
    After=network.target
    # Для запуска сервиса нужен запущенный сервис MySQL (т.к. работаем с базой данных, расположенной на этом же сервере)
    After=mysql.service
    Requires=mysql.service
    
    [Install]
    WantedBy=multi-user.target
    
    [Service]
    # Даем знать systemd, что этот сервис представляет из себя лишь 1 процесс.
    # Ожидается, что процесс, настроенный с помощью ExecStart= является основным процессом службы
    Type=simple
    # Устанавливаем рабочую дирректорию службы
    WorkingDirectory=/home/telebot/bot_prod/
    # Указаываем пользователя и группу для работы службы
    User=telebot
    Group=telebot
    # Должна ли служба считаться активной, даже если все ее процессы завершены
    RemainAfterExit=no
    # Выполнить эту команду при запуске сервиса.
    ExecStart=python3 /home/telebot/bot_prod/bot.py
    # Говорим, что нужно перезапускать сервис, если вдруг он умер
    Restart=on-failure
    # Таймаут на включение и выключение
    TimeoutSec=60
    Ответ написан
    Комментировать
  • Как сделать автоматическое поддержание работы скрипта Python на Ubuntu?

    @dmtrrr
    Backend developer
    1. supervisord.org
    2. docker
    Ответ написан
    Комментировать
  • Как сделать базу данных пользователей для Python?

    dimonchik2013
    @dimonchik2013
    non progredi est regredi
    sqlite
    Ответ написан
    Комментировать
  • Поможете с задачкой на Python?

    trapwalker
    @trapwalker Куратор тега Python
    Программист, энтузиаст
    Нет, вы можете получить листинг каталога по маске glob.glob('*.user'), потом взять максимальное (в алфавитно-цифровом порядке) имя, отрезать у него расширение, превратить в целое число, увеличить на единицу, отформатировать нулями слева и создать новый файл.

    last = max(glob.glob('*.user')+[''])
    new = (last and int(last.split('.')[0]) or 0) + 1
    Ответ написан
    Комментировать