-
Notifications
You must be signed in to change notification settings - Fork 0
The Pi Fleet
The PiFleet is a bunch of (mostly) Raspberry Pi being managed by a central server (the PiHub). It is intended to provide an easy way to share boards between developers who are physically distributed around the globe.
The PiHub is running a Salt master that is used to manage the nodes. The RasPis are running a Raspbian image that has been customized to automatically bootstrap Salt.
- set up a VPN between the Hub and all nodes
- manage users and their SSH keys
- provide all nodes with a global IPv6 address
(Access is currently restricted to RIOT maintainers.)
In order to get access, send a preferred username together with an ssh public key to kaspar@schleiser.de.
If you don't trust the admins of pihub, it is advisable to create a new keypair just for accessing the pifleet:
# ssh-keygen -f ~/.ssh/id_rsa_pifleet
Then send the resulting public keyfile ("~/.ssh/id_rsa_pifleet.pub") to the pihub admins. T Make the new key known to your ssh agent (maybe add this to your .profile?):
# ssh-add ~/.ssh/id_rsa_pifleet.pub
In order to reduce typing, add the following to your ".ssh/config":
Host pihub
HostName pihub.riot-labs.de
Port 33333
IdentityFile ~/.ssh/id_rsa_pifleet
IdentitiesOnly yes
ForwardAgent yes
You can then log into the pihub via ssh on port 33333:
# ssh -A -p 33333 pihub.riot-labs.de
or, if you've added the ssh config snipped, just do:
# ssh pihub
Once you are logged into pihub, you can get a list of nodes:
# ls /tmp/nodes
Try accessing one (hostname was active at time of writing this):
# ssh pi-ca6dfad9
This should also work in one go, e.g. ("-t" important):
# ssh -t pihub ssh pi-ca6dfad9
In order to hook up a Pi to the fleet:
- download the latest image from https://riot-labs.de/dl/pifleet/
- unzip, write to sdcard, put in the raspi's sdcard slot
- connect the raspi to a network providing IPv4 via DHCP
- power up the raspi
- notify the pihub maintainers
The Pi will connect to pihub.riot-labs.de and await accepting of it's public key. Once accepted, Salt will configure users, the VPN and possibly other stuff. As soon as this provisioning is complete, you can no longer access the Pi as user "pi" for security reasons (it is now globally reachable).
note The raspi will set up a VPN and then be globally reachable via IPv6. Please check with the local sysadmins if that is alright.
RIOT - The friendly Operating System for the Internet of Things
Homepage | [GitHub] (https://github.com/RIOT-OS/) | Developers Mailing List | Users Mailing List | Twitter @RIOT_OS
- Family: ARM
- Board: Airfy Beacon
- Board: Arduino Due
- Board: CC2538DK
- Board: CC2650STK
- Board: HikoB Fox
- Board: IoT LAB M3
- Board: LimiFrog-v1
- Board: mbed_lpc1768
- Board: MSB-IoT
- Board: MSBA2
- Board: Nucleo-L1
- Board: Nucleo-F446
- Board: Nucleo-F334
- Board: Nucleo-F303
- Board: Nucleo-F091
- Board: Mulle
- Board: OpenMote
- Board: PCA1000x (nRF51822 Development Kit)
- Board: Phytec phyWAVE-KW22
- Board: RFduino
- Board: SAMR21-xpro
- Board: SAML21-xpro
- Board: Seeeduino Arch-Pro
- Board: SODAQ Autonomo
- Board: Spark Core
- Board: STM32F0discovery
- Board: STM32F3discovery
- Board: STM32F4discovery
- Board: UDOO
- Board: yunjia-nrf51822
- Board: Zolertia remote
- Family: ATmega
- Board: Arduino Mega2560
- Board: Arduino Uno
- Board: Arduino Duemilanove
- Family: MSP430
- Board: MSB-430H
- Board: TelosB
- Board: WSN430
- Board: Zolertia Z1
- Board: eZ430-Chronos
- Family: native
- Board: native
- Family: x86
- Board: Intel Galileo