Парсинг строки от пайтона

ArduinoFun
Offline
Зарегистрирован: 19.10.2021

Добрый вечер! Имею при себе Arduino nano и столкнулся с проблемой. При отправке данных на ардуинку, библиотека не может обработать информацию. Следовательно, я бы хотел узнать как парсить строку подобного вида: {"date":"12/02/2021", "status": 1}. Код ниже:

Python: #!/usr/bin/python # -*- coding: utf8 -*-

import serial from serial.tools import list_ports from raises import exceptions import json

link = list_ports.comports()[0] port = link.device

def write_read(cmd: str): print(bytes(cmd, "utf-8")) ser.write(bytes(cmd, "utf-8"))

with serial.Serial( port=port, baudrate=115200

) as ser:

data = {"date": "13:59:23", "status": 1} data = json.dumps(data)

if ser.isOpen(): ser.write(data.encode('ascii')) ser.flush()

 

 

===============================

http://arduino.ru/forum/obshchii/vstavka-programmnogo-koda-v-temukommentarii

 

 

Если вкратце, пайтон программа отправляет {"date":"12/02/2021", "status": 1} на ардуинку, но реакции ноль. Возможно проблема в "String payload = Serial.readStringUntil('\n');". Как исправлять?

mykaida
mykaida аватар
Offline
Зарегистрирован: 12.07.2018

А у Вас в питоне конец строки прописан?

Передайте для начала что-нибудь попроще.

b707
Offline
Зарегистрирован: 26.05.2017

Пусть для начала вставит код на форум правильно

ArduinoFun
Offline
Зарегистрирован: 19.10.2021

Да. Передал слово TEST, реакции нет. Такое ощущение, что проблема в кодировках, хотя и utf-8 и ascii пробую

b707
Offline
Зарегистрирован: 26.05.2017

ArduinoFun пишет:
Такое ощущение, что проблема в кодировках, хотя и utf-8 и ascii пробую

такое впечатление, что вы не слышите.

Повторяю - вставьте код правильно, если хотите чтобы кто-то его обсуждал.

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

ArduinoFun пишет:
хотя и utf-8 и ascii пробую
Для трок вида "{"date":"12/02/2021", "status": 1}"? 

mixail844
Offline
Зарегистрирован: 30.04.2012
вначале нужно убедиться что отправляемая строка из пайтона вообще доходит до ардуины(может контакты rx tx перепутаны, может порт не тот выбран и.т.д) .
напишите для ардуины код "эхо" ,то есть все что отправляет пайтон , ардуино возвращает обратно 
mykaida
mykaida аватар
Offline
Зарегистрирован: 12.07.2018

ArduinoFun пишет:

А проверить string xyz=Serial.readString() сложно?