Найти в Дзене
Сетевые технологии

OpenWrt - узнаём температуру дома и на улице с помощью домашнего роутера

OpenWrt в данный момент является одной из самых перспективных операционных систем на базе ядра Linux для роутеров и в целом для сетевого оборудования.
Сейчас производители оборудования предлагают собственные стоковые прошивки, которые чаще всего также построены на базе ядра Linux и при этом сильно урезаны в своём функционале. Очень часто такие прошивки можно встретить в роутерах, которые

OpenWrt в данный момент является одной из самых перспективных операционных систем на базе ядра Linux для роутеров и в целом для сетевого оборудования.

Сейчас производители оборудования предлагают собственные стоковые прошивки, которые чаще всего также построены на базе ядра Linux и при этом сильно урезаны в своём функционале. Очень часто такие прошивки можно встретить в роутерах, которые поставляются провайдерами сети Интернет за относительно скромные деньги.

А знали ли вы, что ваш роутер способен не только раздавать wi-fi, но и принимать его с вашего смартфона или другого устройства с данной технологией беспроводной связи и даже притворяться полноценным коммутатором! Всё это возможно благодаря OpenWrt Project.

OpenWrt является по сути операционной системой на базе ядра Linux, что и Ubuntu, Debian, Kali Linux и др., но предназначена она для работы с роутерами и коммутаторами, поэтому несколько ограничена в функционале(например, туда нельзя поставить полноценную графическую оболочку ОС, наподобие KDE Plasma вследствие аппаратных ограничений многих домашних роутеров). Данное программное обеспечение полностью свободно для скачивания и портировано для большинства современных и не очень сетевых устройств.

Владельцы старых устройств, которые работали еще в 90х - 2000х могут быть разочарованы отсутствием портированной прошивки для их устройства.
Купите новое устройство, убедившись, что в нем есть UART + портированная прошивка и заходите читать продолжение статьи...

Если Вам хочется посмотреть, что это за представляет собой OpenWrt, вы можете самостоятельно поискать необходимую прошивку на официальном сайте операционной системы и в интернете овладеть с инструкцией по установке конкретно на ваш роутер, так как универсальной попросту нет.

Приступим к непосредственному осмотру сетевого устройства. Давайте заглянем под корпус роутера.

TP-Link TL-WR841N
TP-Link TL-WR841N

Мы увидим на плате процессор, оперативную память и flash-память для хранения прошивки. Т.е. всё тоже самое, что и в обычном компьютере. Также мы увидим там большое количество обвязок для антенн wi-fi и для интерфейсов Ethernet. Но нас интересует разъём, именуемый UART(смотрите картинку ниже. Выделено желтым прямоугольником). К этому разъему может подключать к себе различные устройства всего лишь по 4м проводам. Сегодня мы будем подключать к нему датчик температуры DS18B20. Стоит он относительно дешево (я покупал за 130 руб.). Остерегайтесь подделок данного датчика. Подделка стоит в разы дешевле, но на практике было дело с огромной погрешностью и даже другим протоколом передачи (роутер его просто не понимает и температуру не показывает).

Разъем UART на роутере. Я уже подпаял провода.
Разъем UART на роутере. Я уже подпаял провода.

Как я рассказал выше, он имеет 4 контакта : RX - прием данных, TX - передача данных, VCC и GND - питание +3.3 вольта и земля соответственно. Реализует он протокол 2-ware, что означает двухпроводной.

Подключаемый датчик DS18B20 имеет протокол 1-ware, т.е. по одному проводу(смотрите картинку ниже). Для этого соедините 2 провода RX и TX накоротко и протокол 1-ware готов к использованию.

Распиновка датчика DS18B20
Распиновка датчика DS18B20

Паяем провода так: GND на роутере с GND на датчике, VCC на роутере с VDD на датчике. RX и TX замыкаем накоротко и объединенный провод подпаиваем к лапке D датчика. Не забываем изолировать контакты друг от друга с целью безопасности.

Включаем роутер в сеть. Настраиваем подключение к сети Интернет и SSH(можно что-то и другое - это не принципиально. Telnet тоже подойдет)
Теперь осталось самое главное - скачать пакет для работы с датчиками температуры digitemp (можно и другой, но этот самый популярный). Его можно найти в разделе меню под названием "Software". Как только будет все установлено, можно приступать к просмотру температуры с датчика.

Скачиваем putty. Подключаемся к роутеру через настроенный ssh, и вводим следующую команду

digitemp_DS9097 -a

Вам покажется вот такая картинка, на которой будет отображена температура воздуха в комнате (выделено желтым прямоугольником).

Показание температуры с датчика DS18B20.
Показание температуры с датчика DS18B20.

Вот и все на сегодня, дорогие читатели. Спасибо за внимание!