Внесение изменений в код Python 2 с открытым исходным кодом датчика Apogee для работы на Raspberry pi 4 через USB-порт.Python

Программы на Python
Ответить
Anonymous
 Внесение изменений в код Python 2 с открытым исходным кодом датчика Apogee для работы на Raspberry pi 4 через USB-порт.

Сообщение Anonymous »

Работаю над проектом по подключению нескольких датчиков к Raspberry Pi 4 Model B и потоковой передаче собранных данных в Google Cloud Platform для хранения/отчетности/анализа.
У меня есть датчик Apogee sq520 PAR, который подключается через USB и предназначен для работы на Windows и Mac (но не Linux) с сопутствующим графическим интерфейсом для просмотра данных. Я подключил датчик к Raspberry PI через порт USB (поскольку контакты ввода-вывода не показаны), и теперь мне нужно написать программу для Pi, чтобы прочитать его. После обращения в службу поддержки Apogee они предоставили мне исходный код (ниже). Однако, поскольку я новичок, мне сложно вносить изменения в код, который будет читаться Raspberry Pi. Нужна вся помощь и поддержка, которую я могу получить.
Примечания:
  • Код использует библиотеку Pyserial.
  • Код написан на Python 2.7 (согласно веб-сайту). - Я использую Python 3.
  • При компиляции кода как есть я получаю множество синтаксических ошибок, независимо от того, компилируется ли он на Python 2 или 3.
  • Датчик подключается через USB 5 В.
  • Подробнее о датчике: https://www.apogeeinstruments.com/sq-52 ... escription
Код:
from serial import Serial

from time import sleep

import struct

GET_VOLT = '\x55!'

READ_CALIBRATION = '\x83!'

SET_CALIBRATION = '\x84%s%s!'

READ_SERIAL_NUM = '\x87!'

GET_LOGGING_COUNT = '\xf3!'

GET_LOGGED_ENTRY = '\xf2%s!'

ERASE_LOGGED_DATA = '\xf4!'

class Quantum(object):

def __init__(self):

"""Initializes class variables, and attempts to connect to device"""

self.quantum = None

self.offset = 0.0

self.multiplier = 0.0

self.connect_to_device()

def connect_to_device(self):

"""This function creates a Serial connection with the defined comport

and attempts to read the calibration values"""

port = 'COM1' # you'll have to check your device manager and put the actual com port here

self.quantum = Serial(port, 115200, timeout=0.5)

try:

self.quantum.write(READ_CALIBRATION)

multiplier = self.quantum.read(5)[1:]

offset = self.quantum.read(4)

self.multiplier = struct.unpack('

Подробнее здесь: https://stackoverflow.com/questions/688 ... ry-pi-4-th
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»