Archive for the ‘firmware’ Category

Android: управление устройствами через Bluetooth без проводов

Понедельник, 14 октября, 2013

Закончил заказ на разработку приложения Android, управляющего настройками «звукового светофора», приложение:

  • работает с устройством по протоколу Bluetooth — больше не нужно подключение с ноутбука проводом к каждому светофору
  • использует текстовую передачу команд для настройки параметров устройства: громкостей, пауз между звуками, текущего времени
  • использует бинарную передачу звуковых wav-файлов
  • помогает заменить прошивку (firmware) всего устройства полностью

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

Скоро эта наработка вместе с предыдущими — пригодится и для программирования еще одного оборудования: радиостанции с Bluetooth на борту.
Заказ подобных приложений возможен и для ваших устройств.

Поведение программ на устройствах Android

Вторник, 30 октября, 2012

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

Оказывается, поведение программ на разных «железяках», телефонах, планшетах…, на которые установлена операционная система Андроид  (тоже разных версий)  — может быть реально совершенно разным ! Даже если операционка одной и той же версии.

Кроме того, что датчики работают (получают питание) и отдают данные операционной системе на разных устройствах — по разному (в зависимости от работы дисплея, например), еще и системные события возникают так же не одинаково ! Я столкнулся с тем, что событие о смене состояния батареи ACTION_BATTERY_CHANGED (заряжается или нет) — на двух разный устройствах генерируется по разному !

Когда отсоединяешь кабель зарядного устройства  — брэндовый телефон выдает это событие четко, однократно, и программа реагирует на него также, четко, однократно, как задумывал программист. А вот андроидофон от каких-то китайских noname-молодцов — генерирует это событие периодически, как будто каждые несколько секунд отсоединяется по кабелю питания (не подтыкаясь обратно) ! Соответственно, и программа реагирует на каждое событие, что неправильно.

Я, как инженер по образованию, понимаю, что это зависит от аппаратного решения устройства, и связанного с ним программного драйвера, который написан с ошибкой, и выдает системе эти «ложные» сигналы.

Но теперь мне ясно, что «глюки» в одном и том же приложении (и отзывы о нем!) зависят не только от версии самой операционной системы, а и от версии «прошивки»\firmware конкретных аппаратов, что к сожалению, программисты прикладных приложений могут исправить только тщательным тестированием на разных устройствах, и все равно гарантий совместимости со всеми «железяками» от разных «криворучек» — не будет. 🙁