Горячее
Лучшее
Свежее
Подписки
Сообщества
Блоги
Эксперты
Войти
Забыли пароль?
или продолжите с
Создать аккаунт
Регистрируясь, я даю согласие на обработку данных и условия почтовых рассылок.
или
Восстановление пароля
Восстановление пароля
Получить код в Telegram
Войти с Яндекс ID Войти через VK ID
ПромокодыРаботаКурсыРекламаИгрыПополнение Steam
Пикабу Игры +1000 бесплатных онлайн игр Управляй роботом-мутантом чтобы исследовать загадочный мир, находи классное оружие и сражайся с различными врагами, чтобы выжить!

Зомботрон Перезагрузка

Экшены, Платформеры, Шутер

Играть

Топ прошлой недели

  • solenakrivetka solenakrivetka 7 постов
  • Animalrescueed Animalrescueed 53 поста
  • ia.panorama ia.panorama 12 постов
Посмотреть весь топ

Лучшие посты недели

Рассылка Пикабу: отправляем самые рейтинговые материалы за 7 дней 🔥

Нажимая «Подписаться», я даю согласие на обработку данных и условия почтовых рассылок.

Спасибо, что подписались!
Пожалуйста, проверьте почту 😊

Помощь Кодекс Пикабу Команда Пикабу Моб. приложение
Правила соцсети О рекомендациях О компании
Промокоды Биг Гик Промокоды Lamoda Промокоды МВидео Промокоды Яндекс Маркет Промокоды Пятерочка Промокоды Aroma Butik Промокоды Яндекс Путешествия Промокоды Яндекс Еда Постила Футбол сегодня
0 просмотренных постов скрыто
0
buhanka.chan
buhanka.chan
Серия Микроэлектроника 2025

Стенд АКРП - Консорциум дизайн-центров на форуме Микроэлектроника 2025⁠⁠

7 дней назад

00:00 Стенд АКРП – Консорциум дизайн-центров - Ассоциация «Консорциум дизайн-центров и предприятий радиоэлектронной промышленности»

00:30 ПКК Миландр и розыгрыш одноплатников! А еще про китайские микросхемы в Реестре Минпромторга

16:59 АРП-Дизайн разработчик российских контроллеров, а так же кофемашина на их контроллере

22:12 Дизайн-центр Эдельвейс и разработки на Байкалах и Эльбрусах

41:23 Остек-Электро: характериограф Л2-156 и прочее РОССИЙСКОЙ РАЗРАБОТКИ на российской ЭКБ оборудования для микро- радиоэлектроники

47:28 СМТМАКС - российские паяльные пасты

53:08 ТЕСАРТ. СВЧ-электроника и оборудование спутниковой связи

55:20 БРОКТЕХЛОДЖИ - российский производитель компьютеров из Нижнего Новгорода

1:01:45 SNDGLOBAL - разработчик электроники "под ключ", Na-Ion АКБ и ИБП, Фольга для пайки и корпусирования, преобразователи

1:08:25 Конструкторское бюро "ФАРВАТЕР" - дронозащита, актуально!

Показать полностью
Микроэлектроника 2025 Российское производство Центральный процессор Процессор Эльбрус Байкал Паяльная паста Контроллер Спутниковая связь Базовая станция РЭБ Одноплатный компьютер Видео RUTUBE
2
5
gippopotamich
gippopotamich

Подскажите назначение платки?⁠⁠

21 день назад

Случайно доставшийся девайс. Немного сломал голову.
Все маркировки - это производитель и ревизия текстолита. Встречается на каждой пятой китайчатине.
Думал на контроллер майнера. Но там VGA не пришей рукав.
Наличие разъёмов coin и spk out намекают на игровой автомат? Древний, судя по micro usb.
Проц этажерка, похоже там и графика, и ОЗУ. Снизу ПЗУ.
Спасибо.

Показать полностью 5
[моё] Электроника Одноплатный компьютер Китай Неизвестное Длиннопост
15
buhanka.chan
buhanka.chan
Серия Микроэлектроника 2025

От конденсатора до сервера. Микроэлектроника 2025. часть 2⁠⁠

1 месяц назад

00:00 Микроэлектроника 2025 (часть 2)

00:35 SmartCore планирует стать номер один производителем одноплатников в России

14:48 Элеконд - российский производитель конденсаторов

17:52 Гаоди - контрактный производитель и разработчик

23:11 Эльбрус - кому-то на моём канале еще надо пояснять про что тут?

25:16 СофтЭксперт - ядерная электроника

29:59 КВ Системы - БП для серверов/ беспроводные зарядные станции от бпла до авто

35:52 МикроЭМ Технологии контрактное производство - аппаратные платформы, измерительное и видеооборудование, телекоммуникация

Показать полностью
Форум Микроэлектроника 2025 Российское производство Импортозамещение Одноплатный компьютер Конденсатор Smd конденсаторы Smd-технология Производство Эльбрус Эльбрус-8с Эльбрус-4с Эльбрус-1с+ Дозиметр Беспроводная зарядка Проектирование Видео RUTUBE Длиннопост
0
2
Вопрос из ленты «Эксперты»
tired.cat

Помощь с RockChip3576⁠⁠

6 месяцев назад

Всем привет

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

Суть: Нужно принимать данные по SPI в режиме Slave. Пробовал на Raspberry Pi 4 — но, как оказалось, его кристалл аппаратно не поддерживает SPI Slave, ну как, поддержка есть, но кривая и нестабильная (скорость должна быть 921600, не вытягивает она).

Нашёл альтернативу — процессор RK3576 (например, в Banana Pi BPI-M5). В даташите вроде как есть нормальная поддержка Slave, но есть нюансы:

Железо — платы на RK3576 стоят 15-20к, и просто так купить для теста не вариант.

Софт — драйверы и настройка SPI Slave, конечно, потребуют возни, но это уже второстепенно.

Вопрос: Может, у кого-то уже есть такая плата и возможность проверить SPI Slave? Или был опыт работы с этим процессором?

Буду рад любым советам, мануалам или даже "да, это реально, но нужно сделать то-то".

Показать полностью
[моё] Нужен совет Одноплатный компьютер Без рейтинга Banana Pi Spi Вопрос Спроси Пикабу Текст
0
374
monobogdan
monobogdan
Посты о ремонте и моддинге ретрогаджетов.
Android

Как делают смартфоны: смотрим на редкий девкит процессора Qualcomm Snapdragon 410⁠⁠

1 год назад

Друзья! А вы когда нибудь задумывались о том, как делают смартфоны и планшеты? Какие инструменты для этого используются и откуда берутся материнские платы разных размеров и форм-факторов, но с таким похожим расположением элементов? Недавно мне удалось приобрести девкит aka evaluation board популярного в прошлом среднебюджетного чипсета Qualcomm Snapdragon 410 за 4.000 рублей и заценить его, что называется, в деле. Чем он отличается от одноплатного компьютера, из чего он состоит и что умеет — читайте в сегодняшней краткой, но достаточно подробной статье!

❯ Что такое девкит?


Если вы крутой и продвинутый инженер, то ответ на вопрос что такое evaluation board наверняка знаете и сами. Однако сегодняшний материал будет написан в эдаком научпоп-стиле «для всех», поэтому строго в комментах не судите — старался всё расписать максимально доступно для рядового читателя!

  • Чипсет: сердце устройства, фактически процессор. Однако от процессоров общего назначения мобильные чипсеты отличаются тем, что в одном кристалле помимо ARM-ядер также находятся вспомогательные модули — контроллер памяти и eMMC/UFS, графический ускоритель, DSP-модуль для обработки изображения с камер, аудио-тракт, отвечающий за вывод звука через встроенный ЦАП или через протокол i2s на внешний кодек, а также модуль управления пинами общего назначения (GPIO) и общения с внешними устройствами с помощью шин SPI и I2C.

  • BT/Wi-Fi/GPS/FM радиотракт: обычно один комбо-чип, объединяющий в себе все указанные технологии беспроводной передачи данных. Модуль подключён к процессору напрямую, ранее — через SDIO, сейчас с помощью иных аппаратных шин. Вокруг чипа стоит обвязка — усилители сигнала и различные небольшие компоненты, необходимые для функционироавния тракта.

GSM радиотракт: также известный как модем. Именно от него зависит, какие стандарты связи и наборы частот будет поддерживать устройство. Основой модема служит бейсбенд — специальный DSP-процессор со своей собственной прошивкой, который занимается измерением уровня сигнала, выбором вышки и коммуникацией с ней, а также обработкой AT-команд, которые посылаются чипсетом при совершении звонков, обработке SMS и т. п. Также бейсбенд занимается декодированием звука. К бейсбенду в пару идет антенный усилитель и свитч, обычно в одном или нескольких чипах (в зависимости от набора поддерживаемых стандартов).

Контроллер питания: этот чип выполняет сразу несколько важных ролей, связанных с питанием устройства — схема зарядки (чарджер) литий-ионных АКБ, многоканальный ШИМ-контроллер, способный выдавать несколько уровней напряжений (обычно называемых Power Rail'ами. Типичные напряжения в смартфоне/планшете — ~0.8V питание ядер процессора, 1.8V — питание логики, 3.3V — питание контроллера тачскрина/дисплея, 5V — напрямую никуда не поступает, бывает лишь на входе USB). К КП всегда идёт обвязка в виде мелких SMD-компонентов и ключей. В редких случаях (привет Unisoc) и его умудряются запихнуть в чипсет!

Звучит сложно? После практики ремонта и моддинга смартфонов всё значительно проще :)
Однако спроектировать такую большую систему «на коленке» сложно и для разработчиков смартфонов/планшетов существуют специальные платы, называемые evaluation board или понятным любому русскому человеку словом девкит.

Dragonboard 800

Dragonboard 800

На таких платах распаяно всё необходимое для работы устройства: процессор, память, радиотракт, джек для звука и микрофона, чарджер для АКБ, USB и конечно-же, JTAG для отладки с гребенкой, на которую выведены пины процессора. Кроме того, на девкиты часто устанавливаются уже готовые дисплеи и тачскрины, а процессор с ОЗУ и памятью нередко выносят в отдельные системы на модуле (SoM, о серийном планшете с съемным процессором читайте в моей отдельной статье). Делается это для возможности быстрой замены спаленного проца (ну, в конце-концов, не все инженеры могут сдуть и поставить процессор в BGA-корпусе) и в некоторой степени для упрощения дизайна самой платы (поскольку на SoM есть лишь самая необходимая обвязка). То есть сами девкиты — это формально две платы, где основная представляет из себя лишь набор интерфейсов и гребенки пинов с процессора!

На самом деле, evaluation kit'ы не шибко отличаются от современных одноплатников — единственное отличие в габаритах (одноплатники в разы меньше и подходят для готовых устройств), доступных шинах и GPIO: хотя и здесь есть интересные устройства типа Olimex A20 SoM, который выводит почти все пины с AllWinner A20. Так что можно смело сказать, что одноплатники отпочковались от девкитов и являются их куда более дешевыми, а главное поддерживаемыми коммьюнити аналогами.

Недавно мне удалось купить девкит Snapdragon 410 под названием Variscite Dart SD410. Это, конечно, не самый крутой доступный девкит (у него нет GSM-части), но тем не менее это полноценная плата с собственным столом, дисплеем, тачскрином и различными образами ОС.
Нашёл я его на известной онлайн-барахолке, человек хотел сделать из него игровую консоль, но не сложилось. Так и выставил за 5.000 рублей. Немножко торга и вот — девкит уже у меня, а я как большой ценитель различных редких и интересных одноплатников и девкитов не могу нарадоваться :)

Давайте же распакуем его и познакомимся с ним поближе!

❯ Распаковка


Поставляется девкит в довольно большой коробочке с кратким мануалом, а также блоком питания. Для чуть более старых девкитов, например Idea6410 на базе Samsung S3C6410, характерны были DVD-диски в комплекте с лицензионной (?) Visual Studio 2005, Platform Builder с Windows CE и, конечно-же, BSP.

Сама плата прикручена к специальному «столу», дабы всё нужное не висело «на соплях». Несмотря на относительно большие размеры, девкит вполне можно превратить и в готовое устрйоство, размерами близкими к 7-дюймовому планшету. Делаем свой Nintendo Switch на Снапе!? :)

С верхней стороны платы расположен коннектор камеры, гребенка для JTAG, I2C/SPI и куча GPIO. Также сверху есть батарейка для поддержания работы RTC и три кнопки, характерных для Android (назад, домой и включение), а также перемычки на переключение режима загрузки. SD410 умеет грузиться с MicroSD, eMMC и… USB! Вот уж неожиданно для устройства на «снапе»!

По центру расположена та самая съёмная система на модуле с процессором и ОЗУ на борту. В качестве чипсета выступает APQ8016E с eMMC производства Samsung, на плате SoM также можно увидеть радиотракт Wi-Fi/BT/GPS и с обратной стороны контроллер питания. Фактически — это минимально необходимый набор для работы планшета или смартфона, остальная плата — лишь разведенная периферия!

Снизу платы разведен сетевой контроллер для LAN, а также USB-порты и 3.5мм разъемы Jack для подключения микрофона и динамиков. Есть также пятачки для ручной пайки динамиков и некоторых иных элементов.

С левой стороны платы расположен дисплей с емкостным тачскрином. Меня сразу удивила надпись LVDS, поскольку в мобильных устройствах гораздо более характерен MIPI DSI (схожий протокол), однако сняв и осмотрев дисплейный модуль я убедился, что Variscite изготовили переходную плату с TTL RGB на LVDS с помощью внешнего скалера. Зачем? Я и сам не знаю. Но с обратной стороны платы выведены пины DSI напрямую для подключения дисплея с мобильных гаджетов.

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

Давайте же запустим плату!

❯ Запускаем


Для функционирования платы необходимо как минимум две вещи. Первая — исходный код ядра. Так уж получилось, что далеко не все чипсеты поддерживают Mainline-ядро Linux и используют свои форки, пока ещё не объединённые с основной веткой. Вторая называется BSP (Board Support Package) — пакет для поддержки системой определенной платы. В случае Linux, в BSP содержится конфиг сборки ядра, device-tree или machine-файлы (если ядро не мейнлайн и без поддержки dtb) с описанием подключенных к плате устройств и конечно-же сами драйвера для дополнительной периферии (например контроллера дисплея).

Чтобы получить образы системы, нужно регистрироваться на сайте вендора и заходить на приватный FTP… но у меня такой возможности нет, поскольку девайс я покупал с рук. Но продавец выслал мне BSP с recovery-образами двух систем: Android и Yocto Linux.

Android уже был предустановлен на eMMC и здесь всё в целом стандартно: обычная система версии 7.1, AOSP, но с различным тестовым и презентационным софтом от Qualcomm. В целом, это уже фактически готовый самый обычный Android-планшет, только с внешней гребенкой и питающийся только от 5В:

Гораздо более интересной выглядит установка Linux. Образы поставляются в виде прошивки для fastboot, которые шьются буквально одной кнопкой. Сначала нужно ввести плату в режим fastboot: делается это включением платы с зажатой кнопкой «назад». Затем распаковываем архив с Yocto Linux и выбираем нужный образ — есть десктопный, консольный и с оконным менеджером Weston. Я выбрал последний: распаковываем gz-архив и редактируем скрипт прошивки, дабы он брал образ rootfs с weston:

После этого запускаем процесс прошивки, ждём секунд 30:

И у нас есть полноценный Linux как на одноплатнике!


❯ Заключение


Ну что друзья, в сегодняшнем материале мы с вами рассмотрели такую интересную систему на модуле. Надеюсь, вам было интересно! А с какими интересными девбордами и чипсетами работали вы?

Друзья, если у вас есть похожие девкиты или просто одноплатники на каких-то интересных чипсетах типа древних самсунгов (времен S5PC), OMAP'ов, i.MX и т. п. и вам они не особо нужны — я готов рассмотреть их покупке. Особенно интересно было бы поколупать такой легендарный процессор, как Intel PXA (или его продолжателя в лице Marvel PXA) — киты с ним в свое время было достать несложно. Пишите в личку в ТГ (@monobogdan) :)

Кстати, если у кого-то из читателей есть ненужные устройства (в том числе с косяками) или дешевые китайские подделки на айфоны/айпады/макбуки и другие брендовые девайсы будучи нерабочими, тормозящими, или окирпиченными и вам не хотелось бы выкидывать их на свалку, а наоборот, отдать их в хорошие руки и увидеть про них статью — пишите мне в Telegram или в комментах! Готов в том числе и купить их. Особенно ищу донора дисплея на китайскую реплику iPhone 11: мой ударник, контроллер дисплея калится и изображения нет :(

Статья подготовлена при поддержке TimeWeb Cloud. Подписывайтесь на меня и @Timeweb.Cloud чтобы не пропускать новые статьи каждую неделю!

Показать полностью 19
[моё] Смартфон Покупка Android Гаджеты Одноплатный компьютер Qualcomm Snapdragon Своими руками Электроника Мобильные телефоны Длиннопост
22
69
monobogdan
monobogdan
Посты о ремонте и моддинге ретрогаджетов.
TECHNO BROTHER

Ищу девкит (плата для разработки, одноплатный компьютер)!⁠⁠

1 год назад

Друзья! Знаю, что среди читателей есть люди, которые работали над embedded-устройствами. Может у вас есть девкит Samsung S3C6410, когда либо списанный, на продажу?

Ищу девкит (плата для разработки, одноплатный компьютер)!

В целом, интересно было бы любой девкит покопать. Друзья, именно девкит, а не просто Raspberry Pi или Orange Pi. Впрочем, одноплатник на чем-то необычном типа Samsung Hummingbird или Tegra был бы интересен!

[моё] Покупка Android Выбор Гаджеты Одноплатный компьютер Embedded Своими руками Разработка Электроника Схемотехника Sbc Компьютерное железо
12
seminon600
seminon600
Еврейский мир
Серия Технологии, наука стартапы, изобретатели, хайтек

Британский производитель компьютеров использует израильские ускорители для нового дополнения к искусственному интеллекту⁠⁠

1 год назад

Raspberry Pi , ведущий производитель одноплатных компьютеров, выбрала израильского производителя микросхем Hailo в качестве поставщика ускорителей искусственного интеллекта для своего нового дополнения с поддержкой искусственного интеллекта.

Британский производитель компьютеров использует израильские ускорители для нового дополнения к искусственному интеллекту

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

Hailo заявляет, что партнерство с Raspberry Pi позволит создателям всех уровней внедрять расширенные возможности искусственного интеллекта в свои проекты в области безопасности, робототехники и многого другого.

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

«Мы очень рады поддержать Raspberry Pi и расширить возможности ее активного сообщества профессиональных инженеров и креативщиков с помощью передовых возможностей искусственного интеллекта», — сказал генеральный директор и соучредитель Hailo Орр Данон.

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

«Наше сотрудничество с Hailo позволяет промышленным клиентам Raspberry Pi интегрировать искусственный интеллект в высокопроизводительные решения, которые являются чрезвычайно экономичными и энергоэффективными. Для энтузиастов AI Kit предоставляет доступный способ улучшить свои творческие проекты с помощью искусственного интеллекта», — сказал генеральный директор Raspberry Pi Эбен Аптон.

«Сочетание высокой вычислительной мощности Hailo и низкого энергопотребления делает его невероятно привлекательным решением для искусственного интеллекта как для профессионалов, так и для энтузиастов».

Перевод с английского

ИСТОЧНИК

Показать полностью 1
Израиль Стартап Микросхема Производители Великобритания Одноплатный компьютер Искусственный интеллект
0
307
monobogdan
monobogdan
Посты о ремонте и моддинге ретрогаджетов.
TECHNO BROTHER

Делаем из битого планшета одноплатник: подключаем Android-устройства к дешевым микроконтроллерам через UART⁠⁠

1 год назад

В наше время, из-за санкций одноплатники стали стоить каких-то «конских» денег. Даже б/у RaspberryPi Zero стоит 2-3 тысячи рублей на барахолках, что, мягко скажем, не совсем лояльная цена для «самого дешевого одноплатного компьютера в мире». Конечно, Orange Pi Zero всё ещё можно купить в пределах 1.500-2.000 рублей, но как по мне и эта цена не слишком лояльна за те характеристики, который предлагает такой одноплатник. С другой стороны, Android-планшеты 10-летней давности продаются на барахолках по 100-300 рублей, что выглядит гораздо привлекательнее, причём на некоторые устройства практически без костылей можно установить полноценный дистрибутив Linux! Вероятно, многие читатели скажут мол «автор бомж» и будут правы: ведь в рамках этой статьи, я хочу рассказать о том, как использовать полурабочий древний планшет в качестве полноценного одноплатника путём подключения его к микроконтроллеру и выводу GPIO! Сегодня мы с вами: узнаем, как подключить микроконтроллер к шине UART в планшете и научимся работать с последовательной шиной в Android прямо из Java и нативных программ. Интересна моя концепция антикризисного одноплатника? Тогда добро пожаловать под кат!

❯ Зачем это нужно?


Пожалуй, нельзя сказать, что подобная концепция пристраивания старых планшетов — вопрос исключительно цены. 2-3 тысячи рублей не такие уж и большие деньги и при желании можно купить хотя-бы Б/У, но всё таки полноценный одноплатник с нормальной GPIO-гребенкой. Однако здесь стоит вопрос не столько дешевизны, сколько E-Waste: зачем выкидывать в помойку потенциально рабочие планшеты с живым процессором, если их можно пристроить куда-то ещё?

На самом деле, планшеты с ROOT-доступом уже из коробки могут выполнять весьма полезные задачи, как, например, хостинг http-сервера для домашней страницы, работать как панель с часиками и погодой, или, например, работать в качестве HMI-панели для оформления заказов в шаурмечной. Кроме того, многие планшеты на базе смартфонных чипсетов (MediaTek, Spreadtrum) имеют полноценный Bluetooth-модуль, что позволяет «подружить» планшет с микроконтроллером через радиоканал, что значительно расширяет возможный спектр применений.

Преимуществ у такого подхода много: у «пожилого» планшета уже есть большой, достаточно качественный (хороший TN, либо даже IPS) дисплей с тачскрином, который поддерживает мультитач, GPU для вывода 3D-графики, 3.5мм для вывода звука + встроенные динамики, а также весьма неплохое, по сравнению с дешевыми одноплатниками, железо. Звучит весьма вкусно для цены в 300 рублей: собрать хоть немного похожую конфигурацию на базе RPi выйдет в 10-15 тысяч рублей (учитывая дороговизну MIPI-матриц с тачскринами + цену самой «малинки» и обвязки для аудиотракта).

Но при всех перечисленных достоинствах, атрибутом любого полноценного одноплатника является наличие GPIO — и даже здесь мы сможем с вами выкрутится! Первый способ, о котором я чуть выше вскользь рассказал, позволяет реализовать общение с МК и «ногодрыг» через BT-радиоканал, но минусы такого подхода очевидны (МК с BT дороже, радиоканал потребляет дополнительную энергию, некоторые могут посчитать BT небезопасным). Однако есть и второй подход, который заключается в использовании диагностических пятачков UART на плате устройства для наших личных целей!

С таким подходом можно использовать как «голый» Linux, используя концепцию, которую я представил в этой статье, так и взаимодействовать из Java-приложений для Android (что даёт уже, как минимум, удобный GUI-фреймворк). Сегодняшняя статья будет «без воды», только чистая конкретика, поэтому давайте перейдем к реализации!


❯ Подготовка


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

Сама по себе концепция очень простая: многие китайские производители планшетов и смартфонов не только разводят UART в виде отдельного пятачка на плате, но и подписывают его, задействуя UART-канал как вывод для логов ядра, а иногда и предоставляя доступ к рутовой консоли! В свою очередь, из юзерспейса мы можем получить доступ к UART с помощью устройства/dev/ttyS<x>на подавляющем числе чипсетов и/dev/ttyMT<x>на MediaTek. Однако учтите, что в некоторых случаях придется патчить загрузчик, дабы редиректнуть логи ядра в /dev/null.

Однако наличие UART на плате — не всегда признак того, что он сконфигурирован в системе верно. Например, на смартфонах с чипсетами SC6820 нормально завести UART я так и не смог, а на некоторых устройствах на базе MT657x нужно патчить загрузчик, дабы он «увидел» нужный канал UART! В моём случае, героем статьи стал планшет Prestigio, у которого отказал тачскрин, но был доступен UART:

Конкретно в моём случае, после установки последней официальной прошивки планшет перестал слать логи на UART и устройство /dev/ttyMT3 оказалось доступным для наших операций, в вашем же случае может потребоваться настройка devicetree, или просто патчинг загрузчика, дабы редиректнуть консоль на другой вывод UART. Кроме того, необходимо обязательно получить root-доступ хотя-бы к adb shell, поскольку доступ к /dev/tty устройствам возможен только от имени суперпользователя. Как же проверить UART на возможность чтения/записи? Сначала нам необходимо взять ESP32 или любой UART-USB преобразователь, припаять сигнальные линии RX/TX и использовать любую программу для работы с последовательным портом, например Putty. Заходим в adb shell, и пишем что-нибудь в консоль:

Вуаля! Всё работает :)

Вуаля! Всё работает :)

Работает? Замечательно, значит мы сможем использовать планшет вместе с микроконтроллером! Переходим к практической реализации нашего приложения!

❯ Используем из Java


Я специально решил выделить для Java-подхода отдельный раздел, поскольку просто взять и открыть /dev/ttyMT3 с помощью FileInputStream не выйдет. Дело в том, что даже несмотря на наличие root-доступа, по факту ни одно Android-приложение его не имеет (за исключением подписанных системных в папке /system/app/) и для всех операций, требующих повышенных привилегий, либо распаковывают и запускают внешнюю нативную программу из под суперпользователя, либо с помощью специального костыля с запуском sh-программ читают/пишут нужные блочные устройства сами. Связано это с тем, что все Android-приложения работают в хост-процессе app_process, который форкается (отпочковывается) от «главного» процесса, который запущен из под «простого» пользователя, который не находится в группе system.

Здесь концепция также очень простая: su имеет аргумент -c, который позволяет запустить команду от имени root-пользователя и возвращает объект процесса, дабы мы потом могли перехватить stdout:

Таким образом, для чтения текстовых данных из UART'а нам достаточно лишь периодически «слушать» stdout команды cat и обрабатывать данные:

Костыль, но со вкусом :) Если вас не устраивает такой подход или ваше приложение значительно более комплексное, вы можете использовать UART и из под нативных программ.

❯ Используем из C


Работа с последовательными портами в Linux не отличается от работы с любыми другими файлами и устройствами: вызовов open, read, write и close обычно хватает и лишь иногда к ним в довесок нужен ioctl.

int fd = open("/dev/ttyMT3", O_RDWR);
int result = write(fd, command, strlen(command));

Для работы с терминалом необходимо использовать модуль termio который предоставляет все необходимые структуры для настройки режима работы терминала, в т.ч и бодрейт. Дело в том, что изначально последовательное устройство настроено на режим работы в качестве терминала, т.е драйвер отдаст данные только после того, как устройство на UART пошлёт \n, или превысит размер внутреннего буфера для сообщения. Если вам нужно работать с бинарными данными и получать их «на лету» — необходимо настроить последовательный порт в «binary» режим:

tcgetattr(modemFd, &tio);
tio.c_iflag &= ~(BRKINT | ICRNL | INPCK | ISTRIP | IXON);
tio.c_oflag &= ~(OPOST);
tio.c_cflag |= (CS8);
tio.c_lflag &= ~(ECHO | ICANON | IEXTEN | ISIG);
tcsetattr(modemFd, TCSAFLUSH, &tio);

Если же вам достаточно текстового терминального режима, то можно продолжить как есть и использовать fgets, fscanf и прочие удобные функции из libc! О том, как собрать нативную программу для смартфона и как вообще выбросить Android из него, читайте в моей отдельной статье.

❯ Заключение


Вот таким образом можно использовать проводную шину в планшете для собственных нужд! Как видите, совершенно ничего сложного и используя эти наработки, я реализовал уже не один проект! Надеюсь, материал вам был интересен и полезен :) Пишите своё мнение, можно ли использовать дешевые планшеты по 300 рублей в качестве одноплатников?

Статья была подготовлена при поддержке TimeWeb Cloud. Подписывайтесь на меня и @Timeweb.Cloud, дабы не пропускать новые статьи каждую неделю! Ну а больше подробностей о будущем контенте, как обычно, в первом комменте! Также у меня есть свой Telegram-канал, куда я выкладываю свои мысли, советы по ремонту и моддингу различных гаджетов, а также вовремя публикую ссылки на новые статьи!

Показать полностью 10
[моё] Программирование Гаджеты Смартфон Linux Программа Android Java Планшет Своими руками Моддинг Девайс Ништяки Одноплатный компьютер Длиннопост
36
Посты не найдены
О нас
О Пикабу Контакты Реклама Сообщить об ошибке Сообщить о нарушении законодательства Отзывы и предложения Новости Пикабу Мобильное приложение RSS
Информация
Помощь Кодекс Пикабу Команда Пикабу Конфиденциальность Правила соцсети О рекомендациях О компании
Наши проекты
Блоги Работа Промокоды Игры Курсы
Партнёры
Промокоды Биг Гик Промокоды Lamoda Промокоды Мвидео Промокоды Яндекс Маркет Промокоды Пятерочка Промокоды Aroma Butik Промокоды Яндекс Путешествия Промокоды Яндекс Еда Постила Футбол сегодня
На информационном ресурсе Pikabu.ru применяются рекомендательные технологии