Рыбачим в эфире: данные с метеостанции, номер борта, соседский звонок и другие интересные находки - «Умные Решения» » Умный Дом и решения
Рыбачим в эфире: данные с метеостанции, номер борта, соседский звонок и другие интересные находки - «Умные Решения»

Новинки / Производитель / Умные Решения

Рыбачим в эфире: данные с метеостанции, номер борта, соседский звонок и другие интересные находки - «Умные Решения»

  • Наталья
  • 13-фев-2024, 10:00
  • 0 комментариев
  • 2 203 просмотров

Наша тестовая установка
Запускаем rtl_433 -F json

Практический опыт

Мы ограничились прослушиванием популярной частоты 433 МГц.

Сначала нам удалось поймать сигнал датчиков температуры и давления в шинах соседского автомобиля Toyota. Польза околонулевая.

Затем удалось найти соседский уличный датчик температуры и влажности, а это уже полезно. Можно сэкономить на собственном ? Затем мы продолжили поиски и поймали еще несколько.

Команда 

rtl_433 -F json

ловит такие данные с соседских датчиков

{"time" : "2024-01-20 19:02:07", "model" : "inFactory-TH", "id" : 17, "channel" : 3, "battery_ok" : 1, "temperature_F" : 14.500, "humidity" : 20, "mic" : "CRC"}
{"time" : "2024-01-20 19:02:12", "model" : "Nexus-T", "id" : 28, "channel" : 1, "battery_ok" : 1, "temperature_C" : -14.000}
{"time" : "2024-01-20 19:02:30", "model" : "Nexus-TH", "id" : 251, "channel" : 1, "battery_ok" : 1, "temperature_C" : -13.500, "humidity" : 14}
{"time" : "2024-01-20 19:02:42", "model" : "Solight-TE44", "id" : 151, "channel" : 1, "temperature_C" : -14.100, "mic" : "CRC"}
{"time" : "2024-01-20 19:02:39", "model" : "Hideki-TS04", "id" : 15, "channel" : 1, "battery_ok" : 1, "temperature_C" : -13.000, "humidity" : 5, "mic" : "CRC"}
{"time" : "2024-01-20 19:03:39", "model" : "Solight-TE44", "id" : 151, "channel" : 1, "temperature_C" : -14.100, "mic" : "CRC"}
{"time" : "2024-01-20 21:06:15", "model" : "Fineoffset-WH2", "id" : 59, "temperature_C" : -14.000, "mic" : "CRC"}
{"time" : "2024-01-20 20:50:30", "model" : "Hyundai-VDO", "type" : "TPMS", "id" : "21c154c2", "state" : 48, "flags" : 10, "repeat" : 1, "pressure_kPa" : 226.875, "temperature_C" : -16.000, "maybe_battery" : 1, "mic" : "CRC"}
{"time" : "2024-01-20 19:04:07", "model" : "TFA-TwinPlus", "id" : 57, "channel" : 1, "battery_ok" : 1, "temperature_C" : -13.700, "humidity" : 20, "mic" : "CHECKSUM"}

Для удобства предлагаем код, который «ловит» метеоданные с соседских датчиков.

#!/bin/bash

HOST=127.0.0.1

wirenBoardPubHeaderMQTT() {
local model=$1
local name=$2
mosquitto_pub -h $HOST -r -t "/devices/rtl-${model}/meta/name" -m "${name}"
mosquitto_pub -h $HOST -r -t "/devices/rtl-${model}/meta/driver" -m "gateRTL433-MQTT.sh"
}
# однократный вызов при старте
wirenBoardPubHeaderMQTT "sdr" "Radio Meteo/RTL_433"
wirenBoardPubHeaderMQTT "Hideki-Wind" "Radio My Weather"

# Функция для отправки данных в MQTT
wirenBoardPubMQTT() {
local filename="gateRTL433-MQTT_log_output_$(date +'%Y%m%d').txt"
local model=$1
local param=$2
local value=$3
local type=$4
if [ "$value" != "null" ]; then
echo -e "$(date +'%Y%m%d_%H%M%S') ${model} ${param}=${value}" | tee -a $filename
mosquitto_pub -h $HOST -r -t "/devices/rtl-${model}/controls/${param}/meta/type" -m "$type"
mosquitto_pub -h $HOST -r -t "/devices/rtl-${model}/controls/${param}/meta/readonly" -m "1"
mosquitto_pub -h $HOST -r -t "/devices/rtl-${model}/controls/${param}" -m "$value"
# else
# echo "$model / $param / $type is null !!!"
fi
}

# Функция для обработки данных
process_weather_wind() {
local data=$1
# echo $data
model=$(echo $data | jq -r '.model')
if [[ $model == "Hideki-Wind" ]]; then
# Извлекаем и отправляем каждый параметр
temperature=$(echo $data | jq -r '.temperature_C')
wind_avg_km_h=$(echo $data | jq -r '.wind_avg_km_h')
wind_max_km_h=$(echo $data | jq -r '.wind_max_km_h')
wind_approach=$(echo $data | jq -r '.wind_approach')
wind_dir_deg=$(echo $data | jq -r '.wind_dir_deg')
# Отправка данных в MQTT
wirenBoardPubMQTT "$model" "temperature_C" "$temperature" "temperature"
wirenBoardPubMQTT "$model" "wind_avg_km_h" "$wind_avg_km_h" "wind_speed"
wirenBoardPubMQTT "$model" "wind_max_km_h" "$wind_max_km_h" "wind_speed"
wirenBoardPubMQTT "$model" "wind_approach" "$wind_approach" "counter"
wirenBoardPubMQTT "$model" "wind_dir_deg" "$wind_dir_deg" "value"
fi
}

# Функция для обработки данных
process_data() {
local data=$1
#echo "Обработка данных: $data"
echo $data | grep "Hideki-Wind" > /dev/null
if [[ $? -eq 0 ]]; then
model=$(echo $data | jq -r '.model')
if [[ $model == "Hideki-Wind" ]]; then
process_weather_wind "$data"
fi
else
echo $data | grep temperature_C > /dev/null
if [[ $? -eq 0 ]]; then
model=$(echo $data | jq -r '.model')
temperature=$(echo $data | jq -r '.temperature_C')
wirenBoardPubMQTT "sdr" $model $temperature "temperature"
fi
fi
}
rtl_433 -C si -F json | while IFS= read -r line; do
process_data "$line"
done

Также удалось поймать сигнал с пролетающего самолета (на другой частоте) и сравнить его с картой Flightradar. Бортовой номер и скорость совпали, ура!

Еще одна польза — отладка сигналов Z-Wave и Lora в тестовой лаборатории, но мы пока только думаем над этим.

Вообще мы рекомендуем заглянуть в таблицу, где приведен список программ, которые работают с RTL-SDR.

За выходные удалось «наловить» данные с нескольких термометров

Дополнительные изображения

Сравнили температуру соседских датчиков и своего 1-Wire (оранжевый)
Поймали сигнал с борта, проверили по Flightradar
Сведения с нескольких соседских датчиков температуры и влажности по команде rtl_433 -С si.  Параметр -C si необходим для переключения Фаренгейтов в Градусы
Поймали еще дверной звонок


Подключаем метеостанцию

Несколько лет назад родственнику была подарена старая метеостанция с уличным блоком, измеряющим направление и скорость ветра. Пришлось на время «вернуть на родину». Думали придется хакать протокол, но все заработало из коробки. Конечно, возможности уступают метеостанции «Ласточка» в предыдущем обзоре, но для дома польза будет.

Уличный блок

Дополнительные изображения

Добавили поддержку внешнего блока, можно посмотреть историю скорости ветра, например
Добавили виджет метеостанции (вверху)
График средней скорости ветра
Графики средней и максимальной скорости ветра


Поиск свободных радиоканалов

Еще один полезный сценарий — поиск свободных радиоканалов с целью пообщаться с тусовкой друзей. В нашем случае, например, обычно собирается тусовка на 100+ раций.

Здесь мы пошли на небольшой чит и воспользовались ПК, поскольку нужен был графический вывод. На контроллере Wiren Board придется довольствоваться текстовой информацией, которую можно вывести в файл и потом обработать, например.

Ниже приведен скриншот программы gqrx, которую можно установить командой:

sudo apt install gqrx-sdr

По горизонтали частота в районе 433 МГц, по вертикали — время: на скриншоте показаны 10 минут. Диапазон LDP, показаны каналы от 1 до 69. Желтые и красные — это шумы: они есть почти на всех каналах. Немного поменьше шума на 1, 2 и 68, 69 каналах. Тональный субкод весьма удобен для фильтрации шумов.

Поиск свободных радиоканалов (скриншот на ПК)

Есть режим, помогающий разработчикам проектировать свои устройства. Через SSH на контроллере можно запустить утилиту командой:

rtl_433 -A

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

Подробная развертка сигнала (скриншот сайта на ПК)

Ретранслятор FM-радио

Еще один сценарий, который мы проверили — ретранслятор FM-радио в браузер по сети. Вдохновила статья, где приведены все команды. Чтобы подобрать нужные команды, пришлось развлекаться. Вот они:

rtl_fm -f 102.0M -M fm -s 170k -A fast -r 32k -l 2 -E deemp | play -t raw -r 32k -es -b 16 -c 1 -V1 -

Затем достаточно набрать IP-адрес и порт контроллера в браузере, после чего можно будет слушать радио. Кроме того, можно установить в контроллер Wiren Board звуковую карту USB и через нее выводить звук на колонки.

Заключение

Как видим, подключить различное оборудование на 433 Мгц к своей домашней автоматизации  легко и просто. И крупные бюджеты не нужны, особенно если под рукой есть контроллер на Linux. Для нас подобный широкополосный радиоприемник — больше игрушка. Но можно найти и практическое применение: мы, например, получили данные с метеостанции, датчика температуры и давления в шинах, дверного звонка. 

Возможно, вы подскажете какие-либо практически применения в комментариях? Или поделитесь своим опытом?

Приходите к нам на выставку и конференцию WBCE 2024, где можно пообщаться с разработчиками оборудования Wiren Board, посетить производство с экскурсией, а также посмотреть решения партнёров.

Цитирование статьи, картинки - фото скриншот - Rambler News Service.
Иллюстрация к статье - Яндекс. Картинки.
Есть вопросы. Напишите нам.
Общие правила  поведения на сайте.
Наша тестовая установка Запускаем rtl_433 -F json Практический опыт Мы ограничились прослушиванием популярной частоты 433 МГц. Сначала нам удалось поймать сигнал датчиков температуры и давления в шинах соседского автомобиля Toyota. Польза околонулевая. Затем удалось найти соседский уличный датчик температуры и влажности, а это уже полезно. Можно сэкономить на собственном ? Затем мы продолжили поиски и поймали еще несколько. Команда ловит такие данные с соседских датчиков Для удобства предлагаем код, который «ловит» метеоданные с соседских датчиков. Также удалось поймать сигнал с пролетающего самолета (на другой частоте) и сравнить его с картой Flightradar. Бортовой номер и скорость совпали, ура! Еще одна польза — отладка сигналов Z-Wave и Lora в тестовой лаборатории, но мы пока только думаем над этим. Вообще мы рекомендуем заглянуть в таблицу, где приведен список программ, которые работают с RTL-SDR. За выходные удалось «наловить» данные с нескольких термометров Дополнительные изображения Сравнили температуру соседских датчиков и своего 1-Wire (оранжевый) Поймали сигнал с борта, проверили по Flightradar Сведения с нескольких соседских датчиков температуры и влажности по команде rtl_433 -С si. Параметр -C si необходим для переключения Фаренгейтов в Градусы Поймали еще дверной звонок Подключаем метеостанцию Несколько лет назад родственнику была подарена старая метеостанция с уличным блоком, измеряющим направление и скорость ветра. Пришлось на время «вернуть на родину». Думали придется хакать протокол, но все заработало из коробки. Конечно, возможности уступают метеостанции «Ласточка» в предыдущем обзоре, но для дома польза будет. Уличный блок Дополнительные изображения Добавили поддержку внешнего блока, можно посмотреть историю скорости ветра, например Добавили виджет метеостанции (вверху) График средней скорости ветра Графики средней и максимальной скорости ветра Поиск свободных радиоканалов Еще один полезный сценарий — поиск свободных радиоканалов с целью пообщаться с тусовкой друзей. В нашем случае, например, обычно собирается тусовка на 100 раций. Здесь мы пошли на небольшой чит и воспользовались ПК, поскольку нужен был графический вывод. На контроллере Wiren Board придется довольствоваться текстовой информацией, которую можно вывести в файл и потом обработать, например. Ниже приведен скриншот программы gqrx, которую можно установить командой: По горизонтали частота в районе 433 МГц, по вертикали — время: на скриншоте показаны 10 минут. Диапазон LDP, показаны каналы от 1 до 69. Желтые и красные — это шумы: они есть почти на всех каналах. Немного поменьше шума на 1, 2 и 68, 69 каналах. Тональный субкод весьма удобен для фильтрации шумов. Поиск свободных радиоканалов (скриншот на ПК) Есть режим, помогающий разработчикам проектировать свои устройства. Через SSH на контроллере можно запустить утилиту командой: причем утилита к каждому распознанному цифровому пакету добавляет ссылку на сайт, где можно посмотреть подробную развертку сигнала. Ниже приведен пример скриншота сайта. Подробная развертка сигнала (скриншот сайта на ПК) Ретранслятор FM-радио Еще один сценарий, который мы проверили — ретранслятор FM-радио в браузер по сети. Вдохновила статья, где приведены все команды. Чтобы подобрать нужные команды, пришлось развлекаться. Вот они: Затем достаточно набрать IP-адрес и порт контроллера в браузере, после чего можно будет слушать радио. Кроме того, можно установить в контроллер Wiren Board звуковую карту USB и через нее выводить звук на колонки. Заключение Как видим, подключить различное оборудование на 433 Мгц к своей домашней автоматизации легко и просто. И крупные бюджеты не нужны, особенно если под рукой есть контроллер на Linux. Для нас подобный широкополосный радиоприемник — больше игрушка. Но можно найти и практическое применение: мы, например, получили данные с метеостанции, датчика температуры и давления в шинах, дверного звонка. Возможно, вы подскажете какие-либо практически применения в комментариях? Или поделитесь своим опытом? Приходите к нам на выставку и конференцию WBCE 2024, где можно пообщаться с разработчиками оборудования Wiren Board, посетить производство с экскурсией, а также посмотреть решения партнёров.


Комментарии (0)
img
Новинка: Camera Hub G3. Будущее здесь. - «Умный Дом»

29 Дек Camera Hub G3 – это принципиальное новое устройство Aqara. Одновременно центр умного дома, камера и пульт для управления бытовой техникой.

Категории сайта
Разное

Производитель и новинки производства

Это не только возможность управлять лампочкой со смартфона, а слаженная, незаметная для Вас, работа всех систем дома как инструментов в оркестре.

       89a39215
img
Производитель / Смарт.ТВ / Новинки / Aqara / Умный Дом и решения / Умные Решения
Aqara выпустила умный замок, который работает по Wi-Fi без хаба - «Умный Дом и решения»

Компания Aqara выпустила новую модель умного замка — Smart Lock B50. Модель работает по Wi-Fi, ее можно использовать без хаба. Характеристики Smart

img
Новинки / Aqara / Умный Дом и решения / Производитель / Умные Решения
Aqara добавляет поддержку Siri и AirPlay в свою панель для управления домом - «Умный Дом и решения»

Aqara объявила о начале поэтапного развёртывания новых возможностей для панели Panel Hub S1 Plus. Устройство скоро получит поддержку AirPlay и

img
Zigbee / Производитель / Смарт.ТВ / Умный Дом и решения / Яндекс / Новинки / Умные Решения
Умный карниз и другие новинки умного дома от Яндекса - «Умный Дом и решения»

Компания «Яндекс» представила линейку новых устройств для умного дома, управляемых через виртуального помощника «Алиса». В обновлённый ассортимент

img
Новинки / Производитель / Смарт.ТВ / Бренд / Умные Решения
Meross выпустила датчик присутствия с Matter over Thread - «Умный Дом и решения»

Компания Meross представила новый датчик присутствия Smart Presence Sensor MS605. Он стал первым устройством бренда с поддержкой Matter over Thread.

img
Aqara / Zigbee / Новинки / Умные Решения
Aqara выпустила новый хаб для умного дома с Matter, Thread и Zigbee - «Умный Дом и решения»

Aqara выпустила новый хаб для умного дома - M200. Устройство является обновленной версией хаба M2, который был представлен в 2020 году. Основные

img
Aqara / Zigbee / Производитель / Новинки / Умные Решения
Aqara представила термостатическую головку для радиатора с поддержкой Thread и Zigbee - «Умный Дом и решения»

Компания Aqara выпустила умную термостатическую головку Aqara Radiator Thermostat W600. Основные характеристики Aqara W600:

Top.Mail.Ru