У меня есть RFID Reader, который подключен к моему коду через MQTT. Я хочу спроектировать систему таким образом, чтобы у пользователя был начальный API, а также API Stop и API, который получает данные и преобразовывает его, чтобы сделать данные читаемыми. Теги. < /p>
У меня есть RFID Reader, который подключен к моему коду через MQTT. Я хочу спроектировать систему таким образом, чтобы у пользователя был начальный API, а также API Stop и API, который получает данные и преобразовывает его, чтобы сделать данные читаемыми. Теги. < /p> [code]IST = timezone(timedelta(hours=5, minutes=30))
def on_connect(client, userdata, flags, rc): print(f"[MQTT] Connected with result code {rc}") client.subscribe(MQTT_TOPIC, qos=1)
def on_message(client, userdata, msg): try: data = json.loads(msg.payload.decode()) epc = data['tagInventoryEvent']['epcHex'] timestamp_str = data['timestamp'] timestamp = datetime.fromisoformat(timestamp_str.replace("Z", "+00:00")) if timestamp.tzinfo is None: timestamp = make_aware(timestamp, timezone=pytz.UTC) else: timestamp = timestamp.astimezone(pytz.UTC)
session = ScanSession.objects.filter(is_active=True).order_by("-start_time").first() if session: start_time = session.start_time if start_time.tzinfo is None: start_time = make_aware(start_time, timezone=pytz.UTC) else: start_time = start_time.astimezone(pytz.UTC) print(f"[MQTT] Start time: {start_time}")
if timestamp >= start_time: print(f"Accepted tag: {epc} at {timestamp.isoformat()} for session {session.id}") ScannedTag.objects.create(epc=epc, timestamp=timestamp, scan_session=session) else: print(f"Ignored tag before session start: {epc} at {timestamp}") else: print(f"Ignored tag, no active scan session: {epc} at {timestamp}")
except Exception as e: print(f" Error in on_message: {e}")
def start_mqtt(): global is_mqtt_connected client.on_connect = on_connect client.on_message = on_message # if not is_mqtt_connected: print("Connecting MQTT...") client.connect(MQTT_BROKER, MQTT_PORT, 60) clear_retained_message() # clear stale tag before listening client.loop_start() is_mqtt_connected = True print("[MQTT] Loop started and subscribed.") # else: # print("[MQTT] Already connected.") < /code> Теперь пример результата, который я получаю после запуска, выглядит следующим образом: < /p> [MQTT] Start time: 2025-08-18 07:35:49.246005+00:00 [⛔️] Ignored tag before session start: 504C313235342F3030313138 at 2025-08-18 07:35:22.421264+00:00 [MQTT] Start time: 2025-08-18 07:35:49.246005+00:00 [⛔️] Ignored tag before session start: 504C313235342F3030313236 at 2025-08-18 07:35:22.421628+00:00 [MQTT] Start time: 2025-08-18 07:35:49.246005+00:00 [⛔️] Ignored tag before session start: 504C313235342F3030313132 at 2025-08-18 07:35:22.671264+00:00 [MQTT] Start time: 2025-08-18 07:35:49.246005+00:00 [⛔️] Ignored tag before session start: 504C313235342F3030313231 at 2025-08-18 07:35:22.921329+00:00 [MQTT] Start time: 2025-08-18 07:35:49.246005+00:00 [/code] Когда время начала составляет 49 секунд, а сеанс чистый, то почему я получаю теги в 22 секунды?
Я создал следующую службу брокера MQTT в приложении .NET Core:
public class BrokerService : IBrokerService
{
private readonly IConfiguration _configuration;
private readonly ILogger
_logger;
private readonly MqttServer _mqttServer;
Я пытаюсь отправить данные OpenAI GPT API с сервера ExpressJS в ReactJS. Я проверил несколько статей, подобных этой, «Поток завершения OpenAI с Node.js и Express.js», но ни одна из них не сработала. Я получаю подсказку от ReactJS.
app.post('/gpt',...
Я создаю клиент-серверное приложение, которое передает данные экрана с клиента на сервер с помощью Python, OpenCV и сокетов. Потоковая передача экрана осуществляется путем захвата снимка экрана на клиенте, его кодирования в формате JPEG и отправки...
Я создаю клиент-серверное приложение, которое передает данные экрана с клиента на сервер с помощью Python, OpenCV и сокетов. Потоковая передача экрана осуществляется путем захвата снимка экрана на клиенте, его кодирования в формате JPEG и отправки...
Я пытаюсь получить идентификатор сеанса текущего интерактивного пользователя. Но он должен работать в сценарии общего рабочего стола, например Citrix, при вызове из скрытого сеанса 0.
У меня есть несколько проблем.