Страх и ненависть в IoT: 4 кейса для Интернета вещей, над которыми пришлось попотеть

Мы в Purrweb умеем делать приложения, которые общаются с «железками» и закрывают бизнес-задачи. Ни один проект для Интернета вещей не обходится без приключений или нетипичных сценариев. Делимся несколькими прикольными кейсами в IoT из нашего опыта!

Страх и ненависть в IoT: 4 кейса для Интернета вещей, над которыми пришлось попотеть

Дисклеймер: В тексте упоминается продукция, связанная с потреблением никотина. Мы не призываем вас курить и напоминаем, что курение любой никотиносодержащей продукции вредит вашему здоровью.

🔋 Зарядные станции EnerGO — проект 3 в 1 и трудности перевода

Что делали: дизайн и разработка трех приложений

EnerGO — это сервис по аренде пауэрбанков. Увидеть станции EnerGO можно по всей России, но больше всего их в Московском метрополитене. Сейчас только в Москве установлено больше 4 тыс. зарядных станций.

Страх и ненависть в IoT: 4 кейса для Интернета вещей, над которыми пришлось попотеть

Изначально заказчик пришел в Purrweb за приложением, в котором пользователи могли бы бронировать пауэрбанки. Но, как это часто бывает с IoT, в процессе все переигралось.

В итоге мы работали над дизайном и разработкой целых трех приложений — для клиентов, техников и самих станций.

Страх и ненависть в IoT: 4 кейса для Интернета вещей, над которыми пришлось попотеть

Пришлось выйти на китайцев. На этапе разработки приложения нужно было создать модуль работы со станцией. Станции закупили у сторонних производителей. В Китае. Соответственно, вся документация была на китайском, и нам предстояла дешифровка информации.

Конечно, мы воспользовались машинным переводом, но его качество было далеко от идеала — в тексте было много неточностей, которые отняли бы у нас десятки часов.

Так что решили зайти с другой стороны — связались с предыдущим подрядчиком, который когда-то работал над десктопной версией первого приложения. Разбираться с чужим кодом оказалось проще, чем полагаться только на корявый перевод документации. Так мы узнали много важного. Например, что станции подключаются к фиксированному IP и изменить его, по словам производителя, невозможно. Спойлер: это ограничение мы обошли, достучавшись до производителей :)

Учли расположение станций. Большинство станций стоит в метро, где действуют строгие правила безопасности: никаких открытых отсеков или деталей, которые можно легко вскрыть. Все должно быть закрыто наглухо. Поэтому для таких точек заказчик закупил станции с автоматической заслонкой, которая открывается только через приложение.

Мы прописали отдельное флоу для возврата устройств. Так в базе хранится история всех открытий и закрытий — невозможно засорить ячейку или оставить в ней взрывное устройство.

Страх и ненависть в IoT: 4 кейса для Интернета вещей, над которыми пришлось попотеть

Отправили тимлида «в поля». Тестирование на реальном IoT устройстве — обязательный этап. В наш омский офис отправили мини-станцию для тестирования. Большую станцию для метро привезти не удалось — она слишком громоздкая. Решили иначе: ехать к станции самим. Так наш тимлид отправился проводить тестирование в Москву. Чего не сделаешь ради проекта :)

👉 Итог. Завершили разработку в срок, несмотря на существенное расширение скоупа и трудности перевода. Сейчас у приложения 9k+ отзывов в магазинах приложений и второе место по покрытию зарядными станциями.

Переходите в подробный кейс EnerGO, чтобы посмотреть больше скринов и деталей по дизайну и разработке.

🚭 Приложение Plonq для POD-систем — в обход сторов

Что делали: разработка

Страх и ненависть в IoT: 4 кейса для Интернета вещей, над которыми пришлось попотеть

Plonq — производитель POD-систем, которые помогают держать курение под контролем. Устройство собирает данные о количестве и длительности затяжек, а затем передает их в приложение через Bluetooth.

Дизайн экранов уже был готов. Команда разработчиков у заказчика тоже была, но ей не хватало экспертизы в создании PWA-приложений. В Purrweb есть опыт работы с инхаус-командами и разработки PWA. Так что мы идеально подошли для этого проекта.

Страх и ненависть в IoT: 4 кейса для Интернета вещей, над которыми пришлось попотеть

Пошли по пути PWA. Для ниши электронных сигарет обычное мобильное приложение не подойдет — его просто не пропустят в App Store и Google Play. Поэтому заказчик решил обойти ограничения и создать PWA. Это веб-приложение, которое выглядит и работает как нативное: его можно вынести на главный экран и запускать как обычно. Никаких касаний со сторами.

На Android все просто — можно настроить Web Bluetooth API и подключить POD-устройство к PWA. Однако с iOS возникли проблемы. Safari и другие браузеры на iOS не поддерживают этот протокол.

Исключать пользователей Apple было нельзя. Нужно было искать обходное решение. И мы его нашли 👉

Создали кастомный браузер для iOS. Как и все браузеры на iOS, он работает на WebKit, но имеет дополнительные функции для работы с протоколом BLE (Bluetooth Low Energy).

Мы реализовывали подобную идею впервые. Более того, разработка кастомного браузера с привязкой Bluetooth — не то, о чем пишут на каждой странице в GitHub. Дополнительной информации не было совсем, так что пришлось действовать методом проб и ошибок.

Страх и ненависть в IoT: 4 кейса для Интернета вещей, над которыми пришлось попотеть

У нас все получилось — мы связали браузер и POD-систему, и даже нашли способы замаскировать проблемы, которые не решить из-за ограниченного бюджета. Как мы это выяснили? Конечно, при тестировании — нам прислали целый ящик одноразок :)

👉 Итог. Выпустили PWA через два месяца — больше времени, чем планировали изначально, так как приложение «нужно было вчера». Однако для проектов такой сложности это стандартная длительность.

Читайте полный текст кейса Plonq на нашем сайте.

🔫 Приложение для электрошокеров — когда от паяльника зависит успех проекта

Что делали: дизайн и разработка

Страх и ненависть в IoT: 4 кейса для Интернета вещей, над которыми пришлось попотеть

К нам обратился производитель электрошокеров. Его устройства выпускаются под несколькими брендами. Задача — разработать несколько версий одного приложения. Каждому требовался свой UI, но пользовательский опыт должен был оставаться единым.

Страх и ненависть в IoT: 4 кейса для Интернета вещей, над которыми пришлось попотеть

Приложение предназначено для экстренных случаев. Если к сотрудникам полиции или ЧОПа возникнут вопросы о превышении полномочий, в нем можно посмотреть историю использования шокера.

Неожиданно вспомнили, как паять. Для тестирования приложения нам нужен был шокер, но его нам не дали :) Вместо этого мы получили микросхему от устройства — ее оказалось достаточно 🙂

Микросхема — вещь хрупкая, особенно в условиях постоянного тестирования. Провода на микросхеме то и дело отсоединялись при подключении к компьютеру. Поэтому успех нашей разработки держался на… паяльнике. Проджект менеджер неустанно припаивал отсоединяющиеся провода, чтобы команда могла провести тесты. Школьные уроки труда пригодились :)

👉 Итог. Выпустили проект в срок. Смотрите на детальный кейс, где мы подробно рассказываем о UI/UX дизайне и разработке приложения для электрошокеров.

🗄 Vendify — умный холодильник с защитой от дурака

Что делали: дизайн и фронтенд разработка

Страх и ненависть в IoT: 4 кейса для Интернета вещей, над которыми пришлось попотеть

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

Как и в Plonq, над Vendify работали в связке с инхаус-командой. Команда Vendify отвечала за бэкенд, а нам нужно было сделать дизайн и фронтенд.

Страх и ненависть в IoT: 4 кейса для Интернета вещей, над которыми пришлось попотеть

Мы подстраховались. Для бесконтактной покупки важно продумать защиту от людей, которые могут случайно оставить холодильник открытым или попытаться что-то украсть. Да, та самая защита от «дурака».

Так, подсчет товаров в Vendify осуществляется при каждом закрытии холодильника — система сравнивает остаток до открытия двери и после закрытия. Если чего-то не хватает, у пользователя списываются деньги за покупки.

Мы также предусмотрели сценарий, если дверь холодильника сломается или ее подопрут. Для этого мы внедрили покупку по таймеру. Когда дверь разблокируется, начинается отсчёт — у пользователя есть 5 минут, чтобы выбрать товары. Если время выходит, а покупку пользователь не завершил, процесс обнуляется: холодильник завершает сделку аварийно, даже с открытой дверью, и фиксирует недостающие товары.

👉 Итог. Справились с дизайном и разработкой фронтенда за 6 недель.

Полный текст кейса Vendify читайте на нашем сайте

Разработка для IoT не обходится без приключений. За 550+ проектов у нас уже накопилась целая база знаний, чтобы преодолевать бутылочные горлышки. Но даже если готового решения из предыдущих проектов нет — стремимся нащупать выход в рамках срока и бюджета. Смотрите наше портфолио по IoT и другим нишам — там подробно рассказываем о наших кейсах и походе к работе.

7
1
5 комментариев