Visual Basic .NET - API Bindings – Tinkerforge

- Getting Started
  - Primer
  - Tutorials
  - FAQ
- Hardware
  - Bricks
  - Bricklets
  - Master Extensions
  - Power Supplies
  - Accessories
  - Timeline
- Software
  - Brick Daemon (brickd)
  - Brick Viewer (brickv)
  - API Bindings
    - C/C++
    - C/C++ (iOS)
    - C#
    - C# (Windows Phone)
    - Delphi/Lazarus
    - Java
    - Java (Android)
    - JavaScript
    - LabVIEW
    - Mathematica
    - MATLAB/Octave
    - Perl
    - PHP
    - Python
    - Ruby
    - Shell
    - Visual Basic .NET
      - Requirements
      - Installation
      - Testing an Example
        - MonoDevelop
        - Visual Studio
      - API Reference and Examples
        - IP Connection
        - Bricks
        - Bricklets
  - Firmwares and Plugins
  - Device Identifier
  - Source Code and Bug Tracking
  - Programming Interface
- Starter Kits
  - Weather Station
  - Hardware Hacking
  - Server Room Monitoring
  - Blinkenlights
  - Internet of Things
  - Camera Slider
- Embedded Boards
  - Raspberry Pi
- Specifications
  - Technical Data
  - TCP/IP Protocol
  - Modbus Protocol
  - Wireshark Dissector

# Visual Basic .NET - API Bindings

The Visual Basic .NET bindings allow you to control Bricks and Bricklets from your Visual Basic .NET programs. The ZIP file for the bindings contains:

- `Tinkerforge.dll`, a precompiled .NET library
- `Tinkerforge.xml`, the API documentation for Visual Studio, MonoDevelop, etc
- in `source/` the source code of `Tinkerforge.dll`
- in `examples/` the examples for every Brick and Bricklet

The Visual Basic .NET bindings are based on the C# bindings. Since version 2.0.0 the C# bindings are CLS compliant. This allows to use them with all .NET compatible languages, such as Visual Basic .NET.

## Requirements

- Visual Basic 2005 (VB 8.0) or newer, or Mono 1.2.3 or newer

## Installation

If and how the Visual Basic .NET bindings have to be installed depends heavily on how you are going to use them. If you are just calling the Visual Basic .NET compiler from the command line then you can just put the `Tinkerforge.dll` file into the same folder as the Visual Basic .NET code of your program.

To use the bindings in an IDE you'll probably have to add the `Tinkerforge.dll` file to the assembly catalog of the IDE. How this is done depends on the IDE and will be explained in documentation of that IDE.

## Testing an Example

To test a Visual Basic .NET example Brick Daemon and Brick Viewer have to be installed first. Brick Daemon acts as a proxy between the USB interface of the Bricks and the API bindings. Brick Viewer connects to Brick Daemon and helps to figure out basic information about the connected Bricks and Bricklets.

### MonoDevelop

As an example we will compile the Stepper Brick configuration example with the Visual Basic .NET Compiler (VBNC) that comes with Mono. Create a new Visual Basic .NET project in MonoDevelop by clicking:

- File
- New
- Solution...
- Choose "VBNet"
- Choose "Console Project"
- Choose a name (e.g. ExampleConfiguration)
- Click Forward
- Click OK

MonoDevelop should show an `Application.vb` file in its editor. Replace its content with the content from `ExampleConfiguration.vb` file in the `examples\Brick\Stepper\` folder.

In the example `HOST` and `PORT` specify at which network address the Stepper Brick can be found. If it is connected locally to USB then `localhost` and 4223 is correct. The `UID` value has to be changed to the UID of the connected Stepper Brick, which you can figure out using Brick Viewer:

    Const HOST As String = "localhost"
    Const PORT As Integer = 4223
    Const UID As String = "XYZ" ' Change to your UID

Now add `Tinkerforge.dll` as a reference to the project:

- Right click on References in Solution Explorer
- Edit References...
- Click on .Net Assembly tab
- Select `Tinkerforge.dll`
- Click Add

The project is now ready for a test, click:

- Run
- Run

The Visual Basic .NET Compiler can also be used from the command line:

    vbnc /target:exe /out:Example.exe /reference:Tinkerforge.dll ExampleConfiguration.vb

### Visual Studio

As an example we will compile the Stepper Brick configuration example with Microsoft Visual Basic 2010. Create a new Visual Basic project by clicking:

- File
- New Project...
- Choose "Visual Basic"
- Choose "Console Application"
- Choose a name (e.g. ExampleConfiguration)
- Click OK

Visual Studio should show an `Module1.vb` file in its editor. Replace its content with the content from `ExampleConfiguration.vb` file in the `examples\Brick\Stepper\` folder.

In the example `HOST` and `PORT` specify at which network address the Stepper Brick can be found. If it is connected locally to USB then `localhost` and 4223 is correct. The `UID` value has to be changed to the UID of the connected Stepper Brick, which you can figure out using Brick Viewer:

    Const HOST As String = "localhost"
    Const PORT As Integer = 4223
    Const UID As String = "XYZ" ' Change to your UID

Now add `Tinkerforge.dll` as a reference to the project:

- Right click on the project in Solution Explorer
- Add References...
- Click on Browse tab
- Select `Tinkerforge.dll`
- Click OK

Before the project can be tested Visual Studio needs to know the correct start object:

- Right click on the project in Solution Explorer
- Properties
- Click on Application tab
- Select "Sub Main" as start object
- Click Save

The project is now ready for a test, click:

- Debug
- Start Debugging

## API Reference and Examples

Links to the API reference for the IP Connection, Bricks and Bricklets as well as the examples from the ZIP file of the bindings are listed in the following table. Further project descriptions can be found in the Starter Kits section.

| API | Examples
--- | --- | ---
IP Connection | API | Examples
Bricks |  |
DC | API | Examples
IMU | API | Examples
Master | API | Examples
RED | API | Examples
Servo | API | Examples
Stepper | API | Examples
Bricklets |  |
Ambient Light | API | Examples
Analog In | API | Examples
Analog Out | API | Examples
Barometer | API | Examples
Color | API | Examples
Current12 | API | Examples
Current25 | API | Examples
Distance IR | API | Examples
Distance US | API | Examples
Dual Button | API | Examples
Dual Relay | API | Examples
GPS | API | Examples
Hall Effect | API | Examples
Humidity | API | Examples
Industrial Digital In 4 | API | Examples
Industrial Digital Out 4 | API | Examples
Industrial Dual 0-20mA | API | Examples
Industrial Quad Relay | API | Examples
IO-16 | API | Examples
IO-4 | API | Examples
Joystick | API | Examples
LCD 16x2 | API | Examples
LCD 20x4 | API | Examples
LED Strip | API | Examples
Line | API | Examples
Linear Poti | API | Examples
Moisture | API | Examples
Motion Detector | API | Examples
Multi Touch | API | Examples
NFC/RFID | API | Examples
Piezo Buzzer | API | Examples
Piezo Speaker | API | Examples
PTC | API | Examples
Remote Switch | API | Examples
Rotary Encoder | API | Examples
Rotary Poti | API | Examples
Segment Display 4x7 | API | Examples
Solid State Relay | API | Examples
Sound Intensity | API | Examples
Temperature | API | Examples
Temperature IR | API | Examples
Tilt | API | Examples
Voltage | API | Examples
Voltage/Current | API | Examples

The content of this page is licensed under Creative Commons Attribution 3.0 Unported License.