Метеостанция подключение к компьютеру

Обновлено: 04.07.2024

Многие из нас стали задавать простой вопрос: как скачать, установить и сыграть в нашу любимую игру прямо на компьютере?

Если вы не любите маленькие экраны смартфона или планшета, то сделать это можно с помощью программы-эмулятора. С ее помощью можно создать на своем компьютере среду Android и через нее запустить приложение. На данный момент самыми популярными утилитами для этого являются: Bluestacks и NoxPlayer.

Установка Метеорологическая станция на компьютер с помощью Bluestacks

Bluestacks считается самым популярным эмулятором для компьютеров под управлением Windows. Кроме того, есть версия этой программы для Mac OS. Для того, чтобы установить этот эмулятор на ПК нужно, чтобы на нем была установлена Windows 7 (или выше) и имелось минимум 2 Гб оперативной памяти.

+ Windows: дважды щелкните по скачанному EXE-файлу, нажмите «Да», когда появится запрос, щелкните по «Установить», нажмите «Завершить», когда эта опция станет активной. Откройте Bluestacks, если он не запустился автоматически, а затем следуйте инструкциям на экране, чтобы войти в свою учетную запись Google.

+ Mac: дважды щелкните по скачанному файлу DMG, дважды щелкните по значку Bluestacks, нажмите «Установить», когда будет предложено, разрешите устанавливать программы сторонних разработчиков (если понадобится) и нажмите «Продолжить». Откройте Bluestacks, если он не запустился автоматически, и следуйте инструкциям на экране, чтобы войти в свою учетную запись Google.

Скачайте файл APK на компьютер. APK-файлы являются установщиками приложений. Вы можете скачать apk-файл с нашего сайта.

Щелкните по вкладке «Мои приложения». Она находится в верхней левой части окна Bluestacks.

Нажмите «Установить APK». Эта опция находится в нижнем правом углу окна. Откроется окно Проводника (Windows) или Finder (Mac).

Выберите скачанный файл APK. Перейдите в папку со скачанным файлом APK и щелкните по нему, чтобы выбрать.

Нажмите «Открыть». Эта опция находится в нижнем правом углу окна. Файл APK откроется в Bluestacks, то есть начнется установка приложения.

Запустите приложение. Когда значок приложения отобразится на вкладке «Мои приложения», щелкните по нему, чтобы открыть приложение.

Ты можешь использовать Метеорологическая станция на компьютере уже сейчас - просто скачай Метеорологическая станция для Windows и Mac прямо с этой страницы и установи приложение и ты останешься доволен.

Установка Метеорологическая станция на компьютер с помощью NoxPlayer

Nox App Player бесплатна и не имеет никакой навязчивой всплывающей рекламы. Работает на Андроиде версии 4.4.2, позволяя открывать множество игр, будь то большой симулятор, требовательный шутер или любое другое приложение.

+ Для того чтобы установить эмулятор Nox App Player, нажимаем на кнопку «СКАЧАТЬ».

+ Далее начнется автоматическая загрузка, по завершении которой необходимо будет перейти в папку «Загрузки» и нажать на установочный файл скачанной программы.

Установка и запуск программы:

+ Для продолжения установки необходимо в открывшемся окне нажать на кнопку «Установить». Выберите дополнительные параметры инсталляции, нажав на кнопку «Настроить», если вам это необходимо. Не снимайте галочку с пункта «Принять «Соглашение»», иначе вы не сможете продолжить.

+ После того как эмулятор будет установлен на компьютер, вы увидите на экране окно запуска, где необходимо будет нажать на кнопку «Пуск».

+ Все, на этом этапе установка эмулятора Nox App Player завершена. Для полноценной работы программы вам необходимо будет зайти в свой аккаунт Play Market — нажмите на иконку приложения в папке Google, введите логин и пароль от вашей учетной записи.

Загрузка и установка приложений: Для этого вам необходимо скачать файл приложения в формате APK и просто перетащить его на рабочий стол Nox App Player. После этого сразу начнется установка, по окончании которой вы увидите значок этого приложения на главном экране.

Устроена она очень просто. Небольшая черная коробочка, имеющая два входа под внешние датчики (температура/влажность) и разъем mini-USB, по которому подается питание. Внутри имеется встроенный датчик атмосферного давления. Для работы устройства нужно питание 5 вольт USB и наличие wi-fi сети с доступом в интернет. Всё.

2. В комплекте идет внешний датчик температуры и влажности AM2302. В качестве питания можно использовать либо обыкновенное зарядное устройство USB, либо, что более рационально — вот такой powerbank, который по сути выполняет функции источника бесперебойного питания. Потребление устройство еще не успел измерить, т.к. под рукой не было USB тестера.

3. Настраивается устройство элементарно. После сброса аппаратной кнопкой оно создает незащищенную точку доступа Homes-smart, вы подключаетесь к ней с любого устройства, заходите по указанному в инструкции адресу и указываете к какой wi-fi сети необходимо подключится. После этого устройство будет доступно из вашей домашней локальной сети.

Для организации мониторинга на строящемся объекте можно использовать связку из трех устройств, которые будут достаточно мобильны и могут быть установлены где угодно: ESPMeteo, powerbank, старый смартфон в роли точки доступа wi-fi.

4. Далее начинается самое интересное. Устройство умеет отправлять данные на сервис «Народный мониторинг», который позволяет наблюдать за всеми датчиками, которые открыты для публичного доступа в системе. Сервис бесплатный, но разработчиков можно поддержать небольшим пожертвованием (и получить за это пакет смс-уведомлений, например). Стоит ли предоставлять публичный доступ к датчикам вы решаете самостоятельно. По правилам, разумеется, запрещено в публичный доступ транслировать данные внутренних температурных датчиков. Оно и понятно, это ваша же безопасность.

5. Стандартный интервал получения данных - каждые 5 минут. Статистику можно запросить в формате CSV для дальнейшего анализа. Один из реально полезных моментов — возможность измерения атмосферного давления, т.к. те же Wireless Tags умеют отслеживать только температуру и влажность (зато они осенью научились показывать вместо влажности, температуру точки росы, что является более наглядным показателем реального состояния влажности). Можно также настроить уведомления (по смс или электронной почте) в случае выхода показаний за установленный предел, либо в случае потери связи с устройством.

6. Главное преимущество этой метеостанции заключается в её доступности. Стоит она всего 950 рублей (+150 рублей доставка до Москвы из Брянска). И это готовое устройство, которое можно включить и настроить за 15-20 минут. Учитывая себестоимость компонентов и время на сборку, я вообще удивляюсь почему она стоит так дешево. Пожалуй надо было заказывать сразу два устройства, чтобы установить не только в загородном доме, но и в квартире. Если же вы дружите с паяльником, то можно собрать аналогичное устройство самостоятельно, об этом можно почитать здесь.

Кроме этого на сайте «Народного мониторинга» в каталоге всех совместимых устройств можно найти что-то более продвинутое, например с дистанционно управляемыми реле. Но стоить они будут существенно дороже.

Еще устройства из серии «интернет вещей», которыми я пользуюсь:
Беспроводные радиометки Wireless Tags (55 долларов база, 25-30 долларов каждый датчик, 18 долларов доставка из США)
Дистанционный контроль энергопотребления с помощью трансформаторов тока и управление нагрузками (199 Евро + доставка из Бельгии).
Бюджетное видеонаблюдение с облачным сервисом без абонентской платы (30-60 долларов камеры, 70 долларов видеорегистратор)

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

Простая метеостанция с ЖК-экраном

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

Что понадобится

— микроконтроллер Arduino Uno
— термистор (терморезистор)
— сопротивление на 10 кОм
— семисегментный индикатор
— макетная плата
— соединительные провода «папа-папа»

Простая метеостанция с ЖК-экраном

Основой метеостанции станет термистор — элемент, сопротивление которого меняется в зависимости от температуры. Сначала я выведу информацию с сенсора на экран ноутбука, а когда разберусь со всеми этими вольтами, омами и градусами — добавлю ЖК-экран, чтобы станция работала и без компьютера.

Шаг первый. Подключаем термистор

У меня самый простой термистор: если его нагреть, сопротивление уменьшится, если охладить — вырастет. Такие элементы называют термисторами с отрицательным температурным коэффициентом или NТС (от английских слов Negative Temperature Coefficent).

К сожалению, на Ардуино нет встроенных инструментов для измерения сопротивления, поэтому будем выкручиваться. В эксперименте с батарейками мы использовали делитель напряжения: пара сопротивлений помогла снизить напряжение вдвое. Использую ту же схему, только одно сопротивление заменю термистором.

Простая метеостанция с ЖК-экраном

При комнатной температуре, 25 по Цельсию, его сопротивление равно 10 килоомам — столько же, сколько и у постоянного резистора. Теперь выходное напряжение цепи зависит только от сопротивления термистора. Измерю напряжение, подключив цепь к контакту А5.

Простая метеостанция с ЖК-экраном

Теперь я знаю всё, что нужно для определения сопротивления термистора. Воспользуюсь общей формулой делителя напряжения, чтобы найти сопротивление моего термистора.

Простая метеостанция с ЖК-экраном

Программа загрузилась, но ничего не происходит. Чтобы увидеть данные, нужно запустить монитор последовательного порта.

Простая метеостанция с ЖК-экраном

Это можно сделать в верхнем меню редактора кода (монитор порта находится во вкладке инструменты) или с помощью комбинации клавиш Ctrl+Shift+M.

Простая метеостанция с ЖК-экраном

При комнатной температуре у меня получилось, что напряжение срезалось вдвое. Это подтверждает, что мой термистор сейчас имеет сопротивление 10 кОм.

Шаг второй. Переводим омы в градусы

Терморезистор меняет сопротивление нелинейно: зависимость логарифмическая и описывается многоэтажной формулой. Придётся разбираться.

Простая метеостанция с ЖК-экраном

T0 и R0 — это основные характеристики термистора. Это температура (T0) при которой сопротивление элемента соответствует номиналу (R0). Температура чаще всего 25 градусов Цельсия, а сопротивление указано на самой детали — 10 кОм.

B — это коэффициент, который можно найти в документации на термистор. Он зависит от материала, из которого сделан сенсор.

Rt — сопротивление термистора при измеряемой температуре мы определили на предыдущем шаге. Значит теперь можем последний член уравнения — текущую температуру T.

Простая метеостанция с ЖК-экраном

Выглядит сложно, но разбивается на два действия. Сначала вычислим логарифм, затем займёмся арифметикой.

Запустим программу и откроем монитор последовательного порта.

Простая метеостанция с ЖК-экраном

Теперь в таблице появилась ещё одна колонка — результаты измерений температуры.

Шаг третий. Подключаем ЖК-экран

Теперь я отучу свою метеостанцию от компьютера: добавлю собственный экранчик и выведу на него температуру в двух шкалах — Цельсия и Фаренгейта.

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

Простая метеостанция с ЖК-экраном

Из кода программы я уберу команды, которые вызывали последовательный порт и группировали данные для отправки на компьютер.

Вместо них добавлю команды для работы с LED-дисплеем: подключение библиотеки, определение контактов и формирование строк. Первая строка меняться не будет, а во вторую выведу сразу два значения температуры: в градусах Цельсия и Фаренгейта.

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



Нам понадобится платка Wemos D1 Mini (клоник за 2$), платка с датчиком BME280 (2.55$), какой-нибудь корпус и wi-fi-роутер с интернетом.


Схема простая до безобразия.

Главное выполнить всё на пайке, а не на штырьках, а то от дребезга контактов у BME280 иногда сносит крышу и он начинает выдавать полный бред, пока ему питание не передернешь.


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

Далее нужно упаковать это в корпус и повесить за окно. Если есть возможность разместить метеостанцию на западной стороне — никаких проблем. Но у меня такой возможности нет и примерно 4ч в день метеостанция будет на солнце, поэтому я пока еще в раздумьях — как-бы снизить погрешность без громоздкой жалюзийной защиты датчика? Если знаете хорошие варианты — предлагайте в каментах. Питается вся конструкция от USB-порта wifi-роутера — это позволяет, при необходимости, удаленно перезагрузить метеостанцию вместе с роутером.

Adafruit_BME280 bme; // I2C

//MQTT Narodmon
char server[] = SRV;
char authMethod[] = USERNAME;
char token[] = PASS;
char clientId[] = MAC;
char conntopic[] = TOPIC «status»;

WiFiClient nmClient;
WiFiClient wuClient;
PubSubClient clientMQ(server, 1883, nmClient);
// only runs once on boot
void setup() // Initializing serial port for debugging purposes
Serial.begin(115200);
delay(10);

// Connecting to WiFi network
Serial.println();
Serial.print(«Connecting to „);
Serial.println(ssid);
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED) delay(500);
Serial.print(“.»);
>
Serial.println("");
Serial.println(«WiFi connected»);

// Printing the ESP IP address
Serial.println(WiFi.localIP());
Serial.println(F(«BME280 start»));

if (!bme.begin()) Serial.println(«Could not find a valid BME280 sensor, check wiring!»);
while (1);
>
>

// runs over and over again
void loop()

getWeather();
doPublishNM(«humidity», String(h, 2));
doPublishNM(«temperature», String(t, 2));
doPublishNM(«pressure», String(p, 2));
doPublishWU(temperatureFString, pressureInString, humidityString, dpFString);
delay(600000);
>

h = 0;
float valh;
for (int i=0; i<30; i++) delay (random(50,500));

valh = bme.readHumidity();
Serial.print(valh);
Serial.print("\n");
h = h+valh;
>
h=h/30;
Serial.print("\n");
t = 0;
float valt;
for (int i=0; i<30; i++) delay (random(50,500));
valt = bme.readTemperature();
Serial.print(valt);
Serial.print("\n");
t = t+valt;
>
t=t/30;
tF=(t*1.8)+32;
Serial.print(tF);
p = 0;
float valp;
for (int i=0; i<30; i++) delay (random(50,500));
valp = bme.readPressure();
Serial.print(valp);
Serial.print("\n");
p = p+valp;
>
p=p/30/100.0F;
dp = t-((1-(h/100))/0.05);
dpF = (dp*1.8)+32;
pb = p/pow(2.718281828, -0.029*9.81*150/(8.31*(t+273.15))); // приводим абсолютное давление к уровню Балтийского моря (высота 150м)
pin = p*0.0296133971008484;
dtostrf(t, 5, 2, temperatureString);
dtostrf(tF, 4, 2, temperatureFString);
dtostrf(h, 5, 2, humidityString);
dtostrf(p, 6, 2, pressureString);
dtostrf(pin, 4, 2, pressureInString);
dtostrf(dpF, 5, 2, dpFString);

String topic = TOPIC;
String payload = value;
// String topic += id;
topic.concat(id);
Serial.print(“Publishing on: „); Serial.println(topic);
Serial.print(“Publishing payload: „); Serial.println(payload);
if (clientMQ.publish(topic.c_str(), (char*) payload.c_str())) Serial.println(“Publish ok»);
> else Serial.println(«Publish failed»);
>
>

if (wuClient.connect(server2, 80)) Serial.print(F("… Connected to server: "));
Serial.print(server2);
char c = wuClient.read();
Serial.print(F(", Server response: "));
Serial.write©;
Serial.println(F(""));
Serial.println(F("… Sending DATA "));
Serial.println(F(""));
wuClient.print(webpage);
Serial.print(webpage);
wuClient.print(«ID=»);
Serial.print(«ID=»);
wuClient.print(authMethod2);
Serial.print(authMethod2);
wuClient.print("&PASSWORD=");
Serial.print("&PASSWORD=");
wuClient.print(token2);
Serial.print(token2);
wuClient.print("&dateutc=");
Serial.print("&dateutc=");
wuClient.print(«now»);
Serial.print(«now»);
wuClient.print("&tempf=");
Serial.print("&tempf=");
wuClient.print(temperatureFString);
Serial.print(temperatureFString);
wuClient.print("&baromin=");
Serial.print("&baromin=");
wuClient.print(pressureInString);
Serial.print(pressureInString);
wuClient.print("&humidity=");
Serial.print("&humidity=");
wuClient.print(humidityString);
Serial.print(humidityString);

//Finishing the communication

while(wuClient.connected()) while (wuClient.available()) char c = wuClient.read();
Serial.print©;
>
>
wuClient.flush();
wuClient.stop();
>
else Serial.println(F(«Connection failed»));
char c = wuClient.read();
Serial.write©;
wuClient.flush();
wuClient.stop();>

На этом, пожалуй, всё. Думаю, тут всё просто и каждый, при желании, сможет модифицировать этот полуфабрикат под себя — добавить датчик освещенности или дождя, например. Можно подумать над deep sleep и автономным питанием на 4хАА или 5хАА и т.п…

Читайте также: