Using Connected Devices

The Wolfram Language provides a streamlined framework for connecting to external devices. Many classes of devices listed in the Wolfram Connected Devices Project are immediately supported within the Wolfram Language.

Setting Up Devices & Connections

DeviceOpen open a connection to a device

DeviceObject representation of a connected device

DeviceConfigure  ▪  DeviceClose  ▪  Devices

FindDevices attempt to find devices available on a particular machine

device[param] the value of a parameter for a device, often settable with (Set)

Device Types

"Serial" generic RS-232/RS-422 serial protocol

"GPIO" general-purpose digital I/O directly from pins

"Vernier" general interface to Vernier Go!Link compatible sensors

"Arduino" Arduino analog and digital I/O and autonomous code execution

"Camera", "RaspiCam", ... cameras for capturing images

"OpenAIGym", ... reinforcement learning environment (video games, etc.)

Reading Unbuffered Data

DeviceRead ask to read one item of data from a device, waiting until it is done

DeviceReadList repeatedly read items of data a specified number of times

DeviceReadTimeSeries read data at specified times, and construct a time series

Reading Buffered Data

DeviceReadLatest read the most recently buffered piece of data from the device

DeviceReadBuffer read the entire contents of the buffer on the device

Writing Unbuffered & Buffered Data

DeviceWrite write a value or list of values to a device

DeviceWriteBuffer write data to fill the buffer on a device

Executing Commands

DeviceExecute execute a command on a device

DeviceExecuteAsynchronous initiate an asynchronous command

Stream Interfaces for Devices

DeviceStreams get streams associated with a device

BinaryRead  ▪  BinaryWrite  ▪  Read  ▪  Write  ▪  Import  ▪  Export

Asynchronous & Scheduled Operations »

ScheduledTask represent a task scheduled to run at particular times

DeviceExecuteAsynchronous initiate an asynchronous command

SessionSubmit  ▪  LocalSubmit  ▪  CloudSubmit  ▪  HandlerFunctions  ▪  TaskObject

Imaging Device Connections

ImageCapture  ▪  CurrentImage  ▪  CurrentScreenImage

$ImagingDevices  ▪  $ImagingDevice  ▪  $DefaultImagingDevice

Audio Device Connections

AudioCapture  ▪  AudioStream  ▪  AudioRecord

$AudioInputDevices  ▪  $AudioOutputDevices  ▪  $DefaultAudioInputDevice  ▪  $DefaultAudioOutputDevice

File & API Connections

Import  ▪  URLExecute  ▪  URLRead  ▪  URLSubmit  ▪  ServiceExecute

Publish/Subscribe Channel Communications »

FindChannels  ▪  CreateChannel  ▪  ChannelListen  ▪  ChannelSubscribers  ▪  ...

Low-Level Network Connections »

SocketConnect  ▪  HostLookup  ▪  HTTPRequest  ▪  ...

Wolfram Data Drop »

Databin  ▪  CreateDatabin  ▪  DatabinAdd