This article explains in detail how to set up a working network connection between your Raspberry Pi and your development computer, so you can install applications on your Pi, copy files onto it, or change its settings. It is meant for beginners.
It applies to using a Raspberry Pi with a Windows 10 IoT operating system, but any other devices running Windows 10 IoT should behave similarly. It is not (necessarily) valid for Rapsberry Pis running another operating system.
If your Raspberry Pi running Windows 10 IoT Core is correctly connected to your network, but you do not know its address, you can find it using the IoT Core Dashboard. It is a tool that will scan your network for Windows 10 IoT devices, list them, and allow you to easily access the device's web based configuration interface.
Not just can it find your existing devices on your network, but you can also use it to flash an SD card with Windows 10 IoT core for use in a new device.
The IoT Core Dashboard can be downloaded at https://ms-iot.github.io/content/en-US/Downloads.htm, and if you need some guidance on using it also visit https://developer.microsoft.com/en-us/windows/iot/win10/getstarted/setupyourdevice
If you have a home network with a router that is configured to automatically assign IP addresses to devices on the network, you are on the lucky side. Just plug in your Raspberry Pi and computer into the same router, and you should be good to go. The router will - if properly configured - automatically assign an IP address to both devices, and they should be able to see each other.
But what if no home network is available, what if you have no router? Just a plain network cable... In this case you need to connect your Raspberry Pi directly to your laptop.
About ten years ago for such a direct connection a special type of network cable (with a wire pair crossed) was needed, but modern devices can use the same type of cable for a direct connection as you would use to plug them into a router.
Once plugging in the cable on both ends, you can easily check if the physical connection is up by checking the LEDs on the devices. Some laptops might not have this, but the Raspberry Pi definitely does - and it is enought to check on one end of the cable, if the connection is OK.
On a Raspberry Pi 2 B a green LED in the bottom right corner will be lit if there is a connection, and it will flash irregularly when data is sent over the network. If this LED is dark, it means you have a problem with your connection. A yellow LED in the bottom left corner will be lit if the connection is high-speed (100Mbps) and off if it is low-speed (10Mbps), which should rarely be the case with modern devices. Note however, that on other devices like laptops, and also future Raspberry Pi models the colors and location might be different. So do not rely on the exact color and location - the important thing is that there is an LED lit or even better flashing on at least one end of the cable.
A working physical connection is required, however not enough for communicating with your Raspberry Pi - you also need a working IP Protocol connection, for which it is crucial for the devices to have an IP address, and that no firewall blocks them from communicating.
So how do your laptop and Raspberry Pi get an IP address to be able to communicate? You can either configure an IP address manually, have one assigned by a so-called DHCP server, or just hope for things to work out by themselves - which happens more often you would expect.
When it comes to a situation in which a device needs to automatically acquire an IP address, most people immediately think that a DHCP server is required. However, that is not necessarily true.
The standards for the IP network protocol allow devices to use so-called link-local addresses in the range 169.254.1.1-169.254.254.254 if they can not acquire a valid IP address. Such addresses cannot be used for full featured internet communication - routers will not forward network traffic to such addresses - however they can be used to communicate on a local network segment. And that is enough to access your Raspberry Pi from your computer, transfer files and install new apps.
The good news is that if Windows 10 IoT core fails to acquire a valid IP address by other means, it will automatically pick a random address in this range and use it. The same is true for Windows 10 on your computer. Chances are good, that by simply connecting your Raspberry Pi to your Windows computer with a plain network cable, they will be able to connect, and you will see your Raspberry Pi listed in the IoT Dashboard device overview.
1) Start the IoT Dashboard on your computer, and switch to the My Devices tab
2) Connect your Raspberry PI to your computer's ethernet port
3) If you do not see your device listed after a few seconds, check your computer's network settings:
- Right-click on the WiFi icon, and select "Open Network and Sharing center".
- Press the "Change adapter settings" link on the left.
- Right-click your Ethernet adapter and select "Properties".
- Select "Internet Protocol Version 4" and click "Properties".
- Make sure that the "Acquire IP address automatically" radio button is selected.
For more information on link-local addresses, see https://en.wikipedia.org/wiki/Link-local_address
Once you managed to connect to your Pi, you could configure it to use a fixed IP address. The advantage is that while setting up the connection the first time might be a bit tricky, afterwards with the fix IP it will be easier to connect.
As there is no graphical configuration interface (at the moment) you will need to use PowerShell to make the configuration changes. But that is outside of the scope of this documentation...
Did you replicate this project? Share it!I made one
Love this project? Think it could be improved? Tell us what you think!