Ви не увійшли.
Сторінки 1
Дякую, запрацювало!
Напишіть мені в телеграм номер карти @batm_n
А не простіше тоді робити проект на ESP8266?
Привіт, треба виправити парсер, для роботи з API не підключається.
Розрахунок за виконану роботу відразу на карту.
___
ESP8266
WiFiClientSecure httpsClient;
___
09:06:32.197 -> connecting to russianwarship.rip
09:06:32.329 -> connection failed
// ===================================================
// https://russianwarship.rip/api/v2/statistics/latest
// ===================================================
void getStat() {
Serial.print("connecting to ");
Serial.println(serverFuckrussian);
if (!httpsClient.connect(serverFuckrussian, httpsPort)) {
Serial.println("connection failed");
return ;
}
String request = String("GET /api/v2/statistics/") + latest + " HTTP/1.1rn"+
"Host: " + serverFuckrussian + "rnUser-Agent: ESP8266HTTPClient/1.1rnConnection: closernrn";
if (!httpsClient.connected()) {
Serial.println("connection lost");
return ;
}
httpsClient.print(request);
String response = "";
while (httpsClient.connected()) {
String line = httpsClient.readStringUntil('n');
if (line == "r") {
break;
}
}
DynamicJsonDocument doc(1536);
DeserializationError error = deserializeJson(doc, httpsClient);
if (error) {
Serial.print(F("deserializeJson() failed: "));
Serial.println(error.f_str());
return;
}
//const char* message = doc["message"]; // "The data were fetched successfully."
JsonObject data = doc["data"];
//const char* data_date = data["date"]; // "2023-05-05"
//int data_day = data["day"]; // 436
//const char* data_resource = data["resource"];
int data_war_status_code = data["war_status"]["code"]; // 1
const char* data_war_status_alias = data["war_status"]["alias"]; // "in_progress"
JsonObject data_stats = data["stats"];
long data_stats_personnel_units = data_stats["personnel_units"]; // 193210
//int data_stats_tanks = data_stats["tanks"]; // 3710
// int data_stats_armoured_fighting_vehicles = data_stats["armoured_fighting_vehicles"]; // 7224
// int data_stats_artillery_systems = data_stats["artillery_systems"]; // 2978
// int data_stats_mlrs = data_stats["mlrs"]; // 550
// int data_stats_aa_warfare_systems = data_stats["aa_warfare_systems"]; // 304
// int data_stats_planes = data_stats["planes"]; // 308
// int data_stats_helicopters = data_stats["helicopters"]; // 294
// int data_stats_vehicles_fuel_tanks = data_stats["vehicles_fuel_tanks"]; // 5916
// int data_stats_warships_cutters = data_stats["warships_cutters"]; // 18
// int data_stats_cruise_missiles = data_stats["cruise_missiles"]; // 947
// int data_stats_uav_systems = data_stats["uav_systems"]; // 2540
// int data_stats_special_military_equip = data_stats["special_military_equip"]; // 373
// int data_stats_atgm_srbm_systems = data_stats["atgm_srbm_systems"]; // 4
JsonObject data_increase = data["increase"];
int data_increase_personnel_units = data_increase["personnel_units"]; // 620
// int data_increase_tanks = data_increase["tanks"]; // 3
// int data_increase_armoured_fighting_vehicles = data_increase["armoured_fighting_vehicles"]; // 8
// int data_increase_artillery_systems = data_increase["artillery_systems"]; // 16
// int data_increase_mlrs = data_increase["mlrs"]; // 3
// int data_increase_aa_warfare_systems = data_increase["aa_warfare_systems"]; // 0
// int data_increase_planes = data_increase["planes"]; // 0
// int data_increase_helicopters = data_increase["helicopters"]; // 0
// int data_increase_vehicles_fuel_tanks = data_increase["vehicles_fuel_tanks"]; // 30
// int data_increase_warships_cutters = data_increase["warships_cutters"]; // 0
// int data_increase_cruise_missiles = data_increase["cruise_missiles"]; // 0
// int data_increase_uav_systems = data_increase["uav_systems"]; // 17
// int data_increase_special_military_equip = data_increase["special_military_equip"]; // 3
// int data_increase_atgm_srbm_systems = data_increase["atgm_srbm_systems"]; // 0
string_stat = String("fr " + String(data_stats_personnel_units) + "(+" + String(data_increase_personnel_units + ")"));
Serial.print("Personnel Units: ");
Serial.println(string_stat);
httpsClient.stop();
}
Повинно працювати, згідно документації, але нажаль маю цю помилку..
void getStat() {
//WiFiClientSecure httpsClient;
httpsClient.setCACert(root_ca_cert);
//httpsClient.setInsecure();
Serial.print("connecting to ");
Serial.println(serverFuckrussian);
if (!httpsClient.connect(serverFuckrussian, httpsPort)) {
Serial.println("connection failed");
return ;
}
String request = String("GET /api/v2/statistics/") + latest + " HTTP/1.1rn"+
"Host: " + serverFuckrussian + "rnUser-Agent: ESP8266HTTPClient/1.1rnConnection: closernrn";
if (!httpsClient.connected()) {
Serial.println("connection lost");
return ;
}
httpsClient.print(request);
String response = "";
while (httpsClient.connected()) {
String line = httpsClient.readStringUntil('n');
if (line == "r") {
break;
}
}
DynamicJsonDocument doc(1536);
DeserializationError error = deserializeJson(doc, httpsClient);
if (error) {
Serial.print(F("deserializeJson() failed: "));
Serial.println(error.f_str());
return;
}
//const char* message = doc["message"]; // "The data were fetched successfully."
JsonObject data = doc["data"];
//const char* data_date = data["date"]; // "2023-05-05"
//int data_day = data["day"]; // 436
//const char* data_resource = data["resource"];
int data_war_status_code = data["war_status"]["code"]; // 1
const char* data_war_status_alias = data["war_status"]["alias"]; // "in_progress"
JsonObject data_stats = data["stats"];
long data_stats_personnel_units = data_stats["personnel_units"]; // 193210
//int data_stats_tanks = data_stats["tanks"]; // 3710
// int data_stats_armoured_fighting_vehicles = data_stats["armoured_fighting_vehicles"]; // 7224
// int data_stats_artillery_systems = data_stats["artillery_systems"]; // 2978
// int data_stats_mlrs = data_stats["mlrs"]; // 550
// int data_stats_aa_warfare_systems = data_stats["aa_warfare_systems"]; // 304
// int data_stats_planes = data_stats["planes"]; // 308
// int data_stats_helicopters = data_stats["helicopters"]; // 294
// int data_stats_vehicles_fuel_tanks = data_stats["vehicles_fuel_tanks"]; // 5916
// int data_stats_warships_cutters = data_stats["warships_cutters"]; // 18
// int data_stats_cruise_missiles = data_stats["cruise_missiles"]; // 947
// int data_stats_uav_systems = data_stats["uav_systems"]; // 2540
// int data_stats_special_military_equip = data_stats["special_military_equip"]; // 373
// int data_stats_atgm_srbm_systems = data_stats["atgm_srbm_systems"]; // 4
JsonObject data_increase = data["increase"];
int data_increase_personnel_units = data_increase["personnel_units"]; // 620
// int data_increase_tanks = data_increase["tanks"]; // 3
// int data_increase_armoured_fighting_vehicles = data_increase["armoured_fighting_vehicles"]; // 8
// int data_increase_artillery_systems = data_increase["artillery_systems"]; // 16
// int data_increase_mlrs = data_increase["mlrs"]; // 3
// int data_increase_aa_warfare_systems = data_increase["aa_warfare_systems"]; // 0
// int data_increase_planes = data_increase["planes"]; // 0
// int data_increase_helicopters = data_increase["helicopters"]; // 0
// int data_increase_vehicles_fuel_tanks = data_increase["vehicles_fuel_tanks"]; // 30
// int data_increase_warships_cutters = data_increase["warships_cutters"]; // 0
// int data_increase_cruise_missiles = data_increase["cruise_missiles"]; // 0
// int data_increase_uav_systems = data_increase["uav_systems"]; // 17
// int data_increase_special_military_equip = data_increase["special_military_equip"]; // 3
// int data_increase_atgm_srbm_systems = data_increase["atgm_srbm_systems"]; // 0
string_stat = String("fr " + String(data_stats_personnel_units) + "(+" + String(data_increase_personnel_units + ")"));
Serial.print("Personnel Units: ");
Serial.println(string_stat);
httpsClient.stop();
}
Дякую, зараз розбираюсь.
Додав сертифікат, але чомусь пише що в класі немає такої ф-ції/Users/******/Documents/Arduino/clock_fuckr/clock_fuckr.ino: In function 'void getYoutube()': /Users/******/Documents/Arduino/clock_fuckr/clock_fuckr.ino:280:15: error: 'class BearSSL::WiFiClientSecure' has no member named 'setCACert' 280 | httpsClient.setCACert(root_ca_cert); | ^~~~~~~~~ /Users/******/Documents/Arduino/clock_fuckr/clock_fuckr.ino: In function 'void getStat()': /Users/******/Documents/Arduino/clock_fuckr/clock_fuckr.ino:346:15: error: 'class BearSSL::WiFiClientSecure' has no member named 'setCACert' 346 | httpsClient.setCACert(root_ca_cert); | ^~~~~~~~~ exit status 1 Compilation error: 'class BearSSL::WiFiClientSecure' has no member named 'setCACert'
В мене паралельно на python написаний проект з парсером цьогод сайту, наскільки все просто.
С++ Arduino бібліотеки, омг ну дуже складно все
Дякую, зараз розбираюсь.
Додав сертифікат, але чомусь пише що в класі немає такої ф-ції
/Users/******/Documents/Arduino/clock_fuckr/clock_fuckr.ino: In function 'void getYoutube()':
/Users/******/Documents/Arduino/clock_fuckr/clock_fuckr.ino:280:15: error: 'class BearSSL::WiFiClientSecure' has no member named 'setCACert'
280 | httpsClient.setCACert(root_ca_cert);
| ^~~~~~~~~
/Users/******/Documents/Arduino/clock_fuckr/clock_fuckr.ino: In function 'void getStat()':
/Users/******/Documents/Arduino/clock_fuckr/clock_fuckr.ino:346:15: error: 'class BearSSL::WiFiClientSecure' has no member named 'setCACert'
346 | httpsClient.setCACert(root_ca_cert);
| ^~~~~~~~~
exit status 1
Compilation error: 'class BearSSL::WiFiClientSecure' has no member named 'setCACert'
В мене паралельно на python написаний проект з парсером цьогод сайту, наскільки все просто.
С++ Arduino бібліотеки, омг ну дуже складно все
Питання знатакам, в скетчі прописано кілька парсерів, вони однотипні, але парсять по протоколу http, не можу зрозуміть чому https не пропускає... може десь помилка? Підскажіть
// link
void getStat() {
WiFiClientSecure client;
Serial.print("connecting to ");
Serial.println(String(serverFuckrussian));
if (!client.connect(serverFuckrussian, httpsPort)) {
Serial.println("connection failed");
return ;
}
String request_fr = String("GET /api/v2/statistics/") + latest + " HTTP/1.1rn"+
"Host: " + serverFuckrussian + "rnUser-Agent: ESP8266HTTPClient/1.1rnConnection: closernrn";
if (!client.connected()) {
Serial.println("connection lost");
return ;
}
client.print(request_fr);
String response = "";
while (client.connected()) {
String line = client.readStringUntil('n');
if (line == "r") {
break;
}
}
// String input;
DynamicJsonDocument doc(1536);
DeserializationError error = deserializeJson(doc, client);
if (error) {
Serial.print(F("deserializeJson() failed: "));
Serial.println(error.f_str());
return;
}
//const char* message = doc["message"]; // "The data were fetched successfully."
JsonObject data = doc["data"];
//const char* data_date = data["date"]; // "2023-05-05"
//int data_day = data["day"]; // 436
//const char* data_resource = data["resource"];
int data_war_status_code = data["war_status"]["code"]; // 1
const char* data_war_status_alias = data["war_status"]["alias"]; // "in_progress"
JsonObject data_stats = data["stats"];
long data_stats_personnel_units = data_stats["personnel_units"]; // 193210
//int data_stats_tanks = data_stats["tanks"]; // 3710
// int data_stats_armoured_fighting_vehicles = data_stats["armoured_fighting_vehicles"]; // 7224
// int data_stats_artillery_systems = data_stats["artillery_systems"]; // 2978
// int data_stats_mlrs = data_stats["mlrs"]; // 550
// int data_stats_aa_warfare_systems = data_stats["aa_warfare_systems"]; // 304
// int data_stats_planes = data_stats["planes"]; // 308
// int data_stats_helicopters = data_stats["helicopters"]; // 294
// int data_stats_vehicles_fuel_tanks = data_stats["vehicles_fuel_tanks"]; // 5916
// int data_stats_warships_cutters = data_stats["warships_cutters"]; // 18
// int data_stats_cruise_missiles = data_stats["cruise_missiles"]; // 947
// int data_stats_uav_systems = data_stats["uav_systems"]; // 2540
// int data_stats_special_military_equip = data_stats["special_military_equip"]; // 373
// int data_stats_atgm_srbm_systems = data_stats["atgm_srbm_systems"]; // 4
JsonObject data_increase = data["increase"];
int data_increase_personnel_units = data_increase["personnel_units"]; // 620
// int data_increase_tanks = data_increase["tanks"]; // 3
// int data_increase_armoured_fighting_vehicles = data_increase["armoured_fighting_vehicles"]; // 8
// int data_increase_artillery_systems = data_increase["artillery_systems"]; // 16
// int data_increase_mlrs = data_increase["mlrs"]; // 3
// int data_increase_aa_warfare_systems = data_increase["aa_warfare_systems"]; // 0
// int data_increase_planes = data_increase["planes"]; // 0
// int data_increase_helicopters = data_increase["helicopters"]; // 0
// int data_increase_vehicles_fuel_tanks = data_increase["vehicles_fuel_tanks"]; // 30
// int data_increase_warships_cutters = data_increase["warships_cutters"]; // 0
// int data_increase_cruise_missiles = data_increase["cruise_missiles"]; // 0
// int data_increase_uav_systems = data_increase["uav_systems"]; // 17
// int data_increase_special_military_equip = data_increase["special_military_equip"]; // 3
// int data_increase_atgm_srbm_systems = data_increase["atgm_srbm_systems"]; // 0
stat = String("fr " + String(data_stats_personnel_units) + "(+" + String(data_increase_personnel_units + ")"));
Serial.print("Personnel Units: ");
Serial.println(stat);
client.stop();
}
ledon пише:Но после начала войны и после того как тамошние пользователи показали свое нутро я перестал это делать. Только чтение.
Какое-то половинчатое решение. Может вам логичнее было полностью отказаться от этих ресурсов ?
ledon пише:Вам же, особенно с учетом вашей былой професии, как то странно принимать там активное участие.
На счет активного участия, как-то странно звучит. По моему за последние полгода это мой первый пост был...
ledon пише:Или вы из любителей руССкагамира?
Снова какие-то непонятно на чем основанные выводы. Не нахожу логики в ваших умозаключениях ...
ledon пише:Тогда вопросв больше нет.
Ок.
Цікаво, почитав взагалі переписку, вирішив промоніторити...
На днях приліт в ваше місто Павлоград, а ви на мацковцких форумах 4 місяці назад викладуєте проект, скажете, що не відвідуєте але онлайн були там 4 дні тому...
Хакінтош можна було і з збірки зробить)
Так, гарний мамонт, все що треба працю)
Розібрався, там є сикрет з істалюванням через Java
В мене інша проблема.
__
Mac OS high Sierra 10.13.6
Не не знаю яку версію Stm32CubeProg скачать і де, тому що на оф сайті, лише ві 2.5 до 2.13 і попередніх немає, а вони походу не підтримуються...
__
Чим можна прошивать STM з під яблука?
Сторінки 1