Сразу сообщу, что я планирую статью в двух частях. В первой части планирую коснуться темы нынешнего развития рынка посредничества в сфере банковских, платежных и процессинговых услуг, а так же причины неудач на нем. Несмотря на то, что намерен быть полностью нейтральным, сразу оговорюсь о возможной оценочности статьи, так как с опытом приходит и личное отношение к теме. В любом случае, я буду предлагать именно те механизмы развития, которые, по моему опыту, будут эффективны, а так же постараюсь рассказать, почему считаю не эффективными другие.
Читать полностью »
Рубрика «processing» - 2
Введение в волшебный мир платежного посредничества
2017-04-05 в 6:35, admin, рубрики: agregation, distribution, payments, processing, sales, агенты, бизнес с нуля, бизнес-модели, платежные системы, посредники, продажи, Управление продажами, Управление продуктом3D революция на Arduino
2016-04-14 в 10:01, admin, рубрики: 3d, AMS, arduino, Arduino Mega Server, DIY, diy или сделай сам, IoT, processing, three.js, Беспроводные технологии, Интернет вещей, сделай сам, Сетевое оборудование, сеть, умный дом
До последнего момента контроллеры (и Ардуино, в частности) работали либо вообще без интерфейса, либо с примитивными интерфейсами, условно говоря, с одной — двумя кнопками. С появлением Arduino Mega Server ситуация кардинально изменилалась и появилась возможность сделать любой интерфейс к вашему проекту на Ардуино.
Сегодня мы пойдём ещё дальше и поговорим о том, как сделать полноценный интерактивный 3D интерфейс для вашего проекта на Ардуино. Все эксперименты будем проводить на новом микроконтроллере Genuino 101 совместного производства Intel и Arduino и любезно предоставленным компанией Intel для портирования на него системы Arduino Mega Server.
Читать полностью »
Управление жестами при помощи Intel Edison и Leap Motion
2016-01-25 в 6:36, admin, рубрики: diy или сделай сам, Intel Edison, IoT, Leap Motion, processing, Блог компании IntelВ этой статье мы рассмотрим совместное использование платы Intel Edison и контроллера Leap Motion для управления светодиодом при помощи жестов.
Читать полностью »
Модули Laurent и Умный дом (часть 3). Processing
2015-12-04 в 15:23, admin, рубрики: Arduino Mega Server, DIY, diy или сделай сам, Laurent, processing, Железо, Интернет вещей, Лоран, процессинг, сделай сам, Сетевое оборудование, сеть, умный домВот наконец мы и добрались до третьей части цикла о модулях Laurent (Лоран) компании KernelChip и интеграции их в системы домашней автоматизации. С двумя первыми статьями вы можете ознакомиться здесь и здесь. В них рассказывалось об интеграции модулей Лоран с системами MajorDoMo, Arduino и Arduino Mega Server. А сегодня мы поговорим о том, как научиться управлять этими модулями прямо с экрана своего компьютера и о том, как применить эти модули для… обучения ваших детей программированию на языке Processing.
Разработка игры на Processing с управлением через плату Arduino Uno
2015-09-23 в 8:55, admin, рубрики: arduino, DIY, diy или сделай сам, processing, игрыДля начала в двух словах опишу цель проекта. Хотелось придумать что-нибудь простое и наглядное для демонстрации коммуникации платы Arduino Uno и ПК по serial соединению. Что-нибудь, что бы вписывалось в регламенты проекта «выходного дня», а именно: делалось за пару часов и легко кодилось.
Решено было создать игру со следующими правилами. Действие происходит на рабочей двухмерной плоскости. Шарик «герой», положением которого управляет игрок, пытается уйти от столкновения с шариками «противниками». Шарик герой движется только по оси абсцисс, противники появляются в произвольном месте рабочей плоскости и движутся прямолинейно по оси ординат. В случае ухода шарика «героя» от столкновения с «противником», значение счетчика очков инкрементируется, в противном случае — счетчик сбрасывается и набранные ранее очки «сгорают».
Читать полностью »
Считывание данных спомощью Arduino и Processing. Обработка с помощью R
2014-12-31 в 9:49, admin, рубрики: arduino, processing Сегодня хочу сделать небольшой обзор как можно использовать Arduino и Processing для сбора статистических данных, а также обрабатывать их с помощью R.
Читать полностью »
Команда разработчиков графического языка Processing представила официальную JavaScript-библиотеку p5.js
2014-09-18 в 12:58, admin, рубрики: javascript, processing, Блог компании Нордавинд, Дизайн в ITЯзык Processing, основанный на Java, был написан в 2001 году для создания графики и анимаций. Для использования этого языка в интернете в 2008 году Джон Резиг написал библиотеку Processing.js. Библиотека быстро завоевала популярность и активно развивалась в течение нескольких лет после релиза. Часы на кривых Безье, о которых на Хабре писали несколько дней назад, были созданы именно с помощью Processing.js.
В прошлом году команда разработчиков Processing объявила о планах создать собственную JavaScript-библиотеку. В августе бета-версия p5.js была представлена широкой публике. Библиотека p5.js сильно отличается от Processing.js по архитектуре. Главные отличия — отсутствие необходимости изучать язык Processing и более тесная интеграция с HTML. Processing.js — это транслятор Processing в JavaScript. Основное назначение этой библиотеки — рендеринг файлов PDE с исходным кодом Processing. При использовании этой библиотеки программист может вообще не знать JavaScript. Возможно, в 2008 году это была весьма удачная идея, но сейчас, после нескольких лет бурного развития JavaScript и появления множества графических библиотек сформировалось поколение программистов и дизайнеров, для которых JavaScript намного «роднее» и понятнее Java-подобного Processing.
Пример анимации, созданной с помощью языка Processing
Читать полностью »
Голосовое управление Arduino средствами Processing и Google Speech API
2014-09-13 в 10:56, admin, рубрики: arduino, Google API, Google Speech, processing, разработка, умный дом, Электроника для начинающихИдея:
Пришла как-то идея сделать голосовое управление Arduino, но одного Arduino мало, т.к. для системы умного дома нужно еще и общение с компьютером и его системами.
Поиск решения:
BitVoicer
Натыкался на разного рода статьи с применением BitVoicer в связке с Arduino, но вся проблема в том, что BitVoicer работает только на Windows, а это не позволяет использовать систему на простых устройствах типа Rasberry Pi под управлением Unix.
Arduino Voice Recognition
Так же Arduino можно управлять голосом благодаря модулю распознавания голоса, но пока у меня нет срадств на его приобретение и есть ряд неудобств при использовании этого модуля: ограниченное количество команд, нудное обучение, для новых команд требуется перепрошивка модуля, что уже является минусом, если система отлажена и установлена.
Решение
Начал искать кросплатформенное решение, которое позволяло бы работать системе на множестве операционных систем. Нашлось такое: Speech to Text Library for Java/Processing. Комплекс реализован на базе языка Processing (Java) и Google Speach API о котом тут уже ранее писали. Данное решение позволяет отслеживать голос в реальном времени enableAutoRecord(), указывать лимит громкости enableAutoThreshold(), подключать внешние микрофоны getLineIn(), указывать язык распознавания setLanguage(String). Полный перечень возможностей и специфика есть на сайте разработчика: http://stt.getflourish.com. Для работы нам понадобиться Google Speech API Key. Как его получить описано тут: www.chromium.org/developers/how-tos/api-keys. Единственный негативный момент в том, что Google Speech позволяет обрабатывать лишь 50 запросов в сутки, но на практике проходят больше 500 запросов.
Для того, чтобы в дальнейшем было проще ориентироваться по тексту, я прикладываю все исходники, в которых уже прописаны голосовые команды, подключение к плате Arduino, скетч для платы Arduino, голосовое подтверждение фраз и все остальное, что сейчас уже есть и работает: исходники. После скачивание папку GoogleTTS помещаем в библиотеки Processing'a. Скетч для Arduino лежит в папке GoogleTTS/ArduinoSerial. Все писалось на Processing 3.0a4, доступный в пре-релизе на официальном сайте.
Простое удалённое управление с компьютера роботом
2014-07-12 в 14:11, admin, рубрики: arduino, processing, робототехникаПредисловие или зачем извращаться?
Здравствуй! Я сидел вечером 11 июня, смотрел фильм. Неожиданно для себя я обнаружил, что мне написала незнакомая мне ранее женщина с предложением сделать робота для их нового квеста. Суть заключается в том, что нужно разгадывать головоломки, исследовать тайники, правильно применять подсказки, использовать доступные вещи и в итоге добывать ключи и открывать двери… От меня требовалось сделать робота, управляемого с компьютера с помощью отдельной программы. У мебя были сомнения по поводу 2 вещей: успею ли я и как именно сделать беспроводную передачу данных (беспроводной передачей данных я занимался до этого только на NXT)? Взвесив все за и против я согласился. После этого я стал думать над передачей данных. Поскольку требовалось сделать робота быстро, то вспоминать и доосваевать, например, дельфи не было времени, поэтому возникла идея сделать модуль который будет заниматься отправкой команд. От компьютера требуется просто посылать данные в СОМ-порт. Этот способ странный, но наиболее быстрый. Его я и хочу описать здесь. Так же я приложу 3 программы которые помогут сделать радиоуправляемую машинку.
Сборка передатчика и его программа.
Я сделал модуль для компьютера из FTDI Basic Breakout 5/3.3V от DFrobot, довольно распространённого микроконтролера ATMEGA 328P-PU с загрузчиком Arduino и радиомодуля на основе микросхемы nRF24L01. По-сути это просто Arduino Uno с радиомодулем. Что есть, то есть. У радиомодуля есть особенность, которую я не сразу заметил: входное напряжение должно быть в диапазоне от 3 до 3.6 вольт (хотя подача на него 5 вольт его не убьёт, но работать не будет), верхняя граница логической единицы составляет 5В. Это означает то, что для подключения радиомодуля к меге не нужен преобразователь уровней между 3.3В и 5В, а вот стабилизатор на 3.3В установить нужно. У FTDI есть встроенный стабилизатор, от него я и подпитал радиомодуль.
Так выглядит сам модуль (внутри и в сборке) :
Программа состоит из инициализации, стартового сообщения и обработки команд из программы управления. Так было в моём случае. Основные команды библиотеки Mirf:
#include <SPI.h>
#include <Mirf.h>
#include <MirfHardwareSpiDriver.h>
#include <MirfSpiDriver.h>
#include <nRF24L01.h>
Эти библиотеки нужны для работы радиомодуля
Mirf.csnPin = 4 — задаёт номер пина, отвечающего за «разрешение общаться» радиомодуля и МК
Mirf.cePin = 6 — задаёт номер пина, отвечающего за режим работы радиомодуля (приёмник/передатчик)
Mirf.spi = &MirfHardwareSpi — настраивает линию SPI
Mirf.init() — инициализирует радиомодуль
Mirf.payload = 1 — размер в байтах одного сообщения (поумолчанию 16, максимум 32)
Mirf.channel = 19 — задаёт канал (0 — 127, по умолчанию 0)
Mirf.config() — задаёт параметры передачи
Mirf.setTADDR((byte *)«serv1») — переводит радиомодуль в режим передатчика
Mirf.setRADDR((byte *)«serv1») — переводит радиомодуль в режим приёмника
Mirf.send(data) — отправляет массив типа byte
Mirf.dataReady() — сообщает об окончании обработки принятых данных
Mirf.getData(data) — записать принятые данные в массив data
Mirf.setTADDR((byte *)«serv1») — переводит радиомодуль в режим передатчика
Mirf.setRADDR((byte *)«serv1») — переводит радиомодуль в режим приёмника
Mirf.send(data) — отправляет массив типа byte
Mirf.dataReady() — сообщает об окончании обработки принятых данных
Mirf.getData(data) — записать принятые данные в массив data
Прилагаю код программы передатчика.
#include <Mirf.h>
#include <MirfHardwareSpiDriver.h>
#include <MirfSpiDriver.h>
#include <nRF24L01.h>
char active;
byte data[1];
void setup()
{
Serial.begin(19200);
Mirf.csnPin = 4;
Mirf.cePin = 6;
Mirf.spi = &MirfHardwareSpi;
Mirf.init();
Mirf.payload = 1;
Mirf.channel = 19;
Mirf.config();
Mirf.setTADDR((byte *)«serv1»);
//сигнальное сообщение о начале работы
data[0]=7;
Mirf.send(data);
delay(200);
}
void loop()
{
if (Serial.available()) //Если данные готовы к считыванию
{
active=Serial.read(); // Запись данных в переменную
}
if (active=='2')
{
data[0]=2;
}
if (active=='3')
{
data[0]=3;
}
if (active=='4')
{
data[0]=4;
}
if (active=='5')
{
data[0]=5;
}
if (active=='6')
{
data[0]=6;
}
Mirf.send(data); //Отсылаем данные
while(Mirf.isSending()); // Ждём пока данные отсылаются
}
Программа управления.
Есть одна интересная штука — Processing. Синтаксис такой же как в Arduino, только вместо void loop() там расположился void draw(). Но она становилась ещё более интересной в моей ситуации с библиотекой processing Serial, которая позволяет работать с сериал-портом. Прочитав уроки на сайте Spurkfun`а, я поигрался с миганием светодиода на подключенной к компьютеру ардуинке по клику мышки. После этого я написал программу управления роботом с клавиатуры. Прилагаю код управления с помощью стрелок. В нём, в принципе, ничего необычного нет.
import cc.arduino.*;
Serial myPort;
PFont f=createFont(«LetterGothicStd-32.vlw», 24);
void setup()
{
size(360, 160);
stroke(255);
background(0);
textFont(f);
noCursor();
String portName = «XXXX»; // Сюда нужно написать имя вашего порта
myPort = new Serial(this, portName, 19200);
}
void draw() {
if (keyPressed == false)
{
clear();
myPort.write('6');
println(«6»);
}
}
void keyPressed()
{
// 10 — enter
// 32 — probel
// 37/38/39/40 — keys
clear();
fill(255);
textAlign(CENTER);
//text(keyCode, 180, 80);
switch(keyCode)
{
case 37:
text(«Edem vlevo», 180, 80);
myPort.write('1');
break;
case 38:
text(«Edem pryamo», 180, 80);
myPort.write('2');
break;
case 39:
text(«Edem vpravo», 180, 80);
myPort.write('3');
break;
case 40:
text(«Edem nazad», 180, 80);
myPort.write('4');
break;
default:
text(«Takoy kommandi net», 180, 80);
myPort.write('6');
break;
}
}
Программа приёмника.
Инициализация этой программы отличается от инициализации программы передатчика буквально одной строчкой. Ключевая команда в бесконечном цикле Mirf.getData(data). Дальше полученная команда сравнивается с числами, которым соответствуют какие-либо действия робота. Ну а дальше робот действует точно по командам. Прилагаю код программы приёмника машинки.
#include <Mirf.h>
#include <MirfHardwareSpiDriver.h>
#include <MirfSpiDriver.h>
#include <nRF24L01.h>
void setup()
{
Serial.begin(9600);
pinMode(13, OUTPUT); //LED
Mirf.csnPin = 10;
Mirf.cePin = 9;
Mirf.spi = &MirfHardwareSpi;
Mirf.init();
Mirf.payload = 1;
Mirf.channel = 19;
Mirf.config();
Mirf.setRADDR((byte *)«serv1»);
}
void loop()
{
byte data[1];
if(!Mirf.isSending() && Mirf.dataReady())
{
Mirf.getData(data);
Serial.println(data[0]);
}
switch (data[0])
{
case 1:
motors(-100, 100); // поворачиваем влево
break;
case 2:
motors(100, 100); // едем прямо
break;
case 3:
motors(100, -100); // поворачиваем вправо
break;
case 4:
motors(-100, -100); // едем назад
break;
default:
motors(0, 0); // стоим
break;
}
delay(50);
}
Заключение.
Что из этого всего вышло:
www.youtube.com/watch?v=K5ekFyph82U
Этого робота я сделал для «Клаустрофобии». Они проводят квесты в реальности в разных городах, и как раз для одного из таких квестов организаторам понадобился радиоуправляемый робот-сапер. Мне понравилось. Это, конечно, ущербно, т.к. на фоне управления с помощью встроенных в ноутбук средств связи, но зато своё, сделанное весьма быстро и без особых проблем. Надеюсь эта статья поможет сделать нечто подобное, а, может, даже сложнее. Тут уж кому что захочется.
Arduino — лучшая книга по мнению читателей
2014-03-20 в 11:43, admin, рубрики: arduino, processing, Блог компании Издательский дом «Питер», гаджеты, микроконтроллеры, Программинг микроконтроллеров, сделай сам, умный дом, метки: arduino, Processing, гаджеты, микроконтроллеры, сделай сам, умный дом В последнее время проекты на платформе Arduino становятся всё популярнее. А вот книг на русском по этой теме практически нет. Единственное исключение — «Программирование микроконтроллерных плат Arduino» , выпущенное издательством БХВ. Но, судя по отзывам, она получилась не очень удачной.
Мы хотели бы восполнить этот пробел и предварительно отобрали три издания:
Arduino Workshop: A Hands-On Introduction with 65 Projects
Exploring Arduino: Tools and Techniques for Engineering Wizardry
Arduino Robotics
Просьба уважаемому сообществу высказать свои мысли по поводу этого списка. Что из этого вы хотели бы увидеть в переводе? Какая книга будет наиболее полной и полезной?
Читать полностью »