Написать приложение под ОС Андроид и под iOS для обращения к СИМ-карте
Задача: Написать софт (управляющую оболочку) под ОС Андроид и под iOS, которая бы могла напрямую (т.е. без внешнего сервера) обращаться к СИМ-карте со статическим IP-адресом (GSM-модуль типа SIM800C-32) и обеспечивать передачу на удаленный GSM-модуль определенных команд управления, обратно - принимать телеметрические данные.
Сроки: максимально быстро (задача "на вчера").
1. Режим обмена с модулем SIM800C_32:
- со стороны смартфона: GSM-GPRS <=> GSM-модуль;
- наша часть: GSM-модуль <=> контроллер STM32;
2. На экране:
- IP-адрес модуля
- поле для ввода команд
<!--[if !supportLineBreakNewLine]--> - текстовое поле (типа консоль), где отображаются отправленные команды и полученный ответ от модуля (возможны некоторые изменения)
3. На нашей стороне с модулем SIM800C_32 взаимодействует наш контроллер (STM32), Ваша часть – с нашим контроллером через модуль SIM800C_32 по каналу GSM/GPRS.
4. Протокол обмена и система команд обсуждается и утверждается в рабочем порядке.
5.По завершению работ необходимо (в т.ч.) предоставить в электронном виде все исходные тексты программ (т.е. под Андроид и под iOS) с комментариями.
6. В процессе демонстрации работоспособности софта Заказчик имеет право запросить некоторые правки функционала софта.
7. Фото желаемого вида страницы смартфона - прилагаем.
Вводные данные: Со слов программиста, который пишет только под Андроид:
Услуга предоставления сим-карты со статическим IP-адресом: эта услуга предоставляется только для корпоративных клиентов (Киевстар) и вроде как для всех контрактников (МТС). Стоило раньше около 40 грн/мес. При этом устройство с такой сим-картой (GMS-модуль или смартфон) при подключении к интернету получает белый статический IP-адрес (каждый раз одинаковый), на который другое устройство (с обычной сим-картой) может посылать пакеты напрямую (без сервера). Таким образом, хотя-бы одна из сторон должна иметь такую карту, тогда вторая сторона всегда должна быть инициатором связи. Впрочем, первая сторона может также косвенно быть инициатором, заставив вторую сторону начать связь (например, позвонив второй стороне, а та автоматически начинает связь).
Достоинства: не надо внешнего сервера
Недостатки: абонплата за статический IP, необходимость иметь корпоративную симку.
Для любых уточнений - прошу задавать вопросы.
Общение только здесь с нашим инженером-электронщиком, ответственным за разработку данного проекта.
Корректировка по срокам. "Горящие" сроки отпадают, т.к. у нашего инженера прототип должен быть готов числам к 20 сентября. Потом у исполнителя будет еще макс 10 дней в резерве для возможных отладок. Максимальный срок выполнения проекта - первые числа октября. Надеюсь это поможет исполнителям лучше спланировать время и подготовить качественный продукт.
Алгоритм коротко: в мобильном приложении указываем (и запоминаем) заранее известный IP-адрес "белой" сим-карты, к-я находится в GSM-модуле управления генератором. Затем приложение связывается с этим модулем по GPRS и при установлении связи посылает на генератор кломанду, к-ю выбрал пользователь (ВКЛЮЧИТЬ, ВЫКЛЮЧИТЬ, ПОЛУЧИТЬ СТАТИСТИКУ,...). Получив команду модуль генератора (+ мой контроллер) отрабатывает ее и сообщает назад в приложение текущий статус генератора.
Дизайн: приложенные скрины - это только для ориентира! Функции должны быть реализованы согласно ТЗ, а не согласно эскизам приложения.
Прошу прощения за задержки, но работа в большой компании с техническим ТЗ получилась более растянутая во времени.
Во вложении отправляю собранное ТЗ из первоначальных данных и того, что было использовано в разделе "Обсуждение" к ТЗ на фрилансханте.
Прошу Вас еще раз оценить готовность, сроки и цену, т.к. изменилась концепция в сторону все-таки использования веб-сервера без необходимости сим-карты со статическим IP-адресом.
Если вдруг работа сильно усложняется, хочу у Вас спросить, можете ли Вы написать только приложение под iOS, если наш сотрудник сделает веб-сервер и приложение под Андроид? Если да, какая стоимость и сроки будут в этом случае?
Załączniki 6
-
271 Готов взяться за работу, тех.нюансы уже обсуждены. Технология - Xamarin.Forms/Native
-
184 Добрый день, смогу написать приложение на Swift+UiKit.
Помогу выложить приложение в AppStore или в программу бета тестирования TestFlight.
Есть опыт работы с железом Arduino, STM32, AVR, ESP8266
-
Добрый день!
Хотел бы уточнить по какому протоколу будет соединение с удаленным устройством (имеется ввиду что будет поверх TCP - HTTP/HTTPS ? Socket ? webSocket ?) -
по большому счету - нам все-равно. Общее положение: что дешевле, быстрее (для реализации), надежнее, и - действительно по всей планете
-
кроме того - мы не являемся специалистами в данном вопросе
-
Тогда правильно поняли суть задачи ?Есть некое устройство в котором используется для связи модуль SIM800 и нужно написать программу под Androig/IOS для "общения" с этим устройством через мобильный интернет
-
именно так - все верно. Уточняю - модуль: SIM800C-32
-
По поводу приложения для работы с модулем SIM800C-32
Есть два варианта работы модуля - в режиме http-клиента и в режиме http-сервера. Вы предлагаете использовать его в режиме сервера, поэтому вам необходим статический адрес и не нужен промежуточный сервер (назовем его сервер приложения). Тут видим только одно преимущество - не нужен сервер приложения. Но есть другие проблемы, как например получение статического адреса. А это дополнительная услуга за дополнительные деньги и только для контрактных абонентов.
Предлагаем использовать второй вариант - когда модуль работает в режиме клиента. Да потребуется сервер приложения, но там будет стоять простейший сервер на Nodejs или Golang или PHP и модуль будет коннектиться к нему и через него будет идти обмен данными. Преимущество в том, что вы не привязаны к оператору симки или пакету услуг. Вы можете управлять любым количеством модулей. В случае пропадания связи между приложением и сервером данные сохраняются в буфере на сервере. Т/е ваши девайсы могут работать и отправлять данные круглосуточно, и вы всегда может получить к ним доступ из приложения.
В принципе все равно какой способ соединения будет
-
руководство настаивает на первом варианте, решено начать с него, там посмотрим
-
Нам нужно знать в каком режиме будет "общение" с модулем . Возможно два варианта командный - посылка AT-команд и прием ответа по сути как консоль. И второй - Прозрачный в нем эмулируется режим работы последовательного порта (UART).
Судя по описанию задания предполагается именно командный режим, возможно в режиме мультисокета (может поддерживать несколько входящих соединений одновременно)
<!--[if !supportLineBreakNewLine]-->Предлагаю тогда как уточнение ТЗ:
Приложение состоит из одного экрана , где последовательно сверху вниз идут поля:
1 IP-адрес модуля
2 поле для ввода команд
3 текстовое поле (типа консоль), где отображаются отправленные команды и полученный ответ от модуляЕсли да то в понедельник будет готово
Прототип для тестирования
Аналогичное делали для ESP-01, это модуль для WiFi сетей и BT модулей типаа HС-05.
Если можете предоставить доступ к рабочему модулю, который в сети для тестирования -то ок. Если нет – то постараемся купить такой если есть или заказать на arduino.ua
Просто тогда будет немного дольше, модуль приедет в суботу, если заказать сегодня или завтра
Также хочу уточнить нужно размещение в плеймаркет и аппстор? или это для личного использования.
Можем сделать PWA если вас устроит
-
я постараюсь в течении завтрашнего дня сформулировать наши пожелания и требования предельно подробно.
Если можно - дайте хоть приблизительную ориентацию по ценам - надо что-то доложить руководству
-
Стоимость от 800 $
-
Добрый день!
Прошу прощения был небольшой отпуск.
Правильно ли я понимаю вам нужно получить по итогу приложение то которое указано на эскизах фото?
Просто то что было в ТЗ отличается от скринов.
-
да, правильно. Сейчас вышлю еще текст
-
алгоритм коротко: в мобильном приложении указываем (и запоминаем) заранее известный IP-адрес "белой" сим-карты, к-я находится в GSM-модуле управления генератором. Затем приложение связывается с этим модулем по GPRS и при установлении связи посылает на генератор кломанду, к-ю выбрал пользователь (ВКЛЮЧИТЬ, ВЫКЛЮЧИТЬ, ПОЛУЧИТЬ СТАТИСТИКУ,...). Получив команду модуль генератора (+ мой контроллер) отрабатывает ее и сообщает назад в приложение текущий статус генератора.
-
Доброго дня. Наскільки критичним для вас є таймлайн? Наразі у нас немає вільних людей і якщо часові рамки є критичними як ви написали і 20 вересня хочете щось отримати, то ми тоді не можемо брати тут участь.
Орієнтовна вартість реалізації такого функціоналу $3000+. Водночас, з вами потрібно обговорити буде обговорити ряд деталей, щоб бути більш точними.
Підкажіть будь ласка чи вам буде актуально?
-
Алексей, добрый день!
Мы с коллегами обсуждаем ваш проект. Мы не можем связаться за проект и оценить стоимость пока не выясним все технические возможности.
Есть ряд вопросов:
1. Как вы видите реализацию уведомлений пользователя об ошибках или аварийных ситуациях?
Например - приложение не запущено на телефоне клиента, а в это время заглох двигатель или перегрелся или выбило автомат защиты , кончилось топливо?
2. Как будет реализовано управление несколькими генераторами одновременно из одного приложения? и будет ли вообще?
3. Опишите как вы видите реализацию интерфейса , конкретно интересует как должны раскрываться спойлеры (или закладки) "Таймеры запуска", "Заряд батареи", "Дистанционное управление"?Мы предполагаем что эти спойлеры открываются касанием (нажатием),а остальные , неактивные сворачиваются до заголовка, таким образом активный будет раскрываться примерно на половину или две трети экрана.4. что будет в разделах "Сервис" и "Настройка" (иконки в нижнем тулбаре)? -
Мы с коллегами обсуждаем ваш проект. Мы не можем связаться(т.е. взяться) за проект и оценить стоимость пока не выясним все технические возможности.
Есть ряд вопросов:
ВОПРОС 1. Как вы видите реализацию уведомлений пользователя об ошибках или аварийных ситуациях?
Например - приложение не запущено на телефоне клиента, а в это время заглох двигатель или перегрелся или выбило автомат защиты , кончилось топливо?
ОТВЕТ:
======
При возникновении вышеописанных и/или других неисправностей бортовой контроллер генератора фиксирует кодированный тип неисправности в
своей памяти и автоматически ставит признак отсутствия прочтения пользователем. Все подобные уведомления ставятся в очередь на отправку.
При отправлении очередного уведомления телефон пользователя подтверждает получение и бортовой контроллер снимает признак отсутствия прочтения.
Таким образом, в случае длительного отсутствия пользователя на связи в памяти бортового контроллера будет накапливаться очередь
неотправленных уведомлений. При вхождении в связь пользователь хронологически последовательно получит их все(или последние - опция).
ВОПРОС 2. Как будет реализовано управление несколькими генераторами одновременно из одного приложения? и будет ли вообще?
ОТВЕТ:
======
В конкретном приложении конкретного пользователя будет предварительно и принудительно (вручную) введен список IP-адресов всех этому пользователю
доступных к управлению генераторов и словесный идентификатор каждого генератора (например: ДАЧА, СТРОЙУЧАСТОК, ...).
В меню выбора пользователь перебором идентификаторов выбирает нужный и получает доступ к управлению выбранным.
Таким образом,- с одного приложения пользователь может получить доступ к управлению парой тысяч генераторов.
ВОПРОС 3. Опишите как вы видите реализацию интерфейса , конкретно интересует как должны раскрываться спойлеры (или закладки)
"Таймеры запуска", "Заряд батареи", "Дистанционное управление"?
Мы предполагаем что эти спойлеры открываются касанием (нажатием),
а остальные , неактивные сворачиваются до заголовка, таким образом активный будет раскрываться примерно на половину или две трети экрана.
МНЕНИЕ РАЗРАБОТЧИКА НИЖНЕГО УРОВНЯ: вышеуказанное предложение Исполнителя можно принять за основу
===================================
ВОПРОС 4. что будет в разделах "Сервис" и "Настройка" (иконки в нижнем тулбаре)?
ОТВЕТ:
======
"Сервис": пункты меню, совершенно и полностью СКРЫТЫЕ от пользователя
Т.е. раздел "Сервис" предназначен ТОЛЬКО для использования специалистами фирмы-изготовителя.
"Настройка": пункты меня второго (нижнего) уровня глубины залегания, доступного пользователем.
Конкретный их перечень и функционал будет описан позже. -
Алексей, добрый день!
Ориентировочная стоимость – 1400 $
Сроки – 1 месяц. Предварительно делаем прототип, где будет проработан основной функционал – 14 дней.
Если вы готовы, мы сделаем ставку.
ВОПРОС 4. что будет в разделах "Сервис" и "Настройка" (иконки в нижнем тулбаре)?
ОТВЕТ:
======
"Сервис": пункты меню, совершенно и полностью СКРЫТЫЕ от пользователя
Т.е. раздел "Сервис" предназначен ТОЛЬКО для использования специалистами фирмы-изготовителя.
<!--[if !supportLineBreakNewLine]-->*Как будет открываться, с помощью сервис-пароля?
"Настройка": пункты меня второго (нижнего) уровня глубины залегания, доступного пользователем.
Конкретный их перечень и функционал будет описан позже.*Опишите как будет приблизительно выглядеть функционал.
-
1- да
2 - чуть позже
-
Добрый день!
Сможете завтра включить свой SIM800С и дайть нам его IP-адрес. Мы попробуем законнектиться и передать для теста какие-то данные, через прототип приложения.
Нам нужно знать IP- адрес девайса и скорость UART (9600 или другая)
-
нет - еще даже печатных плат нет - делаются
-
Добрый день!
-
Aktualne zlecenia dla freelancerów w kategorii Programowanie na Androida
Rozwój aplikacji mobilnejSzukam deweloperów ios/android do tworzenia aplikacji hazardowych. Stos technologiczny: Flutter/Unity/Kotlin/Swift Dużym plusem będzie doświadczenie w pracy z wizualami i projektami Chicken Road/Tower Rush/Plinko, a także użycie takich narzędzi jak WebView, Firebase, AppsFlyer,… Programowanie na Androida, Programowanie na iOS (iPhone i iPad) ∙ 2 dni 18 godzin temu ∙ 28 ofert |
Aplikacja mobilna iOS/Androd
75 PLN
Poszukuję programisty aplikacji mobilnych (iOS i/lub Android) do stworzenia aplikacji treningowej dla osób początkujących i średniozaawansowanych. Aplikacja ma pomagać użytkownikom w planowaniu treningów, monitorowaniu postępów i motywowaniu do regularnej aktywności fizycznej.… Programowanie na Androida, Programowanie na iOS (iPhone i iPad) ∙ 4 dni 22 godziny temu ∙ 20 ofert |
Opracowanie aplikacji na Androida „Poetycki Asystent” z integracją AI (do użytku osobistego)Konieczne jest opracowanie aplikacji mobilnej dla systemu Android, przeznaczonej do tworzenia, edytowania i przechowywania wierszy w języku ukraińskim. Aplikacja jest tworzona do prywatnego użytku osobistego z naciskiem na jakość, wygodę, niezawodność i poufność. Kluczową cechą… Programowanie na Androida ∙ 10 dni 10 godzin temu ∙ 27 ofert |
Dopracowanie aplikacji mobilnej na Capacitor (Android/iOS)O projekcie Jest działająca strona (rynek z ogłoszeniami), która już została opakowana w aplikację mobilną za pomocą Capacitor. Strona działa na: TanStack Start (SSR) Supabase Cloudflare Pages Android (Capacitor) Wymagana jest finalizacja aplikacji mobilnej do pełnej… Programowanie na Androida, Programowanie na iOS (iPhone i iPad) ∙ 10 dni 11 godzin temu ∙ 14 ofert |
