Ориентация экрана на Raspberry Pi 3 с вещами Android

Я только что купил Raspberry Pi 3 с 7-дюймовым сенсорным экраном и корпусом.

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

Я пытался сделать это из консоли, используя следующие команды adb, но безуспешно:

adb shell content insert --uri content://settings/system --bind name:s:accelerometer_rotation --bind value:i:0

затем

adb shell content insert --uri content://settings/system --bind name:s:user_rotation --bind value:i:1

Or

adb shell content insert --uri content://settings/system --bind name:s:user_rotation --bind value:i:3

Есть ли способ сделать это из флага конфигурации напрямую, чтобы ориентация экрана обрабатывалась при загрузке?


person Bibu    schedule 09.01.2017    source источник
comment
Я бы предположил, что датчики ориентации (и изменения конфигурации ориентации) были отключены, но я не могу найти ничего в официальных документах, подтверждающих это. Вы думали о том, чтобы просто перевернуть экран вверх? :-)   -  person Blundell    schedule 10.01.2017
comment
Сделал :-) но как будто нет датчика ориентации, экран тоже не меняет ориентацию.   -  person Bibu    schedule 10.01.2017


Ответы (4)


Наконец-то я узнаю, как этого добиться.

Решение найдено там: Android Things с 7-дюймовым сенсорным экраном Rasp3

Вы должны смонтировать загрузочный раздел с SD-карты на своем ноутбуке, отредактировать файл /boot/config.txt и добавить следующую строку:

lcd_rotate=2

При добавлении этой строки и дисплей, и сенсорный экран будут повернуты, по сравнению с display_rotate=2, где поворачивается только дисплей, а сенсорный экран остается перевернутым.

person Bibu    schedule 10.01.2017
comment
Какую ОС вы использовали для монтирования загрузочного раздела? - person Quintin Balsdon; 10.01.2017
comment
Я использовал Mac OS 10.11.6 - person Bibu; 10.01.2017
comment
Вау, круто - как ты его закрепил? Я попытался подключить SD-карту, и все, что я получаю, это ошибка «Невозможно прочитать». - person Quintin Balsdon; 10.01.2017
comment
@QuintinBalsdon иногда на SD-картах есть крошечный переключатель сбоку для включения и выключения режима записи. - person Blundell; 10.01.2017
comment
@QuintinBalsdon, я использовал следующую команду sudo mount -t msdos /dev/disk4s1 /mnt/sd, где 4 — это номер моей SD-карты, которую вы можете найти с помощью Дисковой утилиты Mac OS. - person Bibu; 10.01.2017
comment
У меня с этим проблемы, мне не помогло. В моей установке Android в корне карты есть CONFIG.txt, но нет boot/config.txt. Когда я добавил этот конфиг в CONFIG.txt с разными комбинациями и позициями, у меня либо появился радужный экран смерти, либо дисплей остался в альбомной ориентации - person borislemke; 31.01.2017
comment
Вы установили SD-карту на свой компьютер? boot должен присутствовать, иначе ОС не сможет загрузиться. - person Bibu; 01.02.2017
comment
В 0.2-devpreview и когда я монтирую /dev/disk2s1, я вижу только config.txt в корне SD-карты. Нет загрузочного каталога. ibb.co/cUdjyv есть идеи? - person Robert Estivill; 29.03.2017
comment
я как бы заставляю это работать на 0.4.0-devpreview, устанавливая display_rotate вместо lcd_rotate (я использую выход hdmi), более поздний ничего не делает. Я вижу, что дисплей повернут, но у меня есть серьезные графические ошибки, и его нельзя использовать как есть. Но если я удалю это и использую вставку содержимого --uri content://settings/system --bind name:s:user_rotation --bind value:i:3, оно повернет мое приложение, а не систему. И, как уже упоминалось, теперь при монтировании config.txt лежит в корне, а не в загрузочной папке - person Edvald Eysteinsson; 23.05.2017
comment
@Bibu как ты настроил сенсорный экран? Я не мог заставить его работать - person adadion; 25.07.2017

Попробуй это:

if (Build.DEVICE.equalsIgnoreCase("rpi3"))
    setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_REVERSE_LANDSCAPE);
person Milan Jurkulak    schedule 09.11.2019

Google добавил новые API в DP6 для управления настройками устройства, включая ориентацию экрана: Android Things использует три разных API для управления настройками экрана (дисплея), системного времени и доступных языков.

откройте новую ошибку, если эти API ведут себя не так, как вы ожидаете.

person Prags    schedule 16.12.2017
comment
API ScreenManager был удален в DP8. - person Noel; 03.05.2018
comment
Было бы очень здорово, если бы это можно было настроить в опции отображения на экране настройки (аналогично Wi-Fi). - person Stefan Haustein; 20.10.2018

Шаг 1

На rpi откройте терминал и выполните следующее:

sudo nano /boot/config.txt


Шаг 2

Прокрутите до конца файла и добавьте это:

display_lcd_rotate=2

Теперь, чтобы сохранить, нажмите Ctrl+x, затем нажмите «y» и нажмите «Return».


Шаг 3

Теперь беги

sudo reboot


Сделанный!

Обратите внимание: если вы хотите повернуть на 90 градусов, а не на 180 градусов (чтобы перейти в книжную ориентацию), вам нужно добавить в файл config.txt следующие ДВЕ строки:

display_lcd_rotate=1
dtoverlay=rpi-ft5406,touchscreen-swapped-x-y=1,touchscreen-inverted-x=1
person Albert Renshaw    schedule 11.12.2020
comment
Примечание. Предполагается Raspbian. - person Albert Renshaw; 11.12.2020