В этой статье описывается, как создать устройство на базе Intel Edison, которое проверяет Twitter и меняет цвет Orbotix Sphero при появлении нового твита с хэштегом.
Дополнительно будет рассмотрен небольшой пример, использующий встроенный светодиод на плате при отсутствии Сферошара.
Несколько слов об Орботикс Сферо.
Это роботизированный шар, внутри которого есть мотор и свет. Им можно управлять через Bluetooth. Существуют различные приложения и игры для телефонов, которые с ним работают. В этой статье будет использована способность мяча менять цвет. Итак, нам нужно:
- Сферошар.
- Твиттер-аккаунт.
- Настроил и подключил плату Intel Edison. Для этого шага вы можете просмотреть следующие ссылки:
- Установлен и подключен к вашей плате Intel XDK IoT Edition. Начало работы с Intel XDK IoT Edition на платформах Intel IoT.
Нажмите «Начать новый проект».
2. В разделе «Встроенное приложение Интернета вещей» нажмите «Шаблоны»:
3. Выберите любое приложение и нажмите «Продолжить».
4. В поле «Назовите свой проект» введите название вашего проекта и нажмите «Создать».
5. Откроется ваш новый проект. Будет показан файл main.js. Удалите все его содержимое и замените следующим кодом: main.js
6. На левой панели выберите файл package.json. В разделе «зависимости» добавьте все модули, которые потребуются программе:var twitter = require('mtwitter'); var colors = require('colors'); var moment = require('moment'); var spheron = require('spheron'); var sphero = spheron.sphero(); var spheroPort = '/dev/rfcomm0'; var COLORS = spheron.toolbelt.COLORS; var newMessage = false; var lastTweet = '21:35:5'; var twit = new twitter({ consumer_key : 'xxxxxxxxxxxxxxxxxxxxx', consumer_secret : 'xxxxxxxxxxxxxxxxxxxxx', access_token_key : 'xxxxxxxxxxxxxxxxxxxxx', access_token_secret : 'xxxxxxxxxxxxxxxxxxxxx' }); console.log('Starting'.
cyan); setInterval(function() { twit.get('search/tweets', {q: '#intelmaker'}, function(err, item) { console.log(item.statuses[0].
created_at.substring(11, 18).
cyan) console.log(lastTweet); console.log("From isNew(): ", newMessage); if(item.statuses[0].
created_at.substring(11, 18) === lastTweet) { console.log("we here"); newMessage = false; } else{ newMessage = true updateSphero(true); lastTweet = item.statuses[0].
created_at.substring(11, 18); } }); }, 1000); function updateSphero(flag) { console.log('updating sphero'); sphero.on('open', function() { sphero.setRGB(COLORS.RED, false); setTimeout(function(){sphero.setRGB(COLORS.BLUE, false);}, 2000); }); sphero.open(spheroPort); }
"dependencies": {
"mtwitter":"latest",
"colors":"latest",
"moment":"latest",
"spheron":"latest"
}
Приложение Твиттера В этой части описаны шаги по созданию нового приложения Twitter и получению ключей, которые позволят вашему приложению взаимодействовать с Twitter. 1. Перейдите на страницу приложений Twitter. «Твиттер-приложения» используя свою учетную запись Twitter. 2. Нажмите «Создать новое приложение».
Откроется страница настройки параметров нового приложения.
3. На этой странице выполните следующие действия:
а.
В поле «Имя» введите название вашего приложения.
б.
В поле Описание введите описание.
в.
Введите URL вашего сайта в поле «Веб-сайт».
4. Прочтите условия использования и, если согласны, отметьте «Да, я согласен».
Нажмите «Создать приложение Twitter».
5. Нажмите на вкладку «Ключи и токены доступа».
6. В разделе «Настройки приложения» скопируйте пользовательский ключ из поля «Ключ потребителя (Ключ API)» и секретный ключ из поля «Секрет потребителя (Секрет API)» и вставьте их в программу редактирования текста, например, «Блокнот».
7. В разделе «Ваш токен доступа» нажмите «Создать мой токен доступа».
8. Скопируйте токен из поля «Токен доступа» и секретный токен из поля «Секрет токена доступа» и вставьте в программу редактирования текста.
9. В приложении Intel XDK IoT Edition в файле main.js перейдите к строке, которая начинается с Consumer_key. Вставьте фактические ключи, которые вы ранее скопировали, в значение переменных Consumer_key, Consumer_secret, access_token_key и access_token_secret.
Сложный
Подключите плату Edison к Sphero с помощью Bluetooth:
1. Подключитесь к плате через окно терминала.
2. Чтобы активировать Bluetooth и выполнить поиск доступных устройств, введите следующие команды: rfkill unblock bluetooth
bluetoothctl
3. MAC-адрес вашего Sphero должен быть указан внизу коробки в формате XX-XX-XX-XX-XX-XX. Если вы не можете найти MAC-адрес, сделайте следующее:
а.
Введите команду: scan on
б.
Найдите свой Sphero в списке и скопируйте MAC-адрес.
в.
Введите команду: scan off
4. Подключите плату и Sphero, введя следующие команды: pair SpheroMacAddress
exit
rfcomm bind 0 SpheroMacAddress 1
MAC-адрес должен иметь формат XX:XX:XX:XX:XX:XX. Это создаст соединение со Sphero.
Загрузка кода на плату
Теперь мы можем создать наше приложение и загрузить его на доску.
После выполнения следующих шагов цвет вашего сферо-шара изменится при появлении нового твита.
В приложении Intel XDK IoT Edition щелкните значок «Установить/создать».
.
Если вас попросят загрузить или собрать проект, выберите «Создать».
Когда проект будет построен, появится сообщение об этом.
Нажмите значок «Загрузить»
загрузить проект на доску.
Нажмите значок «Выполнить».
чтобы начать свой проект. Ваш Sphero теперь будет проверять Твиттер раз в секунду и на секунду загораться синим, если кто-то пишет в Твиттере с хэштегом.
Если нет сферо-шара Дополнение от переводчика: если нет Сферошара, можно заставить мигать встроенный светодиод на плате, который подключен к 13-му цифровому выводу.
А чтобы чаще наблюдать за этим событием, можно поискать какой-нибудь общий хэштег из Топа, например #gameinsight .
main.js var twitter = require('mtwitter');
var mraa = require('mraa');
var lastTweet = 'XX:XX:XX';
var myOnboardLed = new mraa.Gpio(13);
myOnboardLed.dir(mraa.DIR_OUT);
var twit = new twitter({
consumer_key : 'XXXXXXXXXXXXXXXXXXXXXXXXX',
consumer_secret : 'XXXXXXXXXXXXXXXXXXXXXXXXX',
access_token_key : 'XXXXXXXXXXXXXXXXXXXXXXXXX',
access_token_secret : 'XXXXXXXXXXXXXXXXXXXXXXXXX'
});
console.log('Starting');
setInterval(function() {
console.log('--------------');
twit.get('search/tweets', {q: '#gameinsight'}, function(err, item) {
if( item !== null )
{
currTweetTime = item.statuses[0].
created_at.substring(11, 18); if( currTweetTime !== lastTweet) { console.log( 'Have new message: ' + item.statuses[0].
text);
lastTweet = currTweetTime;
updateLed();
}
}
});
}, 1000);
function updateLed()
{
myOnboardLed.write(1);
setTimeout(function(){myOnboardLed.write(0);}, 500);
}
В файл package.json просто добавьте следующие зависимости: "dependencies": {
"mtwitter":"latest"
}
Дополнительные ресурсы:
- Начало работы с Intel XDK IoT Edition на платформах Intel IoT
- Intel XDK IoT Edition: создание, тестирование и реализация решений Интернета вещей
- Intel XDK IoT Edition: обзор отладки и тестирования
- Введение в мобильное приложение Intel App Preview
-
Новое Отображение Персонажей В Eve Online
19 Oct, 24 -
Как Развивалось Тестирование Covid
19 Oct, 24 -
Свн. Откат Изменений На Сервере
19 Oct, 24 -
Подкаст Mobile-Review.com 89 От 4 Августа
19 Oct, 24 -
Опрос: Лучшее Устройство Samsung
19 Oct, 24 -
Im-Пейджеры Вбивают Клин Между Поколениями
19 Oct, 24