
От датчика к графику: создаём консольную метеостанцию на Arduino и Python
ArduDragon 24 минуты назад От датчика к графику: создаём консольную метеостанцию на Arduino и Python Простой 3 мин 409 Arduino * DIY или Сделай сам Python * Туториал ВведениеПривет, читатель, меня зовут Морозов Алексей,...
<5 — 2026'da uzaya kaç SpaceX Starship fırlatması ulaşacak?
Вот важная новость с фронта ИИ: ArduDragon 24 минуты назад От датчика к графику: создаём консольную метеостанцию на Arduino и Python Простой 3 мин 409 Arduino * DIY или Сделай сам Python * Туториал ВведениеПривет, читатель, меня зовут Морозов Алексей, и в этой статье я наглядно покажу, как сделать метеостанцию! Идея и ответы на почемуЯ хочу сделать простую и модульную метеостанцию с консольным выводом данныхСделать плату-опросчик, которая читает данные с датчиков и отправляет их в порт. Сделать скрипт на питоне, который будет обрабатывать и выводить значения в консольПочему модульность?
Разделение метеостанции на два уровня, низкий(опрос датчиков) и высокий(обработка и вывод данных) позволяет быстро вносить изменения в систему, добавлять новые датчики или даже менять сами устройства. Почему именно консольный вывод? TUI - отличная отправная точка для вывода данных, можно быстро менять формат вывода, добавлять новые диаграммы и даже окна.
Технические детали
Подбор компонентовВ качестве платы опросчика, подойдёт arduino nano, у неё достаточно мощности и портов, чтобы развивать метеостанцию до пределаВ качестве датчика я решил взять htu21d, который умеет определять температуру и влажность воздуха. Отличная плата для начала, потом заменю на bmp280 ПодключениеПриступим к сборке метеостанции! Вот схема подключения:схема подключенияПример сборки тут.
Ардуино наноАрдуино нано в корпусеdht21d в корпусеdht21d вид внутри корпусаКод для ардуиноВот код для считывания данных с датчика и отправки их в порт:#include GyverHTU21D htu; void getTemp(){ Serial. getTemperature()); Serial. getHumidity()); } void setup() { Serial.
begin(); } void loop() { if (htu. readTick()) { getTemp(); } }вывод данных Если открыть вывод в ардуино иде, то мы увидим вот такую картину. Код на питонВот код скрипта на питон, для парсинга и вывода данных в виде графика:import serial import plotext as plt import time ser = serial.
Отраслевые последствия
Serial('/dev/ttyUSB0', 115200) def read_and_parse(): response = ser. readline() if not response: return None, None try: decoded_response = response. decode('utf-8 input_string = decoded_response.
rstrip('\n # Разбиваем строку на пары ключ:значение pairs = input_string. split(', if len(pairs) ! = 2: print("Ошибка: строка должна содержать ровно две пары ключ:значение return None, None expected_key1 = "Temp" expected_key2 = "Humd" value1 = None value2 = None for pair in pairs: parts = pair.
split(':', 1) # Разбиваем только по первому ':' if len(parts) ! = 2: print(f"Ошибка: некорректный формат пары: {pair} return None, None key, value = parts.
Этот прогресс даёт важные сигналы о будущем отрасли, и технологический мир внимательно наблюдает.





