
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">



<html xmlns="http://www.w3.org/1999/xhtml">
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    
<title>WIFI Extension – Tinkerforge</title>

<!--<link type="text/css" rel="stylesheet" href="http://www.tinkerforge.com/static/base_tf.css" />-->
<link type="text/css" rel="stylesheet" href="http://www.tinkerforge.com/static/jquery.lightbox-0.5.css" />
<meta name="keywords" content="Tinkerforge, Open Source Hardware, Bricks, Bricklets, USB Controllable, USB Sensing, USB Controlling" />
<meta name="description" content="Easy-to-use open source hardware. Control motors and sense the environment over USB, Ethernet or Wi-Fi/WLAN with C/C++, C#, Delphi/Lazarus, Java, JavaScript, LabVIEW, Mathematica, MATLAB/Octave, Perl, PHP, Python, Ruby, Shell, Visual Basic .NET or directly over TCP/IP." />
<meta name="copyright" content="Tinkerforge GmbH" />
<!--<script type="text/javascript">document.write('<style>.noscript { display: none; }</style>');</script>-->


    
    <link rel="stylesheet" href="../../_static/documentation_tf.css" type="text/css" />
    <link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />
    
    <script type="text/javascript">
      var DOCUMENTATION_OPTIONS = {
        URL_ROOT:    '../../',
        VERSION:     '1.0',
        COLLAPSE_INDEX: false,
        FILE_SUFFIX: '.html',
        HAS_SOURCE:  true
      };
    </script>
    <script type="text/javascript" src="../../_static/jquery.js"></script>
    <script type="text/javascript" src="../../_static/underscore.js"></script>
    <script type="text/javascript" src="../../_static/doctools.js"></script>
    <link rel="top" title="Tinkerforge" href="../../index.html" />
    <link rel="up" title="Master Extensions" href="Master_Extensions.html" />
    <link rel="next" title="Power Supplies" href="../Power_Supplies/Power_Supplies.html" />
    <link rel="prev" title="RS485 Extension" href="RS485_Extension.html" />

<script type="text/javascript" src="http://www.tinkerforge.com/static/jquery.lightbox-0.5.js"></script>
<script type="text/javascript">$(function() { $('#gallery a').lightBox(); });</script>
<script type="text/javascript">$(function() { $(".sphinxsidebarwrapper").filter(function() { return $.trim($(this).text()).length == 0; }).parent().hide(); });</script>


  </head>
  <body>
<div id="wrapper">
	<div id="tfcontent">
		<div class="boxContent3">


<div class="toctree">
<ul class="current">
<li class="toctree-l1"><a class="reference internal" href="../../Getting_Started.html">Getting Started</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../../Primer.html">Primer</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../Tutorials.html">Tutorials</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../FAQ.html">FAQ</a></li>
</ul>
</li>
<li class="toctree-l1 current"><a class="reference internal" href="../../Hardware.html">Hardware</a><ul class="current">
<li class="toctree-l2"><a class="reference internal" href="../Bricks/Bricks.html">Bricks</a></li>
<li class="toctree-l2"><a class="reference internal" href="../Bricklets/Bricklets.html">Bricklets</a></li>
<li class="toctree-l2 current"><a class="reference internal" href="Master_Extensions.html">Master Extensions</a><ul class="current">
<li class="toctree-l3"><a class="reference internal" href="Chibi_Extension.html">Chibi Extension</a></li>
<li class="toctree-l3"><a class="reference internal" href="Ethernet_Extension.html">Ethernet Extension</a></li>
<li class="toctree-l3"><a class="reference internal" href="RS485_Extension.html">RS485 Extension</a></li>
<li class="toctree-l3 current"><a class="current reference internal" href="">WIFI Extension</a><ul>
<li class="toctree-l4"><a class="reference internal" href="#features">Features</a></li>
<li class="toctree-l4"><a class="reference internal" href="#description">Description</a></li>
<li class="toctree-l4"><a class="reference internal" href="#technical-specifications">Technical Specifications</a></li>
<li class="toctree-l4"><a class="reference internal" href="#resources">Resources</a></li>
<li class="toctree-l4"><a class="reference internal" href="#wifi-network">WIFI Network</a></li>
<li class="toctree-l4"><a class="reference internal" href="#wifi-configuration">WIFI Configuration</a><ul>
<li class="toctree-l5"><a class="reference internal" href="#example-client-mode-with-dynamic-ip-address">Example: Client Mode with dynamic IP Address</a></li>
</ul>
</li>
<li class="toctree-l4"><a class="reference internal" href="#access-point-mode-and-ad-hoc-mode">Access Point Mode and Ad Hoc Mode</a><ul>
<li class="toctree-l5"><a class="reference internal" href="#example-access-point-mode-with-static-ip-address">Example: Access Point Mode with static IP Address</a></li>
</ul>
</li>
<li class="toctree-l4"><a class="reference internal" href="#authentication">Authentication</a></li>
<li class="toctree-l4"><a class="reference internal" href="#leds-and-connectivity">LEDs and Connectivity</a></li>
<li class="toctree-l4"><a class="reference internal" href="#programming-interface">Programming Interface</a></li>
</ul>
</li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../Power_Supplies/Power_Supplies.html">Power Supplies</a></li>
<li class="toctree-l2"><a class="reference internal" href="../Accessories/Accessories.html">Accessories</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../Timeline.html">Timeline</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="../../Software.html">Software</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../../Software/Brickd.html">Brick Daemon (brickd)</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../Software/Brickv.html">Brick Viewer (brickv)</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../Software/API_Bindings.html">API Bindings</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../Software/Firmwares_And_Plugins.html">Firmwares and Plugins</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../Software/Device_Identifier.html">Device Identifier</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../Source_Code.html">Source Code and Bug Tracking</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../Programming_Interface.html">Programming Interface</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="../../Kits.html">Starter Kits</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../../Kits/WeatherStation/WeatherStation.html">Weather Station</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../Kits/HardwareHacking/HardwareHacking.html">Hardware Hacking</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../Kits/ServerRoomMonitoring/ServerRoomMonitoring.html">Server Room Monitoring</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../Kits/Blinkenlights/Blinkenlights.html">Blinkenlights</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../Kits/InternetOfThings/InternetOfThings.html">Internet of Things</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../Kits/CameraSlider/CameraSlider.html">Camera Slider</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="../../Embedded.html">Embedded Boards</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../../Embedded/Raspberry_Pi.html">Raspberry Pi</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="../../Specifications.html">Specifications</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../../Technical_Data.html">Technical Data</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../Low_Level_Protocols/TCPIP.html">TCP/IP Protocol</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../Low_Level_Protocols/Modbus.html">Modbus Protocol</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../Low_Level_Protocols/Wireshark_Dissector.html">Wireshark Dissector</a></li>
</ul>
</li>
</ul>

</div>
<div class="breadcrumbs">
<a href="../../Hardware.html">Hardware</a> / <a href="./Master_Extensions.html">Master Extensions</a> / WIFI Extension
</div>



<div id="shoplink_img">
	<a href="../../../shop/master-extensions/wifi-master-extension.html"><img alt="Shop" width="32" height="40" src="../../_images/Misc/cart-icon.png" /></a>
</div>
<div id="shoplink_a">
	<a href="../../../shop/master-extensions/wifi-master-extension.html">In Shop</a>
</div>



    <div class="document">
      <div class="documentwrapper">
        <div class="bodywrapper">
          <div class="body">
            
  <div class="section" id="wifi-extension">
<span id="id1"></span><h1>WIFI Extension<a class="headerlink" href="#wifi-extension" title="Permalink to this headline">¶</a></h1>
{% from "macros.html" import tfdocstart, tfdocimg, tfdocend %}
{{
    tfdocstart("Extensions/extension_wifi_tilted_350.jpg",
               "Extensions/extension_wifi_tilted_600.jpg",
               "WIFI Extension")
}}
{{
    tfdocimg("Extensions/extension_wifi_stack_100.jpg",
             "Extensions/extension_wifi_stack_600.jpg",
             "WIFI Extension with Master Brick in a stack")
}}
{{
    tfdocimg("Extensions/extension_wifi_horizontal_100.jpg",
             "Extensions/extension_wifi_horizontal_600.jpg",
             "WIFI Extension top")
}}
{{
    tfdocimg("Extensions/extension_wifi_bottom_100.jpg",
             "Extensions/extension_wifi_bottom_600.jpg",
             "WIFI Extension bottom")
}}
{{
    tfdocimg("Extensions/extension_wifi_caption_100.jpg",
             "Extensions/extension_wifi_caption_600.jpg",
             "WIFI Extension with caption")
}}
{{
    tfdocimg("Extensions/extension_wifi_ufl_100.jpg",
             "Extensions/extension_wifi_ufl_600.jpg",
             "U.FL connector of WIFI Extension")
}}
{{
    tfdocimg("Extensions/extension_wifi_front_100.jpg",
             "Extensions/extension_wifi_front_600.jpg",
             "WIFI Extension front")
}}
{{ tfdocend() }}<div class="section" id="features">
<h2>Features<a class="headerlink" href="#features" title="Permalink to this headline">¶</a></h2>
<ul class="simple">
<li>Control Bricks/Bricklets wirelessly over your mobile phone or tablet</li>
<li>Operates with 802.11b/g/n access points, WEP, WPA, WPA2 Personal and Enterprise encryption</li>
<li>Equipped with 18dBm power amplifier for extended range</li>
<li>External RP-SMA and U.FL antenna connector</li>
</ul>
</div>
<div class="section" id="description">
<h2>Description<a class="headerlink" href="#description" title="Permalink to this headline">¶</a></h2>
<p>With this WIFI Extension you can control <a class="reference internal" href="../../Primer.html#primer-bricks">Bricks</a> and
<a class="reference internal" href="../../Primer.html#primer-bricklets">Bricklets</a> wirelessly over your
mobile phone, tablet or your PC. For the Master Extension concept please take a look at the general
<a class="reference internal" href="../../Primer.html#primer-master-extensions">description</a>. The Extension is equipped with a <a class="reference external" href="http://www.gainspan.com">GainSpan</a>
<a class="reference external" href="http://www.gainspan.com/gs1011mees">GS1011MEES</a> Wi-Fi module with an internal power amplifier
which allows for superior range compared to other Wi-Fi modules.</p>
<p>The devices supports two modes. In Full Speed Mode the device Wi-Fi transceiver is always on.
New incoming data will be immediately handled. In Low Power Mode the devices is not always on,
the transceiver enters sleep mode after each message. This leads to a significantly lower power
consumption and data throughput.</p>
<p>Since the device itself handles TCP/IP packages generated by the API, it is possible to connect directly from your controlling
device (mobile phone, tablet, (embedded) PC). A <a class="reference internal" href="../../Software/Brickd.html#brickd">brick daemon</a> is not necessary.</p>
<p>To use the WIFI Extension a <a class="reference internal" href="../Bricks/Master_Brick.html#master-brick">Master Brick</a> is mandatory.
The <a class="reference internal" href="../Bricks/RED_Brick.html#red-brick">RED Brick</a> is currently not supported.
If you want to use other Bricks, you can build a <a class="reference internal" href="../../Primer.html#primer-stack">stack</a>
and plug them also on top of the Master Brick. If you want to use Bricklets you
can attach them to the Master Brick or to other Bricks in the stack. From the
programming perspective this is completely transparent, i.e. all Bricks and
Bricklets can be used exactly the same way as if they were connected to your
controlling device via USB.</p>
<p>You need a Master Brick with firmware version 1.3.0 or newer to use this
extension.</p>
<p>The following combinations with other Extensions in a stack are possible
(regardless of order):</p>
<ul class="simple">
<li>WIFI / RS485 Master</li>
</ul>
</div>
<div class="section" id="technical-specifications">
<h2>Technical Specifications<a class="headerlink" href="#technical-specifications" title="Permalink to this headline">¶</a></h2>
<table border="1" class="docutils">
<colgroup>
<col width="29%" />
<col width="71%" />
</colgroup>
<thead valign="bottom">
<tr class="row-odd"><th class="head">Property</th>
<th class="head">Value</th>
</tr>
</thead>
<tbody valign="top">
<tr class="row-even"><td>Current Consumption</td>
<td>110mA (transmit), 23mA (during sleep)</td>
</tr>
<tr class="row-odd"><td>&nbsp;</td>
<td>&nbsp;</td>
</tr>
<tr class="row-even"><td>Maximum Range (Outdoor)</td>
<td>TBD</td>
</tr>
<tr class="row-odd"><td>Maximum Transfer Rate</td>
<td>TBD</td>
</tr>
<tr class="row-even"><td>Maximum Concurrent Connections</td>
<td>15</td>
</tr>
<tr class="row-odd"><td>&nbsp;</td>
<td>&nbsp;</td>
</tr>
<tr class="row-even"><td>RF Output Power (Typical)</td>
<td>18dBm</td>
</tr>
<tr class="row-odd"><td>External Antenna Connector</td>
<td>RP-SMA Female (with pin inside) and U.FL</td>
</tr>
<tr class="row-even"><td>Security Protocols</td>
<td>WEP, WPA, WPA2 (Personal and Enterprise), EAP-FAST, EAP-TLS, EAP-TTLS, PEAP</td>
</tr>
<tr class="row-odd"><td>Supported Standards</td>
<td>IEEE 802.11b/g/n, with DSSS and CCK modulation</td>
</tr>
<tr class="row-even"><td>&nbsp;</td>
<td>&nbsp;</td>
</tr>
<tr class="row-odd"><td>Dimensions (W x D x H)</td>
<td>40 x 40 x 16mm  (1.57 x 1.57 x 0.63&quot;)</td>
</tr>
<tr class="row-even"><td>Weight</td>
<td>18g</td>
</tr>
</tbody>
</table>
</div>
<div class="section" id="resources">
<h2>Resources<a class="headerlink" href="#resources" title="Permalink to this headline">¶</a></h2>
<ul class="simple">
<li>GS1011MEES Homepage (<a class="reference external" href="http://www.gainspan.com/gs1011mees">here</a>)</li>
<li>Schematic (<a class="reference external" href="https://github.com/Tinkerforge/wifi-extension/raw/master/hardware/wifi-extension-schematic.pdf">Download</a>)</li>
<li>Outline and drilling plan (<a class="reference external" href="../../_images/Dimensions/wifi_extension_dimensions.png">Download</a>)</li>
<li>Source code and design files (<a class="reference external" href="https://github.com/Tinkerforge/wifi-extension/zipball/master">Download</a>)</li>
</ul>
</div>
<div class="section" id="wifi-network">
<span id="wifi-network-assembly"></span><h2>WIFI Network<a class="headerlink" href="#wifi-network" title="Permalink to this headline">¶</a></h2>
<p>With this Master Extension you will be able to create a wireless connection to
a Master Brick and all of its connected Bricks and Bricklets.
No Brick Daemon is necessary if you use this Extension.</p>
<p>If you want to connect the Brick Viewer with your WIFI setup,
you have to enter the IP of the WIFI Extension and the configured port
in the Setup Tab. After pressing &quot;Connect&quot; you will not connect to your local
running Brick Daemon but to your WIFI Extension.</p>
<a class="reference external image-reference" href="../../_images/Extensions/extension_wifi_brickv.jpg"><img alt="Brick Viewer configration for WIFI Extension" class="align-center" src="../../_images/extension_wifi_brickv.jpg" style="width: 641.0px; height: 287.0px;" /></a>
<p>For your own code modify the passed host and port to your <tt class="docutils literal"><span class="pre">connect</span></tt> call, e.g.:</p>
<div class="highlight-python"><div class="highlight"><pre><span class="n">ipcon</span><span class="o">.</span><span class="n">connect</span><span class="p">(</span><span class="s">&quot;localhost&quot;</span><span class="p">,</span> <span class="mi">4223</span><span class="p">)</span>
</pre></div>
</div>
<p>has to be changed to</p>
<div class="highlight-python"><div class="highlight"><pre><span class="n">ipcon</span><span class="o">.</span><span class="n">connect</span><span class="p">(</span><span class="s">&quot;192.168.0.25&quot;</span><span class="p">,</span> <span class="mi">4223</span><span class="p">)</span>
</pre></div>
</div>
</div>
<div class="section" id="wifi-configuration">
<span id="id2"></span><h2>WIFI Configuration<a class="headerlink" href="#wifi-configuration" title="Permalink to this headline">¶</a></h2>
<p>To configure the WIFI Extension open the Master Brick Tab in the Brick Viewer.
First of all you have to enter the SSID of your wireless network. The SSID is
the name of the wireless network to which the WIFI Extension should connect to
in client mode, respectively it is the name of the wireless network the WIFI
Extension provides in access point mode or ad hoc mode (this section focuses
on client mode). The SSID can be 32 ASCII characters long (quotation mark is
not allowed).</p>
<p>Then you have to select DHCP or static IP address configuration. In case of
you want to use DHCP simply select DHCP and configure the port.</p>
<a class="reference external image-reference" href="../../_images/Extensions/extension_wifi_connection_dhcp.jpg"><img alt="Configure connection as DHCP" class="align-center" src="../../_images/extension_wifi_connection_dhcp.jpg" style="width: 598.0px; height: 343.0px;" /></a>
<p>If you want to use a static IP address you have to configure that IP and the port.
Additionally configure the subnet mask and gateway address.</p>
<a class="reference external image-reference" href="../../_images/Extensions/extension_wifi_connection_static.jpg"><img alt="Configure connection as static IP" class="align-center" src="../../_images/extension_wifi_connection_static.jpg" style="width: 599.0px; height: 442.0px;" /></a>
<p>We suggest that you use an encrypted network. You can choose between
WPA/WPA2, WPA Enterprise (EAP-FAST, EAP-TLS, EAP-TTLS, PEAP) and WEP.</p>
<p>For WPA you only have to enter the key (limited to ASCII characters, without
the quotation mark).</p>
<a class="reference external image-reference" href="../../_images/Extensions/extension_wifi_encryption_wpa.jpg"><img alt="Configure WPA encryption" class="align-center" src="../../_images/extension_wifi_encryption_wpa.jpg" style="width: 599.0px; height: 376.0px;" /></a>
<p>For WPA Enterprise configure outer auth (FAST, TLS, TTLS, PEAP),
inner auth (MSCHAP, GTC), user, password and add the necessary certificates (ca cert, client cert, private key).</p>
<a class="reference external image-reference" href="../../_images/Extensions/extension_wifi_encryption_wpa_enterprise.jpg"><img alt="Configure WPA Enterprise encryption" class="align-center" src="../../_images/extension_wifi_encryption_wpa_enterprise.jpg" style="width: 599.0px; height: 508.0px;" /></a>
<p>For WEP enter the key and the key index. If the key index is unknown it is likely 1.
Please enter your key in hex notation with the full key length
(depending on 64bit and 128bit key).</p>
<a class="reference external image-reference" href="../../_images/Extensions/extension_wifi_encryption_wep.jpg"><img alt="Configure WEP encryption" class="align-center" src="../../_images/extension_wifi_encryption_wep.jpg" style="width: 599.0px; height: 376.0px;" /></a>
<div class="admonition note">
<p class="first admonition-title">Note</p>
<p class="last">WEP encryption has been broken and it doesn't provide any real security
anymore. We strongly suggest to use WPA/WPA2 instead.</p>
</div>
<p>If you don't want encryption select &quot;No Encryption&quot;.</p>
<p>Finally you have to configure the Power Mode. There are two Power Modes:
Full Speed and Low Power. In Full Speed mode the device consumes more power,
but you will be able to transmit much more messages. This will be the typical
configuration. If you only need to transmit only a few messages per second
(e.g. if you want to measure temperatures wirelessly, than you might to use
the Low Power Mode and save energy.</p>
<a class="reference external image-reference" href="../../_images/Extensions/extension_wifi_power_mode.jpg"><img alt="Configure Power Mode" class="align-center" src="../../_images/extension_wifi_power_mode.jpg" style="width: 599.0px; height: 344.0px;" /></a>
<div class="admonition note">
<p class="first admonition-title">Note</p>
<p class="last">The Power Mode is not saved permanently, it will automatically switch back
to Full Speed on reset of the Master Brick. Because Low Power Mode is not fast enough for the
initial enumeration after a reset. Therefore, you need to enable Low Power
Mode after each reset.</p>
</div>
<p>At the end, press &quot;Save WIFI Configuration&quot; to save the configuration permanently
on the WIFI Extension. If another option besides the Power Mode has be changed
then the Master Brick has to be restarted to apply the new configuration.
After restart you should be able to reach the Master Brick by entering the IP
address and port of the Brick in the Brick Viewer.</p>
<div class="section" id="example-client-mode-with-dynamic-ip-address">
<h3>Example: Client Mode with dynamic IP Address<a class="headerlink" href="#example-client-mode-with-dynamic-ip-address" title="Permalink to this headline">¶</a></h3>
<p>This examples shows how to configure the WIFI Extension to connect to a typical
Wi-Fi access point. This example assumes that the SSID of your access point is
&quot;MyHomeNetwork&quot; and that it is using WPA/WPA2 encryption with &quot;1234567890ABCDEF&quot;
as key.</p>
<p>Firstly, enter the SSID (the name of your Wi-Fi network) to connect to. For
example:</p>
<ul class="simple">
<li>SSID: MyHomeNetwork</li>
</ul>
<p>Next, enter a Hostname that you can use to connect to the WIFI Extension without
having to figure out which dynamic IP address got assigned to it. For example:</p>
<ul class="simple">
<li>Hostname: WIFI-Extension</li>
</ul>
<p>Secondly, select &quot;Client: DHCP&quot; for the Mode and Address, &quot;WPA/WPA2&quot; for
Encryption and enter the WPA/WPA2 key. For example:</p>
<ul class="simple">
<li>Key: 1234567890ABCDEF</li>
</ul>
<p>Save the WIFI configuration and restart the Master Brick. Now the WIFI Extension
should connect to your access point and you should be able to connect to it with
your program and Brick Viewer using &quot;WIFI-Extension&quot; as host.</p>
</div>
</div>
<div class="section" id="access-point-mode-and-ad-hoc-mode">
<span id="extension-wifi-adhoc-ap"></span><h2>Access Point Mode and Ad Hoc Mode<a class="headerlink" href="#access-point-mode-and-ad-hoc-mode" title="Permalink to this headline">¶</a></h2>
<div class="admonition note">
<p class="first admonition-title">Note</p>
<p class="last">Access Point and Ad Hoc mode are available in Master Brick firmware
version 1.3.3 and Brick Viewer version 1.1.8 and newer.</p>
</div>
<p>It is possible to communicate with the WIFI Extension without an external
Access Point. To allow that, the WIFI Extension implements an
Access Point and an Ad Hoc mode. Since Ad Hoc mode needs to be specifically
supported by the device you want to connect with, we recommend the
use of Access Point mode. In AP mode the WIFI Extension simulates an
access point and should show up as a normal access point on your PC.</p>
<a class="reference external image-reference" href="../../_images/Extensions/extension_wifi_connection_adhoc_ap.jpg"><img alt="Configure Ad Hoc or Access Point mode" class="align-center" src="../../_images/extension_wifi_connection_adhoc_ap.jpg" style="width: 599.0px; height: 343.0px;" /></a>
<p>You can choose Ad Hoc and Access Point mode with DHCP and static IP.
If you choose DHCP you have to provide the DHCP server! There is no DHCP
server implementation in the Wi-Fi module. Since that can be quite
cumbersome to get running, we recommend that you use static IP.</p>
<p>As encryption you can use WEP. WPA is unfortunately not supported in
Ad Hoc and Access Point mode. The WEP key should be 64 or 128 bit and
in hexadecimal notation. You can generate valid WEP keys
<a class="reference external" href="http://www.andrewscompanies.com/tools/wep.asp">here</a>.</p>
<div class="section" id="example-access-point-mode-with-static-ip-address">
<h3>Example: Access Point Mode with static IP Address<a class="headerlink" href="#example-access-point-mode-with-static-ip-address" title="Permalink to this headline">¶</a></h3>
<p>This examples shows how to configure the WIFI Extension as access point with
a static IP address and how to connect an Android smart phone to it.</p>
<p>Firstly, select a SSID (the name of the Wi-Fi network). Make sure to use a
name that is not already used by another Wi-Fi network near you. For example:</p>
<ul class="simple">
<li>SSID: TinkerforgeWLAN</li>
</ul>
<p>Secondly, select &quot;Access Point: Static IP&quot; for the Mode and Address and
configure IP, Subnet Mask and Gateway. For example:</p>
<ul class="simple">
<li>IP: 192.168.1.17</li>
<li>Subnet Mask: 255.255.255.0</li>
<li>Gateway: 192.168.1.1</li>
</ul>
<p>Select &quot;No Encryption&quot; or &quot;WEP&quot; for Encryption. If &quot;WEP&quot; should be used then
you also have to provide a Key. A 64 or 128 bit WEP key can be generated
<a class="reference external" href="http://www.andrewscompanies.com/tools/wep.asp">here</a>. The key has to be
entered in hexadecimal notation.</p>
<div class="admonition note">
<p class="first admonition-title">Note</p>
<p class="last">WEP encryption has been broken and it doesn't provide any real security
anymore. Unfortunately the WIFI Extension doesn't support WPA/WPA2 encryption
in Ad Hoc and Access Point mode.</p>
</div>
<p>Save the WIFI configuration and restart the Master Brick. Now the WIFI Extension
should act as an access point.</p>
<p>Thirdly, open the Wi-Fi settings on your Android smart phone and add a new
network. Enter the SSID of the WIFI Extension (default: TinkerforgeWLAN)
and select &quot;None&quot; or &quot;WEP&quot; for Security, according to the configuration of the
WIFI Extension. If you selected WEP you have to enter the generated WEP key as
Password in hexadecimal notation.</p>
<p>The WIFI Extension does not provide its own DHCP server, therefore you have to
configure a static IP address for your smart phone in the advanced options.
Change the IP settings from &quot;DHCP&quot; to &quot;Static&quot; and enter IP address, Gateway
and Network prefix length. For example:</p>
<ul class="simple">
<li>IP address: 192.168.1.23</li>
<li>Gateway: 192.168.1.1</li>
<li>Network prefix length: 24</li>
</ul>
<p>Finally, save the new network configuration and connect to it. Now your smart
phone should be connected to the access point of the WIFI Extension.</p>
</div>
</div>
<div class="section" id="authentication">
<span id="extension-wifi-authentication"></span><h2>Authentication<a class="headerlink" href="#authentication" title="Permalink to this headline">¶</a></h2>
<p>The WIFI Extension supports authentication since Master Brick firmware
version 2.2.0. Authentication is disabled by default. Tick the &quot;Use
Authentication&quot; check box and choose an authentication secret to enable it.
This secret can be 64 ASCII characters long. After saving the configuration
and restarting the Master Brick authentication is enabled.</p>
<a class="reference external image-reference" href="../../_images/Extensions/extension_wifi_authentication.jpg"><img alt="Configure Authentication" class="align-center" src="../../_images/extension_wifi_authentication.jpg" style="width: 599.0px; height: 376.0px;" /></a>
<p>Now every TCP/IP connection to the WIFI Extension has to prove to the
Master Brick that it knows the authentication secret before normal communication
can occur. See the <a class="reference internal" href="../../Tutorials/Tutorial_Authentication/Tutorial.html#tutorial-authentication">authentication tutorial</a>
for more information.</p>
</div>
<div class="section" id="leds-and-connectivity">
<span id="extension-wifi-leds"></span><h2>LEDs and Connectivity<a class="headerlink" href="#leds-and-connectivity" title="Permalink to this headline">¶</a></h2>
<a class="reference external image-reference" href="../../_images/Extensions/extension_wifi_caption_800.jpg"><img alt="WIFI Extension with caption" class="align-center" src="../../_images/extension_wifi_caption_600.jpg" style="width: 600.0px; height: 394.0px;" /></a>
<p>The blue power LED will be on permanently if the device is powered.
The green LED is the status LED (permanently off = error, blink = associating, on = associated).</p>
<p>The Wi-Fi module is equipped with an U.FL connector and an 75Ω U.FL to RP-SMA pigtail cable.
Depending on your application it is possible to disconnect the pigtail cable
and connect your own cable.</p>
</div>
<div class="section" id="programming-interface">
<h2>Programming Interface<a class="headerlink" href="#programming-interface" title="Permalink to this headline">¶</a></h2>
<p>See <a class="reference internal" href="../Bricks/Master_Brick.html#master-brick-programming-interface">Master Brick documentation</a>.</p>
</div>
</div>


          </div>
        </div>
      </div>
      <div class="clearer"></div>
    </div>
		<div id="tf_license">
			<a rel="license" href="http://creativecommons.org/licenses/by-sa/3.0/">
				<img alt="Creative Commons Licence" width="88" height="31" style="border-width:0" src="/static/images/cc_license_logo.png" />
			</a>
			The content of this page is licensed under
			<a rel="license" href="http://creativecommons.org/licenses/by-sa/3.0/">Creative Commons Attribution 3.0 Unported License</a>.
		</div>
		</div>
	</div>
</div>

  </body>
</html>