Как найти шестнадцатеричный адрес датчика температуры?

Я полагаю, вы хотите использовать автоматическую переменную $*. Из документации GNU make:

$*

Стержень, с которым совпадает неявное правило. Если цель dir/a.foo.b, а целевой шаблон - a.%.b, то стволом будет dir/foo. Стебель полезен для построения имен связанных файлов. В правиле статического шаблона стержень является частью имени файла которое совпало с % в целевом шаблоне.

В вашем конкретном случае правило wget можно переписать так:

$(BASE_DIR)/$(DATE)/%.csv:
    cd $(BASE_DIR)/$(DATE); wget http://example.com/data/$*.csv
1
09.09.2018, 22:26
2 ответа

Убедитесь, что у вас установлен пакет датчиков lm -. Есть ряд полезных утилит командной строки, которые могут возвращать эту информацию, в том числе isadump и Sensors -Detect, которые являются частью этого пакета.

1
27.01.2020, 23:42

Предположим, что датчик подключен через шину PCI.

Прежде всего найдите каталог вашего датчика, используя его драйвер (модуль ядра )имя:

grep DRIVER /sys/bus/pci/devices/*/uevent

Вы увидите набор таких строк:

/sys/bus/pci/devices/0000:00:02.0/uevent:DRIVER=pcieport
/sys/bus/pci/devices/0000:00:04.0/uevent:DRIVER=pcieport
/sys/bus/pci/devices/0000:00:11.0/uevent:DRIVER=ahci
/sys/bus/pci/devices/0000:00:12.0/uevent:DRIVER=ohci-pci
/sys/bus/pci/devices/0000:00:12.2/uevent:DRIVER=ehci-pci
/sys/bus/pci/devices/0000:00:13.0/uevent:DRIVER=ohci-pci
/sys/bus/pci/devices/0000:00:13.2/uevent:DRIVER=ehci-pci
/sys/bus/pci/devices/0000:00:14.0/uevent:DRIVER=piix4_smbus
/sys/bus/pci/devices/0000:00:14.1/uevent:DRIVER=pata_atiixp
/sys/bus/pci/devices/0000:00:14.2/uevent:DRIVER=snd_hda_intel
/sys/bus/pci/devices/0000:00:14.5/uevent:DRIVER=ohci-pci
/sys/bus/pci/devices/0000:00:16.0/uevent:DRIVER=ohci-pci
/sys/bus/pci/devices/0000:00:16.2/uevent:DRIVER=ehci-pci
/sys/bus/pci/devices/0000:00:18.3/uevent:DRIVER=k10temp
/sys/bus/pci/devices/0000:01:00.0/uevent:DRIVER=nvidia
/sys/bus/pci/devices/0000:01:00.1/uevent:DRIVER=snd_hda_intel
/sys/bus/pci/devices/0000:02:00.0/uevent:DRIVER=r8169

Одна из этих строк будет содержать имя вашего модуля ядра сенсора -, в примере выше это k10tempи соответствующая строка:

/sys/bus/pci/devices/0000:00:18.3/uevent:DRIVER=k10temp

Итак, теперь мы знаем директорию датчика -в примере это директория:

/sys/bus/pci/devices/0000:00:18.3/

Файл deviceиз каталога содержит шестнадцатеричный -адрес датчика, поэтому выполните (для примера выше):

cat /sys/bus/pci/devices/0000:00:18.3/device

Вывод будет таким:

0x1703

Если вы не можете распознать имя модуля ядра датчика, просто установите lm-sensors, выполните sudo sensors-detectи sensors, после чего -вы легко найдете имя модуля ядра, так как вы увидите что-то вот так для одного из датчиков:

k10temp-pci-00c3
0
27.01.2020, 23:42

Теги

Похожие вопросы