Я использую термодатчик MLX90640. Это датчик, который используется в качестве тепловой камеры в низком разрешении (https://www.melexis.com/en/product/MLX90640/Far-Infrared-Thermal-Sensor-Array).. Я работал с ним на прошлой неделе без проблем на Raspberry Pi 3B +. Однако сегодня я не смог заставить его работать наNVidia Jetson TX2.Попробовав множество решений, я вернулся к Pi с тем же датчиком, и оказалось, что датчик больше не работает с тем же программным обеспечением.
Помимо использования программного обеспечения, которое я написал сам, я попробовалпримеры от производителя (https://github.com/pimoroni/mlx90640-library) без везения. Он либо вернет I2C Read Error!
, либо frameData timeout error waiting for dataReady
в сочетании с Segmentation fault
. Эта ошибка сохраняется как для Jetson, так и для Pi, но яв основном работает с Pi, потому что раньше он работал для Pi.
Я все еще могу обнаружить датчик с помощью i2cdetect
:
pi@raspberrypi:~/ $ sudo i2cdetect -yr 1
0 1 2 3 4 5 6 7 8 9 a b c d e f
00: -- -- -- -- -- -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- -- 33 -- -- -- -- -- -- -- -- -- -- -- --
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
70: -- -- -- -- -- -- -- --
Стандартный адрес 0x33.
Причина, по которой я спрашиваю, состоит в том, что очень трудно найти информацию о датчике или других датчиках i2c, имеющих те же проблемы. Странно то, что раньше он работал правильно вточно такая же ситуация. Единственное, о чем я могу думать, это то, что Jetson как-то изменил внутренние регистры датчика. В таблице данных имеется информация о регистрах (https://www.melexis.com/-/media/files/documents/datasheets/mlx90640-datasheet-melexis.pdf), но я не могу понять, как это использовать. Любые идеи приветствуются, поскольку я попробовал все, насколько я знаю.