Intel® Galileo Gen 2. Особливості початку експлуатації



Як я вже писав в попередньому пості, лабораторія Інтернету речей при СПб ГУТ їм. проф. М. А. Бонч-Бруєвича надала мені для роботи плату Intel® Galileo Gen 2. Мені вдалося інтегрувати її в свій проект, і я хочу розповісти про досвід роботи з цією платою, отриманому в процесі цієї інтеграції.
Я не буду торкатися програмування Linux складової плати, а розповім тільки про особливості використання її Ардуїнов функціоналу.



Опис плати, де завантажити документацію і софт, добре описано в це пості. Тому не буду повторюватися.
Отже, перше включення. Порт знаходиться, заливаємо стандартний Blink, всі прекрасно залилось і запрацювало. Спробував скетчь з висновком в компорт, і тут мене чекав перший сюрприз. Що б я не робив, у компорт з'являлося якесь довге число і все… Почалося копання в доках. Як виявилося для ОС Windows необхідно встановити драйвер. Автор вищезгаданого поста працював на маці, і напевно там, додаткові драйвера не потрібні. Відповідь знайшлася у це документі. Якщо немає дравера в системі, ставиться ось такий пристрій.



Драйвер знаходиться в папці Arduino IDE по дорозі: hardware/arduino/x86/tools
Після установки драйвера з'явиться такий порт



Ніби все добре. В ком — порту з'явилися очікувані дані. Але тут почалися чергові складності. При виключенні живлення, або натисканні загального скидання, скечь в контролері пропадав. Установка карти SD і підключення батареї ні до чого не привели. На просторах інтернету на це питання я те ж відповіді не знайшов. Хлопці з лабораторії інтернету речей перевірили цю ситуацію ще на чотирьох платах, ефект повторився. Значить це не дефект мого екземпляра. Як останню надію я вирішив повторити встановлення OC Yocto з цього посту. І відразу ж мене чекали чергові труднощі. Скачаний образ флешки має розширення .direct. Я нічого не знайшов про те як під віндою перенести його на флешку. Автор поста працює на mac, і про процесі на інших ОС написав так:
Всі кроки буду робити на Mac, Windows і *nix-платформ все аналогічно (природно, з відповідними «поправками» на операційну систему)

Напевно, для когось це все просто, але я рішення даної задачі не знайшов. Довелося для цієї операції ставити в виртуалке мак вісь, і проводити всі операції згідно посаді. Ну гаразд — вийшло. Але дуже б хотілося, що б знаючі люди пояснили, як це робити під віндою.
Але на цьому складності то ж не закінчилися. Після установки флешки з операційкою в плату пропав ком-порт. В системі виявилося некоректно встановлений пристрій.



Значить, знову шукаємо дрова. Знайшлися… На тій самій флешці, яку ми тільки що зробили.



Встановлюємо. І ось воно щастя. З'явився і компорт, і флешка доступна як додатковий диск, і найголовніше — скетчі почали зберігатися. Причому зберігаються вони явно на цій самій флешці. Перевіряється на стандартному Blink-тобто При знятті флешки і перезавантаження світлодіод перестає блимати. При встановленні флешки назад — знову починає блимати без перезаливки скетчу.
Ну і тепер про результати тестування бібліотек. У Galileo роботу піна в якості виходу забезпечує спеціальна мікросхема-розширювач портів з інтерфейсом I2C від Cypress. Відповідно бібліотеки використовують пряме звернення до регістрів, які застосовують точні розрахунки часу не працюють. Не запрацювала бібліотека OneWare. Тому неможливо використовувати такі зручні датчики температури як DS18B20. З тієї ж самої причини не запустилася бібліотека для датчиків DHT.
Не працює бібліотека для декодування сигналу від приймача ІК управління. Вона заснована на перериваннях, з якими у Galileo то ж все погано. Так само відмовилася працювати бібліотека запису на SD карту. Причина невідома.
Скетч для управління кроковим двигуном откомпилировался без помилок, але двигун відмовився працювати. Серводвигуни працюють тільки на виходах з ШІМ-му.
Не запустилася бібліотека датчика BMP-085. Помилка при компіляції. З причиною поки не розібрався.
Що працює.
Працює шина SPI і I2C. Працює бібліотека дисплеїв HD44780 і EEPROM. Працює ультразвуковий далекомір. Ну і відмінно працює бібліотека Ethernet.
Всі описані можливості, і природно вся базова логіка реалізована в програмі FLProg для цієї плати. У поточній версії програми встановлена одна загальна Arduino IDE версії 1.5.3 для програмування і плат плати Arduino і Galileo. На жаль, середовище для Galileo об'єднується тільки з цією версією. Але для ардуїнов вже випущена середовище з версією 1.6 набагато цікавіше і з більш оптимізованим компілятором. Тому в наступному релізі FLProg, буде три версії програми. Одна для ардуїнов, друга для Galileo, і третя для обох, але більш великого розміру, оскільки в дистрибутиві будуть дві версії IDE.
Сподіваюся, цей пост допоможе комусь легше почати своє знайомство з цією цікавою платою.

Джерело: Хабрахабр

0 коментарів

Тільки зареєстровані та авторизовані користувачі можуть залишати коментарі.