avatar_Игорь

Весовой калькулятор

Автор Игорь, 02-08-2018, 07:45:11

Попередня тема - Наступна тема

0 Користувачі і 1 Гість дивляться цю тему.

ИгорьTopic starter

Кожен запит на сервер, як з боку пристрою, так і з боку застосунку нотується та тимчасово зберігається у файлі http://labspirt.club/warning/1.html. Зараз трохи дороблю щоб було ясно де вхідна строка, де вихідна. Тимчасовість зумовлена розміром файлу. Еоли він перебільшує 100 кілобайт, обрізається до 80. Ще більше 1000 строк зберігання. Файл сам не поновлюється, щоб бачити зміни, треба час від часу поновлювати сторінку.
Iване, всю ніч грався. Бачу, що період в 3 хвилини - це забагато. Треба у застосунку змінити періоди на одну хвилину та 5  замість 3 та 10. А так - все чудово. Може в процесі роботи з'являться якісь думки, але основна мета досягнута. Телефон так голосно волає, що розбудить навіть покійника :)
Віриш ти в Бога чи ні, йому байдуже.
Важливо, щоб Бог в тебе вірив, а не навпаки.

ivan_fd

Зміню, але трішки пізніше. Дитина заняла комп'ютер, вчиться.

ИгорьTopic starter

Це не терміново.
Ще одна деталь.
Ти додав назву хосту. Треба слеш та слово "warning" перенести в незмінну частину URL. Якщо треба буде - поясню чому.

Віриш ти в Бога чи ні, йому байдуже.
Важливо, щоб Бог в тебе вірив, а не навпаки.

ivan_fd

Слеш перед, чи після warning?

Поясніть, чому?

ИгорьTopic starter

#109
Необхідно щоб налаштування всіх параметрів на пристрої та в застосунку мали однаковий вигляд. Користувач має  переписаті один до одного, літера за літерою свій ID та назву хоста. Iнакше буде головна біль. Хвильку...


добавлено: 27-01-2022, 12:20:43

Налаштування зв'язку на пристрої мають такий формат. Дуже важливо щоб у застосунку формат був таким самим.

добавлено: 27-01-2022, 12:20:36

Тепер про необхідність лишити "голий" хост. За пару хвилин.
Віриш ти в Бога чи ні, йому байдуже.
Важливо, щоб Бог в тебе вірив, а не навпаки.

ИгорьTopic starter

//Для передачі строки на сервер, я маю
//запустити WiFi клієнта

            WiFiClient client;

//а потім підключити його до сервера на 80-й порт

            client.connect("labspirt.club", 80);

//Якщо я передаю назву сервера не строкою, как в цьому
//прикладі, а у вигляді змінної, то маю привести цю змінну
//до такого ж вигляду, як назва сервера передається строкою,
//тобто без слешів та каталогів.
 
//після цього я маю зiбрати строку URL що містить слеші,
//каталоги та аргументи GEТ - зарпросу.     
     
            String url = "/warning/?PHPSESSID=";
            url += "123456-7890";
            url += "&text=";
            url += "bla-bla-bla";

//Коли строка URL зібрана, я можу відправити (надрукувати)
//інформацію на хост. Ш зробити це можна не аби-як, а по
//чіткому шаблону з обов'язковим дотриманням синтаксису
//на переносів строки.         
   
            client.print(String("GET ") + url +
            " HTTP/1.1\r\nHost: "+
            "labspirt.club"+
            "\r\nConnection: close\r\n\r\n");

//Зверни увагу, тут знов назва хосту йде окремо, і замість строки
//можна підставити змінну, що містить необхідне ім'я хосту.
//Якщо вона буде містити зайві символи, це лише додасть роботи.
//Зрозуміло, можна пропарсити строку по слешах, але навіщо
//ускладнювати собі життя?
//Після відправки строки лишається зупинити клієнта

            client.stop();
Віриш ти в Бога чи ні, йому байдуже.
Важливо, щоб Бог в тебе вірив, а не навпаки.

ivan_fd

Зрозуміло, переробляю.

ИгорьTopic starter

Дивись як я відформатував лог-файл. Це зараз процює реальний карлсон, тримає 75 градусів та зкидає температуру кожну хвилину (червоні строки). Додаток бере строки кожні три хвилини (блакитні строки).
http://labspirt.club/warning/1.html
Віриш ти в Бога чи ні, йому байдуже.
Важливо, щоб Бог в тебе вірив, а не навпаки.

ИгорьTopic starter

Це не принципово, але...
Знаєш чому мій контролер дає строки чітко кожну хвилину, секунда в секунду, а телефон поволі запізднюється? Тому що мабуть ти зробив перевірку часу по умові Час Більше 180000 мілісекунд.
Будеш переписувати на одну хвилину, зроби порівняння не з 60000 мілісекунд, а з 59999. Якщо більше 59999 (або більше чи дорівнює 60000), звертатись до сервера.
Віриш ти в Бога чи ні, йому байдуже.
Важливо, щоб Бог в тебе вірив, а не навпаки.

ivan_fd

Цитата: Игорь від 27-01-2022, 13:05:05Тому що мабуть ти зробив перевірку часу по умові Час Більше 180000 мілісекунд.

Тут трішки не так. Є таймер який при досягненні, наприклад, 180000 мсек, переривається і виконується якась подія. Порівнянь не роблю ніяких, записую в нього число в мсек., і він рахує. Розсинхрон, скоріше за все пов'язаний з самою роботою системи андроїд. Я чесно кажучи здивований, що так точно відпрацьовує. Думав буде гірше.

Цитата: Игорь від 27-01-2022, 13:05:05зроби порівняння не з 60000 мілісекунд, а з 59999

Не проблема.

ИгорьTopic starter

Це дійсно не принципово, але одного разу мені була потрібна чітка синхронізація, і я зрозумів про останні дев'ятки.
не знаю як в тебе відраховуються періоди, може період починає відлік при закінченни запиту, а коли доходить до свїх мілісекунд, , зупиняє. Тоді час виконання запиту додається до часу періоду.

Віриш ти в Бога чи ні, йому байдуже.
Важливо, щоб Бог в тебе вірив, а не навпаки.

ИгорьTopic starter

Зараз спробую два пристрої запустити через одну ID.
Віриш ти в Бога чи ні, йому байдуже.
Важливо, щоб Бог в тебе вірив, а не навпаки.

ivan_fd

Переробив хвилини на 1 і 5.
Хост скоротив.
Мілісекунди поставив 59 999мс на 1 хвилину.

Скачуємо ТУТ

ИгорьTopic starter

Нарвался на грабли. При ковертации оборотов насоса или вентилятора в строчное значение для отправки на сервер, если обороты меньше 10%, в строке появляется пробел, который не дает отправить строку. На сервер и в приложение ничего не приходит... а потом, клогда обороты станосятся 10 или больше процентов, приходит... а потом опять не приходит. Разобрался, устранил. Теперь работает.
Заодно влепил ID FFFFFF-3465 сразу четіре устройствам и сейчас посмотрю реально ли принимать их данные в одно приложение.

Віриш ти в Бога чи ні, йому байдуже.
Важливо, щоб Бог в тебе вірив, а не навпаки.

ИгорьTopic starter


ivan_fd, питання.
Знак оклику ти шукаєш на конкретній позиції строки, чи ознакою важливості повідомлення вважаєш наявніть в строці знаку оклику де завгодно?
Віриш ти в Бога чи ні, йому байдуже.
Важливо, щоб Бог в тебе вірив, а не навпаки.

SMF spam blocked by CleanTalk