Электронный компонент:Комплект Grove IoT Starter Kit с Seeeduino Cloud и поддержкой AWS

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

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


Комплект Grove IoT Starter Kit с Seeeduino Cloud и поддержкой AWS[1]

Фразу «Grove IoT Starter Kit» можно перевести как «стартовый набор Grove-модулей для создания проектов в области интернета вещей». Этот набор состоит из Seeeduino Cloud, а также устройств ввода (датчиков, кнопок и т.д.) и устройств вывода данных (светодиодов, зуммеров и т.д.). Seeeduino Cloud – это микроконтроллерная плата, совместимая с Arduino и основанная на WiFi-модуле Dragino HE и чипе ATmega32u4. Dragino HE – это недорогой WiFi-модуль (150 м, 2.4 ГГц), работающий на операционной системе OpenWrt, которая распространяется по принципу «open-source». Кроме того, набор полностью совместим с облачной платформой AWS (сокр. от «Amazon Web Services»).

Купить набор можно по этой ссылке.

Функционал

  • Для сборки проектов не требуется ни пайки, ни макетной платы
  • Полная совместимость с сервисами и технологиями AWS
  • Наличие пошаговых руководств

Комплектация

Настройка сервиса AWS

Залогиньтесь в аккаунте AWS (зарегистрировать аккаунт можно тут). Кликните на кнопку Services в верхнем левом углу, а затем кликните на AWS IoT, как показано на картинках ниже.


Кликните на Get Started.

Теперь мы можем что-нибудь создать. Кликните на Create a Resource, а затем на Create a Thing.


Введите название (какое хотите). Я ввел «temperature» (т.е. «температура»). Затем кликните на Create.

Теперь кликните на View thing, чтобы увидеть информацию о созданной «вещи».

Кликните на Connect a device.

Слева выберите Arduino Yun и кликните на Generate certificate and policy.

Новое окно покажет три ссылки для загрузки – они ведут к файлам ключей и сертификату. Скачайте все эти файлы, позже они нам понадобятся. Затем кликните на Confirm & start connecting.

Теперь загрузите AWS IoT Arduino Yun SDK. Затем скопируйте и сохраните код, который показан в этом окне (он сгенерирован на основе ваших аккаунта, «вещи» и нового сертификата) – позже он нам еще понадобится. Затем кликните на Return to Thing Detail.

Настройка Seeeduino Cloud (Arduino Yun)

Если вы в первый раз используете Seeeduino Cloud или Arduino Yun, то ознакомительную информацию можно прочесть тут или тут.

Установка на Mac OS и Linux

Перед тем, как продолжать дальше, убедитесь, что на вашем компьютере установлены Expect и IDE Arduino.

Установка Expect

Чтобы установить Expect на Ubuntu, просто введите следующую команду:

sudo apt-get install expect

На Mac OS X он установлен по умолчанию.

Установка IDE Arduino

О том, как установить IDE Arduino на Linux, читайте тут.

Настройка Seeeduino Cloud

Сделайте следующее:

1. Настройте Seeeduino Cloud и подключите ее к WiFi. Узнайте ее IP-адрес и пароль. О том, как это сделать, читайте в этой статье, в разделе «Программирование ATHEROS AR9331».

2. Убедитесь, что ваш компьютер подключен к той же сети (т.е. к локальному IP-адресу того же диапазона)

3. Загрузите отсюда файл для CA-сертификата (от «certificate authority», что значит «центр сертификации») AWS. Сохраните его как «root-CA.crt»

4. Поместите этот файл, приватный ключ и сертификат в папку «AWS-IoT-Arduino-Yun-SDK/AWS-IoT-Python-Runtime/certs»

5. Откройте терминал и смените директорию (при помощи команды cd) на «AWS-IoT-Arduino-Yun-SDK». Далее примените команду chmod 755 на файл «AWSIoTArduinoYunInstallAll.sh» и запустите этот файл:

./AWSIoTArduinoYunInstallAll.sh <IP_Платы> <Имя_Пользователя> <Пароль_платы>

По умолчанию для Seeeduino Cloud именем пользователя будет «root», а паролем – «seeeduino». Для платы Arduino Yun именем пользователя будет «root», а паролем – «Arduino».

Этот шаг может занять 15-20 минут, в течение которых плата будет загружать и устанавливать необходимые пакеты (дистрибутив, python-OpenSSL, pip, paho-MQTT).

Примечание: Не закрывайте терминал, пока скрипт не будет выполнен. В противном случае шаг 5 придется начинать сначала. Перед тем, как снова выполнить шаг 5, убедитесь, что находитесь в своем локальном терминале.

6. Скопируйте и установите папку «AWS-IoT-Arduino-Yun-SDK/AWS-IoT-Arduino-Yun-Library» в папку с библиотеками IDE Arduino. На Mac OS эта папка по умолчанию должна находиться по маршруту «...Documents/Arduino/libraries».

7. Если IDE Arduino запущена, перезапустите ее. Теперь в нее должны быть установлены скетчи-примеры AWS IoT.

В скрипте «AWSIoTArduinoYunInstallAll.sh» используются еще два скрипта – «AWSIoTArduinoYunScp.sh» и «AWSIoTArduinoYunSetupEnvironment.sh». Вы всегда можете использовать «AWSIoTArduinoYunScp.sh» для того, чтобы загрузить на плату новые учетные данные. Для этого, находясь в папке «AWS-IoT-Arduino-Yun-SDK/», выполните следующую команду:

./AWSIoTArduinoYunScp.sh <IP_Платы> <Имя_Пользователя> <Пароль_Платы> <Файл> <Пункт_Назначения>

Установка на Windows

Перед тем, как продолжать дальше, убедитесь, что на вашем ПК установлены программы Putty и WinSCP. Если вы привыкли выполнять передачу файлов и SSH-коммуникацию с Seeeduino Cloud при помощи других инструментов, то учитывайте их особенности при выполнении описанных ниже инструкций. Putty можно загрузить отсюда, а WinSCPотсюда. 1. Настройте Seeeduino Cloud и подключите ее к WiFi. Узнайте ее IP-адрес и пароль. О том, как это сделать, можно почитать в этой статье, в разделе «Программирование ATHEROS AR9331».

2. Убедитесь, что ваш ПК подключен к той же сети (т.е. к локальному IP-адресу того же диапазона)

3. Загрузите отсюда файл для CA-сертификата AWS. Сохраните его как «root-CA.crt»

4. Поместите файл с CA-сертификатом AWS, который вы сохранили ранее, а также приватный ключ и сертификат в папку «AWS-IoT-Arduino-Yun-SDK/AWS-IoT-Python-Runtime/certs»:

5. Запустите WinSCP, а затем вставьте папку «AWS-IoT-Python-Runtime/» в папку «/root» на плате:

6. Воспользуйтесь Putty для SSH-коммуникации с OpenWrt, которая установлена на Seeeduino Cloud. Затем выполните несколько команд для установки необходимых библиотек. Подробнее смотрите на картинке ниже:

Пока плата будет загружать и устанавливать необходимые пакеты, может пройти примерно 15-20 минут.

7. Скопируйте и вставьте папку «AWS-IoT-Arduino-Yun-SDK/AWS-IoT-Arduino-Yun-Library» в папку библиотек IDE Arduino. На Windows по умолчанию эта папка должна находиться по маршруту «...Документы/Arduino/libraries»:

8. Если IDE Arduino запущена, перезапустите ее. После этого в IDE Arduino должна появиться скетчи-примеры AWS IoT. Чтобы увидеть их, кликните в IDE Arduino на Файл > Примеры > AWS-IoT-Arduino-Yun-Library (File > Examples > AWS-IoT-Arduino-Yun-Library):

Подключение Grove-модулей

Запуск скетчей

Загрузка скетча-примера

  1. Загрузите скетч-пример отсюда
  2. Распакуйте ZIP-файл на компьютер и удалите «-master» из названия распакованного файла

Редактирование заголовочного файла

1. Откройте файл «aws_iot_config.h» и замените текст в области, которая выделена красным (см. картинку ниже), на код, сгенерированный для вашего аккаунта. Если помните, мы сохранили его выше, в конце раздела «Настройка сервиса AWS»:

2. Сделайте двойной клик по файлу «GroveWithAWSIot.ino». Убедитесь, что к скетчу подключен заголовочный файл «aws_iot_config.h», который вы отредактировали выше:

3. Если вы увидели информацию вроде той, что показана на скриншоте ниже, это значит, что код был успешно загружен на Seeeduino Cloud:

Результат

1. Откройте монитор порта. В нем должна появиться вот такая информация:

2. Откройте вебсайт AWS IoT и залогиньтесь в своем аккаунте. Кликните на «вещь», которую вы создали ранее. Далее нажмите на кнопку Update shadow. В результате на вебсайт начнут загружаться данные о температуре.

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

См.также

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