Pull to refresh
16
0
Роман Хатько @rkhatko

User

Send message
Да, во многом Edison похож на маленький сервер с Linux. Хотя, в Edison есть еще MCU :)

Если стоит задача работать с ядром Linux, то возможно вас заинтересуют несколько пунктов из анонса IoT Developer Kit v1.5:

(1) New Intel Edison images + Open Source

Upgraded Yocto to 1.7.2 and new feature to read onboard battery level
Open sourced Intel Edison u-boot on Github*. For detailed information, please visit here
Open sourced Intel Edison kernel on Github*. For detailed information, please visit here
I2C поддерживается в MCU с помощью функций i2c_read и i2c_write (подробнее). В документации есть пример взаимодействия по I2C с сенсором MPU6050. Для инициализации I2C нужно будет запустить скрипт init_i2c8.sh из Linux.
Вы правы, код с использованием прерываний был бы теоретически более правильным для данной задачи. Данная заметка — это скорее «hello world» для MCU; простейший код, показывающий как с ним взаимодействовать.

Прерывания поддерживаются в MCU и настраиваются с помощью функции gpio_register_interrupt (подробнее, пример).
Для подключения датчика нам нужны:
  • Edison Compute Module — вычислительная часть (CPU и MCU)
  • Edison Arduino Boardили другая плата расширения, которая даст возможность работать с логическим уровнем 5В.

плюс 4 проводка.

Вся программная часть для считывания расстояния — в программе для MCU SDK. Из-за специфики Edison Arduino Board еще нужно вызвать 2 команды ./init_DIG.sh для конфигурирования портов.
Intel® Edison for Arduino (комплект из Edison Compute Module + Edison Arduino Board) — примерно $100
Например:
www.seeedstudio.com/depot/Intel-Edison-for-Arduino-p-2149.html?cPath=6_7 — $97.95
www.sparkfun.com/products/13097 — $99.95
www.linuxcenter.ru/shop/ops_hard/Edison/EDI2ARDUIN.AL.K — 8673 руб.

Grove starter kit plus – Intel IoT Edition for Intel Galileo Gen 2 and Edison — $79
www.seeedstudio.com/depot/Grove-starter-kit-plus-Intel-IoT-Edition-for-Intel-Galileo-Gen-2-and-Edison-p-1978.html

Итого: примерно $180 без учета доставки.
ADB может работать через TCP/IP. Если у виртуальной машины есть IP адрес, то с помощью adb connect <ip-адрес> её можно подключить. После этого виртуальная машина должна появится в списке, выдаваемом командой adb devices. Ну, а дальше как обычно: adb install file.apk.
Теоретически getevent/sendevent может записать и воспроизвести последовательность событий с акселерометра. На практике — зависит от устройства. Еще есть некий SensorSimulator, но на практике я его не пробовал.
Robolectric — это скорее инструмент для unit-тестов, а не функционального тестирования. Насколько я понял, Robolectric не позволяет запустить приложение на конкретном устройстве.
ADB и MonkeyRunner могут работать как с физическими устройствами, так и с эмуляторами. Поэтому большинство перечисленных способов должны работать применительно к эмулятору. На эмуляторе можно тестировать, например, какое-нибудь экзотическое разрешение экрана.

Information

Rating
Does not participate
Location
Нижний Новгород, Нижегородская обл., Россия
Registered
Activity