Данные Django Raspberry Pi LCD RealTime

У меня Django 2.0 на Raspberry Pi 3. Я подключил 2x16LCD к этому устройству. Я ищу способы отображения данных датчика и времени на экране в режиме реального времени. Вот мой views.py:

from django.shortcuts import render
from engine.functions import lcdF

def index(request):
    if 'temp' in request.POST:
        lcdF.printTemp(0,2)
    elif 'time' in request.POST:
        lcdF.printTime()
    return render(request, 'system/index.html')

В файле index.html у меня есть две кнопки, которые отправляют запрос POST
А вот и lcdF.py:

import time
from datetime import datetime
from engine.lib import lcd, temp

config = lcd.LCD()

def printWelcome():
    config.lcd_clear()
    config.lcd_display_string("System", 1)
    config.lcd_display_string("aktywny", 2)


def printLong(self, string, row):
    config.lcd_clear()
    my_long_string = string
    my_long_string = my_long_string + " "
    config.lcd_display_string(my_long_string[:19], row)

    for i in range(0, len(my_long_string)):
        lcd_text = my_long_string[i:(i + 20)]
        config.lcd_display_string(lcd_text, row)
        time.sleep(0.3)
        # self.display.lcd_clear()


def printTime():
    config.lcd_clear()
    config.lcd_display_string("ZEGAR:", 1)
    while True:
        data = datetime.now().strftime('%d.%m.%y %H:%M')
        config.lcd_display_string(data, 2)
        time.sleep(1)


def printTemp(number, frequency):
    config.lcd_clear()
    config.lcd_display_string("TEMP:", 1)
    while True:
        x = round(temp.read_temp(), number)
        temperature = "{temp:." + str(number) + "f}"
        string = str(temperature.format(temp=x))
        config.lcd_display_string(string + " C", 2)
        time.sleep(frequency)

Это неправильная работа, эти две функции мешают друг другу
Это хорошая идея, чтобы получить значение данных через цикл True?

0 ответов

Другие вопросы по тегам