Можно обойтись и без адаптера USB-UART
Если есть опыт использования паяльника
Используем любой свободный
GPIO роутера
Не забудьте удалить резистор подтягивающий порт в GND
Подключаем к GPIO датчик DS18B20
Вложение 821
Устанавливаем необходимые пакеты для работы 1-Wire
opkg install kmod-w1 kmod-w1-master-gpio kmod-w1-gpio-custom
Настраиваем шину на работу через порт GPIO, в примере GPIO2
insmod w1-gpio-custom bus0=0,2,0
или вот таким образом
echo "w1-gpio-custom bus0=0,2,0" > /etc/modules.d/59-w1-gpio-custom
Устанавливаем пакет для работы с датчиком температуры
opkg install kmod-w1-slave-therm
Прочитать значение датчика
cat /sys/bus/w1/drivers/w1_slave_driver/серийный номер датчика/w1_slave
В ответ получим данные от датчика, примерно в таком виде
7c 01 4b 46 7f ff 04 10 09 : crc=09 YES
7c 01 4b 46 7f ff 04 10 09 t=23750
Значение YES, говорит о целосности принятых данных.
Температура это значение t=23750, то есть 23.75 гр. С
Теперь температуру нужно перевести в понятный нам формат, установить запятую между целыми и дробными числами, то есть полученое значение t=xxxxx делим на 1000
awk -F= '/t=/ {printf "%.02f\n", $2/1000}' /sys/bus/w1/drivers/w1_slave_driver/серийный номер датчика/w1_slave
Первоисточник