97

Самодельный мобильник⁠⁠

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

Хотя я умею писать код сам, хоть и не так что бы очень хорошо, но здесь решил использовать ИИ. Прежде всего, для экономии времени и чтобы не разбираться в протоколах общения с радиомодулем – информация, которая скорее всего никогда больше не понадобится.

Радиомодуль проще купить готовый. Я выбрал такой:

Сам радиомодуль SIM800C – это зеленая плата под экранирующим кожухом. На картинке реализация HW-537. Радиомодуль уже припаян к плате с переходными контактами и согласующими элементами.

В целом, здесь есть все, что нужно для подключения к сети и для «говорения». Но здесь нет ничего для управления этим модулем.

Модуль управляется AT-командами через порт UART. Через него же он отвечает на запросы схемы управления. Контакты RXD/TXD  видно в верхнем ряду. Сим-карта вставляется с другой стороны модуля, на картинке не видно.

Логично, что в проект нужно добавить какой-то микроконтролер. Я сразу решил на этот раз использовать что-нибудь из семейства STM32 и выбрал STM32L051C8T6.

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

А еще телефону нужен какой-то экранчик для понятных целей. Тут я не стал ничего особенного придумывать. Взял привычный OLED SSD1306 с разрешением 128х32:

Дальше питание. Для целей первого этапа я решил использовать просто USB-разъем, в который подать 5 вольт и запитать радиомодуль и стабилизатор 1117 для получения 3.3 вольт для STM32.

Когда все детали были на столе, я попросил DeepSeek написать минимальный код для этого всего. Код вставил в STM32CubeIDE.

Все перечисленное и дискретную мелочь для питания соединил на макетной плате. Схема включилась, но радиомодуль не стартовал нормально. Стабильно уходил в ребут.

Все ИИ убеждали меня, что проблема скорее всего в питании. SIM800C (и аналогичные) имеют пиковые потребления тока до 2 Ампер в моменты общения с базовой станцией. Я надеялся, что конденсаторы по питанию справятся с этим, но они не справились. Пришлось срочно добавлять в схему литиевый аккумулятор, который может обеспечивать такие импульсы тока.

Аккумулятор 75 мАч взял от игрушки из Фикспрайса – летающий шарик типа вертолетика. Зарядил его прямо в шарике и уже заряженный припаял к своей схеме. Просто для тестирования.

Теперь все нормально завелось. На этом этапе мой телефон был таким:

При включении на экране последовательно появляются сообщения:

Здесь уже припаян динамик и устройство может принимать входящие звонки:

В динамике при этом играет одна из встроенных мелодий (их там 19). Но играет не особенно громко.

Клавиатуру сделал из тактовых кнопок, и теперь телефон в смысле конструкции деталей приобрел законченный вид:

В таком виде это полностью рабочее устройство. Можно принимать звонки и делать исходящие. Я только потом добавил еще два конденсатора по питанию в сумме на 2000 мкФ.

DeepSeek  предложил недостающий код, чтобы все работало. Но код чтения клавиатуры я написал сам. DeepSeek только подключил его к основному циклу программы.

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

ChatGPT разделил все по небольшим функциям, в целом получилось очень читаемо.

Потом я еще попросил сделать красивый уровень сигнала, а дальше я захотел еще и время на экране. ChatGPT сделал и это.

На этом решил пока остановиться.

Функционал довольно примитивный. Только ответить на звонок или набрать номер. Никакой памяти звонков или чего еще из элементарных удобств. Но все эти бантики – это просто развитие кода в STM32. Этим можно заниматься очень долго по настроению. Поэтому я решил закончить с «материальным миром». Сделать корпус и поставить нормальный аккумулятор.

В этих зарядных модулях есть крошечный SMD резистор, который надо менять в соответствии с оптимальным зарядным током аккумулятора. Но я не занимался расчетом, просто спросил у Gemini, тот посоветовал 18 кОм для 320 мАч. Зарядный ток получился примерно 180 мА.

Корпус нарисовал в OpenSCAD с помощью Gemini.

Ну как приличный. Он больше похож на терминал от домофона, но функцию выполняет:

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

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

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

СМСки.

Хотя выше я писал, что решил сильно не прокачивать функциональность, но поразмыслив, решил, что СМС будут не лишними.

Как ни странно, но прием СМС оказался не самым простым делом. Я подумал, что отправлять СМСки с такой убогой клавиатуры не нужно - будет крайне трудоемко для набора текста, но принять можно вполне.

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

СМСки появились. Когда это все работало, я опять пошел к ИИ попросил добавить поддержку кириллицы. Если кто-то не знает, то нелатинские символы кодируются двумя байтами, поэтому СМСки на русском получаются в два раза короче.

Здесь ChatGPT совместно с DeepSeek написали необходимы функции и шрифты. СМСки стало можно читать на русском.

Ну и окончательный вариант:

Звук при разговоре довольно приличный. Чисто и громко.

Схема и проект целиком.

Немного больше подробностей здесь.

8
Автор поста оценил этот комментарий

В сериале Обратная сторона Луны был почти такой же, в параллельной реальности, где построили коммунизм.

ПыСы: у ТС покруче - экранчик и кнопки есть!

Иллюстрация к комментарию
раскрыть ветку

Темы

Политика

Теги

Популярные авторы

Сообщества

18+

Теги

Популярные авторы

Сообщества

Игры

Теги

Популярные авторы

Сообщества

Юмор

Теги

Популярные авторы

Сообщества

Отношения

Теги

Популярные авторы

Сообщества

Здоровье

Теги

Популярные авторы

Сообщества

Путешествия

Теги

Популярные авторы

Сообщества

Спорт

Теги

Популярные авторы

Сообщества

Хобби

Теги

Популярные авторы

Сообщества

Сервис

Теги

Популярные авторы

Сообщества

Природа

Теги

Популярные авторы

Сообщества

Бизнес

Теги

Популярные авторы

Сообщества

Транспорт

Теги

Популярные авторы

Сообщества

Общение

Теги

Популярные авторы

Сообщества

Юриспруденция

Теги

Популярные авторы

Сообщества

Наука

Теги

Популярные авторы

Сообщества

IT

Теги

Популярные авторы

Сообщества

Животные

Теги

Популярные авторы

Сообщества

Кино и сериалы

Теги

Популярные авторы

Сообщества

Экономика

Теги

Популярные авторы

Сообщества

Кулинария

Теги

Популярные авторы

Сообщества

История

Теги

Популярные авторы

Сообщества

Недвижимость и ремонт

Теги

Популярные авторы

Сообщества