Электронный компонент:Комплект 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
- Наличие пошаговых руководств
Комплектация
- Микроконтроллерная плата Seeeduino Cloud – 1 шт.
- Базовый Grove-шилд V2.0 – 1 шт.
- Grove-модуль с LCD-дисплеем – 1 шт.
- Grove-модуль с реле – 1 шт.
- Grove-модуль с зуммером – 1 шт.
- Grove-модуль с датчиком звука – 1 шт.
- Grove-модуль с тактильным датчиком – 1 шт.
- Grove-модуль с вращательным регулятором – 1 шт.
- Grove-модуль с температурным датчиком – 1 шт.
- Grove-модуль со светодиодом – 1 шт.
- Grove-модуль с датчиком света – 1 шт.
- Grove-модуль с кнопкой – 1 шт.
- Синий DIP-светодиод – 1 шт.
- Зеленый DIP-светодиод – 1 шт.
- Красный DIP-светодиод – 1 шт.
- Маленький сервомотор – 1 шт.
- Кабель MicroUSB (48 см) – 1 шт.
Настройка сервиса 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-модулей
Запуск скетчей
Загрузка скетча-примера
- Загрузите скетч-пример отсюда
- Распакуйте ZIP-файл на компьютер и удалите «-master» из названия распакованного файла
Редактирование заголовочного файла
1. Откройте файл «aws_iot_config.h» и замените текст в области, которая выделена красным (см. картинку ниже), на код, сгенерированный для вашего аккаунта. Если помните, мы сохранили его выше, в конце раздела «Настройка сервиса AWS»:
2. Сделайте двойной клик по файлу «GroveWithAWSIot.ino». Убедитесь, что к скетчу подключен заголовочный файл «aws_iot_config.h», который вы отредактировали выше:
3. Если вы увидели информацию вроде той, что показана на скриншоте ниже, это значит, что код был успешно загружен на Seeeduino Cloud:
Результат
1. Откройте монитор порта. В нем должна появиться вот такая информация:
2. Откройте вебсайт AWS IoT и залогиньтесь в своем аккаунте. Кликните на «вещь», которую вы создали ранее. Далее нажмите на кнопку Update shadow. В результате на вебсайт начнут загружаться данные о температуре.
Полезные ссылки
См.также
Внешние ссылки
- Страницы с устаревшим атрибутом подсветки синтаксиса «enclose»
- Электронный компонент
- Перевод от Сubewriter
- Проверка:myagkij
- Оформление:myagkij
- Редактирование:myagkij
- Черновик
- Надо доработать
- Черновой вариант статьи
- Черновой вариант
- Комплект Grove IoT Starter Kit с Seeeduino Cloud и поддержкой AWS
- Платформа Arduino
- Arduino платформа
- Arduino