Ненавязчивая автоматизация ректификационной установки
Dmi_D
Кандидат наук
Минск
393 138
Отв.1240 29 Марта 18, 21:36
А фьюзы прошил?
nic2015
Магистр
Феодосия
219 56
Отв.1241 01 Апр. 18, 18:15
Коллеги, может кто подскажет, последний тест не идет "pi@raspberrypi:~ $ python /home/pi/wrk/test4.py
Traceback (most recent call last):
File "/home/pi/wrk/test4.py", line 123, in <module>
ps = bmp.BMP085() # Создаем объект - датчик давления
File "build/bdist.linux-armv7l/egg/Adafruit_BMP/BMP085.py", line 69, in __init__
File "build/bdist.linux-armv7l/egg/Adafruit_BMP/BMP085.py", line 72, in _load_calibration
File "build/bdist.linux-armv7l/egg/Adafruit_GPIO/I2C.py", line 202, in readS16BE
File "build/bdist.linux-armv7l/egg/Adafruit_GPIO/I2C.py", line 179, in readS16
File "build/bdist.linux-armv7l/egg/Adafruit_GPIO/I2C.py", line 166, in readU16
File "build/bdist.linux-armv7l/egg/Adafruit_PureIO/smbus.py", line 173, in read_word_data
IOError: [Errno 121] Remote I/O error"
Добавлено через 4дн. 19мин.:
Сергей можно для чайников по подробнее.Тест test_12_gui.py работает, тест test_13_2.py работает. А последний test_13_gui.py ни в какую(((
Добавлено через 25мин.:
Модули вроде все импортировал.
Traceback (most recent call last):
File "/home/pi/wrk/test4.py", line 123, in <module>
ps = bmp.BMP085() # Создаем объект - датчик давления
File "build/bdist.linux-armv7l/egg/Adafruit_BMP/BMP085.py", line 69, in __init__
File "build/bdist.linux-armv7l/egg/Adafruit_BMP/BMP085.py", line 72, in _load_calibration
File "build/bdist.linux-armv7l/egg/Adafruit_GPIO/I2C.py", line 202, in readS16BE
File "build/bdist.linux-armv7l/egg/Adafruit_GPIO/I2C.py", line 179, in readS16
File "build/bdist.linux-armv7l/egg/Adafruit_GPIO/I2C.py", line 166, in readU16
File "build/bdist.linux-armv7l/egg/Adafruit_PureIO/smbus.py", line 173, in read_word_data
IOError: [Errno 121] Remote I/O error"
Добавлено через 4дн. 19мин.:
Сергей можно для чайников по подробнее.Тест test_12_gui.py работает, тест test_13_2.py работает. А последний test_13_gui.py ни в какую(((
Добавлено через 25мин.:
Модули вроде все импортировал.
OldBean
Доцент
Красноярск
1K 1.4K
Отв.1242 09 Апр. 18, 04:25
nic2015, sorry, немножко некогда было...
Вы разобрались с проблемой? Судя по всему неприятность связана с самим датчиком давления или с шиной i2c. Проверка работоспособности устройства на шине i2c: Если i2c-интерфейс датчика давления BMPxxx в норме, Вы должны увидеть, помимо других, устройство по адресу 0x77. Если здесь все нормально, то проверьте функционирование датчика давления отдельно. По инструкции, описанной здесь или какой-нибудь другой из Сети. Удачи!
Вы разобрались с проблемой? Судя по всему неприятность связана с самим датчиком давления или с шиной i2c. Проверка работоспособности устройства на шине i2c:
i2cdetect -y 1
nic2015
Магистр
Феодосия
219 56
Отв.1243 09 Апр. 18, 07:15
От крейта отключил, подключил только bmp 280. Я запускаю пример из библиотеки:pi@raspberrypi:~ $ python /home/pi/Adafruit_Python_BMP/examples/simpletest.py. В ответ то же самое. Датчик bmp 280 пятивольтовый. Думал он, так запустил тест без него- такой же ответ, i2cdetect -y 1 находит его под номером 76. Голову сломал уже что ему надо))) Малинку что-ли другую заказать?
Добавлено через 3мин.:
pi@raspberrypi:~/Adafruit_Python_BMP/examples $ python simpletest.py
Traceback (most recent call last):
File "simpletest.py", line 37, in <module>
sensor = BMP085.BMP085()
File "build/bdist.linux-armv7l/egg/Adafruit_BMP/BMP085.py", line 69, in __init__
File "build/bdist.linux-armv7l/egg/Adafruit_BMP/BMP085.py", line 72, in _load_calibration
File "build/bdist.linux-armv7l/egg/Adafruit_GPIO/I2C.py", line 202, in readS16BE
File "build/bdist.linux-armv7l/egg/Adafruit_GPIO/I2C.py", line 179, in readS16
File "build/bdist.linux-armv7l/egg/Adafruit_GPIO/I2C.py", line 166, in readU16
File "build/bdist.linux-armv7l/egg/Adafruit_PureIO/smbus.py", line 173, in read_word_data
IOError: [Errno 121] Remote I/O error
pi@raspberrypi:~/Adafruit_Python_BMP/examples $
Добавлено через 8мин.:
Датчик давления устанавливал по 9 топику на 3 странице, все нормально, дохожу до sensor = bmp.BMP085(), и pi@raspberrypi:~ $ python
Python 2.7.13 (default, Nov 24 2017, 17:33:09)
[GCC 6.3.0 20170516] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import Adafruit_BMP.BMP085 as bmp
>>> sensor = bmp.BMP085()
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "build/bdist.linux-armv7l/egg/Adafruit_BMP/BMP085.py", line 69, in __init__
File "build/bdist.linux-armv7l/egg/Adafruit_BMP/BMP085.py", line 72, in _load_calibration
File "build/bdist.linux-armv7l/egg/Adafruit_GPIO/I2C.py", line 202, in readS16BE
File "build/bdist.linux-armv7l/egg/Adafruit_GPIO/I2C.py", line 179, in readS16
File "build/bdist.linux-armv7l/egg/Adafruit_GPIO/I2C.py", line 166, in readU16
File "build/bdist.linux-armv7l/egg/Adafruit_PureIO/smbus.py", line 173, in read_word_data
IOError: [Errno 121] Remote I/O error
Добавлено через 3мин.:
pi@raspberrypi:~/Adafruit_Python_BMP/examples $ python simpletest.py
Traceback (most recent call last):
File "simpletest.py", line 37, in <module>
sensor = BMP085.BMP085()
File "build/bdist.linux-armv7l/egg/Adafruit_BMP/BMP085.py", line 69, in __init__
File "build/bdist.linux-armv7l/egg/Adafruit_BMP/BMP085.py", line 72, in _load_calibration
File "build/bdist.linux-armv7l/egg/Adafruit_GPIO/I2C.py", line 202, in readS16BE
File "build/bdist.linux-armv7l/egg/Adafruit_GPIO/I2C.py", line 179, in readS16
File "build/bdist.linux-armv7l/egg/Adafruit_GPIO/I2C.py", line 166, in readU16
File "build/bdist.linux-armv7l/egg/Adafruit_PureIO/smbus.py", line 173, in read_word_data
IOError: [Errno 121] Remote I/O error
pi@raspberrypi:~/Adafruit_Python_BMP/examples $
Добавлено через 8мин.:
Датчик давления устанавливал по 9 топику на 3 странице, все нормально, дохожу до sensor = bmp.BMP085(), и pi@raspberrypi:~ $ python
Python 2.7.13 (default, Nov 24 2017, 17:33:09)
[GCC 6.3.0 20170516] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import Adafruit_BMP.BMP085 as bmp
>>> sensor = bmp.BMP085()
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "build/bdist.linux-armv7l/egg/Adafruit_BMP/BMP085.py", line 69, in __init__
File "build/bdist.linux-armv7l/egg/Adafruit_BMP/BMP085.py", line 72, in _load_calibration
File "build/bdist.linux-armv7l/egg/Adafruit_GPIO/I2C.py", line 202, in readS16BE
File "build/bdist.linux-armv7l/egg/Adafruit_GPIO/I2C.py", line 179, in readS16
File "build/bdist.linux-armv7l/egg/Adafruit_GPIO/I2C.py", line 166, in readU16
File "build/bdist.linux-armv7l/egg/Adafruit_PureIO/smbus.py", line 173, in read_word_data
IOError: [Errno 121] Remote I/O error
dth
Бакалавр
Арти
98 39
Отв.1244 09 Апр. 18, 07:49, через 34 мин
nic2015, В файле BMP085.py
строки
поменяй на свой 0х76
строки
# BMP085 default address.
BMP085_I2CADDR = 0x77
поменяй на свой 0х76
nic2015
Магистр
Феодосия
219 56
Отв.1245 09 Апр. 18, 08:19, через 31 мин
Поменял, ничего не дало.
Добавлено через 24мин.:
Ничего не понятно, находит за просто по i2cdetect -y 1 под номером 76, дальше не идёт , ошибка ввода вывода, может с малинкой что?
Добавлено через 16мин.:
У меня машинка bcm2837, может в этом дело?
Добавлено через 24мин.:
Ничего не понятно, находит за просто по i2cdetect -y 1 под номером 76, дальше не идёт , ошибка ввода вывода, может с малинкой что?
Добавлено через 16мин.:
У меня машинка bcm2837, может в этом дело?
U-M
Магистр
MSK
210 39
Отв.1246 09 Апр. 18, 09:10, через 51 мин
Как слабая надежда - может переустановить пакет Adafruit, поменять местами SDA SCL, ну и повнимательнее посмотреть на подтягивающие резисторы на модуле BMP ?
lesbeg
Доктор наук
Екатеринбург
657 459
Отв.1247 09 Апр. 18, 09:13, через 3 мин
Как слабая надежда - может переустановить пакет Adafruit,U-M, 09 Апр. 18, 09:10
Ничего не даст, а вот удаление pyc-ов может помочь. Редкий, но регулярный кейс.
В каталоге с проектом:
find . -name "*.pyc" -delete
nic2015
Магистр
Феодосия
219 56
Отв.1248 09 Апр. 18, 09:30, через 18 мин
Поподробней пожалуйста насчёт "рус" , если можно пошагово, а то могу накосячить.
U-M
Магистр
MSK
210 39
Отв.1249 09 Апр. 18, 09:31, через 2 мин
В папке где лежат файлы .py при их запуске появляются файлы .pyc
Вот их то и предлагается удалить.
Вот их то и предлагается удалить.
nic2015
Магистр
Феодосия
219 56
Отв.1250 09 Апр. 18, 09:34, через 3 мин
Насчёт перестановки Adafruit, то я уже раз пять систему переустановил, а bmp280 на ардуино работал.
lesbeg
Доктор наук
Екатеринбург
657 459
Отв.1251 09 Апр. 18, 09:43, через 10 мин
Поподробней пожалуйста насчёт "рус" , если можно пошагово, а то могу накосячить.nic2015, 09 Апр. 18, 09:30
В терминале, находясь в каталоге с проектом, выполни эту команду. Все.
find . -name "*.pyc" -deletelesbeg, 09 Апр. 18, 09:13
Это не фиксит никаких проблем, но это первый вид плясок с бубном который есть смысл исполнять.
Суть в том, что в некоторых случаях (опустим для краткости каких) не происходит инвалидации pyc-файлов и их нужно удалять руками.
Т.е., возможно, твою проблему решил dth, но именно непротухшие pyc-и не дают интерпретатору исполнить исправленный код. Я такой сценарий встречаю стабильно раз в пару-тройку недель.
nic2015
Магистр
Феодосия
219 56
Отв.1252 09 Апр. 18, 09:43, через 1 мин
Ну а как быть насчёт создания sensor = bmp.085() там тоже не идёт и никаких тру нет?
Добавлено через 4мин.:
Я извиняюсь, но я чайник, что значит "находясь каталоге с проектом"?
Добавлено через 4мин.:
Я извиняюсь, но я чайник, что значит "находясь каталоге с проектом"?
OldBean
Доцент
Красноярск
1K 1.4K
Отв.1253 09 Апр. 18, 10:24, через 41 мин
Малинку что-ли другую заказать?nic2015, 09 Апр. 18, 07:15Проблема, скорее всего, не в ней. Если с 5-вольтовой ардуинкой датчик нормально работает, то проблема, возможно, в согласовании 3-вольтовой логики малинки с 5-вольтовым датчиком. Судя по datasheet, сам датчик 3-вольтовый. Значит на платке датчика должны быть средства для согласования логических уровней и понижения питания. У Вас есть возможность попробовать обычный (3.3-вольтовый) датчик? В софте можно ковыряться бесконечно... Поэтому, для начала, было бы неплохо, все-таки, локализовать проблему - убедиться, что дело именно в софте, а не в согласовании...
Еще вариант - попробовать этот (5-вольтовый) датчик в 3-вольтовой ардуинкой. Но этот вариант, к сожалению, не такой однозначный.
PS
Можно, конечно, "покопаться" на платке bmp и вернуть датчику "девственность". Т.е. 3-вольтовость. Обойти согласователи уровней (по логике и по питанию). Но, в этом случае Вы уж сами оценивайте свои возможности как пластического "хирурга" ;)
gol_avto
Доцент
Москва-Серпухов-Анапа
1.4K 473
Отв.1254 09 Апр. 18, 10:33, через 9 мин
nic2015 и коллеги!
Всё гораздо проще. Сегодня получил малинку (свою первую по неосторожности "поджарил"), подключил и тоже датчика BMP в списке не оказалось. Внимательно проверил подключение и выяснил, что уважаемый маэстро OldBean немного ошибся с наименованием выводов на платах crate и модулей. Достаточно было на плате crate поменять местами SDA и SCL и все модули определились.
Всё гораздо проще. Сегодня получил малинку (свою первую по неосторожности "поджарил"), подключил и тоже датчика BMP в списке не оказалось. Внимательно проверил подключение и выяснил, что уважаемый маэстро OldBean немного ошибся с наименованием выводов на платах crate и модулей. Достаточно было на плате crate поменять местами SDA и SCL и все модули определились.
nic2015
Магистр
Феодосия
219 56
Отв.1255 09 Апр. 18, 10:51, через 19 мин
Спасибо, сейчас на работе, приеду домой проверю.
Добавлено через 5мин.:
Но я напрямую датчик подключал,без крейта, вот в чем дело.
Добавлено через 3мин.:
Заказал на Али bmp180 и bmp 280 на 3,3 вольта.
Добавлено через 5мин.:
Но я напрямую датчик подключал,без крейта, вот в чем дело.
Добавлено через 3мин.:
Заказал на Али bmp180 и bmp 280 на 3,3 вольта.
gol_avto
Доцент
Москва-Серпухов-Анапа
1.4K 473
Отв.1256 09 Апр. 18, 11:07, через 17 мин
У меня BMP180 на 3,3V
U-M
Магистр
MSK
210 39
Отв.1257 09 Апр. 18, 11:15, через 8 мин
Заказал на Алиnic2015, 09 Апр. 18, 10:51
Можно попробовать на платке этого напрямую припаяться-убрать резисторы и стабилизатор, всего выйдет 4 проводка...
dth
Бакалавр
Арти
98 39
Отв.1258 09 Апр. 18, 11:23, через 9 мин
Мне кажется если по i2cdetect датчик находится - железо не при чем
OldBean
Доцент
Красноярск
1K 1.4K
Отв.1259 09 Апр. 18, 12:49
немного ошибся с наименованием выводов на платах crate и модулейgol_avto, 09 Апр. 18, 10:33Это не ошибка. Это - история. ;) В первоначальном варианте (модули на тиньках) такое расположение линий и было предусмотрено. Но, мы договорились поменять местами линии SDA и SCL в середине января здесь (пункт 3), когда переходили с тинек на меги. Естественно, при этом предполагалось, что и при соединении шины крейта с малинкой тоже будут "перекинуты" два проводка.
Мне кажется если по i2cdetect датчик находится - железо не при чемdth, 09 Апр. 18, 11:23К сожалению, i2cdetect - это не полноценный тест работоспособности устройства. Он односторонний - передается байт адреса от мастера к устройствам. А далее мастер фиксирует только наличие импульса ASK. Т.е. правильность передачи мастеру данных от устройства не контролируется. Поэтому лучше, все-таки, давайте сначала проверим. А уж потом начнем ковыряться в софте, ежели никакие bmp-шки с малинкой не заработают.