Sunday, October 28, 2012

Shrink Your Arduino Projects (ATtiny)

Ever since I started making projects with the Arduino, I’ve had a desire to shrink them down to a single, small circuit board. One of my first projects, a customizable SLR intervalometer, was packed in a phonebook-sized cardboard box and used the Arduino Deumilanove connected to a breadboard with jumper wires. I brought the box out to Central Park at 5am to make a timelapse of the sunrise, but when I got to the park, I spent 20 minutes fixing the connections between the Arduino, the breadboard, and the components. Since then, I’ve explored a few different ways of shrinking projects down and making them more robust. For the intervalometer, I designed a circuit board that had female header pins to seat an Arduino Nano. It was a huge improvement on the design, but I knew I could do a lot better.

I tried to teach myself AVR programming, but ran into a lot of snags along the way. By the time I got an LED to blink, I had invested hours in the project (a stark contrast to my first Arduino experience) and was feeling quite discouraged. I also tried using PICAXE chips. While it was much easier to get started with these chips than with AVR programming, I felt like I was abandoning all my years of C programming to learn a form of BASIC that’s an entirely different animal from when I used it as a kid.

Blinking an LED with an ATTiny Chip
When I came across the Programming an ATtiny w/ Arduino Tutorial below, I was elated. They walk you through the process of using the Arduino IDE and programming language to program 8 pin ATtiny45 or ATtiny85 chips. Not only that, but they also walk you through using an Arduino board to act as the programmer, or ISP. I had everything I needed, except for the chips, so I eagerly awaited my rush shipment of ATtinies.

I followed the tutorial and found that it was actually rather easy to program these little chips using the Arduino code and IDE. I tried out the basic digital and analog I/O functions and they all worked as expected. I did a little experimentation with a few other functions with some success, so your milage may vary. To test it all out, I even made a cute little blinky toy within about an hour. I’m now thinking about revisiting my intervalometer project and shrinking it down from a cardboard box to a mini Altoids tin!

Watch the video here

Programming an ATtiny w/ Arduino Tutorial

This tutorial shows you how to program an ATtiny45 or ATtiny85 microcontroller using the Arduino software and hardware. The ATtiny45 and ATtiny85 are small (8-leg), cheap ($2-3) microcontrollers that are convenient for running simple programs.

This tutorial is obsolete! See the updated version of this tutorial (with support for Arduino 1.0).

They are almost identical, except that the ATtiny85 has twice the memory of the ATtiny45 and can therefore hold more complex programs. We like to use both of them with paper circuits and other craft electronics. To program them, we’ll use a port of the Arduino core libraries created by Alessandro Saporetti and slightly modified by HLT.

Materials and Tools

For this tutorial, you’ll need:

  • Arduino Uno or Duemilanove (w/ an ATmega328, not an older board with an ATmega168)
  • ATtiny45 or ATtiny85 (8-pin DIP package)
  • a 10 uF capacitor (e.g. from Sparkfun or from Digi-Key)
  • a breadboard
  • jumper wires
  • For more information, see our list of materials and parts and our list of prototyping supplies.

    Software

    You’ll need the Arduino software (version 0022) and a plugin to add support for the ATtiny45/85. Installation instructions for the Arduino software are available for Windows and for Mac OS X.

    Download: Arduino software, attiny45_85.zip

    The ATtiny45 / ATtiny85 Microcontroller

    Here’s the pinout of the ATtiny45 and ATtiny85:

    clip_image002

    Installing ATtiny45 / ATtiny85 support in Arduino

    · Download: attiny45_85.zip

    · Locate your Arduino sketchbook folder (you can find its location in the preferences dialog in the Arduino software)

    · Create a new sub-folder called “hardware” in the sketchbook folder.

    · Copy the attiny45_85 folder from the attiny45_85.zip to the hardware folder.

    · Restart the Arduino development environment.

    Turning the Arduino board into a programmer

    We’re going to use the Arduino board to program the ATtiny45 or ATtiny85. First,
    we’ll need to turn the Arduino board into an “in-system programmer” (ISP). To this:

  • Run the Arduino development environment.
  • Open the ArduinoISP sketch from the examples menu.
  • Select the board and serial port that correspond to your Arduino board.
  • Upload the ArduinoISP sketch.
  • Connecting the Arduino board and the ATtiny

    We’ll connect the Arduino board to the ATtiny as shown in the following diagram. Use the dot in the corner of the ATtiny to orient it properly. We’ll also connect a 10 uF capacitor between reset and ground on the Arduino board as shown in the diagram (the stripe on the capacitor that’s marked with a negative sign (-) should go to ground). The capacitor prevents the Arduino board from resetting (which starts the bootloader), thus ensuring that the Arduino IDE talks to the ArduinoISP (not the bootloader) during the upload of sketches. (The capacitor is needed if you’re using an Arduino Uno, and might also be necessary for an Arduino Duemilanove.)

    clip_image004

    Pin connections:

  • ATtiny Pin 2 to Arduino Pin 13 (or SCK of another programmer)
  • ATtiny Pin 1 to Arduino Pin 12 (or MISO of another programmer)
  • ATtiny Pin 0 to Arduino Pin 11 (or MOSI of another programmer)
  • ATtiny Reset Pin to Arduino Pin 10 (or RESET of another programmer)
  • Programming the ATtiny45 or ATtiny85

    Next, we can use the Arduino as an ISP to upload a program to the ATtiny45/85:

  • Open the Blink sketch from the examples menu.
  • Change the pin numbers from 13 to 0.
  • Select “ATtiny45 (w/ Arduino as ISP)” or “ATtiny85 (w/ Arduino as ISP)” from the Tools > Board menu (leave the serial port set to that of your Arduino board).
  • Upload the sketch.
  • You’ll probably get the following message, but don’t worry, the upload should have worked anyway:
  • avrdude: please define PAGEL and BS2 signals in the configuration file for part ATtiny85


    avrdude: please define PAGEL and BS2 signals in the configuration file for part ATtiny85


    Now, connect an LED and see if it blinks.

    clip_image006



    Reference



    The following Arduino commands should be supported:









    Taken From:


    http://blog.makezine.com/2011/10/10/how-to-shrinkify-your-arduino-projects/



    http://hlt.media.mit.edu/?p=1229

    Sunday, October 21, 2012

    Cisco Vlan Tunneling (Double Tagging / QinQ)

    IEEE 802.1Q Tunneling

    IEEE 802.1Q tunneling can be used to achieve simple layer two VPN connectivity between sites by encapsulating one 802.1Q trunk inside another. The topology below illustrates a common scenario where 802.1Q (or "QinQ") tunneling can be very useful.

    clip_image002

    A service provider has infrastructure connecting two sites at layer two, and desires to provide its customers transparent layer two connectivity. A less-than-ideal solution would be to assign each customer a range of VLANs it may use. However, this is very limiting, both in that it removes the customers' flexibility to choose their own VLAN numbers, and there may not be enough VLAN numbers (we can only use a maximum of 4,094 or so) available on large networks.

    802.1Q tunneling solves both of these issues by assigning each customer a single VLAN number, chosen by the service provider. Within each customer VLAN exists a secondary 802.1Q trunk, which is controlled by the customer. Each customer packet traversing the service provider network is tagged twice: the inner-most 802.1Q header contains the customer-chosen VLAN ID, and the outer-most header contains the VLAN ID assigned to the customer by the service provider.

    clip_image004

    802.1Q Tunnel Configuration

    Before we get started with the configuration, we must verify that all of our switches support the necessary maximum transmission unit (MTU), 1504 bytes. We can use the command show system mtu to check this, and the global configuration command system mtu to modify the device MTU if necessary (note that a reload will be required for the new MTU to take effect).

    S1# show system mtu

    System MTU size is 1500 bytes

    S1# configure terminal

    S1(config)# system mtu 1504

    Changes to the System MTU will not take effect until the next reload is done.

    Next, we'll configure our backbone trunk to carry the top-level VLANs for customers A and B, which have been assigned VLANs 118 and 209, respectively. We configure a normal 802.1Q trunk on both ISP switches. The last configuration line below restricts the trunk to carrying only VLANs 118 and 209; this is an optional step.

    S1(config)# interface f0/13

    S1(config-if)# switchport trunk encapsulation dot1q

    S1(config-if)# switchport mode trunk

    S1(config-if)# switchport trunk allowed vlan 118,209

    S2(config)# interface f0/13

    S2(config-if)# switchport trunk encapsulation dot1q

    S2(config-if)# switchport mode trunk

    S2(config-if)# switchport trunk allowed vlan 118,209

    Now for the interesting bit: the customer-facing interfaces. We assign each interface to the appropriate upper-level (service provider) VLAN, and its operational mode to dot1q-tunnel. We'll also enable Layer two protocol tunneling to transparently carry CDP and other layer two protocols between the CPE devices.

    S1(config)# interface f0/1

    S1(config-if)# switchport access vlan 118

    S1(config-if)# switchport mode dot1q-tunnel

    S1(config-if)# l2protocol-tunnel

    S1(config-if)# interface f0/3

    S1(config-if)# switchport access vlan 209

    S1(config-if)# switchport mode dot1q-tunnel

    S1(config-if)# l2protocol-tunnel

    S2(config)# interface f0/2

    S2(config-if)# switchport access vlan 118

    S2(config-if)# switchport mode dot1q-tunnel

    S2(config-if)# l2protocol-tunnel

    S2(config-if)# interface f0/4

    S2(config-if)# switchport access vlan 209

    S2(config-if)# switchport mode dot1q-tunnel

    S2(config-if)# l2protocol-tunnel

    We can use the command show dot1q-tunnel on the ISP switches to get a list of all interfaces configured as 802.1Q tunnels:

    S1# show dot1q-tunnel

    dot1q-tunnel mode LAN Port(s)

    -----------------------------

    Fa0/1

    Fa0/3

    Now that our tunnel configurations have been completed, each customer VLAN has transparent end-to-end connectivity between sites. This packet captureshows how customer traffic is double-encapsulated inside two 802.1Q headers along the ISP backbone. Any traffic left untagged by the customer (i.e., traffic in the native VLAN 1) is tagged only once, by the service provider.

    Taken From: http://packetlife.net/blog/2010/jul/12/ieee-802-1q-tunneling/

    Other:

    Friday, October 5, 2012

    Wifi on Linux via Command Line

    Connect to a wireless network via command line


    I know, the first thing you are asking is “Why would I want to have to connect to a wireless network from the command line?” To that question I can give you a simple answer…What if you want to create a script to run that will bring up your wireless network as soon as your desktop is loaded? You could get really complex and create a start up script to load a desktop based on what wirelessaccess point you needed to join. That’s one of the beauties of Linux, if you can dream it, you can do it.
    But I am getting too far ahead of myself. Let’s get back to the basics shall we? First I am going to assume that your wireless card was detected by your distribution and has the proper drivers loaded. With that accomplished you will need to have the following tools:
    • ifconfig: Enable your wireless device.
    • iwlist: List the available wireless access points.
    • iwconfig: Configure your wireless connection.
    • dhclient: Get your IP address via dhcp.
    The first command you need to use is ifconfig. With this command you are going to enable your wireless device. Most likely your device will be called wlan0. So in order to enable this you would enter the command (as root):

    ifconfig wlan0 up

    You won’t see any feedback unless there is a problem.
    The next step is to scan for your wireless network to make sure it is available. Do this with the following command:

    iwlist wlan0 scan

    With this command you will see output like the following:

    Cell 01 - Address: 00:21:43:4E:9B:F0
    ESSID:"HAIR STROBEL"
    Mode:Master
    Channel:5
    Frequency:2.432 GHz (Channel 5)
    Quality=100/100? Signal level:-45 dBm? Noise level=-95 dBm
    Encryption key:on
    IE: WPA Version 1
    Group Cipher : TKIP
    Pairwise Ciphers (1) : TKIP
    Authentication Suites (1) : PSK
    IE: IEEE 802.11i/WPA2 Version 1
    Group Cipher : TKIP
    Pairwise Ciphers (1) : CCMP
    Authentication Suites (1) : PSK
    Bit Rates:1 Mb/s; 2 Mb/s; 5.5 Mb/s; 11 Mb/s; 22 Mb/s
    6 Mb/s; 9 Mb/s; 12 Mb/s; 18 Mb/s; 24 Mb/s
    36 Mb/s; 48 Mb/s; 54 Mb/s
    Extra:tsf=000002f1d9be01b7

    So you know this network is available. From the above output you can also see this network is employing WPA2, so you will need a passkey. If you don’t know that passkey, you are out of luck (which would be the case no matter if you were using a front end in Linux, Windows, or Mac.)

    Now it’s time to configure your connection. To do this issue the command:

    iwconfig wlan0 essid NETWORK_ID key WIRELESS_KEY

    Where NETWORK_ID is the ESSID of the network with which you want to connect and WIRELESS_KEY is the security key needed to connect to the wireless access point.

    Note: iwconfig defaults to using a HEX key. If you want to use an ascii key you will have to add the “s:” prefix to your key like so:

    iwconfig wlan0 essid NETWORK_ID key s:WIRELESS_KEY

    Now that you have your configuration set, it’s time to get an IP address with the help of dhclient. Issue the command:

    dhclient wlan0

    If no output is reported there are no errors. You should now be up and running.


    Make it a script

    Of course who wants to type out all of those commands. Instead of doing this you could create a script for this like so:

    #! /bin/bash
    ifconfig wlan0
    iwconfig wlan0 essid NETWORK_ID key WIRELESS_KEY
    dhclient wlan0

    Where NETWORK_ID is the actually essid of the network and WIRELESS_KEY is the security key for that network. Save this script with the filename wireless_up.sh and then make this script executable with the command:

    chmod u+x wireless_up.sh

    You can make this a global command by placing this script in /usr/local/bin. You can now issue the command wireless_up.sh from anywhere in your directory structure and it will run, connecting you to the configured wireless access point.

    If you frequent many wireless access points you can create a script for each one giving them each unique names. By doing this, when you need to connect to a specific access point, just run the script associated with that access point and you’re good to go.

    Taken From: http://www.ghacks.net/2009/04/14/connect-to-a-wireless-network-via-command-line/

    Saturday, September 22, 2012

    Customized Windows 7 (RT Se7en Lite and AIK)

    How To Create a Customized Windows 7 Installation Disc With Integrated Updates

    image

    Do you want to save time when installing Windows 7? You can create a customized installation disc and have it perform an installation without asking you questions, integrate updates and drivers, tweak Windows, and remove Windows components.

    We’ll be using RT Se7en Lite for this – if you’ve used nLite with Windows XP or vLite with Windows Vista in the past, it works similarly. RT Se7en Lite is a sort of vLite or nLite for Windows 7.

    Image Credit: bfishadow on Flickr

    What You’ll Need

    To do this, you’ll need Windows 7 installed on your computer. You’ll also need to download and install the Windows Automated Installation Kit (WAIK) for Windows 7 from Microsoft – RT Se7en Lite is a more user friendly frontend to WAIK.

    WAIK is 1.7 GB, so the download may take a while if you have a slow Internet connection. After downloading it, extract it with a file extraction program such as 7-Zip.

    Run the StartCD.exe file, select Windows AIK Setup, and follow the instructions on your screen to install Windows AIK.

    You’ll also need a Windows 7 installation source – either a physical disc or ISO file.

    Next, download and install RT Se7en Lite from here – it’s free and donation-supported. Download the appropriate version for your version of Windows — x86 if you’re using a 32-bit version of Windows or x64 if you’re using a 64-bit edition.

    Using RT Se7en Lite

    First, click the Browse button and provide your Windows 7 files – if you have an ISO file on your hard drive, click Select ISO file and navigate to it. If you have a Windows disc, insert the disk, click Select OS path, and navigate to the disc.

    If you provide an ISO, you’ll have to specify an extraction path where the ISO’s files will be extracted to – you’ll need several gigabytes of space on your hard disk for this.

    The files will be automatically extracted after you provide your ISO.

    After selecting the edition of Windows 7 you’re customizing, RT Se7en Lite will load the image. If you have a Windows 7 disc without Service Pack 1 integrated, click the Slipstream Service Pack option in the “Select an image to configure” window and you’ll be able to integrate SP1.

    Click over to the Task pane and select the tasks you want to perform after the image is loaded. You can manually check the check boxes or select a preset. Selecting one of the check boxes will activate the corresponding configuration pane at the left side of the window.

    The integration pane allows you to integrate Windows updates, drivers, language packs, and even third-party applications into your installation disc. To integrate updates, you’ll have to download their installer files and load them into RT Seven Lite with the Add button.

    On the Features Removal or Components tab, you can permanently remove components from your Windows installation disc and control which Windows features are installed by default. For example, you can remove the included games from your Windows installer disc, or force Windows to install the IIS web server by default.

    The Tweaks tab allows you to customize the default settings for the Windows Control Panel, Desktop, Explorer, and a variety of other Windows components. You can even add custom registry settings to tweak other settings that aren’t present in the list.

    The Unattended section allows you to create an unattended installation disc – you provide answers to installation questions beforehand and Windows will install without asking you these questions during the installation process.

    For example, you can enter your product key ahead of time so Windows won’t ask you for it. The other tabs allow you to control other settings – for example, selecting the hard disks that Windows will install on. If you complete enough of these settings, Windows will install automatically without asking you any questions during the installation, allowing you to perform an unattended Windows installation.

    The Customization pane allows you to add custom screensavers, wallpapers, themes, documents, and even logon screens to your Windows 7 disc.

    On the ISO Bootable pane, you can create a ISO image from your customized installation disc. You can also burn it to a DVD or copy it to a bootable USB drive.

    RT Se7en Lite’s developers recommend booting your custom Windows 7 image in a virtual machine and installing it in the virtual machine before you use it on a physical computer, just to make sure everything is working properly.

    You can use VirtualBox or VMware Player to do this – both are free.

    Wednesday, September 5, 2012

    Linux Desktop On Your Android Phone (Ubuntu)

    Of all the various flavors of Linux available to those looking for an open-source platform from which to compute, Ubuntu is by far the simplest to install – allowing even the most hapless noob to download and enjoy.

    Being that Google’s Android is also open source, developers have enjoyed a great deal of success porting Windows 95, 98, XP, as well as many other Linux iterations onto Android devices, but hitherto, not Ubuntu.

    Those of you running a rooted Android may be pleased to learn of Ubuntu Installer, a Market app which - yes, you’ve guessed it - installs Ubuntu. Even for the unseasoned tinkerer, it’s pretty simple to install – providing you check for the compatibility of your device/ ROM in advance.

    clip_image001

    Here is a list of the key features:

    • Run Ubuntu within Android.
    • Access to both Android & Ubuntu at same time.
    • Highly optimized for ARM devices.
    • LXDE Desktop (very lightweight)
    • Ubuntu update manager, Software centre fully operational.
    • File system access: Ability to access files on your SD card and internal memory from Ubuntu.
    • Set resolution: Ability to set screen size on boot (you no longer have to download a certain image for different screen sizes!)
    • Choose Ubuntu Installation type: ‘large’ and ‘lightweight’

    By default, we always recommend performing such installs on spare devices as opposed to your daily runner. We don’t expect anything to go wrong, but if it were to, we wouldn’t want the issue to intervene with your daily digital errands.

    clip_image002

    There’s a large version of the installer (1.5 GB downloaded, 3.5 GB installed), which comes with all the bells and whistles such as Firefox, Thunderbird, openoffice.org suite, GIMP Image Editor and so forth, as well as a lightweight version, which contains the basic features required for Ubuntu to function without a hitch.

    clip_image003

    clip_image004

    Before you download, please check the compatibility of your device via the developer’s blog.

    Download Ubuntu Installer for Android [Market Link]

    Please let us know how you get on with Ubuntu Installer; feel free to share your sentiments via our Facebook and Google + pages linked below!

    You can follow us on Twitter, add us to your circle on Google+ or like our Facebook page to keep yourself updated on all the latest from Microsoft, Google, Apple and the web.

     

     

    MOBILE PC - Ubuntu On Android With External PC Screen, Mouse and Keyboard

    Taken From: http://www.redmondpie.com/install-and-run-ubuntu-on-your-android-device-with-ubuntu-installer-download-now/

    Thursday, August 23, 2012

    Stream Videos and Music Over the Network With VLC

    clip_image002

    VLC includes a fairly easy-to-use streaming feature that can stream music and videos over a local network or the Internet. You can tune into the stream using VLC or other media players.

    Use VLC’s web interface as a remote control to control the stream from elsewhere. Bear in mind that you may not have the bandwidth to stream high-definition videos over the Internet, though.

    Broadcasting a Stream

    To start broadcasting a network stream, click the Media menu in VLC and select Stream.

    clip_image004

    In the Open Media dialog, select the media you want to stream. You can select one or more files on the Files tab, select a CD or DVD on the Disc tab, or even capture video from a specific device on the Capture Device tab. For example, you could stream your desktop by selecting Desktop on the Capture Device tab.

    Click the Stream button after selecting your media.

    clip_image006

    The Stream Output window will appear. The first pane just lists the media source you selected – click Next to continue.

    clip_image008

    On the Destination Setup pane, you’ll need to choose a destination for your stream. For example, you can select HTTP to listen for connections – other computers can connect to your computer and watch the stream. You can also select UDP to broadcast to a specific IP address or range of IP addresses.

    After selecting your destination, click the Add button. You may also want to activate the Display locally check box – if you do, you’ll see and hear the media being streamed on your local computer, so you’ll know it’s playing correctly.

    clip_image010

    After adding a destination, you’ll be able to customize its settings. With the HTTP destination, you could specify a custom path – but the default one will work fine.

    You can also tweak the transcoding settings – by transcoding to a lower quality, VLC can save network bandwidth.

    clip_image012

    Click Next to continue to the Option Setup pane – you probably don’t need to tweak any of the advanced options here. To start streaming, click the Stream button.

    clip_image014

    If you selected the Display locally option, the media will start playing locally on your computer.

    If you have a firewall enabled, ensure that VLC is an allowed program or no computers will be able to connect. If you’re trying to stream over the Internet, you may also need toforward ports on your router.

    Connecting to a Stream

    To tune in to a stream, click the Media menu in VLC on another computer and select Open Network Stream.

    clip_image016

    Assuming you used HTTP, enter an address like http://IP.Address:8080. See this postif you need help finding the other system’s IP address.

    (If you specified a custom path for your HTTP stream in the Path box, you’ll need to specify the custom path here. For example, if you specified /path as your custom path, you’d enter http://IP.Address:8080/path in the box here.)

    clip_image018

    After clicking Play, the stream should start playing. To control playback remotely, trysetting up VLC’s web interface. If you encounter an error, make sure VLC isn’t being blocked by a firewall on the streaming system.

    clip_image020

    Taken From: http://www.howtogeek.com/118075/how-to-stream-videos-and-music-over-the-network-using-vlc/

    Tuesday, August 21, 2012

    Forward Ports on Your Router From a Desktop (UPnP)

    clip_image002

    UPnP is a convenient way for programs to forward ports without you having to pull up your router’s web interface and forward ports manually. Unfortunately, some programs that require port forwarding don’t support UPnP – that’s where UPnP PortMapper comes in.

    This application takes care of port forwarding for you, right from your desktop. If your IP address changes, you don’t need to log into your router and change your port forwarding rules – you can have the application update them for you.

    If you visit a friend’s house and join their network, you don’t have to ask for their router’s password to forward ports – just fire up the application and activate your preset rules.

    Installation

    UPnP Port Mapper is written in Java, so you’ll need the free Java Runtime Environmentinstalled to run it. After installing Java, you can download UPnP Port Mapper from SourceForge. In addition to Windows, this application also works on Mac OS X and Linux.

    UPnP Port Mapper communicates with your router with the UPnP protocol, so you’ll also need a router with UPnP enabled to use this application. If UPnP is disabled on your network’s router, this program can’t do anything.

    After downloading UPnP Port Mapper, double-click the .jar file to launch it.

    clip_image004

    Forwarding Ports

    To get started, click the Connect button in UPnP Port Mapper. If you see a Windows Firewall pop-up window, click the Unblock button. You may have to allow Java network access in the Windows firewall pop-up that appears.

    If UPnP PortMapper informs you that it can’t find your router, click the Connect button again unblocking the application in the Windows firewall.

    clip_image006

    If it worked, you’ll see a list of UPnP port mappings in the top pane (this list will be empty by default), as well as your router’s external IP address on the Internet and its IP address on your local network.

    To create a new port forwarding preset, click the Create button.

    clip_image008

    Enter a description for your port forwarding rule and provide a list of one or more ports to forward. You can specify port ranges or forward a list of ports using a single preset.

    You can also specify a specific remote host. If you enter an IP address, only traffic from that IP address will be forwarded to your computer from your router. For example, you can use this feature to only allow connections from a friend’s IP address on the Internet.

    The Use local host box is checked by default, making it easy to forward ports without having to double-check your computer’s local IP address. However, you could also use this application to forward ports to multiple different computers on your network.

    clip_image010

    Port forwarding presets you specify will appear  in the Port mapping presets box. Select a preset and click the Use button to activate it.

    Clicking this button forwards the ports on your router – they’ll appear in the Port mappings box at the top of the window. You can remove port mappings by selecting them and clicking the Remove button.

    clip_image012

    The port mappings will be saved on your router until its UPnP data is cleared – depending on your router, this may happen when your router is restarted. If you open UPnP Port Mapper later and click the Connect button, you’ll see your active port mappings.

    You will also need to reapply port mapping settings if your computer’s local IP address changes.

    With your presets, you can quickly and easily apply these port mapping settings on any network with a router that supports UPnP – this can be convenient if you move around and need to forward ports for gaming, servers, or other purposes.

    Taken From: http://www.howtogeek.com/122227/how-to-quickly-forward-ports-on-your-router-from-a-desktop-application/