Received Emotiv Insight and Extender

The Emotiv Insight is a brain controlled input device originally funded by [Kickstarter].

Me: *** Unity Plugin **** if you want access to the Community Emotiv Unity plugin and you have an EEG Insight, email support@theylovegames.com. The [Word Detection] package has been extended to include raw EEG processing. You can support development by purchasing the [Word Detection] package or just shoot an email to get access.

Emotiv: [Insight Control Panel] (Firefox)

Emotiv: [Insight EEG Viewer] (Firefox)

Emotiv: [My Downloads]

Emotiv: [Frequently Asked Questions]

Emotiv: [Emotiv USB Receiver] enables a better Insight connection on Mac and Windows

Emotiv: [Emotiv G+ Beta Community]

Emotiv: [Github Issue Tracker] * Best way to interact with engineering team *

Emotiv: [Forum]

Emotiv: [Github Emotiv Community SDK]

Dependencies: Be sure to check the [Install Visual C++ 2015 Tools for Windows Desktop] box when installing [Visual Studio 2015] to be able to use the C++ examples.

Dependencies: The C++ Examples also require installing [Visual Studio 2010] Build Tools.

Chroma SDK

The [Razer Chroma Developer Portal] provides the documentation and libraries needed to do Chroma development for the [supported devices].

CoralStudios provides [Colore], a powerful library for interacting with the ChromaSDK.

Before being able to use the examples, be sure to follow step #2 on the [Chroma Downloads] page. A registry key has to be added in order to do development with the `Chroma SDK` on Windows.

Here is an [Example Unity Project] that uses the `Chroma SDK` to adjust the LEDs on the [Razer Firefly] based on mouse position and press events.

Here is an [Example Windows Form Project] that uses the `Chroma SDK` to adjust the LEDs on the [Razer Firefly] based on mouse position and press events.

Visual Studio on Windows 10

So far I’ve discovered Visual Studio 2015 Community Edition is compatible on Windows 10.
https://www.visualstudio.com/products/free-developer-offers-vs.aspx

The Visual Studio 2013 Pro installer from the Microsoft Store gives an error when running the setup: “Windows Program Compatibility mode is on. Turn it off and then try Setup again.” when all the compatibility options are off.

This version of Visual Studio 2013 Pro Update 5 does appear to install on Windows 10.
http://www.microsoft.com/en-us/download/details.aspx?id=48138

Project Tango

Project Tango has a Unity project for getting started with AI rebuilding your physical environment into meshes as you walk around.
https://developers.google.com/project-tango/apis/unity/unity-getting-started

The Verge reviews Project Tango –
http://www.theverge.com/2015/5/29/8687443/google-io-project-tango-augmented-reality

Purchase a Tango –
https://store.google.com/product/project_tango_tablet_development_kit

Python Multipart Posts

To use a camera with the Raspberry PI, first [configure the Raspberry PI] to enable the camera.

In order to send large images from the Raspberry PI camera to a web server, the image has to be sent in parts. This requires the Python `poster` module. https://pypi.python.org/pypi/poster/

To be able to install a python module, `pip` has to be installed.

sudo pip install poster

This is the server PHP page that saves the image.

save_image.php


<?php

$image = $_FILES["image"];

if ($image == null) {
   echo "Missing image to save!";
} else {
   echo "Saved image!";
   $tmp_name = $_FILES["image"]["tmp_name"];
   move_uploaded_file($tmp_name, "image.jpg");
}

?>

This Python script sends the image to the server.

save_image.py


#!/usr/bin/env python

import urllib, urllib2
from poster.encode import multipart_encode
from poster.streaminghttp import register_openers

register_openers()

url = "http://domain.com/path/save_image.php"
print "url="+url

filename = 'image.jpg';
if (os.path.isfile(filename)) :
  values = {'image':open(filename)}
  data, headers = multipart_encode(values)
  headers['User-Agent'] = 'Mozilla/4.0 (compatible; MSIE 5.5; Windows NT)'
  req = urllib2.Request(url, data, headers)
  req.unverifiable = True
  content = urllib2.urlopen(req).read()
  print (content)
else:
  print 'No image file found to upload';

print '\r\nProgam complete.'

This script will capture from the camera and then call the above script to upload the image.

capture_image.py


#get access to the camera
from picamera import PiCamera

#import so we can invoke another script
import subprocess

#sleep so we can wait on the camera
from time import sleep

# create a camera object
camera = PiCamera()

#set the image resolution
camera.resolution = (320, 240)

#rotate the camera if upside-down
camera.rotation = 180

#show preview with some transparency
camera.start_preview(alpha=225)

#wait two seconds for camera lighting
sleep(2)

#save image locally
camera.capture('image.jpg')

#stop the preview
camera.stop_preview()

#invoke the script to upload the image
subprocess.call('python save_image.py', shell=True)