Уведомления

Группа в Telegram: @pythonsu

#1 Май 28, 2020 18:37:05

kipa67
Зарегистрирован: 2020-05-28
Сообщения: 5
Репутация: +  1  -
Профиль   Отправить e-mail  

Firmata и arduno. Ошибка- AttributeError: module 'serial' has no attribute 'Serial'

Windows 7, Python 3.6 , PyCharm
Изучаю Python решил по управлять Arduino, поставил библиотеку Pyfirmata. Не работает, постоянно выдает ошибку-

 C:\Python37-32\python.exe E:/PYTHON_SKETCH/Led13.py
Traceback (most recent call last):
  File "E:/PYTHON_SKETCH/Led13.py", line 4, in <module>
    board = pyfirmata.Arduino("COM3")
  File "C:\Python37-32\lib\site-packages\pyfirmata\__init__.py", line 19, in __init__
    super(Arduino, self).__init__(*args, **kwargs)
  File "C:\Python37-32\lib\site-packages\pyfirmata\pyfirmata.py", line 89, in __init__
    self.sp = serial.Serial(port, baudrate, timeout=timeout)
AttributeError: module 'serial' has no attribute 'Serial' 

Вот код из примера-
  import pyfirmata
import time
board = pyfirmata.Arduino("COM3")
it = pyfirmata.util.Iterator(board)
it.start()
board.digital[10].mode = pyfirmata.INPUT
while True:
    sw = board.digital[10].read()
    if sw is True:
        board.digital[13].write(1)
    else:
        board.digital[13].write(0)
    time.sleep(0.1) 

Уже три дня не могу понять почему не работает, прочитал кучу сайтов везде этот пример. Я прошу обьяснить почему не запускается или направить в нужную сторону где искать ответ. Потому что без помощи, да и с моими знаниями я не справлюсь. Я понимаю что что-то с библиотекой не так…

Отредактировано kipa67 (Май 28, 2020 18:38:07)

Офлайн

#2 Май 28, 2020 22:12:50

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 9885
Репутация: +  853  -
Профиль   Отправить e-mail  

Firmata и arduno. Ошибка- AttributeError: module 'serial' has no attribute 'Serial'

Возможно, у тебя сам файл называется serial.py .
В любом случае открой питон в консоли и там набери

  
import serial
serial.Serial

Типа такого должно получиться
  
>>> import serial
>>> serial.Serial
<class 'serial.serialposix.Serial'>
>>>



Отредактировано py.user.next (Май 28, 2020 22:13:06)

Офлайн

#3 Май 29, 2020 09:25:33

kipa67
Зарегистрирован: 2020-05-28
Сообщения: 5
Репутация: +  1  -
Профиль   Отправить e-mail  

Firmata и arduno. Ошибка- AttributeError: module 'serial' has no attribute 'Serial'

Файл называется- blink_1.py
В PyCharm запустил эту строку получил ответ–

  import serial
serial.Serial
Traceback (most recent call last):
  File "<input>", line 1, in <module>
AttributeError: module 'serial' has no attribute 'Serial'   
Модуль serial неимеет атрибута Serial– ??? Что это значит?
Перезагрузил библиотеку Serial, все осталось по прежнему, пшет не имеет атрибута.

А в Thonny запустил все нормально.

Офлайн

#4 Май 29, 2020 10:05:34

doza_and
От:
Зарегистрирован: 2010-08-15
Сообщения: 4138
Репутация: +  252  -
Профиль   Отправить e-mail  

Firmata и arduno. Ошибка- AttributeError: module 'serial' has no attribute 'Serial'

То и означает что не имеет. Надо посмотреть что за модуль serial загрузился. По какому пути. что в нем есть. (dir)



Офлайн

#5 Май 29, 2020 10:06:42

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 9885
Репутация: +  853  -
Профиль   Отправить e-mail  

Firmata и arduno. Ошибка- AttributeError: module 'serial' has no attribute 'Serial'

Переустанови пакет pyserial
https://pypi.org/project/pyserial/

Можешь через pip3 переустановить его.



Офлайн

#6 Май 29, 2020 18:54:21

kipa67
Зарегистрирован: 2020-05-28
Сообщения: 5
Репутация: +  1  -
Профиль   Отправить e-mail  

Firmata и arduno. Ошибка- AttributeError: module 'serial' has no attribute 'Serial'

Пришлось полностью переустановить Python, PyCharm и все пакеты. и вот чудо заработал блинк на ардуино.
Спасибо за советы, сам наверно не додумался бы.

Офлайн

#7 Июнь 3, 2020 11:47:05

kipa67
Зарегистрирован: 2020-05-28
Сообщения: 5
Репутация: +  1  -
Профиль   Отправить e-mail  

Firmata и arduno. Ошибка- AttributeError: module 'serial' has no attribute 'Serial'

Сделаю уточнение, может кому пригодиться.
Я несколько раз переустанавливал Python а в PyCharm сохранились старые пути к библиотекам и (я так думаю) поэтому сыпались все время ошибки. Еще на Python 3.7.7 программа не запускалась, после установки Python 3.4.3 и установки библиотек, все заработало. Возможно дело было в этих проблемах. Я еще учусь писать программы на Python, поэтому каждый шаг дается с боем. И еще надо чтобы Arduino IDE после загрузки скетча, была закрыта. Вот работающая программа–

  from pyfirmata import Arduino, util
import time
board = Arduino("COM4")
loopTimes = input('How many times would you like the LED to blink: ')
print("Blinking " + loopTimes + " times.")
for x in range(int(loopTimes)):
	board.digital[13].write(1)
	time.sleep(0.2)
	board.digital[13].write(0)
	time.sleep(0.2)   

Офлайн

#8 Июнь 3, 2020 12:04:36

kipa67
Зарегистрирован: 2020-05-28
Сообщения: 5
Репутация: +  1  -
Профиль   Отправить e-mail  

Firmata и arduno. Ошибка- AttributeError: module 'serial' has no attribute 'Serial'

Спасибо, за помощь.

Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version