Каталог статей


Выбранная схема!!!


6655
IndusPhone — создание самого маленького программируемого смартфона (часть 2)

IndusPhone — создание самого маленького программируемого смартфона (часть 2)

Это вторая часть разработки самого маленького в мире телефона Indus Phone, пользовательский интерфейс которого интегрирован с основными функциями телефона.

Ранее был разработан пользовательский интерфейс Indusphone и протестирован модуль GSM, интегрировав его с монетой IndusBoard для улучшения дизайна.

Этот сегмент сочетает в себе пользовательский интерфейс с такими функциями, как контакты и калькулятор. Связи, установленные в части 1, опубликованной в октябрьском выпуске EFY, остаются неизменными.

Теперь основное внимание уделяется интеграции программного обеспечения и пользовательского интерфейса for телефона IndusBoard.

На начальном этапе необходимо интегрировать фундаментальные функции, такие как набор номера, совершение вызовов, проверка статуса вызова, обработка входящих вызовов и отображение экрана ожидания в ранее разработанном пользовательском интерфейсе. На рис. 1 показан телефон IndusBoard.

Рис. 1: IndusPhone

Интеграция системы звонков в IndusPhone

В коде библиотека вызовов GSM и библиотеки TFT_eSPI объединяются в единую базу кода. Экран ожидания создан для непрерывного мониторинга входящих вызовов, состояния батареи и уровня сигнала. При поступлении вызова в пользовательском интерфейсе отображаются кнопки «Принять участие» и «Завершить».

Функция присутствия на вызове активируется при нажатии кнопки присутствия в пользовательском интерфейсе. Код проверяет ввод пользовательского интерфейса; if ввод — «присутствовать» или «конец», он переходит к соответствующему экрану и выполняет соответствующую функцию с помощью call.answer(); и вызов.hangup(); команды.

Рис. 2 представлен фрагмент кода for TFT_eSPI, while На рис. 3 показан исходный код экрана ожидания, который проверяет for входящие вызовы, сетевое подключение и уровень заряда батареи.

Рис. 2: Фрагмент кода for TFT_eSPI
Рис. 3. Проверка кода начального экрана ожидания for входящих вызовов, уровня сети и заряда батареи

Рис. 4 представлен фрагмент кода for, проверяющий ввод пользовательского интерфейса и включающий функцию for учета присутствия и завершения вызова на основе сенсорного ввода. Аналогично, пользовательский интерфейс for для набора номеров и совершения вызовов легко интегрируется. На рис. 5 показан пользовательский интерфейс панели набора номера Indusphone.

Рис. 4. Фрагмент кода for Проверка пользовательского интерфейса
Рис. 5. Пользовательский интерфейс панели набора номера Indusphone

Рис. 6 показано подключение микрофона и динамика с помощью модуля GSM. После запуска функции for обслуживания или завершения вызова модуль GSM самостоятельно управляет получателем. Если набирается номер или принимается вызов, звук передается через небольшой динамик SMD, подключенный к модулю GSM, голосовой ввод while захватывается микрофоном SMD. Подробности см. на рис. 6 for.

Рис. 6. Подключение микрофона и динамика с помощью модуля GSM

Разработка приложения

Затем разрабатывается приложение, включающее в себя базовые функции, такие как контакты, телефонная книга, таймер, игры и калькулятор. Создается дополнительный экран пользовательского интерфейса с именем «Приложение» вместе с дополнительными пользовательскими интерфейсами for для каждой функции.

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

На главном экране приложения отображается список установленных приложений, что позволяет пользователям выбирать нужное приложение с помощью сенсорного ввода на сенсорной панели. Для контактов выбор соответствующего приложения запускает внутреннюю команду `AT+CPBR=1`, которая извлекает и отображает номера телефонов и имена на экране.

Аналогичным образом, выбрав калькулятор, вы перейдете на следующий экран, вызывая приложение калькулятора. На рис. 7 показан код пользовательского интерфейса главного экрана приложения, на рис. 8 – код сенсорного ввода, а на рис. 9 – код контакта.

Рис. 7. Код пользовательского интерфейса главного экрана приложения
Рис. 8. Коснитесь кода ввода
Рис. 9: Код контактов
Рис. 10: Отображение функций приложения на экране
Рис. 11: Код пользовательского интерфейса экрана калькулятора приложения

Разработка приложения-калькулятора

Для дизайна приложения калькулятора используется тот же метод, что и для отображения. Однако вместо использования функции call.make пользовательская функция выполняет вычисления на основе ввода пользователя и отображает результаты.

Интерфейс калькулятора содержит сенсорные кнопки for с цифровыми и арифметическими функциональными символами. В верхней части экрана зеленым цветом представлены входные данные и результаты расчетов. Код объединяет две функции: одна обрабатывает сенсорный ввод, а другая отображает пользовательский интерфейс.

Обработчик сенсорного ввода активирует действия пользовательского интерфейса в ответ на ввод пользователя. while отдельная функция под названием «вычислить» выполняет вычисления и отображает результаты на экране телефона. На рис. 11 представлен код пользовательского интерфейса экрана калькулятора приложения.

Примечание EFY : Дальнейшие части будут опубликованы в следующем выпуске, в которых будут подробно описаны обновления телефона с возможностями 4G LTE и дополнительными функциями.

Обновление: ознакомьтесь с третьей частью.

Бонус: Вы можете посмотреть видео с пошаговым руководством по созданию этого проекта своими руками ниже

Пошаговое видео Учебное пособие

Ашвини Кумар Синха, энтузиаст Интернета вещей и AI, работает техническим журналистом в EFY.


Категория: Сотовая связь | Добавил: Администратор (16.05.2026)
Просмотров: 81 | Рейтинг: 0.0/0


Всего комментариев: 0

Все ссылки на книги и журналы, представлены на этом сайте, исключительно для ознакомления, авторские права на эти публикации принадлежат авторам книг и издательствам журналов! Подробно тут!
Жалоба

ьте свои комментарии !!!!

Имя *:
Email:
Код *:

Copyright Zloy Soft (Company) © 2008 - 2026