|
1 / 1 / 0
Регистрация: 02.02.2020
Сообщений: 18
|
|
Приложение для весов (android приложение + связь с сервером (php & MySQL) + связь с весами + общая синхронизация данных)22.04.2021, 16:00. Показов 1568. Ответов 8
Метки нет (Все метки)
Всем здравия братья и сестры.
Описательная часть. Решил я за бабахать умные весы для пасеки! Нужны они для отслеживания привесов отдельного, среднего по силе улья и ведения журнала привесов(сколько принесли пчёлки, с каких цветочков и где пасека находится). Для этого пчеловод ставит этот улей на весы и каждый день в определённое время проверяет изменение веса(привес, либо отвес). Пчеловод не каждый день бывает на своей пасеке, но ему хочется знать средние результаты труда его "работниц". Как это сделать? Взвешивать и отправлять данные... Можно по смс, через интернет на сервер, либо непосредственно с весов в приложение по Wi-fi/блютуз, когда пчеловод рядом с весами. Проблема состоит в следующем. Пасеки не всегда находятся на одном месте(кочуют аки табор по просторам родины матушки) и на одном точкЕ(ударение на е, месте где находится пасека) есть связь ,а на другом её может не быть(это печально). Представим нашего современного пчеловода с этими умными весами. В один из дней он находится далеко от своей пасеки и приходит время взвешивания. Он открывает приложение на телефоне и видит вес, а также динамику изменения веса на диаграмме. Другая ситуация. На точке нет связи. Увы пчеловод не сможет получить новые данные в приложение(пока нет идей как это победить). При следующем посещении пасеки, весы отдают результаты взвешиваний в приложение. Строится график и пчеловод снова доволен. При подключении телефона к интернету приложение отсылает данные, полученные от весов, на сервер. И конечно к этим весам можно добавить кучу разных датчиков. (для измерения температуры, продолжительности дня, освещённости, влажности, шума, датчик движения, GPS/ГЛОНАСС и многие другие. Но это уже другая история.) "Железная" часть. -Весы M-ER 335ACL до 300кг. Площадка 45см*60см с аккумулятором на 3,7в и обещанным временем работы 50 дней "беспробудного" взвешивания.(2000р) Кликните здесь для просмотра всего текста
-Плата TTGO T-Call V1.3 ESP32(~1000р) Кликните здесь для просмотра всего текста
К этой плате: -HX711 датчик взвешивания(~70руб) Кликните здесь для просмотра всего текста
-B64 Micro SD плата кард-ридер(~30руб) Кликните здесь для просмотра всего текста
-GSM-антенна для SIM800L(~70руб) Кликните здесь для просмотра всего текста
-модуль в реальном времени DS-1302(~90руб) Кликните здесь для просмотра всего текста
(Все кроме весов куплено в Китае, весы куплены на Авито) Ещё нужна будет симка и флешка и батарейка таблетка. Программно-логическая часть. Сервер. Создать на сервере базу данных + скрипт для обработки данных(вхоящих и исходящих) - База состоит из трёх таблиц * weighing_scales (id_weighing_scales, result_scale, date_scale, id_place, id_flowers) * flowers (id_flowers, name_flowers, point) * place (id_place, name_place, point) point - столбец с отметкой строки по умолчанию (1-0) - Сервер получает данные от весов $_GET['scales']-вес, $_GET['date']-дата и время взвешивания. - Сервер обрабатывает данные и записывает в таблицу weighing_scales + берёт из двух таблиц id, отмеченные в столбце point 1 - Сервер получает запрос от приложения GET['date']-максимальная дата взвешивания хранящаяся в приложении, GET['place']-максимальный id id_place из таблицы place и GET['flowers']-максимальный id_flowers из таблицы flowers - Сервер проверяет дату и id в соответствующих таблицах. Если такие строки имеются в таблицах и они последние добавленные, о всё ок. Если строк больше чем присланные id и дата, то недостающие строки отсылаются приложению. Если таких строк нет в таблицах, то отсылается в ответе id последней строки. Приложение Создать приложение, которое выводит данные из своей базы, строит график, синхронизирует данные с сервером, получает данные от весов если нет связи - База приложения аналогична базе сервера. - По нажатию на кнопку приложение отправляет на сервер дату и последние id из своей базы на сервер. Если сервер присылает id недостающих таблиц, то приложение формирует следующий запрос к серверу с недостающими данными. Если сервер присылает данные, то приложение их обрабатывает и добавляет в свою базу. - Приложение принимает данные с весов, обрабатывает их и добавляет в свою базу. - Из данных в базе приложения строится график. Весы Создать прошивку для платы и подружить плату с панелью управления весов. - Подружить все компоненты весов (плата ttgo, антенна(это самое простое), модуль весов, модуль карты памяти, модуль времени, матричная клавиатура панели весов, плату сегментных индикаторов весов на базе микросхемы TM1640) Задачи прошивки - В определённое время(вот для чего модуль времени) получает данные от тензодатчика весов и проводить из калибровку. - Записывает данные на флешку. - Если есть связь, отправляет данные на сервер. - Когда нажимают на кнопку панели весов, показывают текущий вес, отклонение веса от предыдущего взвешивания. - Когда соединяются с приложением. Отправляют данные. - Уходит в режим ожидания/спящий Результаты проделанной работы. +С сервером я разобрался. +-Приложение с синхронизацией с сервером написал(пока без графиков и синхронизации с весами жду когда придёт из Китая) -Весы стоят отмытые и полуразобранные. Ждут своего часа. Хотелось бы услышать конструктивную критику, как логики проекта, так и кода. Да, да. Я буду сюда выкладывать свой г. код. Ещё раз жду конструктивной критики и помощи.
0
|
|
| 22.04.2021, 16:00 | |
|
Ответы с готовыми решениями:
8
Android и приложение для ПК: удаленная связь Связь Unity3D + Arduino под android приложение Выбор решения для проекта! Приложение для Windows + приложение для Android или Web приложение? |
|
1 / 1 / 0
Регистрация: 02.02.2020
Сообщений: 18
|
||||||||||||||||||||||||||||||||||||
| 22.04.2021, 17:54 [ТС] | ||||||||||||||||||||||||||||||||||||
|
Основные файлы моего приложения.
MainActivity.java Кликните здесь для просмотра всего текста
Controller.java Кликните здесь для просмотра всего текста
Model.java Кликните здесь для просмотра всего текста
ListViewAdapter.java Кликните здесь для просмотра всего текста
activity_main.xml Кликните здесь для просмотра всего текста
row.xml Кликните здесь для просмотра всего текста
AndroidManifest.xml Кликните здесь для просмотра всего текста
Всё приложение dataBase.rar
0
|
||||||||||||||||||||||||||||||||||||
|
1 / 1 / 0
Регистрация: 02.02.2020
Сообщений: 18
|
|
| 22.04.2021, 18:17 [ТС] | |
|
И вот с этим ↑ у меня не всё ладно. С одной стороны приложение синхронизируется с сервером, но уж как-то криво сам код выглядит.
0
|
|
|
69 / 62 / 13
Регистрация: 10.01.2012
Сообщений: 508
|
|
| 22.04.2021, 23:29 | |
|
Значит так:
Мой бы путь был таков: В качестве накопителя инфы я бы сделал Андроид (самый голимый смартфон - згрузки то нет серьезной) и на него по воздуху скидывал бы данные от датчиков и весов (WiFi, блютуз, веревка - что есть под рукой). Такой можно тупо скотчем на ближайшее дерево повесить или куда спрятать. Естественно БД будет sqlite. Между личным смартфоном и голимым должен быть брокер - это уже на реальном серваке с ip адресом. Что должен делать брокер - тупо пересылать запрос от личного к голимому, и получать от него ответ в виде файла содержащего последниие изменения в БД на голимом. Ну типа того "Хочу обновления БД датчиков температур (всех или конкретного), сейчас у меня БД под номером 4503". Голимый смартфон смотрит номер БД и: Если совпадает с той что он последний раз отсылал, дает ответ - У тебя свежак и ракрывает связь. Если номер меньше , то отсылает БД брокеру, подписав новыи номером, тот пересылает на личный смартфон. Голимый фиксит у себя кличку получателя и нимер последней отправки. Если инета нет, то при появлении на пасике можно как поюзать голимый, так и слить с него БД но воздуху. То есть, нарисовать некое API для беседы двух смартфонов. Команды и запросы можно будет добавлять в меру необходимости. И не обязательно писать две разные приложухи - можно в одной через настройки указать кто Мастер, на кого он сливает. Еще было бы неплохо и очень дешево : Датчик -> raspberry raspberry <-------->broker<-------->APP (flutter)
0
|
|
|
1 / 1 / 0
Регистрация: 02.02.2020
Сообщений: 18
|
|
| 23.04.2021, 08:02 [ТС] | |
|
Со смартфоном Вы очень хорошо придумали. Внешнее хранение данных в скрытом месте. Это поможет в случае злонамеренных действий. Например. Слать туда фото-видео с WiFi дверного глазка. Видеонаблюдение и фиксация нежелательных личностей в отсутствии собственника. Даже если будет найдена камера, данные будут на телефоне в укромном месте.
Однако, дополнительное устройство, в отсутствии электричества - это дополнительная проблема. В весах стоит не плохой аккумулятор, его должно хватить на весь сезон. Работа весов от 1 до 10 максимум взвешиваний в сутки и 1 отправка в заданный период времени. Плата TTGO T-Call V1.3 ESP32 + модули - это почти телефон и по моей задумке он всё делает сам обрабатывает полученные данные от датчиков(может в том числе получать смс с командами), пишет в файлик и высылает его при надобности. Если не лукавить, то и лишнего смартфона пока нет.
0
|
|
|
1 / 1 / 0
Регистрация: 02.02.2020
Сообщений: 18
|
||||||
| 25.04.2021, 11:33 [ТС] | ||||||
|
Подключил вывод графика
Кликните здесь для просмотра всего текста
Но столкнулся с проблемой вывода дат в ось Х. Сейчас выводит 1 2 3 и тд. Хотелось бы дату взвешивания 12.04 хотя бы день и месяц. listItems.get(i).getString("date") здесь находится дата в формате день-месяц год. В принципе формат даты можно будет изменить на любой другой.
0
|
||||||
|
1 / 1 / 0
Регистрация: 02.02.2020
Сообщений: 18
|
|
| 25.04.2021, 11:43 [ТС] | |
|
0
|
|
|
69 / 62 / 13
Регистрация: 10.01.2012
Сообщений: 508
|
|
| 25.04.2021, 20:08 | |
|
Чё за либа делает график, как и откуда по оси Х вставляются цифири, это int или другое?
0
|
|
|
1 / 1 / 0
Регистрация: 02.02.2020
Сообщений: 18
|
|
| 25.04.2021, 20:20 [ТС] | |
|
Графики строит - mpandroidchart.
Цифры вставляются в entries.add(new Entry(d2, Float.parseFloat(listItems.get(i).getStr ing("itog")))), где в2 это значение Х, а всё остальное Y.
0
|
|
| 25.04.2021, 20:20 | |
|
Помогаю со студенческими работами здесь
9
связь php веб сервером Nginx Связь нескольких приложение PHP работа с файлами & связь с JS Связь: ПК - Сервер - Мобильное приложение Андроид и Пк приложение. Удаленный связь Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
|
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11
— это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
|
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11
Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
|
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
|
|
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/
O1rJuneU_ls
https:/ / vkvideo. ru/ video-115721503_456239114
|
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ВВЕДЕНИЕ
Введу сокращения:
аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
|
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi
ветка по-частям.
коммит Create переделка под биомассу. txt
вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
|
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ *
Дана цепь постоянного тока с сопротивлениями и источниками (напряжения, ЭДС и тока). Найти токи и напряжения во
всех элементах. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и. . .
|