Πώς να δημιουργήσετε έναν προσωπικό διακομιστή Dev σε ένα $ 5 Raspberry Pi

Σε αυτό το άρθρο, θα μάθετε πώς να δημιουργείτε έναν προσωπικό διακομιστή dev εγκαθιστώντας τα Git, Node.js, Rust και Docker σε ένα Raspberry Pi. Η φθηνότερη επιλογή κοστίζει μόλις 5 $. Μπορείτε να λάβετε δωρεάν ένα κιτ εκκίνησης (25 $) εδώ.

Το Raspberry Pi είναι ένας πολύ ισχυρός υπολογιστής σε ένα μικρό πακέτο. Η φθηνότερη επιλογή, το Raspberry Pi Zero, είναι ικανό να εκτελεί μια πλήρως εξοπλισμένη διανομή Linux και να οδηγεί μια οθόνη υψηλής ευκρίνειας. Είναι το μέγεθος των δύο νομισμάτων (US Quarters) και κοστίζει 5 $.

Στα 10 $, το Raspberry Pi Zero W διαθέτει ενσωματωμένο WiFi και Bluetooth.

Στο "high end", μπορείτε να αγοράσετε ένα κιτ επιτραπέζιου Raspberry Pi 4 με λιγότερα από 100 $. Διαθέτει CPU 4-πυρήνων ARM που λειτουργεί στα 1,5GHz, GPU, 2 GB (έως 8 GB) μνήμης RAM, 16 GB (έως 2 TB) αποθήκευσης σε κάρτες MicroSD, υποδοχές wifi και Ethernet, θύρες USB, θύρες HDMI που μπορούν να οδηγήσουν Οθόνες 4K, καθώς και πληκτρολόγιο και ποντίκι.

Το Raspberry Pi είναι επίσης κάτι περισσότερο από έναν τυπικό υπολογιστή. Είναι διασκεδαστικό και πειρατικό. Το Raspberry Pi εκθέτει μια σειρά ακίδων GPIO (General Purpose Input Output). Μπορείτε να συνδέσετε απλούς αισθητήρες (π.χ. θερμοκρασία, υγρασία, φως) σε αυτές τις ακίδες και να τραβήξετε τα δεδομένα τους από τις εφαρμογές σας που εκτελούνται στο Pi.

Θα μπορούσατε επίσης να συνδέσετε φώτα LED και κινητήρες σε αυτές τις ακίδες και να χρησιμοποιήσετε την εφαρμογή Pi για να οδηγήσετε αυτές τις περιφερειακές συσκευές.

Για πιο περίπλοκους αισθητήρες ή συσκευές, όπως μονάδες κάμερας, μπορείτε επίσης να συνδεθείτε στο Pi μέσω USB ή Wifi και να αποκτήσετε πρόσβαση σε αυτά μέσω λογισμικού. Το Pi είναι μια εξαιρετική συσκευή για μάθηση και hacking υλικού. Εξαιτίας αυτού, χρησιμοποιείται ευρέως σε εκπαιδευτικά περιβάλλοντα.

Ωστόσο, η διασκέδαση και η μάθηση δεν είναι μόνο για τα παιδιά. Με τόση υπολογιστική ισχύ και εύκολη δικτύωση, το Raspberry Pi μπορεί εύκολα να γίνει προσωπικός διακομιστής εφαρμογών για εσάς.

Για παράδειγμα, μπορείτε να βάλετε μια εφαρμογή ιστού (για παράδειγμα, μια εφαρμογή συλλογής σημειώσεων ή μερικά έγγραφα / βίντεο για κοινή χρήση) σε ένα Pi, να το φέρετε σε μια σύσκεψη και να το κάνετε προσβάσιμο σε όλους στην αίθουσα. Δεν χρειάζεστε καν το Διαδίκτυο. Είναι εντελώς αποκεντρωμένο και ανθεκτικό στη λογοκρισία.

Ο προσωπικός διακομιστής είναι ιδιαίτερα χρήσιμος για προγραμματιστές. Μπορείτε να έχετε ένα ξεχωριστό περιβάλλον για να αναπτύξετε και να δοκιμάσετε τις εφαρμογές σας από τον διακομιστή χωρίς να χρειάζεται να χάσετε το laptop σας. Ένας προσωπικός διακομιστής dev είναι σαν το Docker στα στεροειδή. Σε αυτό το άρθρο, θα σας διδάξω πώς να το δημιουργήσετε.

Πρώτα, πάρτε ένα Raspberry Pi

Εάν αυτό είναι το πρώτο σας Raspberry Pi, ο ευκολότερος (και πιο ακριβός) τρόπος να το ρυθμίσετε είναι απλώς να αγοράσετε ένα κιτ επιτραπέζιου υπολογιστή για περίπου 100 $. Έρχεται με όλα όσα χρειάζεστε για έναν υπολογιστή εκτός από την οθόνη.

Εάν χρησιμοποιείτε το Pi ως προσωπικό διακομιστή dev, ΔΕΝ θα χρειαστείτε οθόνη μετά την αρχική εγκατάσταση. Μπορείτε απλώς να το χρησιμοποιήσετε σε SSH από τον φορητό σας υπολογιστή μόλις ενεργοποιηθεί!

Μάθετε πώς να αποκτήσετε δωρεάν το βασικό κιτ Raspberry Pi όταν συμμετέχετε σε αυτήν την άσκηση εκμάθησης εφαρμογών ιστού υψηλής απόδοσης.

Φυσικά, εάν έχετε ανταλλακτικά υπολογιστών, όπως κάρτες MicroSD, τροφοδοτικό USB, πληκτρολόγιο και ποντίκι, μπορείτε να εξοικονομήσετε χρήματα αγοράζοντας μόνο τους πίνακες. Θα μπορούσατε να πάρετε μια κάρτα Raspberry Pi Zero για $ 5 και μια κάρτα Raspberry Pi 4 για 35 $.

Αλλά αυτό που λείπει από τον πίνακα είναι μια κάρτα MicroSD που λειτουργεί ως «σκληρός δίσκος» για την αποθήκευση του λειτουργικού συστήματος και των δεδομένων. Μπορείτε να αγοράσετε μια κάρτα MicroSD 16 GB για 10 $ online, μια συσκευή ανάγνωσης καρτών MicroSD και να χρησιμοποιήσετε το Raspberry Pi Imager για να φορτώσετε ένα λειτουργικό σύστημα στην κάρτα MicroSD από τον φορητό υπολογιστή σας.

Οι δύο δημοφιλείς επιλογές είναι το Raspberry Pi OS και το Ubuntu Linux. Και οι δύο είναι διανομές Linux που βασίζονται στο Debian. Τα περισσότερα κιτ εκκίνησης προεγκαθιστούν το Raspberry Pi OS στις κάρτες MicroSD τους (ονομάζεται NOOBS).

Στις επόμενες δύο ενότητες, θα σας μιλήσω και στα δύο λειτουργικά συστήματα.

Πώς να ρυθμίσετε το Raspberry Pi OS

Μόλις τοποθετήσετε την κάρτα MicroSD με NOOBS και συνδέσετε μια οθόνη, ένα πληκτρολόγιο και ένα ποντίκι, μπορείτε να ενεργοποιήσετε τη δύναμη!

Από εκεί, απλώς ακολουθήστε τις οδηγίες στην οθόνη για να εγκαταστήσετε το Raspberry Pi OS (παλαιότερα γνωστό ως το Raspbian OS). Στη συνέχεια, ρυθμίστε έναν κωδικό πρόσβασης για το χρήστη pi και ρυθμίστε τη σύνδεση wifi.

Αφού συνδεθείτε, μεταβείτε στο μενού Προτιμήσεις → Raspberry Pi Configuration και ενεργοποιήστε το SSH. Αυτό θα σας επιτρέψει να συνδεθείτε στο Pi από άλλον υπολογιστή.

Σημείωση : για να χρησιμοποιήσετε το Pi ως διακομιστή χωρίς κεφαλή, θα μπορούσατε να ζητήσετε μια στατική διεύθυνση IP από το δρομολογητή σας. Στο μέλλον, μπορείτε απλώς να ενεργοποιήσετε το Pi και να συνδεθείτε σε αυτό μέσω SSH από άλλους υπολογιστές ή τηλέφωνα.

Το Raspberry Pi OS προέρχεται από τη διανομή του Debian Linux. Έρχεται με ένα πλήρες περιβάλλον εργασίας χρήστη επιφάνειας εργασίας με ένα σύγχρονο πρόγραμμα περιήγησης ιστού, ένα τερματικό γραμμής εντολών και προγράμματα εκμάθησης όπως IDE για Python, Java και Scratch.

Για τους σκοπούς μας, ενδιαφερόμαστε κυρίως να εγκαταστήσουμε λογισμικό dev και διακομιστή μέσω του τερματικού της γραμμής εντολών.

Σε αυτό το σημείο, μπορείτε επίσης να μάθετε τη διεύθυνση IP του Pi στο τοπικό σας δίκτυο εκτελώντας την ακόλουθη εντολή. Στη συνέχεια, μπορείτε να SSH στο Pi χρησιμοποιώντας αυτήν την τοπική διεύθυνση IP, το όνομα χρήστη pi και τον κωδικό πρόσβασης που δώσατε κατά την εγκατάσταση.

$ hostname -I 192.168.2.108 172.17.0.1

Μπορείτε να βρείτε μια πλήρη λίστα πακέτων λογισμικού που είναι εγκατεστημένα στο Raspberry Pi OS εδώ. Είναι πάντα καλή ιδέα να ενημερώνετε και να αναβαθμίζετε στα πιο πρόσφατα πακέτα. Εκτελέστε την παρακάτω εντολή και κάντε υπομονή. Θα μπορούσε να πάρει μια ώρα.

$ sudo apt update && sudo apt upgrade

Πώς να ρυθμίσετε τον Ubuntu Server 20.04

Το Raspberry Pi OS κατευθύνεται κυρίως σε μια εμπειρία στην επιφάνεια εργασίας. Για προγραμματιστές που θέλουν απλώς να χρησιμοποιήσουν τη συσκευή ως διακομιστή ή συσκευή IoT, το Ubuntu Linux είναι μια πολύ καλύτερη επιλογή. Διαθέτει τα πιο πρόσφατα πακέτα λογισμικού και βιβλιοθήκες και θα μπορούσε να είναι πολύ πιο αποτελεσματικό χωρίς τα παράθυρα της επιφάνειας εργασίας, το πρόγραμμα περιήγησης στο Web, την Java, τα παιχνίδια και τα εργαλεία εκμάθησης.

Μπορείτε να κατεβάσετε εικόνες του Ubuntu Server για το Raspberry Pi από τον Ιστό και να τις φορτώσετε σε μια κάρτα MicroSD. Αλλά ίσως ένας πολύ πιο εύκολος τρόπος είναι απλά να χρησιμοποιήσετε το Raspberry Pi Imager, να επιλέξετε Ubuntu Server 20.04 TLS από το μενού και να γράψετε σε μια κενή κάρτα MicroSD.

Μόλις ετοιμαστεί η κάρτα MicroSD, θα πρέπει να ακολουθήσετε αυτές τις οδηγίες για να βάλετε το όνομα και τον κωδικό πρόσβασης του δικτύου WiFi. Αυτό επιτρέπει στη συσκευή Raspberry Pi να συνδεθεί στο δίκτυο μόλις εκκινήσει.

Basically, you can just put the MicroSD card into the Raspberry Pi, connect USB power, then wait for it to come online. You can find the raspberrypi device IP from your WiFi router, and then SSH into from any computer on your network.

The initial username and password are ubuntu / ubuntu. There is no need to even connect a monitor or keyboard. That’s it for a completely headless setup!

Note: if, for some reason, your Raspberry Pi cannot connect to WiFi at startup, you can hook up an HDMI display and a USB keyboard to it. Then follow these instructions to debug and set up WiFi on the running system.

Next, let's install the developer tool stack on the Pi.

Install Git

I always install Git on all my development environments because a lot of software can be directly retrieved from Git repositories. It saves me the trouble of downloading and copying.

Git also allows me to save and backup my own work in private repositories. For a small computer like Raspberry Pi, I would recommend that you save work in Git in case you lose the device or MicroSD card.

The following command installs Git:

$ sudo apt install git

Install Node.js

To turn the Raspberry Pi into a personal dev server for web applications, you need to install a modern web application runtime.

For most developers today, the best starting point is Node.js, which allows you to write server-side applications in JavaScript. The following two commands install Node.js on your Pi.

$ curl -sL //deb.nodesource.com/setup_10.x | sudo bash - $ sudo apt install nodejs

You can verify the installation is done correctly by running the following two commands. Both node and npm are now available.

$ node -v v10.19.0 $ npm -v 5.8.0

From here, you can use npm to install modules. For example, a commonly used npm module is the express framework for web applications.

$ npm install express

Now, you can go through the ExpressJS hello world example to create a web server on your Pi, and use web browsers from any computer on your network to access the application!

Install Rust

Rust is a fast growing programming language for writing both systems and web applications. It is close to the hardware, high performance, and memory safe. That makes Rust a great language for writing applications on resource constrained devices like the Raspberry Pi.

Also, Rust is the most beloved programming language by StackOverflow users for the past 5 years in a row. It is well worth your time to learn it!

An important use case of Rust is to compile Rust functions into WebAssembly and run them inside Node.js applications to achieve performance, safety, and code portability. It is a great choice for running computationally intensive web applications on a small Raspberry Pi device. In fact, you could get a free Raspberry Pi starter kit if you learn how to do that.

Note: strictly speaking, you do not need to install Rust tools on the Pi. You typically only need to run Rust programs in the Pi. You can compile your Rust program on any computer and then copy the compiled binaries to the Pi.

But still, with the powerful CPU, you can compile Rust programs on the Raspberry Pi. So why not?

The following command installs the Rust compiler toolchain on the Pi.

$ curl --proto '=https' --tlsv1.2 -sSf //sh.rustup.rs | sh

Run the following command to set up the correct path without logging out and back in again.

$ source $HOME/.cargo/env

The above command also installs the Rust package manager called cargo. Most Rust developers use cargo to build and share their work.

$ cargo -V cargo 1.44.1 (88ba85757 2020-06-11)

Next, you can clone our Rust learning repository, and learn from examples.

$ git clone //github.com/second-state/wasm-learning.git

Here is the hello world example. Have fun!

$ cd wasm-learning/rust/hello $ cargo build Compiling hello v0.1.0 (/home/pi/Dev/wasm-learning/rust/hello) Finished dev [unoptimized + debuginfo] target(s) in 4.35s $ target/debug/hello Hello, world!

Check out the official Rust web site and the Rust by Example books for more learning resources.

Learn Docker

We have seen that the Raspberry Pi OS and Ubuntu Server are both very capable Linux distributions with lots of software packages.

But what if I want to test applications on other OSes? Do I need to wipe clean and reinstall a different OS on the MicroSD card? The answer is no. You can just use Docker! The following two commands install docker on the Raspberry Pi:

$ curl -fsSL //get.docker.com -o get-docker.sh $ sudo sh get-docker.sh

Run the following command so that you can use Docker as the pi user:

$ sudo usermod -aG docker pi

Η εντολή Docker info δείχνει ότι το Docker είναι πλέον εγκατεστημένο σε σύστημα ARM με Raspberry Pi OS.

$ docker info ... ... Kernel Version: 4.19.118-v7l+ Operating System: Raspbian GNU/Linux 10 (buster) OSType: linux Architecture: armv7l CPUs: 4 Total Memory: 3.814GiB Name: raspberrypi ID: XERI:ZVVZ:XQVA:HXSH:KRPI:6GL2:5QRE:E7GZ:Z72Q:6SGF:CEI6:GKTC Docker Root Dir: /var/lib/docker ... ...

Στη συνέχεια, μπορείτε να τραβήξετε μια εικόνα Docker για την τελευταία διανομή Ubuntu, να την εκτελέσετε και να συνδεθείτε στο Ubuntu ως χρήστης της γραμμής εντολών.

$ docker pull ubuntu ... ... $ docker run -it ubuntu bash root# ... enter commands ...

Τι έπεται?

Σε αυτό το άρθρο, αγγίξαμε τα βασικά και μάθαμε πώς να μετατρέπουμε τη συσκευή σας Raspberry Pi 4 σε προσωπικό διακομιστή dev για προγραμματιστές λογισμικού.

Υπάρχουν πολλά να μάθουμε για τα Git, Node.js, Rust, WebAss Assembly και Docker. Υπάρχουν επίσης πολλές άλλες στοίβες προγραμματιστών που μπορείτε να εγκαταστήσετε στο Raspberry Pi.

Πάρτε το δωρεάν κιτ Raspberry Pi και πείτε μας τι κάνατε με αυτό!

Εγγραφείτε στο newsletter μας και μείνετε σε επαφή.