Часы с погодой от yandex. ESP8266 + дисплей ILI9341

ua6em

Небольшое недопонимание. У меня рабочий скетч, а ключ полученный у Яндекса не работает. в первом посте я постарался поподробнее описать проблему.

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

ua6em

Когда я вставляю ключ от OpenWeather станция начинает работать нормально, но при следующем запросе (через 20 минут) часы останавливаются и прогноз не меняется, а когда я вставляю ключ от Яндекса - погода вобще не появляется, часы останавливаются через 2-3 минуты. Здесь какая-то системная проблема. Метеостанция исправна.

Они отдают все в JSON формате. Колличество и имена данных только разные

я это и имел ввиду

часики надо переводить на ключ яндекса, то-есть переделать обработчик в коде программы

ua6em

Никогда не работал с погодными данными. Из Яндекса тоже сказали, что формат разный. Видимо так и есть. Я связался с разработчиком метеостанции, он сказал, что скоро доработает прошивку и можно будет обращаться к Open meteo. Пока доступную в России. Там не нужен ключ. Хотя какая разница, закроют снова доступ россиянам и все. Почему он не рассматривает сделать сразу без обращения к буржуинским сайтам не знаю. Пока на этот вопрос он не ответил. Хорошо, что завел хотя-бы Дзен, куда будет выкладывать новые ролики, а до сих пор вся информация лежит на ютубе, куда не так просто бывает добраться. Это известный Андрей Ушаков со своей разработкой метеостанции. Если бы узнать отличие форматов ключей Open Weather и Яндекса можно было бы самому поковырять прошивку. Но такой информации или хотя бы вобще как это устроено с ключами, я не нашел. Конечно может плохо искал.

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

Граф (c 1744) Андре́й Ива́нович Ушако́в (1672 — 20 [31] марта 1747) — русский военный и государственный деятель, сподвижник Петра I, генерал-аншеф, начальник тайной разыскной канцелярии в 1731—1746 годах.

Известный, да ))

2 лайка

Ну и по стоимости нужно сразу ссылку дать ))

Я сижу на бесплатном тарифе, хватает

Бесплатный тариф там всего 7-14 дней, давно “сидишь”?


Может стОит посмотреть в сторону:

ua6em

Вот ссылка на ютуб: https://www.youtube.com/watch?v=C2GkZ7R57i8&t=2s&ab_channel=Andrey-Ush
И еще сайт, который я только вчера нашел Настраиваем изображение дисплея под себя / Customize the display image for yourself (33), Видео, Смотреть онлайн

Как по мне - метеостанция просто шикарная, да и не в этом дело, просто это штука сделана мной лет 5-6 назад, работала нормально, пока не случились известные события в России. Не хочется начинать все заново.
Я никогда не работал с Ардуино, только с нормальными IDE - IAR, CubeIde, WS и языками - C и С++. Если я правильно понимаю - скетч для Ардуино изначально пишется например в WS, а потом компилируется и прошивается в Ардуино? Никак не могу понять зачем было все так все извращать тем кто это придумал? В программе на С++ нет файла main. Очень сложно это принять если всегда писал только по классике. Короче, если можно, в двух словах - просветите. Спасибо.

если есть исходный код вставить функцию обработки ключа Яндекса человеку пишущему на С++ вообще не проблема, считайте что loop() это и есть main

Можно изначально писать в Ардуино IDE, в последных версиях IDE стала похожа на взрослую. Можно писать и компилировать/прошивать в vs code с соответствующим расширением. Есть расширение и для WS, но этим не пользовался.

Файл main.cpp там есть, но скрыт от пользователя

main.cpp
/*
  main.cpp - Main loop for Arduino sketches
  Copyright (c) 2005-2013 Arduino Team.  All right reserved.

  This library is free software; you can redistribute it and/or
  modify it under the terms of the GNU Lesser General Public
  License as published by the Free Software Foundation; either
  version 2.1 of the License, or (at your option) any later version.

  This library is distributed in the hope that it will be useful,
  but WITHOUT ANY WARRANTY; without even the implied warranty of
  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  Lesser General Public License for more details.

  You should have received a copy of the GNU Lesser General Public
  License along with this library; if not, write to the Free Software
  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
*/

#include <Arduino.h>

// Declared weak in Arduino.h to allow user redefinitions.
int atexit(void (* /*func*/ )()) { return 0; }

// Weak empty variant initialization function.
// May be redefined by variant files.
void initVariant() __attribute__((weak));
void initVariant() { }

void setupUSB() __attribute__((weak));
void setupUSB() { }

int main(void)
{
	init();

	initVariant();

#if defined(USBCON)
	USBDevice.attach();
#endif
	
	setup();
    
	for (;;) {
		loop();
		if (serialEventRun) serialEventRun();
	}
        
	return 0;
}

Можете писать и как привыкли ))

1 лайк

Что ты человека путаешь?
ТС, вот так в простом приближении выглядит файл скетча ардуино для компилятора:

#include <include-files.h>

#define define def

// Объявление глобальных переменных

int main () {

  setup ();

  while (1) {
    loop();
  }
  return 0;
}

там солидно придётся поработать чтобы перевести под Arduino IDE

Одобрено, можешь приступать

если ты мне я уж лучше среду поставлю )))

Вперед и с песней. Только человек тебя не про эту станцию спрашивал вроде :wink:

а ты про

KaraWin
karawin · he/him

видимо я не разобрался, там радио есть с метео, пока в подробности не вникал, да ТС и сам в состоянии, не то что “ненастоящие сталевары”