Receive Serial Data and store in different Variables in Python - Printable Version +- Python Forum (https://python-forum.io) +-- Forum: Python Coding (https://python-forum.io/forum-7.html) +--- Forum: General Coding Help (https://python-forum.io/forum-8.html) +--- Thread: Receive Serial Data and store in different Variables in Python (/thread-14947.html) |
Receive Serial Data and store in different Variables in Python - jenkins43 - Dec-26-2018 Hi, I am using a wireless modem which is connected with FTDI32 chip. The modem is receiving the values from Wireless Temperature sensor. I am working on a project in which I want to receive the values of the wireless sensor which is transmitted to the wireless modem in my laptop and with the help of python code, I want to convert the data and display in my message box. As in mentioned below manual, there are different registers which contain hexadecimal values and I need to store the register values in different variables using python Any suggestion on this will be a great help. https://ncd.io/long-range-iot-wireless-temperature-humidity-sensor-product-manual/ RE: Receive Serial Data and store in different Variables in Python - micseydel - Dec-26-2018 What is your question? RE: Receive Serial Data and store in different Variables in Python - jenkins43 - Dec-27-2018 Hi, Actually, I have created this code in which I am receiving the data from Arduino using serial communication in string format. import serial ard = serial.Serial('COM4', 9600); while True: k = ard.readline().decode('ascii'); print(k) I want to store the information in 3 different python variables. Do I need to use a buffer to store the received data? how will the code be? According to my search on the internet, the buffer is used to slice the string. As beginner python world I need some suggestion which helps me to create the temperature monitoring system. Will be looking forward to your advice on this. RE: Receive Serial Data and store in different Variables in Python - micseydel - Dec-27-2018 It depends on what the contents of k are here. For example, you could do something like this k = "1,2,3" a, b, c = k.split()Make sure to provide enough detail for us to help (e.g. what k looks like). RE: Receive Serial Data and store in different Variables in Python - jenkins43 - Dec-28-2018 Thanks for the help, Actually I am receiving the data as mentioned below hello\r\n hello1\r\n hello2\r\n I just want to store the data in such a way that >hello will be stored in variable a >hello1 will be stored in variable b >hello2 will be stored in variable c and the \n\r will be minimized from the serial data RE: Receive Serial Data and store in different Variables in Python - snippsat - Dec-28-2018 jenkins43 Wrote:>hello will be stored in variable aStore it in a dictionary,that's what Python dos If look closer at it when do a = 'hello' ,so do Python store this is in globals() dictionary.>>> a = 'hello' # how it look in globals 'a': 'hello', # Use this dictionary >>> globals()['a'] 'hello'So this make a visible dictionary record. import io # Simulate serial data ard = io.StringIO('''\ hello\r\n hello1\r\n hello2\r\n''') record = {} lst = ['a', 'b', 'c'] while True: k = ard.readline() if k == '': break try: if k == '\n': pass else: record[lst.pop(0)] = k.strip('\r\n') except IndexError: passTest: >>> record {'a': 'hello', 'b': 'hello1', 'c': 'hello2'} >>> record['b'] 'hello1' >>> record['c'] 'hello2' |