Электронный компонент:Набор Starter Kit for IoT based on Raspberry Pi

Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску

Перевод: Максим Кузьмин
Проверка/Оформление/Редактирование: Мякишев Е.А.
Черновик


Набор Starter Kit for IoT based on Raspberry Pi[1]

Этот набор – совместный продукт Microsoft и Seeed, позволяющий упростить разработку IoT-проектов, в процессе которой, как правило, возникают трудности с подключением компонентов и написанием ПО. Его название можно перевести как «стартовый набор для IoT-проектов на основе Raspberry Pi».

Помимо прочего, в составе комплекта есть кейп GrovePi+, который полностью совместим с Raspberry Pi 3 и Raspberry Pi 2 – обе эти платы работают на Windows 10 IoT. Благодаря Grove-портам, которые находятся на этом кейпе, вы можете подключить к плате Raspberry Pi до 15 дополнительных Grove-модулей.

Помимо различных устройств ввода данных (датчиков, кнопки и т.д.) и вывода данных (зуммера, светодиодной панели), в этом наборе также есть 5-дюймовый HDMI-дисплей и LCD-дисплей с RGB-подсветкой.

Впрочем, самой платы Raspberry Pi в этом комплекте не идет. Покупать ее следует отдельно, и сделать это можно, к примеру, тут.

Примечание: Кейп GrovePi+ и библиотека к нему были разработаны Dexter Industry. Более подробно об этой компании читайте тут.

Особенности

  • Кейп GrovePi+ совместим с Raspberry Pi B/B+/A+/2/3
  • Быстро подключаемые Grove-модули (позволяет ускорить прототипирование)

Список компонентов

Подключение GrovePi+ к Raspberry Pi и подача питания

Во-первых, подключите кейп GrovePi+ к плате Raspberry Pi. Кейп ставится с верхней стороны платы – как показано на рисунке ниже:

Подключая GrovePi+, убедитесь, что все контакты соответствуют друг другу.

Затем, чтобы запитать подключенные друг к другу GrovePi+ и Raspberry Pi, воспользуйтесь портом MicroUSB на Raspberry Pi. Вам понадобится качественный блок питания, способный обеспечивать 2 ампера при 5 вольтах. Если вы хотите запитать эту конфигурацию автономно, вам понадобится внешний USB-аккумулятор.

Установка библиотеки «GrovePi» (C#) для Raspberry Pi

Кейп GrovePi+ можно программировать на C#, но для этого нужно сначала установить драйверную библиотеку для GrovePi+. Сделать это можно двумя способами: через установку пакета NuGet или через установку версии с GitHub-репозитория Dexter.

Установка пакета NuGet

Последнюю версию библиотеки «GrovePi» можно установить при помощи пакета NuGet. Чтобы сделать это, выполните в Visual Studio следующее:

1. Кликните на Tools > Library Package Manager > Package Manager Console:

2. В результате появится окно Package Manage Console:

3. Запустите в Package Manager Console следующую команду:

PM> Install-Package GrovePi

Более подробно читайте здесь.

Установка версии с GitHub

Если вы старший программист или не можете установить пакет NuGet, то попробуйте установить библиотеку «GrovePi», скачанную с GitHub-репозитория Dexter.

1. Переместите папки «GrovePi» и «Driver» в папку, где располагается ваш проект. Затем откройте Visual Studio и добавьте их в свой проект в меню Solution Explorer. К примеру, кликните правой кнопкой мыши по проекту «GrovePiExamples», а затем на Add > Existing Project, как показано на скриншоте ниже:

2. Затем поочередно добавьте в этот проект «GrovePi» и «Driver»:

3. Теперь добавляем ссылку на библиотеку C#. Щелкаем правой кнопкой по References и кликаем на Add Reference:

4. Далее кликаем на Projects > Solution и ставим галочки рядом с пунктами Driver и GrovePi, как показано на скриншоте ниже. Затем кликаем на ОК.

Готово! Библиотека GrovePi C# установлена.

Доступ ко всем поддерживаемым устройствам осуществляется через класс DeviceFactory.

Примеры использования библиотеки

Измерить дистанцию при помощи ультразвукового датчика на 2-ом цифровом контакте (D2):

var distance = DeviceFactory.Build.UltraSonicSensor(Pin.DigitalPin2).MeasureInCentimeters();

Показать на экране «Hello, World!»:

DeviceFactory.Build.RgbLcdDisplay().SetText(Hello World).SetBacklightRgb(0, 255, 255);

Издать звук зуммером на 2-ом цифровом контакте (D2):

DeviceFactory.Build.Buzzer(Pin.DigitalPin2).ChangeState(SensorStatus.On);

Запуск демо-примеров на Raspberry Pi 3

В этом разделе будет рассказано о том, как запустить несколько демо-примеров на Raspberry Pi, к которой через кейп GrovePi+ подключены разные Grove-модули. Сами примеры (для Win10) можно скачать отсюда. Вам нужно кликнуть на зеленую кнопку «Clone or download» в правом верхнем углу страницы и выбрать пункт «Download ZIP». Затем вам нужно распаковать этот ZIP-архив (папку для распаковки можно использовать любую). Запустите Visual Studio и откройте там «GrovePiExamples(win10).sln». В результате в Solution Explorer откроется 12 проектов, как показано на картинке ниже:

Перед тем, как начать, создайте проект «GrovePi» – все остальные проекты зависят именно от него.

Пример «HelloWorld(LCD)» – для Grove-модуля с LCD-дисплеем и RGB-подсветкой

Все устройства, необходимые ля этого проекта, есть в [наборе https://www.seeedstudio.com/GrovePi%2B-Starter-Kit-for-Raspberry-Pi-p-2240.html GrovePi+ Starter Kit for Raspberry Pi]. Это проект начального уровня, но, научившись его делать, вы сможете перейти к более сложным проектам – например, таким, где к Raspberry Pi нужно подключать не только LCD-дисплей, но и другие устройства (к примеру, датчики).

  • Шаг 1. Задайте «HelloWorld(LCD)» как начальный проект (StartUp Project).
  • Шаг 2. Подсоедините устройства друг к другу. Подключите LCD-дисплей с RGB-подсветкой к порту I2C-1 и запитайте Raspberry Pi при помощи Grove-коннектора.
  • Шаг 3. Выполните развертывание приложения.

1. Оставив это приложение открытым в Visual Studio, выберите архитектуру ARM.

2. Затем в панели инструментов Visual Studio нажмите на Local Machine и выберите Remote Machine.

3. В результате в Visual Studio откроется диалог Remote Connections. Если вы привыкли задавать уникальное имя устройства с помощью PowerShell, то можете воспользоваться им и сейчас (задайте имя «my-device»). В качестве альтернативы вместо имени можно вписать IP-адрес вашего устройства Windows IoT. Указав имя (или IP-адрес устройства), выберите None в пункте Windows Authentication и кликните на Select.

4. Проверить или поменять эти параметры можно, кликнув на пункт Properties в меню Solution Explorer, а затем – на вкладку Debug слева.

5. Теперь, будучи в Visual Studio, кликните на  F5 . Если во время установки были пропущены какие-то пакеты, то Visual Studio, возможно, подскажет, что их тоже нужно установить. Затем приложение будет развернуто и запустится на устройстве Windows IoT, после чего на экране LCD-дисплея появится сообщение «Hello, world!»

Пример «GroveAngleSensor» – для Grove-модуля с датчиком угла поворота

Этот демо-пример настраивается аналогично примеру «HelloWorld(LCD»:

  • Шаг 1: Задайте «GroveAngleSensor» как начальный проект (StartUp Project).
  • Шаг 2. Подсоедините устройства друг к другу. Подключите Grove-модуль с датчиком угла поворота к порту A0, а Raspberry Pi – к LCD-экрану при помощи HDMI-кабеля.
  • Шаг 3: Выполните развертывание приложения. О том, как это сделать, читайте выше, в разделе о «HelloWorld(LCD)» с момента о шаге 3.

Теперь, будучи в Visual Studio, кликните на  F5 . Если во время установки были пропущены какие-то пакеты, Visual Studio, возможно, подскажет, что их тоже нужно установить. Затем приложение будет развернуто и запустится на устройстве Windows IoT, после чего на экране LCD-дисплея появится значение, считанное датчиком угла поворота.

Пример «GroveLedBar» – для Grove-модуля со светодиодной панелью

Этот демо-пример можно настроить аналогично примеру «HelloWorld(LCD)»:

  • Шаг 1: Задайте «GroveLedBar» как начальный проект (StartUp Project).
  • Шаг 2. Подключите Grove-модуль со светодиодной панелью к порту D5.
  • Шаг 3: Выполните развертывание приложения. О том, как это сделать, читайте выше, в разделе о «HelloWorld(LCD)» с момента о шаге 3.

Теперь, будучи в Visual Studio, кликните на  F5 . Если во время установки были пропущены какие-то пакеты, Visual Studio, возможно, подскажет, что их тоже нужно установить. Затем приложение будет развернуто и запустится на устройстве Windows IoT, после чего светодиоды на панели начнут циклически загораться.

Пример «GroveLightSensor» – для Grove-модуля с датчиком света

Этот демо-пример можно настроить аналогично примеру «HelloWorld(LCD)»:

  • Шаг 1: Задайте «GroveLightSensor» как начальный проект (StartUp Project).
  • Шаг 2. Подключите Grove-модуль с датчиком света к порту A2, а Raspberry Pi – к LCD-дисплею при помощи HDMI-кабеля.
  • Шаг 3: Выполните развертывание приложения. О том, как это сделать, читайте выше, в разделе о «HelloWorld(LCD)» с момента о шаге 3.

Теперь, будучи в Visual Studio, кликните на  F5 . Если во время установки были пропущены какие-то пакеты, Visual Studio, возможно, подскажет, что их тоже нужно установить. Затем приложение будет развернуто и запустится на устройстве Windows IoT, после чего светодиоды на LCD-дисплее будет показано значение датчика света.

Пример «GroveRelay» – для Grove-модуля с реле

Этот демо-пример можно настроить аналогично примеру «HelloWorld(LCD)»:

  • Шаг 1: Задайте «GroveRelay» как начальный проект (StartUp Project).
  • Шаг 2. Подключите Grove-модуль с реле к порту D2.
  • Шаг 3: Выполните развертывание приложения. О том, как это сделать, читайте выше, в разделе о «HelloWorld(LCD)» с момента о шаге 3.

Теперь, будучи в Visual Studio, кликните на  F5 . Если во время установки были пропущены какие-то пакеты, Visual Studio, возможно, подскажет, что их тоже нужно установить. Затем приложение будет развернуто и запустится на устройстве Windows IoT, после чего реле на Grove-модуле начнет замыкаться и размыкаться с интервалом раз в секунду.

Пример «GroveSoundSensor» – для Grove-модуля с датчиком звука

Этот демо-пример можно настроить аналогично примеру «HelloWorld(LCD)»:

  • Шаг 1: Задайте «GroveSoundSensor» как начальный проект (StartUp Project).
  • Шаг 2. Подключите Grove-модуль с датчиком звука к порту A1, а Raspberry Pi – при помощи HDMI-кабеля к LCD-дисплею.
  • Шаг 3: Выполните развертывание приложения. О том, как это сделать, читайте выше, в разделе о «HelloWorld(LCD)» с момента о шаге 3.

Теперь, будучи в Visual Studio, кликните на  F5 . Если во время установки были пропущены какие-то пакеты, Visual Studio, возможно, подскажет, что их тоже нужно установить. Затем приложение будет развернуто и запустится на устройстве Windows IoT, после чего на LCD-дисплее будет показано значение датчика звука.

Пример «GroveTempAndHumi» – для Grove-модуля с датчиком температуры и влажности

Этот демо-пример можно настроить аналогично примеру «HelloWorld(LCD)»:

  • Шаг 1: Задайте «GroveTempAndHumi» как начальный проект (StartUp Project).
  • Шаг 2. Подключите Grove-модуль с датчиком температуры и влажности к порту D3, а Raspberry Pi – через HDMI-кабель к LCD-дисплею.
  • Шаг 3: Выполните развертывание приложения. О том, как это сделать, читайте выше, в разделе о «HelloWorld(LCD)» с момента о шаге 3.

Теперь, будучи в Visual Studio, кликните на  F5 . Если во время установки были пропущены какие-то пакеты, Visual Studio, возможно, подскажет, что их тоже нужно установить. Затем приложение будет развернуто и запустится на устройстве Windows IoT, после чего на LCD-дисплее будет показано значение, считанное датчиком температуры и влажности.

Пример «GroveUltrasonicSensor» – для Grove-модуля с ультразвуковым дальномером

Этот демо-пример можно настроить аналогично примеру «HelloWorld(LCD)»:

  • Шаг 1: Задайте «GroveUltrasonicSensor» как начальный проект (StartUp Project).
  • Шаг 2. Подключите Grove-модуль с ультразвуковым дальномером к порту D4, а Raspberry Pi – через HDMI-кабель к LCD-дисплею.
  • Шаг 3: Выполните развертывание приложения. О том, как это сделать, читайте выше, в разделе о «HelloWorld(LCD)» с момента о шаге 3.

Теперь, будучи в Visual Studio, кликните на  F5 . Если во время установки были пропущены какие-то пакеты, Visual Studio, возможно, подскажет, что их тоже нужно установить. Затем приложение будет развернуто и запустится на устройстве Windows IoT, после чего на LCD-дисплее будет показано значение дистанции, считанное ультразвуковым дальномером.

Пример «HomeWeatherDisplay» – для Grove-модуля с датчиком температуры и влажности

Этот демо-пример можно настроить аналогично примеру «HelloWorld(LCD)»:

  • Шаг 1: Задайте «HomeWeatherDisplay» как начальный проект (StartUp Project).
  • Шаг 2. Подключите Grove-модуль с датчиком температуры и влажности к порту D3, а LCD-дисплей с RGB-подсветкой – к порту I2C при помощи кабеля с Grove-портами.
  • Шаг 3: Выполните развертывание приложения. О том, как это сделать, в шаге 5 для примера «Blink»

Теперь, будучи в Visual Studio, кликните на  F5 . Если во время установки были пропущены какие-то пакеты, Visual Studio, возможно, подскажет, что их тоже нужно установить. Затем приложение будет развернуто и запустится на устройстве Windows IoT, после чего на LCD-дисплее с RGB-подсветкой будет показано значение температуры, считанное датчиком.

Пример «All_in_One» – для всех Grove-модулей

Этот демо-пример можно настроить аналогично примеру «HelloWorld(LCD)»:

Теперь, будучи в Visual Studio, кликните на  F5 . Если во время установки были пропущены какие-то пакеты, Visual Studio, возможно, подскажет, что их тоже нужно установить. Затем приложение будет развернуто и запустится на устройстве Windows IoT, после чего на LCD-дисплее появятся значения, считанные датчиками расстояния (имеется в виду ультразвуковой дальномер), звука и света, а также статус реле. Кроме того, на экране будет показано значение датчика угла поворота, и оно также будет отображаться на светодиодной панели. Чтобы разомкнуть реле, нажмите и удерживайте кнопку.

Полезные ссылки

См.также

Внешние ссылки