подключение передатчика от китайской метеостанции

Nerwin
Offline
Зарегистрирован: 23.12.2014

Всем здравствуйте.

Имеется безимянный 433МГц передатчик от метеостанции, на плате есть точки подключения питания и данных (как считывать по радио каналу еще не разбирался). Подключал датчик к осцилографу, способ кодирования узнал, нужные данные расшифровал. Как это лучше сделать на ардуине нано с атмега328?

Протокол передачи: 1-высокий уровень 500мкс, 0-высокий уровень 1500мкс, паузы 1000мкс.

первые 8бит всегда 1,затем что-то похожее на id, с 22 по 32 бит - температура, с 32 по 40 влажность, 2 бита уровень батареи, еще 2 бита номер канала, и вконце скорей всего crc, его расшифровать не получилось.

пример пакета:

11111111 01110000111100(id) 1010100110((температура+400)*10) 00101100(влажность) 00(сигнал низкой батареи) 01(канал) 1111 00010111 01101100(crc?)

ардуину как и си вижу впервые, сильно не пинайте, но удалось родить вот это

#include <avr/io.h>
#define F_CPU 16000000UL
#include <util/delay.h>
#include <avr/interrupt.h>
#include <Arduino.h>
volatile uint8_t count=0;
volatile uint8_t res[64];
volatile uint8_t flag=0;

int main(void) {
	Serial.begin(9600);
	DDRD &= ~(1<<PORTD2); //D2 как вход
	PORTD &= ~(1<<PORTD2); //низкое напряжение на D2
	EICRA = 0b0011; // D3|D2(INT1|INT0) 00 - низкий уровень на входе/01 - любое изменение уровня на входе/10 - по спадающему сигналу на входе/11 - по возрастающему сигналу на входе
	EIMSK |= 1<<INT0; //разрешить локально прерывание INT0
	sei(); //глобально разрешить прерывания
	
	while (1)
	{
		if (flag==1) //если были данные
		{
			//Serial.println("");
			
			//проверка правильности получения
			uint16_t tmp = 0;
			for (uint8_t i = 0;i<8;i++)
			{
				tmp<<=1;
				tmp|=res[i]&1;
			};
			//Serial.println(tmp);
			
			if (tmp==0xff) { //первый байт должен быть 0xff
				//Температура
				double temp = 0;
				int16_t temp_tmp = 0;
				for (uint8_t i=22;i<32;i++) //биты температуры
				{
					temp_tmp<<=1; //смещаем влево
					temp_tmp|=res[i]&1; //прибавляем младший бит
				};
				temp=(temp_tmp-400)/10.0;
				
				//Влажность
				uint8_t hum = 0;
				for (uint8_t i=32;i<40;i++) //биты влажности
				{
					hum<<=1;
					hum|=res[i]&1;
				};
				
				//Канал
				uint8_t ch = 0;
				for (uint8_t i=42;i<44;i++) //биты канала
				{
					ch<<=1;
					ch|=res[i]&1;
				};
				
				Serial.print("Temperature: ");
				Serial.print((temp),1);
				Serial.print("C; Humidity: ");
				Serial.print(hum);
				Serial.print("%; Channel: ");
				Serial.print(ch);
				
				//Батарея
				if (res[41])
				{
					Serial.print("; Low battery!!!");
				};
				
				Serial.println("");
			};
			res[0]=0;
			flag=0;
			count=0;
			sei();
		};
	};
	return 0;
};

ISR( INT0_vect ) {
	_delay_us(600);
	if (digitalRead(2)==HIGH)
	{
		res[count]=0;
		count++;
		//Serial.print("0");
	}
	else
	{
		res[count]=1;
		count++;
		//Serial.print("1");
	};
	if (count==64)
	{
		flag=1;
		cli();
		_delay_ms(250);
	};
}

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

Спасибо.

Nerwin
Offline
Зарегистрирован: 23.12.2014

пробовал всю последовательность хранить в uint64_t, добавляя новые биты и читая необходимые с помощью сдвига, но выдавало непонятно что. Куда еще можно записать 64 бита? Желательно чтобы добавлять новые биты можно было бесконечно, например так: res<<=1; res|=0b1;

Joiner
Offline
Зарегистрирован: 04.09.2014

А что за метеостанция? У меня есть вопросы по передатчику и приемнику китайской метеостанции. У меня метеостанция видит выносной датчик всего на 30 см...:(

дальше она его теряет.

Nerwin
Offline
Зарегистрирован: 23.12.2014

Вот эта метеостанция.

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

Joiner
Offline
Зарегистрирован: 04.09.2014

По Вашей ссылке не показывает. Объявление удалено. Посмотрите мою. В другом форуме я задавал по ней вопросы. Посмотрите, приемник и передатчик не такой как у меня?. У меня показывает и отрицательные температуры.

Только не знаю как ссылку вставить.

Nerwin
Offline
Зарегистрирован: 23.12.2014

исправил ссылку, вашу тему не нашел, ссылку вставить есть кнопка.

Joiner
Offline
Зарегистрирован: 04.09.2014

Что-то не понимаю как ссылку вставить. Выходит окошечко для ссылки, вставляю ссылку, а ни на какие кнопки это окошко не реагирует, даже на крестик закрыть. Какие-то там еще якоря, метки....ни чего не понимаю

Nerwin
Offline
Зарегистрирован: 23.12.2014

Joiner пишет:

ни на какие кнопки это окошко не реагирует, даже на крестик закрыть. 

это у вас что-то с браузером

Joiner
Offline
Зарегистрирован: 04.09.2014

http://kazus.ru/forums/showthread.php?t=108556

Точно с браузером! Гугл хром загрузил без проблем. Спасибо :)

 

Maverik
Offline
Зарегистрирован: 12.09.2012

Nerwin пишет:

ардуину как и си вижу впервые, сильно не пинайте, но удалось родить вот это

хренасе. для первого раза ничо так ))

Nerwin
Offline
Зарегистрирован: 23.12.2014

У меня внутренности станции похожи, приемник на микрухе, в качестве антенны кусок провода, и вроде нормально ловит, а на передатчике антенна вообще на плате нарисована.

 

Вобщем переписал свой код, избавился от массивов, добавил сон. Какие замечания будут?

#include <avr/io.h>
#define F_CPU 16000000UL
#include <util/delay.h>
#include <avr/interrupt.h>
#include <Arduino.h>
#include <avr/sleep.h>
volatile uint64_t res=0;
volatile uint8_t flag=0;

int main(void) {
	ADCSRA = 0; //вырубаем АЦП (для экномии э-энергии)
	Serial.begin(9600);
	DDRD &= ~(1<<PORTD2); //D2 как вход
	PORTD &= ~(1<<PORTD2); //низкое напряжение на D2
	EICRA = 0b0011; // D3|D2(INT1|INT0) 00 - низкий уровень на входе/01 - любое изменение уровня на входе/10 - по спадающему сигналу на входе/11 - по возрастающему сигналу на входе
	EIMSK |= 1<<INT0; //разрешить локально прерывание INT0
	sei(); //глобально разрешить прерывания
	
	while (1)
	{
		if (flag!=0) //если были данные
		{
			int16_t tmp_temp = (res>>32)&1023;
			double temp = (tmp_temp-400)/10.0;
			unsigned int hum = (res>>24)&255;
			unsigned int ch = (res>>20)&3;
			
			Serial.print("Temperature: ");
			Serial.print(temp);
			Serial.print("C; Humidity: ");
			Serial.print(hum);
			Serial.print("%; Channel: ");
			Serial.print(ch);
			
			if ((res>>22)&3)
			{
				Serial.print("; Low battery!!!");
			}
			Serial.println("");
			
			res=0;
			flag=0;
			sei();
		}
		sleep_enable();
		set_sleep_mode(SLEEP_MODE_IDLE);
		sleep_mode();
	}
	return 0;
}

ISR( INT0_vect ) {
	sleep_disable();
	if ((((res>>56)&255)==0xff)&&((res>>16)&15)==0x0f)
	{
		_delay_ms(200);
		cli();
		flag=1;
		return;
	}
	
	_delay_us(600);
	res<<=1;
	if (digitalRead(2)==LOW)
	{
		res|=1;
	}
}

 

Nerwin
Offline
Зарегистрирован: 23.12.2014

а как crc посчитать никто не подскажет?

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

Joiner
Offline
Зарегистрирован: 04.09.2014

Nerwin пишет:

а как crc посчитать никто не подскажет?

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

Nerwin, как Ваши успехи с метеостанцией? Разобрались. А то моя метеостанция внешний датчик ловит только на 30 см. Может Ваш опыт поможет что-то придумать.

Nerwin
Offline
Зарегистрирован: 23.12.2014

сделать то сделал, но я ардуино цеплял к выходу радиоприемника самой станции. У вас наверное 433Мгц сильно зашумлено, или катушка (антенна) немного не на ту частоту настроены.

Joiner
Offline
Зарегистрирован: 04.09.2014

Nerwin пишет:

сделать то сделал, но я ардуино цеплял к выходу радиоприемника самой станции. У вас наверное 433Мгц сильно зашумлено, или катушка (антенна) немного не на ту частоту настроены.

А не подскажете каким приемником или чем еще  можно еще попробовать половить сигнал с моих выносных датчиков? Хотелось бы увидеть что мои датчики посылают.

Спасибо.

Ой, невнимательно прочитал. А можно подробней как к ардуинке подключали, схема, скетч, если можно.

Я вообще хочу избавиться от радиоканала или разместить передатчик внутри помещения на окне, например, а датчики пусть на улице живут.

Nerwin
Offline
Зарегистрирован: 23.12.2014

на плате самой станции был нераспаянный разъем, земля, +3.3В, и линия которая идет на микруху радиоприемник. подключение простое, землю на землю, выход приемника на любой цифровой вход. Посмотреть, что передает можно через звуковуху, даже схемы с нч генератором не надо городить, просто 1 из каналов через резистор подключить перед входом модулятора в датчике.

Joiner
Offline
Зарегистрирован: 04.09.2014

Nerwin пишет:

на плате самой станции был нераспаянный разъем, земля, +3.3В, и линия которая идет на микруху радиоприемник. подключение простое, землю на землю, выход приемника на любой цифровой вход. Посмотреть, что передает можно через звуковуху, даже схемы с нч генератором не надо городить, просто 1 из каналов через резистор подключить перед входом модулятора в датчике.

Спасибо. Попробую осмыслить.

Joiner
Offline
Зарегистрирован: 04.09.2014

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

Сама метеостанция мне вполне нравится и предсказывает погоду, как мне кажется, точнее яндекса в плане ясно или пасмурно будет, и будут ли осадки. Но в комплекте имеются выносные датчики, симпатичненькие, с LCD дисплейчиками, и передатчиками. Предназначение их я не очень понимаю. Температуру измеряют только от - 5 градусов, и зачем такую красивую коробочку выставлять на улицу вместе с дисплеем и батарейками? И плюс к тому связь с основной станцией только на дальность 30 см !!!!!!!!!!!!!!!!!!!!   Хочу вынести на улицу только датчики температуры и влажности (уже свои), а самодельный блочок с передатчиком и батарейками установить в помещении, пусть передает по радио температуру и влажность на улице, а основная станция пусть принимает данные.

С этой целью заснял сигнал с выносного датчика. Думал анализатор определит протокол и все расшифрует.....но случился облом. Ни чего понять я не смог :(  Просидел несколько часов, лопатил интернет, результат  - ноль.

nik182
Offline
Зарегистрирован: 04.05.2015
Joiner
Offline
Зарегистрирован: 04.09.2014

nik182, спасибо! Завтра попробую эту тему. Хоть у меня станция не Оригон, но все равно попробую что там датчик передает, может что-то похожее.

Joiner
Offline
Зарегистрирован: 04.09.2014

Вот так на анализаторе выглядит сигнал с выносного датчика метеостанции

Весь сигнал, похоже, состоит из двенадцати блоков. Все импульсы одинаковой длительности примерно 0.5 мсек. Сигнал начинается с импульса и паузой за ним длительностью примерно 4 мсек. Все 12 блоков начинаются с этого. Данные записаны, как я понимаю одинаковыми импульсами по 0.5 м сек, но с разными паузами 1 мсек и 2 мсек. В конце всей передачи короткий импульс 0.13 мсек....а дальше тишина.

Вот загадка, блин!!!!

Joiner
Offline
Зарегистрирован: 04.09.2014

Продолжаю ломать моск.... Определил, что выносной датчик шлет 12 одинаковых пакетов. Все импульсы(уровень 1) 0.5 миллисекунды, отличаются только паузы (уровень 0).

Все начинается с импульса и паузы за ним 4 мсек. Каждый из двенадцати одинаковых частей пакета начинается с импульса и паузы 2 мсек. Само содержимое определяется, как понимаю, одинаковыми импульсами и разными паузами 1.5  и 2 мсек.

Может есть здесь специалисты, которые могут подсказать, что это за протокол? В какую сторону копать?

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

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

ПОМОГИТЕ

Nerwin
Offline
Зарегистрирован: 23.12.2014

Тут 2 варианта, либо длинная пауза 0 либо 1, короткая соответственно наоборот. Надо записать несколько измерений (разных) и смотреть что меняется

Joiner
Offline
Зарегистрирован: 04.09.2014

Nerwin пишет:
Тут 2 варианта, либо длинная пауза 0 либо 1, короткая соответственно наоборот. Надо записать несколько измерений (разных) и смотреть что меняется

Запишу несколько измерений и что показывает дисплей датчика. Похоже, что вся информация умещается в 36 битов.

Nerwin
Offline
Зарегистрирован: 23.12.2014

Примерно так я расшифровывал свой
ID? (t+400)*10 hum lb|ch crc?
1 27.8 44
11111111 01110000111100 1010100110 00101100 00 01 1111 00010111 01101100
255 678 44 0 1 23 108

1 30.1 39
11111111 01110000111100 1010111101 00100111 00 01 1111 00000111 01101110
255 701 39 0 1 7 110

1 28.2 56 low bat
11111111 01110111011100 1010101010 00111000 01 01 1111 11001000 11110100
255 682 56 1 1 200 244

В блокноте надо подровнять, чтобы на таблицу стало похоже

Joiner
Offline
Зарегистрирован: 04.09.2014

Nerwin пишет:
Примерно так я расшифровывал свой .............

Буду расшифровывать свой, что получится напишу....если что-то получится.

Joiner
Offline
Зарегистрирован: 04.09.2014

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

Попробовал сегодня получить пакет по радиомодулю. В общем нормально получилось. Сначала шум, потом немного зашумленное начало пакета на первом импульсе, но потом все хорошо. Видимо, поэтому данные повторяются 12 раз в пакете.

Nerwin
Offline
Зарегистрирован: 23.12.2014

Скорей всего как и у меня. Передается целое число 3 знака. Минимальное показание 0. Если диапазон от -40 до 40 то значения будут от 0 до 800. Надо узнать пределы измерения. Бит будет 10, младшие уже найдены

Joiner
Offline
Зарегистрирован: 04.09.2014

Nerwin пишет:
Скорей всего как и у меня.....
Спасибо, буду пробовать дальше...

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

Прогноз дает в большинстве случаев достоверный. А с уличным датчиком может еще точнее будет.....

kaluganin
kaluganin аватар
Offline
Зарегистрирован: 25.12.2015

https://wiki.pilight.org/auriol_protocol_v20.pdf не этот протокол часом??

Joiner
Offline
Зарегистрирован: 04.09.2014

kaluganin пишет:

https://wiki.pilight.org/auriol_protocol_v20.pdf не этот протокол часом??

Огромное спасибо! Попробую разобраться. Тема для меня еще актуальна. Очень хочется посылать уличные данные со своих датчиков на китайскую метеостанцию. А то она у меня показывает данные внутри помещения.

miks69
Offline
Зарегистрирован: 16.02.2020

@Joiner, судя по вашим картинкам, это очень похоже на манчестерский код, весьма неприятная штука для обработки

http://arduino.ru/forum/programmirovanie/manchesterskoe-kodirovanie-real...

kaluganin
kaluganin аватар
Offline
Зарегистрирован: 25.12.2015

есть готовая библиотека.. так-что не особо..

Joiner
Offline
Зарегистрирован: 04.09.2014

Спасибо. Я до сих пор не разобрался. Когда-то отложил в долгий ящик, и забыл. оказывается сколько времени уже прошло! Надо бы вернуться и попробовать разобраться.

Спасибо.

miks69
Offline
Зарегистрирован: 16.02.2020

kaluganin пишет:

есть готовая библиотека.. так-что не особо..

дадите ссылочку?

kaluganin
kaluganin аватар
Offline
Зарегистрирован: 25.12.2015
miks69
Offline
Зарегистрирован: 16.02.2020

Joiner пишет:

Спасибо. Я до сих пор не разобрался. Когда-то отложил в долгий ящик, и забыл. оказывается сколько времени уже прошло! Надо бы вернуться и попробовать разобраться.

Спасибо.

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

В вашем случае это:

1. Импульс синхронизации, показывает старт передачи данных

2. Данные: 1000 0111 0000 0000 1110 0101 1111 0001 0101 - всего 36 бит или 9 полубайт.

Всего в передаваемом пакете может быть 3-4 повтора набора данных, разделяемых импульсом синхронизации.

Первые 3 полубайта кодируют идентификатор датчика, номер радиоканала, состояние батареи

Следующие 3 полубайта кодируют данные о температуре

Следующие 2 полубайта кодируют данные о влажности

Последний полубайт - контрольная сумма.

Подробнее здесь - https://soltau.ru/index.php/arduino/item/526-chtenie-dannykh-datchika-po...

Для приема похожего сигнала я использовал библиотеку RCSwitch - https://github.com/sui77/rc-switch

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

Будут вопросы - обращайтесь, постараюсь помочь.

miks69
Offline
Зарегистрирован: 16.02.2020

Спасибо, буду пробовать. А то я уже все мозги сломал, как его принять.

kaluganin
kaluganin аватар
Offline
Зарегистрирован: 25.12.2015

удачи, поделитесь тогда результатом :))

Joiner
Offline
Зарегистрирован: 04.09.2014

miks69 пишет:

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

 

........................

Будут вопросы - обращайтесь, постараюсь помочь.

Думаю, вопросы будут, т.к. я не спец в этой области. Так что обратиться придется. Спасибо. 

miks69
Offline
Зарегистрирован: 16.02.2020

kaluganin пишет:

удачи, поделитесь тогда результатом :))

У меня с этой библиотекой не заработало, поэтому пришлось писать прием манчестер-кода самостоятельно. Подробности моих изысканий в соседней ветке, посвященной теме манчестер-кода, http://arduino.ru/forum/programmirovanie/manchesterskoe-kodirovanie-realizatsiya

Joiner
Offline
Зарегистрирован: 04.09.2014

miks69 пишет:

У меня с этой библиотекой не заработало, поэтому пришлось писать прием манчестер-кода самостоятельно. Подробности моих изысканий в соседней ветке, посвященной теме манчестер-кода, http://arduino.ru/forum/programmirovanie/manchesterskoe-kodirovanie-realizatsiya

Спасибо.

miks69
Offline
Зарегистрирован: 16.02.2020

Попался и мне такой датчик в составе домашней погодной станции под названием Garin WS-2 (https://www.garin-tm.ru/product/13223).

Протокол передачи датчика действительно очень похож на 36-битный протокол датчика BL999 (https://soltau.ru/index.php/arduino/item/526-chtenie-dannykh-datchika-pogody-bl999-s-pomoshchyu-arduino), но, судя по всему, китайцы как всегда немного подшаманили с кодированием передаваемых данных, хотя, в общем, ничего нового.

По таймингам у меня получилось следующее: SyncBit - 3850мкс, "0" - 550+850мкс, "1" - 550+1900мкс.

По декодированию передаваемых данных мне удалось медотом тыка распознать следующее:

Первые два полубайта - ID датчика, случайное число, присваемое при включении питания датчика.

Третий полубайт: старший бит судя по всему состояние батареи (1 - нормальное, 0 - низкий уровень), два младших бита - номер радиоканала (0,1,2).

Следующие три полубайта это значение температуры, умноженное на 10.

Следующий полубайт всегда передает b1111 (0xF), смысл его мне не известен.

Последние два полубайта это тупо значение влажности.

Данные о температуре и влажности передаются без всяких выкрутасов с инверсией битов и дополнительным кодом, как в протоколе датчика BL999, и даже без контрольной суммы. Зато я насчитал 12 одинаковых пакетов в одной посылке. О как!

Таким образом, в вашем случае:

Данные: 1000 0111 0000 0000 1110 0101 1111 0001 0101 или 0x8700E5F15, которые можно интерпретировать как:

ID датчика = 0x87, батарея = Low, канал = 0, температура = 22.9, влажность = 21.

Доработанный вариант библиотеки RCSwitch для приема и декодирования данного протокола можно найти в моем репозитории на Gihub - https://github.com/miksumin/RCSwitch

Будут вопросы - обращайтесь.

Joiner
Offline
Зарегистрирован: 04.09.2014

Обязательно обращусь! Эта погодная станция выдаёт прогноз гораздо точнее чем МЧС и Яндекс погода. Хотелось бы узнать её алгоритм.

 

miks69
Offline
Зарегистрирован: 16.02.2020

Joiner пишет:

Обязательно обращусь! Эта погодная станция выдаёт прогноз гораздо точнее чем МЧС и Яндекс погода. Хотелось бы узнать её алгоритм.

У меня другие впечатления. По моим наблюдениям датчик уличной температуры завышает показания примерно на 1 градус в сравнении с другими датчиками.

А алгоритм прогнозирования вы можете узнать только непосредственно у китайцев, которые ее программировали.

Joiner
Offline
Зарегистрирован: 04.09.2014

Завышает на 1 градус  - это такая мелочь! Главное сделать правильный прогноз. Моя жена верит только этой метеостанции.

miks69
Offline
Зарегистрирован: 16.02.2020

Joiner пишет:

Завышает на 1 градус  - это такая мелочь! Главное сделать правильный прогноз. Моя жена верит только этой метеостанции.

Ну я бы так не сказал. Для совеременных цифровых датчиков нормальная погрешность не более 0.5 градуса.

miks69
Offline
Зарегистрирован: 16.02.2020

Вообще совеременные алгоримты расчета погодных прогнозов достаточно сложны и требуют много исходных статистических данных и больших вычислительных мощностей. Для домашнего прогноза лучше всего использовать барометр с историей изменений давления. Раньше это были аналоговые(механические) настенные барометры, теперь это цифровые погодные станции с датчиками давления и отображением истории за последние несколько часов. При очень большом желании сделать свой прогноз на основе данных со своих датчиков можно воспользоваться готовыми алгоритмами модели WRF, доступной для использования в домашних условиях (https://habr.com/ru/post/117140/).

Joiner
Offline
Зарегистрирован: 04.09.2014

miks69 пишет:

................(https://habr.com/ru/post/117140/).

Спасибо.

rkit
Offline
Зарегистрирован: 23.11.2016

miks69 пишет:

 При очень большом желании сделать свой прогноз на основе данных со своих датчиков можно воспользоваться готовыми алгоритмами модели WRF, доступной для использования в домашних условиях (https://habr.com/ru/post/117140/).

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

miks69
Offline
Зарегистрирован: 16.02.2020

rkit пишет:

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

Умеющий читать прочитает. А к незнакомым людям культурные люди обращаются на ВЫ.