Написать ПО для удаленного управления скутерами Ninebot

Автор Artoil, 27 Июнь 2018 в 21:27

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

Artoil

требуется написать или готов купить готовое решение

MCZarin

[user]Artoil[/user], что вы подразумеваете под "удаленным управлением"? И раз оно удаленное, видимо, одного ПО будет недостаточно, нужен еще некий канал связи.
KingSong KS-16S

Artoil

Для начала нужен API / SDK для доступа к функционалу скутера, а канал связи - с помощью встраиваемого GSM-трекера(или иной технологии, сейчас есть варианты)

Валерий В

[user]Artoil[/user], здравствуйте! У вас что нибудь получилось? Хочу открыть шеринг электросамокатов, поэтому хочу узнать как управлять самокатом через свое самописное мобильное приложение. GPS в самокатах встроен от производителя или самому надо встраивать?

Валерий В

Ищу кто может за деньги описать архитектуру интеграции мобильного приложения с электросамокатом Ninebot es3 от Segway или Xiaomi Mijia.

Хотим запустить шеринг электросамокатов как в Москве сделал Youdrive lite, но в другой стране. Но не с тросовыми замками и станциями, а без станций (dockless), как в США делает стартап Bird или Spin.

Как выглядит взятие в аренду самоката:

На самокате есть наклейка с кодом. Подходишь к самокату, открываешь приложение на телефоне, включаешь блютус на телефоне. Включаешь самокат (кнопка на самокате). Вводишь номер самоката в приложение. Приложение подключается к самокату и разблокирует его. Можно ехать, начинается подсчет времени аренды самоката.

Затем решили завершить аренду самоката. Останавливаемся, в приложении жмем «Завершить аренду», после этого самокат передает в приложение инфу о своем местоположении, сколько времени длилась аренда. После чего самокат блокируется.

То есть нужно написать ту часть софта, когда приложение через блютус разблокирует/блокирует самокат, получает данные после поездки. Также важно использовать какой то индентификатор, например в виде 4 значного кода на наклейке, чтобы пользователь мог среди 10 рядом стоящих самокатов взять в аренду определенный.

Есть кто может помочь? В нашей команде есть один серверный/фронтенд разработчик и два разработчика под мобильные приложения. Ищем человека, который поможет наладить связь с самокатом


MCZarin

GPS в самокатах нету, нужно устанавливать свой, вместе с блютусом и вашим контроллером. От самого самоката - только питание.

Цитата: Валерий В от 01 Окт. 2018 в 15:46Останавливаемся, в приложении жмем «Завершить аренду», после этого самокат передает в приложение инфу о своем местоположении, сколько времени длилась аренда.
Время аренды нужно считать на сервере. Данные гнать в шифрованном виде от самоката до сервера. Приложение не должно видеть содержимое, а использоваться лишь в качестве приемопередатчика для шифрованного трафика. Иначе вас какой-нибудь школьник взломает...
Соответственно, блокировкой самоката также должен управлять сервер.

И кстати, если вы не хотите ставить GSM-модуль в сам самокат, как вы его будете искать в случае угона? Ведь достаточно унести его в гараж, пару часов поковырять, и это уже обычный самокат, не подконтрольный вам.
KingSong KS-16S

Валерий В

Цитата: MCZarin от 02 Окт. 2018 в 02:01
Приложение ... лишь в качестве приемопередатчика для шифрованного трафика.
Насчет шифрования спасибо за совет, даже не подумал. То что приложение как посредник между самокатом и сервером так и предполагал. Приложил картинку диаграммы для сценария старта и завершения аренды:


Цитата: MCZarin от 02 Окт. 2018 в 02:01
И кстати, если вы не хотите ставить GSM-модуль в сам самокат, как вы его будете искать в случае угона?
А как GSM поможет? Я думал что достаточно GPS модуля, который будет говорить где самокат находится. А другая инфа (какой заряд, кто брал в аренду, время аренды) будет передаваться через приложение человека, который брал самокат в аренду. К тому же GSM модуль усложняет оснащение самоката, надо еще симку для него ставить. Зачем вообще GSM?




MCZarin

Цитата: Валерий В от 04 Окт. 2018 в 23:35Приложил картинку диаграммы для сценария старта и завершения аренды:
Парковка самоката нарисована правильно (если инфа с самоката на сервер передается в шифрованном виде).
А вот разблокировка неправильная. Последовательность должна быть полностью обратной парковке, плюс дополнительный шаг в самом начале: запрос от пользователя на сервер о разблокировке. Команду разблокировки на самокат должен посылать сервер (опять таки, шифрованную).
Кроме того, перед разблокировкой сервер должен убедиться, что самокат работоспособен. То есть запросить у самоката данные о заряде и прочую диагностику.

Деньги лучше снимать до разблокировки. Т.е. пользователь сначала пополняет счет своего аккаунта, а разблокировка самоката происходит с указанием времени аренды. Если человек не укладывается во время, он доплачивает до истечения времени. Если аренда избыточна, часть средств возвращается на счет пользователя после парковки. Короче, аналогично московским платным парковкам, транспортным картам и т.д.

Если это все грамотно реализовать, то вас не взломают. Иначе возможны варианты. ;)

Цитата: Валерий В от 04 Окт. 2018 в 23:35А как GSM поможет? Я думал что достаточно GPS модуля, который будет говорить где самокат находится.
GPS не имеет в своем составе радиопередатчика. Он может сообщить координаты вовне либо по проводам, либо через какой-то дополнительный радиомодуль. По вашему описанию радиомодулем является блютус. Но блютус работает на 10, максимум 100 метров и только в том случае, когда к нему подключается пользователь. Когда пользователя нет (самокат припаркован), ваш сервер не имеет никакой возможности общаться с самокатом. Где он, что с ним - неизвестно. "Забирай меня скорей, увози за сто морей." :)
А GSM работает везде, где есть покрытие сотовой сети.
KingSong KS-16S

Валерий В

Цитата: MCZarin от 05 Окт. 2018 в 03:02
Последовательность должна быть полностью обратной парковке, плюс дополнительный шаг в самом начале: запрос от пользователя на сервер о разблокировке. Команду разблокировки на самокат должен посылать сервер (опять таки, шифрованную).
Кроме того, перед разблокировкой сервер должен убедиться, что самокат работоспособен. То есть запросить у самоката данные о заряде и прочую диагностику.
Согласен

Цитата: MCZarin от 05 Окт. 2018 в 03:02
Деньги лучше снимать до разблокировки.
Я бы не стал, нигде такого не встречал. В Убере, Яндекс Такси, Яндекс Драйве, Youdrive lite такого нет.
Думаю списывать деньги после поездки, а оплату сделать поминутной.
C необходимостью ставить GSM согласен, я что то думал, что голый GPS сможет отправлять местоположение на сервер.
Вы можете так оборудовать самокат?

MCZarin

Цитата: Валерий В от 06 Окт. 2018 в 00:38Вы можете так оборудовать самокат?
У вас интересный проект, но увы, у меня сейчас физически нет времени на участие в чем-либо. Поэтому могу только немного пофлудить на форуме. :)

Цитата: Валерий В от 06 Окт. 2018 в 00:38Я бы не стал, нигде такого не встречал. В Убере, Яндекс Такси, Яндекс Драйве, Youdrive lite такого нет.
Думаю списывать деньги после поездки, а оплату сделать поминутной.
Основная идея - убедиться в платежеспособности пользователя. Если есть механизмы, как это можно сделать с пост-оплатой, то не вопрос.
KingSong KS-16S

Валерий В

MCZarin, спасибо за полезные идеи! Я все еще в поиске низкоуровневого программиста, который сможет встроить в самокат GSM, GPS и научить их общаться с мобильным приложением и сервером

Валерий В

Цитата: MCZarin от 02 Окт. 2018 в 02:01
... Приложение не должно видеть содержимое, а использоваться лишь в качестве приемопередатчика для шифрованного трафика...

Если будет GSM модуль, то может пусть самокат напрямую общается с сервером, а не через приложение пользователя? Хотя в этом случае увеличится расход трафика на SIM карте, которая встроена в самокат. Как думаете?

Smok

[user]Валерий В[/user], самокат никак не должен подключаться к приложению, вообще никак, 0, зеро. все через ваш сервер.
иначе посчитайте сколько взломано онлайн игр (минимум, т.к. только через сервер) и оффлайн игр (много, т.к. каждый крутит свою игру как хочет)
а вообще разработка такой штуки-дрюки будет стоить от 1млн руб и разделится на 3 части
- управление самокатом, вкл, выкл и т.д. (железо + софт + инет)
- сервер, через который все будет работать так, как задумано. он же считает время, снимает деньги с привязаннй карты, отправляет запрос на ремонт самоката, зарядку самоката, обновляет ПО самоката и т.д.
- приложение, которое позволит клиентам стучаться к серверу и просить у него разблокировать самокат, заблокировать самокат, посчитать время и деньги.
- внутренний сайт, где будут видны все поездки, локации, состояние, заряд, фотки и т.д.

вам нужно будет найти 3 разных разработчиков:
- железо + софт для контроля самоката
- сервер + сайт
- приложение для андроид\ios (это кстати 2 разных разраба)

но можно вместо приложения сделать сайт или приложение-браузер, которое будет работать с мобильным сайтом. это будет дешевле и это может сделать спец занимающийся сайтом и сервером
Спойлер
ekross, 3kw, 72v 27AH,magura mt5e, kls7230s, marzocchi 888 rc3, DNM DV22AR, R18

nicomunet123

#13
Мне кажется, что на BIRD и прочих скутерах стоит другая головная плата.

И вообще, Ninebot в аренду - такое себе дело...

Еще не забывайте разницу в менталитете. В США эти самокаты начали ломать и угонять, только после того, как они всех задолбали, а в РФ сразу на зап. части разберут и угонят. Прокатным велосипедам в Москве и так достается (несмотря на камеры), а Вы хотите такое высокотехнологичное устройство сдавать.
Так что как  минимум надо будет все болты заменить на хитрые, и ликвидировать мех-м складывания.
Что касается взлома - это дело 15-и минут и быстрых ног. Разобрать охранную систему, обрезать дорожки GSM и GPS, замкнуть штатную кнопку включения и уехать. Никакие программные защиты от взлома не помогут, только алюминиевый или стальной корпус с хитрыми болтами, или вообще заклепками.

Я бы начал с защиты от вандализма. Заменил бы все болты, придумал бы корпус подходящий для электроники, и только потом бы занялся разработкой платы и ПО.
E-TWOW Eco -> Kugoo -> Ninebot ES1 -> Ninebot ES-Trash

MCZarin

Цитата: Валерий В от 06 Окт. 2018 в 18:04Если будет GSM модуль, то может пусть самокат напрямую общается с сервером, а не через приложение пользователя? Хотя в этом случае увеличится расход трафика на SIM карте, которая встроена в самокат.
Лучше конечно напрямую. Разумеется, это не избавляет от шифрования трафика, но приложение становится заметно проще (общение только с сервером), и у злоумышленника меньше возможностей.
Трафик там в любом случае будет небольшой.
KingSong KS-16S

Валерий В

Цитата: Smok от 07 Окт. 2018 в 03:34
[user]Валерий В[/user], самокат никак не должен подключаться к приложению, вообще никак, 0:
Обновил схему работы системы. Опубликую ниже отдельным постом. Что скажете?

Цитата: Smok от 07 Окт. 2018 в 03:34
вообще разработка такой штуки-дрюки будет стоить от 1млн руб и разделится на 3 части
В курсе, уже есть все люди кроме разработчика микроконтроллеров. Сейчас задача переоборудовать самокат под наши нужды.

Валерий В

Цитата: nicomunet123 от 07 Окт. 2018 в 03:43
Мне кажется, что на BIRD и прочих скутерах стоит другая головная плата.
У разных сервисов они по разному выглядят. Вон московский Youdrive lite смогли все встроить внутри, снаружи ничего не торчит.

Цитата: nicomunet123 от 07 Окт. 2018 в 03:43
И вообще, Ninebot в аренду - такое себе дело...
А что не так с Segway Ninebot? Он менее хлипкий чем Ксаоми, есть дополнительная батарея, батарея в рулевой стойке — надежнее.

Цитата: nicomunet123 от 07 Окт. 2018 в 03:43
начали ломать и угонять, только после того, как они всех задолбали, а в РФ сразу на зап. части разберут и угонят.
Думаю если не наводнять ими улицы, то негатива не будет. Также надо постоянно следить, чтобы они не валялись где попало.
От угона не спасешься, думаю прибыль покрывает издержки на вандализм и кражи. Самый крупный игрок американский Bird уже примерно в 40 городах работает и самокаты у них безстанционные

Добавлено 07 Окт 2018 в 23:51

Цитата: MCZarin от 07 Окт. 2018 в 06:53
Лучше конечно напрямую. Разумеется, это не избавляет от шифрования трафика, но приложение становится заметно проще (общение только с сервером), и у злоумышленника меньше возможностей.
Трафик там в любом случае будет небольшой.

Обновил схемы работы системы. Что думаете?



MCZarin

[user]Валерий В[/user], примерно так. Но при взятии в аренду вы снова зачем-то один шаг выкинули, хотя при парковке он есть. :)
После команды о разблокировке самокат должен вернуть на сервер ответ, что все ок, он разблокировался (заодно и всю стандартную телеметрию). Если же ответ отрицательный, сервер сбрасывает учет времени и отправляет пользователю сообщение об ошибке.

Еще имейте ввиду, что мы тут принимаем, что у нас всегда все сообщения доходят 100%. В реальности это не так, и протоколы взаимодействия на самом деле несколько сложнее.
Например: человек запрашивает у сервера самокат; сервер посылает самокату команду на разблокировку; самокат разблокируется и посылает ответ серверу. И по какой-то причине ответ не доходит (в том числе, если его специально глушат). Дальше пользователь (возможно - злоумышленник) может встать на самокат и поехать, хотя сервер еще не начал учет времени (или начал? зависит от выбранной логики работы). Т.е. на самом деле требуется еще много всяких промежуточных запросов-подтверждений, чтобы система стала достаточно отказоустойчива.
Но это уже нюансы, тут программисты железки и сервера между собой должны решить, что и как делать. Также будьте готовы менять протоколы после опытной эксплуатации.
KingSong KS-16S

Валерий В

[user]MCZarin[/user], согласен. Надо сделать блок схему  для случаев с ветвлением сценария. Те сценарии что сделал описывают основную логику. Я тут подумал что может понадобиться и удаленное обновление логики работы самоката

nicomunet123

Цитата: Валерий В от 07 Окт. 2018 в 23:50Вон московский Youdrive lite смогли все встроить внутри, снаружи ничего не торчит.
Внутри места достаточно.
Цитата: Валерий В от 07 Окт. 2018 в 23:50А что не так с Segway Ninebot? Он менее хлипкий чем Ксаоми, есть дополнительная батарея, батарея в рулевой стойке — надежнее.
Ну пожалуй это единственный плюс, что батарея в руле и ее не зальет.
Остальное - ну так себе они по механике. Я за 250 км умудрился его немного сломать (точнее он сам сломался, вырвались три болта...).
E-TWOW Eco -> Kugoo -> Ninebot ES1 -> Ninebot ES-Trash

Валерий В

Цитата: nicomunet123 от 09 Окт. 2018 в 00:12
Остальное - ну так себе они по механике. Я за 250 км умудрился его немного сломать (точнее он сам сломался, вырвались три болта...).

А Ксаоми тестили? Может он тоже так сломается. Мне на Ксаоми не нравятся надувные шины и проводки к заднему тормозу, ненадежно

nicomunet123

[user]Валерий В[/user], Не, не тестил.
У меня были E-TWOW, Kugoo и Ninebot ES1.
E-TWOW мало того, что дорогой, так там все равно есть косяки, например, отсутствие балансира в батарее (не точно, ибо китайцы вроде его вернули). Еще батарея в деке, будет 100% залита.
Kugoo - E-TWOW, только хуже. Курки выпадают и он сам ускоряется, не вариант для проката совсем.
Ninebot... ES1 я думаю еще можно, но надо сразу его как-то усилить, сделать с этими болтами что-нибудь.  ES2 - не знаю, там люди на заднюю подвеску жалуются.
У Youdrive Lite  - как раз ES1+батарея.

А в целом, ES1, наверное, вполне пойдет. Не зря же его выбрали в YouDrive...
E-TWOW Eco -> Kugoo -> Ninebot ES1 -> Ninebot ES-Trash

VVK

Не совсем понял, вы хотите в самокат добавить плату, которая по радиоканалу (BlueTooth или WiFi) будет блокировать/разблокировать штатную электронику?
Или полностью контроллер заменить?

Валерий В

Цитата: VVK от 10 Окт. 2018 в 11:46
Не совсем понял, вы хотите в самокат добавить плату, которая по радиоканалу (BlueTooth или WiFi) будет блокировать/разблокировать штатную электронику?
Или полностью контроллер заменить?

Хм, у меня отключились уведомления. Только что увидел. Хотим добавить свой добавочный контроллер, который будет блокировать, разблокировать и слать местоположение

verial

Я делал такое сталкнулся с большими денежными затратами + программист которому я заказывал модуль позиционирования на гугл карту оказался мошенником и после этого все заглохло остался только модуль gps который на сервер шлет данные если вам интересно можете со мной связаться.
Каждый человек индивидум оставьте его в этом состоянии.

Валерий В

Цитата: verial от 08 Дек. 2018 в 09:19
Я делал такое сталкнулся с большими денежными затратами + программист которому я заказывал модуль позиционирования на гугл карту оказался мошенником и после этого все заглохло остался только модуль gps который на сервер шлет данные если вам интересно можете со мной связаться.

Мы уже много чего сделали: придумали как встроить свое железо в самокат, спроектировали и изготовили свою плату, сейчас работаем над контроллером. Разрабатываем серверную часть и мобильное приложение

Kalvinklaine

Цитата: Валерий В от 18 Дек. 2018 в 21:23
Мы уже много чего сделали: придумали как встроить свое железо в самокат, спроектировали и изготовили свою плату, сейчас работаем над контроллером. Разрабатываем серверную часть и мобильное приложение
Здравствуйте, Валерий. Рассматривали ли готовые решения? Почему в итоге решили сами все разрабатывать? Находимся на этапе сбора информации. Интересно было бы пообщаться, а возможно и посотрудничать.

Tigarbo

[user]Kalvinklaine[/user], вот есть еще ребята. Общался с ними по этому вопросу 89198742005

Валерий В

[user]Kalvinklaine[/user], когда начинали не было готовых решений. Написал вам в личку