Dans cet article, nous verrons comment partager la carte Intel Edison avec la caméra RealSense 3D. Nous allons créer deux applications, l'une utilise une caméra Intel RealSense 3D pour l'analyse des gestes et une carte Intel Edison pour changer de LED sur la carte. La deuxième application utilise la carte Intel Edison pour recevoir les données des capteurs de température et Intel RealSense pour synthétiser la voix pour lire les informations de température., , , . , « », IoT (Internet of Things). IoT , , . IoT- , , , , . , .
Intel Edison Intel Quark , , .
Intel Intel RealSense. RealSense 3D SDK, , , , , . , . Intel Edison, , .
:
- Intel Edison Arduino-
- Seeed Grove* – Starter Kit Plus — Intel IoT Edition
- 4- (Haswell ) Intel Core
- Microsoft Windows 8.1 (64-bit)
- 8
- USB 3.0
- Intel RealSense 3D F200 ( )
- () - Intel NUC (Next Unit Computing) Intel Core 4-
:
Intel RealSense SDK?
Intel RealSense SDK , , , , , , , 3D . SDK Microsoft .NET framework, Unity Pro 4.1.0 , Processing 2.2.1 JDK 1.7.0_11 . .NET C#.
, RealSense, , , , , Intel Capture and Share, .
Intel RealSense Intel
.
SDK.
Intel Edison . IoT-, .
Intel Edison Intel Atom SoC, 22 500 . 40 GPIO (- ) 1 LPDDR3 , 4 EMMC -, Wi-Fi, Bluetooth .
Linux. , Linux.
Linux Arduino Linux . , Arduino . , .
Intel Edison
.
Arduino-
Arduino- . -, , -. -, Arduino. , Arduino Intel Edison. Intel Edison Arduino-.

Grove Starter Kit Plus
«Grove Starter Kit Plus – Intel IoT Edition». Intel Galileo gen 2. , Intel Edison Arduino-.
, , . Arduino . -, . , , .
.
Seeed Studios, «Grove Kit» .
«Sketchbook Starter».
Wiki-:

Intel RealSense 3D F200
Intel RealSense 3D , , , . 3D , IoT ( Sense). USB 3.0 Intel Core 4- (Haswell) 8 .
HD 1080p , 3D .
.

– Intel NUC Intel Core 4-
Intel NUC (Next Unit Computing) , RealSense 3D Intel Edison. , . , , ( Intel RealSense 3D) Intel Edison USB . , , , , Intel Edison, , , . , Intel Edison, Intel NUC, , , RealSense SDK.
RealSense USB 3.0, 8 Intel Core 4- , Intel NUC . , HDMI . , Intel NUC .
Intel NUC
.

:
- Intel RealSense 3D Intel Edison.
- , Intel Edison Intel RealSense SDK.
Arduino IDE Intel IoT
Arduino IDE, . 1.6.0
.
Intel Edison
Intel Edison. «Driver Software» ( 1.2.1). «
Getting Started Guide»:
Visual Studio
Visual Studio , . Intel RealSense SDK Visual Studio Windows 8.1. Visual Studio C, C++, VB.NET, C#, F#, M, Python*, Ruby, JavaScript* . #.
Visual Studio Express Edition Visual Studio Community. Visual Studio
DreamSpark BizSpark .
Visual Studio
. C#
.
Intel RealSense SDK
Intel RealSense SDK 3D . 4.0.0.112526 ( Gold R2 release)
.
Intel Edison
, , , , Blink.
Arduino IDE, examples -> 01.Basics -> Blink.
Visual Studio Intel RealSense SDK
Visual Studio . Intel RealSense SDK 3D- USB 3.0. , Intel RealSense SDK Sample Browser , C++ C#. . «Hand Viewer».
SDK, «F200 Depth Camera Manager».
. , .

1. RealSense 3D Intel Edison
, , .
Intel Edison
. Grove Arduino-, (LED socket kit v1.3) D2.

USB- Intel Edison - Intel NUC. Windows Device Manager, Intel Edison. , «COM16». Windows , .

Arduino IDE, Tools->Board «Intel Edison».

Tools -> Port «COM16».

, , . , , 1 – , 0 – .
const int ledPin = 2;
void setup() {
pinMode(ledPin, OUTPUT);
Serial.begin(9600);
}
void loop() {
if (Serial.available()>0)
{
int tmp = Serial.parseInt();
if(tmp == 0)
{
digitalWrite(ledPin, LOW);
}
else if (tmp == 1)
{
digitalWrite(ledPin, HIGH);
}
}
}
Intel Edison.
Intel RealSense
C# F200, «Hand Viewer». RSSDK/FF_HandsViewer.cs. , .
(spreadfingers). , .

MainForm.cs . , . , . UpdateInfo , . status, , “spreadfingers”. , 1 . , 0, .
using System.IO.Ports;
…
public partial class MainForm : Form
{
private SerialPort _serialPort;
private int _lastGesture;
…
public MainForm(PXCMSession session)
{
…
_serialPort = new SerialPort();
_serialPort.PortName = "COM16";
_serialPort.BaudRate = 9600;
_serialPort.ReadTimeout = 500;
_serialPort.WriteTimeout = 500;
}
private void WriteToSerialPort(int value)
{
if (_lastGesture != write)
{
Console.WriteLine(write.ToString());
_serialPort.Write(write.ToString());
}
_lastGesture = write;
}
public void UpdateInfo(string status,Color color)
{
…
if (status.Contains("spreadfingers") || status.Contains("spreadfingers"))
{
WriteToSerialPort(1);
}
else
{
WriteToSerialPort(0);
}
}
private void Start_Click(object sender, EventArgs e)
{
…
_serialPort.Open();
}
private void Stop_Click(object sender, EventArgs e)
{
…
_serialPort.Close();
}
, . , .

2. Intel Edison Intel RealSense
, Intel Edison , Intel RealSense, .
Intel Edison
Temperature sensor v1.1 Grove , A0 . Arduino . 15 , . , . , , .
#include <math.h>
int a;
float temperature;
int B=3975;
float resistance;
void setup()
{
Serial.begin(9600);
}
void loop()
{
a=analogRead(0);
resistance=(float)(1023-a)*10000/a;
temperature=1/(log(resistance/10000)/B+1/298.15)-273.15;
Serial.print("Current temperature is ");
Serial.print(temperature);
Serial.println(" celcius");
delay(15000);
}
Intel RealSense
«Common Samples» «Speech Synthesis». , «Hand Viewer». , , . «COM16».
MainForm.cs .
using System.IO.Ports;
…
public partial class MainForm : Form
{
private SerialPort _serialPort;
private static bool _continue;
protected static string curr_module_name;
protected static uint curr_language;
protected static int curr_volume;
protected static int curr_pitch;
protected static int curr_speech_rate;
Thread readThread = new Thread(Read);
static public void Read()
{
while (_continue)
{
try
{
string message = _serialPort.ReadLine();
Console.WriteLine(message);
VoiceSynthesis.Speak(curr_module_name, (int)curr_language, message, curr_volume, curr_pitch, curr_speech_rate);
}
catch (TimeoutException) { }
}
}
public MainForm(PXCMSession session)
{
…
_serialPort = new SerialPort();
_serialPort.PortName = "COM16";
_serialPort.BaudRate = 9600;
_serialPort.ReadTimeout = 500;
_serialPort.WriteTimeout = 500;
_serialPort.Open();
_continue = true;
readThread.Start();
}
private void MainForm_FormClosing(object sender, FormClosingEventArgs e)
{
_continue = false;
readThread.Join();
_serialPort.Close();
}
…
}
, 15 . , , . VoiceSynthesis.cs VoiceOut.cs .
, . , AntiSnoozer (). Intel RealSense 3D , Intel Edison, , . . , ?