Quantcast
Channel: Статьи Intel Developer Zone
Viewing all articles
Browse latest Browse all 357

Использование платы Intel Edison для изменения цвета шара Orbotix Sphero при появлении новых твитов

$
0
0

В этой статье будет использована способность шара менять цвет. Итак, нам потребуется:
       Шар Sphero.

Создание приложения

  1. Эта часть содержит шаги для создания нового проекта в Intel XDK IoT Edition с кодом для обновления состояния шара Sphero.

    1. В приложении Intel XDK IoT Edition выберите вкладку «Projects». Нажмите «Start a New Project».

    Click Start a New Project
  2. В секции «Internet of Things Embedded Application» нажмите «Templates»
  3. Выберите любое приложение и нажмите «Continue».
  4. В поле «Name your Project» введите имя вашего проекта и нажмите «Create».

    Type a name for your project and click Create
  5. Откроется ваш новый проект. Будет показан файл main.js. Удалите все его содержимое и замените следующим кодом:
    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);
     }
  6. На левой панели выберите файл package.json. В секции «dependencies» добавьте все модули, которые потребуются в программе:
    "dependencies": {"mtwitter":"latest","colors":"latest","moment":"latest","spheron":"latest"
            }
    Add the required modules to the dependencies section.

Twitter-приложение

  1. Эта часть описывает шаги по созданию нового Twitter-приложения и получения ключей, которые позволят вашему приложению взаимодействовать с Твиттером.

    1. Зайдите на страницу приложений Твиттера «Twitter Apps», используя ваш твиттер-аккаунт.

    2. Нажмите «Create New App». Откроется страница задания параметров нового приложения.

    Click Create New App
     
  2. 3. На этой странице сделайте следующее:
    a. В поле «Name» введите имя вашего приложения.
    b. В поле «Description» введите описание.
    c. Введите URL вашего сайта в поле «Website».
    1.  
    Supply your name, app description, and a placeholder URL
  3. Прочитайте условия использования, и если согласны, отметьте «Yes, I agree». Нажмите «Create your Twitter Application».


    Terms and conditions to create your Twitter application
  4. Нажмите на вкладку «Keys and Access Tokens».

    Click the Keys and Access Tokens tab
  5. В разделе настроек «Application Settings», скопируйте пользовательский ключ из поля Consumer Key (API Key) и секретный ключ из поля Consumer Secret (API Secret) и вставьте их в вашу программу редактирования текстов, например, Блокнот.

    Copy and save the consumer key and consumer secret
  6. В секции «Your Access Token» нажмите «Create my access token».

    Click Create my access token
  7. Скопируйте токен из поля «Access Token» и секретный токен из поля «Access Token Secret» и вставьте в вашу программу редактирования текстов.

    Copy and save the access token key and access token secret
  8. В приложении Intel XDK IoT Edition в файле main.js перейдите к строке, которая начинается с consumer_key. Вставьте настоящие ключи, которые вы ранее скопировали, в значение переменных consumer_key, consumer_secret, access_token_key и access_token_secret.

    Supply the consumer key, consumer secret, access token key, and access token secret

Соединение

Подключаем плату Edison к Sphero, используя Bluetooth:

1. Подключитесь к вашей плате через окно терминала.
2. Чтобы активировать Bluetooth и просканировать доступные устройства, введите следующие команды:
 
rfkill unblock bluetooth
bluetoothctl

3. MAC-адрес вашего Sphero должен быть на нижней части коробки в формате XX-XX-XX-XX-XX-XX. Если вы не можете найти MAC-адрес, сделайте следующее:
a. Введите команду:
 
scan on

b. Найдите ваш Sphero в списке и скопируйте MAC-адрес.
c. Введите команду:
 
scan off

4. Соедините вашу плату и Sphero, введя следующие команды:
 
pair SpheroMacAddressexit
rfcomm bind0 SpheroMacAddress 1

MAC-адрес должен быть в формате XX:XX:XX:XX:XX:XX. Это создаст подключение к Sphero.
 

Выгрузка кода на плату

Теперь можно построить наше приложение и выгрузить его на плату. После выполнения следующих шагов цвет вашего шара Sphero будет изменяться при поступлении нового твита. В приложении Intel XDK IoT Edition нажмите иконку «Install/Build». Если будет задан вопрос выгрузить или построить проект «upload or build» выбирайте построить «Build».

Когда проект будет построен, появится сообщение об этом. Нажмите иконку «Upload» , чтобы выгрузить проект на плату.
Нажмите иконку «Run» , чтобы запустить ваш проект. Теперь ваш Sphero будет проверять Twitter раз в секунду и зажигаться на секунду синим, если кто-то сделает твит с хэштегом #intelmaker.
 

Если нет шара Sphero

Дополнение от переводчика: если нет шара Sphero, можно сделать мигание встроенного светодиода на плате, который подключен к 13-му цифровому выводу. И чтобы чаще наблюдать это событие, можно сделать поиск какого-нибудь распространенного хэштега из Top’а, например #gameinsight.
 
main.js

В файле package.json достаточно добавить следующие зависимости:
 
"dependencies": {"mtwitter":"latest"
}
 

Дополнительные ресурсы:

Getting Started with Intel® XDK IoT Edition on Intel® IoT Platforms
  1.  

Viewing all articles
Browse latest Browse all 357

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>