ftp27

ftp27

iOS & Android development and etc.

Пример настройки Tuist на существующем проекте
ios

Пример настройки Tuist на существующем проекте

Что такое Tuist Tuist это инструмент для генерации проектов XCode. Это позволяет организовать структуру проекта и автоматизировать конфигурацию зависимостей более удобным способом. Такое решение отлично подходит для тех у кого есть множество проектов которые зависят от одной кодовой базы или для тех кому необходимо собирать один и тот же проект
5 min read
Показываем данные с MQTT на Grafana
Smarthome

Показываем данные с MQTT на Grafana

После того как мы завели [https://ftp27.dev/bmp085-and-mqtt/] наш датчик и начали делиться [https://ftp27.dev/homekit-with-mqtt/] его показаниями с HomeKit, то хорошо бы отправить эти данные куда либо во внешний интернет, дабы любоваться ими не только в пределах домашней сети. Для этой цели идеально подойдет дашборд метрик Grafana
4 min read
Отправляем данные с MQTT брокера на HomeKit
Smarthome

Отправляем данные с MQTT брокера на HomeKit

Данный пост основан на результатах работы предыдущего поста [https://ftp27.dev/bmp085-and-mqtt/] где мы отправляли данные c BMP085 на MQTT брокер Mosquitto. В этом посте мы используем сервер Homebridge [https://homebridge.io/] для того чтобы маршрутизировать данные получаемые с датчиков на Apple девайсы. Homebridge имеет множество плагинов, а также предоставляет
3 min read
BMP085 и MQTT
Smarthome

BMP085 и MQTT

Сегодня я хочу рассказать как можно настроить передачу данных с цифрового датчика давления BMP085 по сети. Для этого нам понадобится сам датчик и модуль NodeMCU (в моем случае это клон от WeMos). В качестве протокола передачи мы будем использовать MQTT, так как сам по себе протокол достаточно распространен для интеграции
6 min read
Прогресс бар или спиннер: Что и когда использовать
ux

Прогресс бар или спиннер: Что и когда использовать

Как вы будете чувствовать себя когда вы спросили кого либо в магазине про товар, а они просто зависли? Вы вероятно разочаруетесь и пойдете дальше. Пользователи чувствуют подобное когда видят спиннер на экране долгое время Спиннеры не для длительных процессов Спиннер не сообщает пользователю как много времени займет процесс загрузки. Если
2 min read
Почему всегда нужно указывать маску на типизированные поля
ux

Почему всегда нужно указывать маску на типизированные поля

В мире форм существует два типа данных основанных на текстовых полях. Это поля без формата (только текст) и поля имеющие формат (текст и символы). Вы должны четко разделять эти типы. Многие дизайнеры возлагают на пользователя форматирование данных. Этот вызывает серьезные проблемы при заполнении форм. Неизвестный формат ведет к отказу Когда
2 min read
Реализация кастомного UIControl компонента
ios

Реализация кастомного UIControl компонента

Очень часто приходится сталкиваться с различными нестандартными элементами интерфейса, когда имплементация от уже готовых элементов не удобна да и затратила бы много времени и сил, нагромождая проект огромным количеством костылей, приходится прибегать к реализации собственных компонентов. Разберем задачу на примере радио-кнопки. В изначальной поставке у нас есть похожий компонент UISwitch,
3 min read
ios

Работа в фоне iOS приложения

Данная статья является вольным переводом из официальной документации. В случае каких то неясностей прошу обратиться к первоисточнику: App Programming Guide for iOS [https://developer.apple.com/library/ios/documentation/iPhone/Conceptual/iPhoneOSProgrammingGuide/BackgroundExecution/BackgroundExecution.html#//apple_ref/doc/uid/TP40007072-CH4-SW1] Когда пользователь не активно пользуется вашим приложением, система перемещает его
19 min read
Development

Жизненый цикл приложения iOS

Данная статья является вольным переводом из официальной документации. В случае каких то неясностей прошу обратиться к первоисточнику: App Programming Guide for iOS [https://developer.apple.com/library/ios/documentation/iPhone/Conceptual/iPhoneOSProgrammingGuide/TheAppLifeCycle/TheAppLifeCycle.html#//apple_ref/doc/uid/TP40007072-CH2-SW1] Приложение тесно общается между кодом разработчика и фреймворком системы. Фреймвок
9 min read
PCB

Изготовление печатной платы методом фоторезиста с нанесением маски

Статьи подобного рода довольно таки распространены, но методика зачастую отличается. В данном посте я расскажу как изготовить плату в домашних условиях с нанесением маски. Фоторезист, маску и вещество для смывания фоторезиста я приобретал на ebay из Китая. Очевидно, что для начала работы нам понадобится печатная плата. Моя была реализована в
3 min read
Modbus. Что это и с чем его едят
UART

Modbus. Что это и с чем его едят

Modbus это протокол передачи данных по типу клиент-сервер. обеспечивающий передачу данных между устройствами подключенным к различным шинам или сетям. Разработан был в далеком далеком 1979 году и с тех пор обрел неплохую популярность среди миллионов автоматических устройств. Поддержка протокола происходит и по сей день. Как и свойственно клиент-серверному общению, коммуникации
9 min read
linux

USART на STM32L

Почти год назад я описывал процесс сборки минимального набора программ для сборки прошивок под STM32. Пришло время рассказать, как же можно реализовать работу с периферией на примере USART. Если посмотреть в даташит, например на RM0038, то можно заметить что USART там далеко не один. Наряду с тем работать он может
4 min read
android

Первая игра на Android. Часть 1. Подготовка проекта

Не так давно мне в руки попалась отличная книгаBeginning Android C++ Game Development. В ней доходчиво объясняются преимущества использования NDK и, как следует из названия книги, как писать игрушки для Android. Опираясь на информацию полученную из этой книги я напишу этот пост. Ранее [https://ftp27.dev/index.php/7-ndk-v-android-po-shagam] я
3 min read
discovery

Работа с датчиком BMP085

Датчик давления BMP085 является довольно таки точным и одновременно не сложным в использовании. Был разработан товарищами из Bosch и общается, как и подобает подобного рода датчикам, по каналу I2C. Помимо давления он так же выдает температуру с точностью до десятой доли градуса. Всю остальную информацию о нем вы можете посмотреть
5 min read
gamepad

Модернизация Defender Game Racer Turbo

Геймпад Defender Game Racer Turbo, как и некоторые другие ему подобные, имеет один странный недостаток, в некоторых играх путаются оси правого стика. Все бы легко решилось с использованием x360ce, но не все игрушки его поддерживают. Посему было принято решение слегка переделать геймпад, для смены осей "вручную". И так.
2 min read
android

Собираем Custom ядро для HTC

Недавно я столкнулся с такой проблемой как нехватка некоторых драйверов в одном Android аппарате от конторы HTC. Долгие и нудные потуги поставить какую либо готовую прошивку не увенчались успехом. Поэтому, было решено собрать свое ядро (с блекджеком и прочим :) ). К счастью, информации в интернете предостаточно  и собрав ее воедино, я
1 min read
android

NDK в Android, по шагам

NDK является комплексом инструментов для сборки нативных библиотек для последующего их использования в Android приложениях. Подобные средства могут оказаться очень полезными, если нам нужно использовать OpenGL или же производить массу математических операций, а так же мы можем собрать уже готовые сишные библиотеки, не реализовывая новый велосипед на Java. И так.
3 min read
Разворачиваем RetroArch на Raspberry Pi под Arch Linux
raspberry

Разворачиваем RetroArch на Raspberry Pi под Arch Linux

Наличие у RaspberryPi RCA-разъема, а следовательно возможность подключения его к телевизору, располагает к тому, чтобы установить на малиновую плату парочку приставочных эмуляторов детства и полностью погрузиться в ностальгию. На данный момент существует множество способов завести на Raspberry эмулятор, вплоть до готовых прошивок. Тем людям которым все же очень лень собирать
4 min read
Используем Зонд Atlas RIPE
atlas

Используем Зонд Atlas RIPE

Зонд Atlas RIPE [https://atlas.ripe.net/]предназначен для мониторинга доступности сети и оповещения этим самым сервера Atlas RIPE. Это нехитрое устройство можно получить бесплатно, зарегистрировавшись и заполнив соответствующую форму [https://atlas.ripe.net/apply/]. Небольшое описание и несколько фотографий о этом устройстве можно увидеть на хабре [http://habrahabr.ru/
3 min read
STM32 в Linux
ubuntu

STM32 в Linux

В данном посте я опишу процесс развертывания минимальной сборки для того чтобы собрать проект и прошить микроконтроллер с помощью программатора st-link, на примере отладочной платы STM32L-Discovery. Самое главное для любой разработки под другие архитектуры, это toolchain. Мной был выбран Sourcery G++ Lite. Он доступен с официального сайта [http://www.mentor.
6 min read