Уведомления

Группа в Telegram: @pythonsu

#1 Апрель 11, 2013 10:30:04

romario82
Зарегистрирован: 2013-04-10
Сообщения: 56
Репутация: +  2  -
Профиль   Отправить e-mail  

Вывод полученной информации с COM порта на WEB страницу.

Здравствуйте!
У меня такой вопрос?
Я собрал на микроконтроллере цифровой термометр, и значение температуры передаю через com порт на компьютер. Мне нужно удалённо контролировать Т в серверной. Я хочу выводить значение температуры на web страницу, которая размещена на самом сервере (установлен Apach, ОС Linux Ubuntu). Прогу для работы с com портом в инете нашёл:

import time
import serial
# configure the serial connections (the parameters differs on the device you are connecting to)
ser = serial.Serial(
	port='/dev/ttyUSB1',
	baudrate=9600,
	parity=serial.PARITY_ODD,
	stopbits=serial.STOPBITS_TWO,
	bytesize=serial.SEVENBITS
)
ser.open()
ser.isOpen()
print 'Enter your commands below.\r\nInsert "exit" to leave the application.'
input=1
while 1 :
	# get keyboard input
	input = raw_input(">> ")
        # Python 3 users
        # input = input(">> ")
	if input == 'exit':
		ser.close()
		exit()
	else:
		# send the character to the device
		# (note that I happend a \r\n carriage return and line feed to the characters - this is requested by my device)
		ser.write(input + '\r\n')
		out = ''
		# let's wait one second before reading output (let's give device time to answer)
		time.sleep(1)
		while ser.inWaiting() > 0:
			out += ser.read(1)
			
		if out != '':
			print ">>" + out

Помогите с реализацией.

Офлайн

#2 Апрель 12, 2013 00:44:43

JOHN_16
От: Россия, Петропавловск-Камчатск
Зарегистрирован: 2010-03-22
Сообщения: 3292
Репутация: +  221  -
Профиль   Отправить e-mail  

Вывод полученной информации с COM порта на WEB страницу.

В чем проблема то? что у вас не получается конкретно?



_________________________________________________________________________________
полезный блог о python john16blog.blogspot.com

Офлайн

#3 Апрель 12, 2013 11:28:31

romario82
Зарегистрирован: 2013-04-10
Сообщения: 56
Репутация: +  2  -
Профиль   Отправить e-mail  

Вывод полученной информации с COM порта на WEB страницу.

Этот код, как я понимаю, должен выступать в роли скрипта.
Как правильно организовать взаимодействие этого кода с ВЕБ страницой.

Офлайн

#4 Апрель 13, 2013 03:27:26

JOHN_16
От: Россия, Петропавловск-Камчатск
Зарегистрирован: 2010-03-22
Сообщения: 3292
Репутация: +  221  -
Профиль   Отправить e-mail  

Вывод полученной информации с COM порта на WEB страницу.

ну тут надо с обратной стороны идти:
у вас есть веб-сервер. Приходит на него запрос, тот передает ее cgi скрипту, который запрашивает по ком порту значение температуры, и отдает страницу серверу.

у вас сам скрипт работает?



_________________________________________________________________________________
полезный блог о python john16blog.blogspot.com

Офлайн

#5 Апрель 15, 2013 16:35:32

romario82
Зарегистрирован: 2013-04-10
Сообщения: 56
Репутация: +  2  -
Профиль   Отправить e-mail  

Вывод полученной информации с COM порта на WEB страницу.

Вот в организации обмена данными между WEB-сервером и cgi скриптом мне и нужна помощь. Сам я «потихоньку» изучаю PYTHON, но чтоб углубится, катастрофически не хватает времени.
Поэтому очень буду признателен «наброскам кода», к примеру, как приведённую выше программу «превратить» в cgi скрипт, какой код должна содержать web страница для отправки запроса скрипту …

Спасибо JOHN_16 за проявленный интерес к моему вопросу!!!!!

Офлайн

#6 Апрель 16, 2013 06:09:14

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

Вывод полученной информации с COM порта на WEB страницу.

Для питона ИМХО более актуален WSGI, статьи в википедии достаточно для того, чтобы набросать простой WSGI-скрипт. Но если изобретать велосипед задачи не стоит, возьмите нормальную батарейку от маэстро Ранахера http://werkzeug.pocoo.org/ и жизнь Ваша станет легка и прекрасна.



Офлайн

#7 Апрель 18, 2013 02:10:58

JOHN_16
От: Россия, Петропавловск-Камчатск
Зарегистрирован: 2010-03-22
Сообщения: 3292
Репутация: +  221  -
Профиль   Отправить e-mail  

Вывод полученной информации с COM порта на WEB страницу.

romario82
Для начала бы неплохо понять работает ли железка так как надо, что выдаст вам этот код?

import time
import serial
# configure the serial connections (the parameters differs on the device you are connecting to)
ser = serial.Serial(
	port='/dev/ttyUSB1',
	baudrate=9600,
	parity=serial.PARITY_ODD,
	stopbits=serial.STOPBITS_TWO,
	bytesize=serial.SEVENBITS,
	timeout=5
)
s=ser.read(1024)
print s
print repr(s)
ser.close()



_________________________________________________________________________________
полезный блог о python john16blog.blogspot.com

Офлайн

#8 Апрель 22, 2013 14:46:55

romario82
Зарегистрирован: 2013-04-10
Сообщения: 56
Репутация: +  2  -
Профиль   Отправить e-mail  

Вывод полученной информации с COM порта на WEB страницу.

Питону почему-то не нравится переменная s, выдаёт – синтаксическая ошибка. Проверял работу в Винде т. к. в Ubuntu не получается подключиться к порту (внутренние проблемы в самой системе и питоне, разбираюсь)

import time
import serial
# configure the serial connections (the parameters differs on the device you are connecting to)
ser = serial.Serial(
	port='COM1',
	baudrate=9600,
	parity=serial.PARITY_NONE,
	stopbits=serial.STOPBITS_ONE,
	bytesize=serial.EIGHTBITS
)
s=ser.read(1024)
print s
print repr(s)
ser.close()
Подключился к порту в python shel l
>>> import serial
>>> ser = serial.Serial('COM1', 9600)
>>> while 1:
...     ser.readline()
заработало сразу

Офлайн

#9 Апрель 22, 2013 23:57:04

JOHN_16
От: Россия, Петропавловск-Камчатск
Зарегистрирован: 2010-03-22
Сообщения: 3292
Репутация: +  221  -
Профиль   Отправить e-mail  

Вывод полученной информации с COM порта на WEB страницу.

romario82
я не скажу за всех, скажу за себя, но моя точка зрения найдет положительный отклик у многих:
Если я задаю вам конкретный вопрос, то я ожидаю услышать ответ на заданный вопрос.
Вашу проблему, если бы вы шли мне на встречу, мы бы уже решили, а так вы тяните кота за понятно что. Если у вас такой метод обучения, то скажите , я просто перестану обращать внимания на этот топик.

romario82
в Ubuntu не получается подключиться к порту
догадываюсь почему, потому что хозяин /dev/ttyUSB1 есть никто иной как root.dialout, а вы с обычной записью пользователя не являетесь ни тем ни другим.

romario82
выдаёт – синтаксическая ошибка.
код ошибки указывайте, и если там синтаксическая ошибка, то уж поверьте там именно она.

А теперь еще раз : что выдает на экран чтение с устройства?



_________________________________________________________________________________
полезный блог о python john16blog.blogspot.com

Офлайн

#10 Апрель 23, 2013 10:15:22

alexbadaloff
От: Иваново
Зарегистрирован: 2013-04-11
Сообщения: 198
Репутация: +  16  -
Профиль   Отправить e-mail  

Вывод полученной информации с COM порта на WEB страницу.

romario82
Питону почему-то не нравится переменная s, выдаёт – синтаксическая ошибка

Более чем уверен, что вы юзаете python 3, а пример вам дали из python 2:
поменяйте:
print s
на:
print(s)



————————–
Истина где-то рядом

Отредактировано alexbadaloff (Апрель 23, 2013 10:16:42)

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version