The objective of this post is to explain how to connect to the Linkit Smart Duo for the first time.
Introduction
The objective of this post is to explain how to connect to the Linkit Smart duo for the first time. We will first explain how to access its web UI do to some basic configurations.
Then, we will see how to connect to the board’s operating system (OpenWrt) through SSH. Finally, we will run a simple LED blink program that comes with the board.
Powering the board
To power the board, we just need to connect it to a USB port of a computer. In this case, since we are using the Linkit Smart duo, there should be 2 USB ports on the board. If we check the PCB, they will have a small text nearby indicating the type of port.
We want to connect the USB cable to the one that says “PWR/MCU“.
Connecting to the web UI
After connecting the device to a computer through USB, the green LED should turn on and not change. The orange LED will blink and then, after some seconds, it will stay on for about 30 seconds. After that, it will turn off and, on the available WiFi connections of your computer, you should be able to see a new network called LinkIt_Smart_7688_XXXXXX, where XXXXXX will differ from device to device because it corresponds to the MAC address [1]. Check figure 1 for an example of how the new network looks like on Windows 8.
Figure 1 – Linkit Smart network.
Important: In case the MAC address of your LinkIt Smart board is E17628 (you will see LinkIt_Smart_7688_E17628), please jump to the Getting Started Problems section, at the end of this post. Otherwise, you won’t be able to complete this tutorial.
Once you see the new network, choose to connect to it. After the connection is established, the orange LED should start blinking.
The next step will be slightly different depending on the software available on your computer. The Linkit Smart is configured by default to listen on a local domain called mylinkit.local [1]. Naturally, this domain needs to be resolved to a IP address for another machine to be able to communicate with it. To resolve this domain, which is local, our computer needs to support mDNS (multicast DNS).
Explaining what is mDNS in detail is outside of the scope of this post. So, just as a quick explanation, mDNS is a protocol that allows to make the resolution of locally defined names to IPs without the need for a dedicated infra-structures (such as a DNS server) [2]. The protocol works over multicast UDP [3].
So, if you are working on Windows 7, you will need to install a software such as Bonjour, which is the recommended one in the Linkit Smart Getting started guide. For Windows 8 and Linux, you should be able to access the local domain without the need to install any additional software [1].
So, after taking this into consideration, just open the browser and type mylinkit.local on the address. You should now access a login window as shown below in figure 2.
Figure 2 – Linkit Smart web UI.
If by some reason you can’t access in result of problems in the domain name resolution explained before, you should be able to access the same page by directly typing the IP address where the Linkit Smart is listening:
http://192.168.100.1
Accessing the device this way is shown in figure 3.
Figure 3 – Accessing the Linkit Smart web UI without domain name resolution.
In my case, I had already accessed the configuration page before but, when accessing for the first time, you will need to specify a password.
After defining the password you can sign in and check the configuration page. For this post, we will not change anything on that page.
Connecting through SSH
After dealing with the basic configurations, we will now see how to connect to the Linkit Smart operating system. To do so, we will use a software called Putty. You can get Putty from here.
Putty is a free SSH and Telnet Client [4] that will allow us to connect to the device in a command line environment.
After installing Putty, open it. On the first window that appears, just type mylinkit.local on the host name (same as we did to access the web UI) and 22 for the port. Choose the type of connection as SSH and click open. Check figure 4 on how the connection should be configured.
Figure 4 – Configuration of Putty to access the Linkit Smart board.
Then again, if you had problems with the mDNS resolution, just use the IP Address on the host name of the Putty configuration window: 192.168.100.1. Check figure 5 for this configuration.
Figure 5 – Configuration of Putty to access the Linkit Smart board without domain name resolution.
After opening the connection, Putty will give a Security Warning, as shown in figure 6. Just click “Yes”.
Figure 6 – Putty warning on connecting to Linkit Smart for the first time.
After that, a black command line window should appear with a “login as:” message, as shown in figure 7. Just type root and hit enter.
Figure 7 – Login to the Linkit Smart Operating System through SSH.
Then, it will ask for the password. Just type the password defined in the web UI and hit enter again.
Figure 8 – Password info to access the Linkit Smart through SSH in Putty.
You should now be connected to the board and see a window like the one shown in figure 9.
Figure 9 – Linkit Smart command line.
Running the Blink Program
The Linkit Smart Duo board comes with a blink example that we can run without knowing the details on how to interact with the hardware.
To do so, just type python /IoT/examples/blink-gpio44.py, as shown in figure 10, and press enter. After that, the orange LED should start blinking.
Figure 10 – Running the blink example of the Linkit Smart board.
To terminate the blink program, just press ctrl+c. To close the SSH connection and Putty, jut type exit and click enter.
Getting started problems
Although connecting to the board is pretty straightforward as we have seen, some unexpected problems may arise when testing it for the first time.
In my case, I had a problem that prevented me to access the Web UI both through mDNS and directly using the IP.
After powering the board for the first time, it started fine and the new network appeared. I was able to connect to it and, after that, the board orange LED started blinking, as expected . Nevertheless, I wasn’t able to access the web UI.
As explained in the FAQs section of the board, sometimes the network name will have a postfix _E17628 instead of the last 3 bytes of the real MAC address. Although it’s not clearly explained the effects of this problem, I was not able to connect to the web UI until this prefix was changed.
To do so, we need to perform a factory reset on our board. We first power it and wait until it completes the booting process (until the orange LED turns off and we see the Linkit Smart network is visible on our computer). After that, we just need to press the WiFi button of our board for 20 seconds.
The orange LED should flash fast for 1 second [5] and the board should reboot after that. Once the reboot is complete, just check if the MAC address of the Linkit Smart network has changed to something different than _E17628. If so, you should now be able to complete this tutorial without any problems.
Important: If after pressing the WiFi button the orange LED starts blinking continuously and doesn’t stop, this will mean that no factory reset was performed and the MAC problem won’t be corrected. If this happens, disconnect the USB power cable, connect it again and perform the factory reset procedure after the booting process, making sure you press the WiFi button during 20 seconds.
Final notes
As can be seen, getting started with the board is pretty straightforward. On top of that, the Linkit Smart is very well documented and I encourage everyone to read the getting started guide of the board, which is very easy to understand.
Related Posts
Related Content
- Linkit Smart FAQs page
- Linkit Smart factory reset
- Linkit Smart Developer’s guide
- Linkit Smart Getting started guide
- Linkit Smart plataform page
- mDNS wikipedia page
- Putty download Page
- Bonjour download page
References
[1] https://labs.mediatek.com/fileMedia/download/7d04d3f8-759b-41c7-a224-2bbb749604dd
[2] https://tools.ietf.org/html/rfc6762
[3] http://stackoverflow.com/questions/11835782/how-exactly-does-mdns-resolve-addresses
[4] https://the.earth.li/~sgtatham/putty/0.67/htmldoc/
Technical details
Windows version: 8.1
Pingback: Linkit Smart Duo: Python support | techtutorialsx
Pingback: Linkit Smart Duo: Python support | techtutorialsx
Pingback: Linkit Smart Duo: Blinking a LED with Python | techtutorialsx
Pingback: Linkit Smart Duo: Blinking a LED with Python | techtutorialsx
Pingback: LinkIt Smart Duo: Connecton to WiFi Network | techtutorialsx
Pingback: LinkIt Smart Duo: Connecton to WiFi Network | techtutorialsx
Pingback: LinkIt Smart Duo: Transferring files with SCP | techtutorialsx
Pingback: LinkIt Smart Duo: Transferring files with SCP | techtutorialsx
Pingback: LinkIt Smart Duo: Configuring mDNS services | techtutorialsx
Pingback: LinkIt Smart Duo: Configuring mDNS services | techtutorialsx