Электронный компонент:Набор 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+ – 1 шт.
- 5-дюймовый HDMI-дисплей с USB-стилусом – 1шт.
- Grove-модуль с реле – 1шт.
- Grove-модуль с датчиком температуры и влажности – 1шт.
- Grove-модуль с ультразвуковым дальномером – 1шт.
- Grove-модуль со светодиодной панелью v2.0 – 1шт.
- Grove-модуль с датчиком угла поворота (Grove-порт снизу) – 1шт.
- Grove-модуль с зуммером – 1шт.
- Grove-модуль с датчиком звука – 1шт.
- Grove-модуль с датчиком света v1.2 – 1шт.
- Grove-модуль с кнопкой – 1шт.
- Grove-модуль с LCD-дисплеем и RGB-подсветкой – 1шт.
- Кабель HDMI – 1шт.
- Кабель MicroUSB (48 см) – 1шт.
Подключение 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)»:
- Шаг 1: Задайте «HomeWeatherDisplay» как начальный проект (StartUp Project).
- Шаг 2. Подключите устройства следующим образом:
- Grove-модуль с реле – к порту D2 на кейпе GrovePi+
- Grove-модуль с датчиком температуры и влажности – к порту D3
- Grove-модуль с ультразвуковым дальномером – к порту D4
- Grove-модуль со светодиодной панелью – к порту D5
- Grove-модуль с зуммером – к порту D6
- Grove-модуль с кнопкой – к порту D7
- Grove-модуль с датчиком угла поворота – к порту A0
- Grove-модуль с датчиком звука – к порту A1
- Grove-модуль с датчиком света – к порту A2
- Плату Raspberry Pi – к LCD-дисплею (через HDMI-кабель)
- Шаг 3. Выполните развертывание приложения. О том, как это сделать, читайте выше, в разделе о «HelloWorld(LCD)» с момента о шаге 3.
Теперь, будучи в Visual Studio, кликните на F5 . Если во время установки были пропущены какие-то пакеты, Visual Studio, возможно, подскажет, что их тоже нужно установить. Затем приложение будет развернуто и запустится на устройстве Windows IoT, после чего на LCD-дисплее появятся значения, считанные датчиками расстояния (имеется в виду ультразвуковой дальномер), звука и света, а также статус реле. Кроме того, на экране будет показано значение датчика угла поворота, и оно также будет отображаться на светодиодной панели. Чтобы разомкнуть реле, нажмите и удерживайте кнопку.
Полезные ссылки
- Центр IoT-разработчиков на сайте Microsoft
- Библиотека «GrovePi» на GitHub
- Демо-примеры для устройств набора