- Taschenbuch: 204 Seiten
- Verlag: Packt Publishing (7. März 2013)
- Sprache: Englisch
- ISBN-10: 1849694605
- ISBN-13: 978-1849694605
- Größe und/oder Gewicht: 19 x 1,2 x 23,5 cm
- Durchschnittliche Kundenbewertung: Schreiben Sie die erste Bewertung
- Amazon Bestseller-Rang: Nr. 987.444 in Fremdsprachige Bücher (Siehe Top 100 in Fremdsprachige Bücher)
Raspberry Pi Networking Cookbook (Englisch) Taschenbuch – 7. März 2013
|Neu ab||Gebraucht ab|
Kunden, die diesen Artikel gekauft haben, kauften auch
Es wird kein Kindle Gerät benötigt. Laden Sie eine der kostenlosen Kindle Apps herunter und beginnen Sie, Kindle-Bücher auf Ihrem Smartphone, Tablet und Computer zu lesen.
Geben Sie Ihre Mobiltelefonnummer ein, um die kostenfreie App zu beziehen.
Über den Autor und weitere Mitwirkende
Rick Golden sat in the computer lab at SUNY Fredonia and completed his first CAI tutorial for programming in APL. It was the summer of 1972; he was nine years old.
Most of the programming that he has done since then has been in Algol-based languages such as PL/I, FORTRAN, BASIC, Pascal, C, C++, C#, Objective C, and Java. He did occasionally write code in languages such as APL, FORTH, LISP, and Scheme; however, he could not find an employer that would actually pay him to develop solutions using those non-structured languages. In recent years he has had more success introducing organizations to scripting languages such as Python, Perl, TCL, Ruby, Groovy, and Node.js.
He also had the privilege to work in many different domains applying leading technologies through each cutting-edge wave of structured programming, architectural frameworks, and design patterns. He has championed distributed computing, scripting languages, SOA, browser applications, CMS, ESBs, web services, nosql and map-reduce, top-down structured approach, UML, use cases, XP - extreme programming, iterative development, and agile development. And, he is still moving forward.
Now, as he approaches his 40th year as a programmer, software architect, and product managera career that has spanned eighty percent of his life. He greatly enjoys guiding and coaching the next generation of programmers and software architectsawakening others to the same joy and passion for computing that he has had for the past 40 years.
Die hilfreichsten Kundenrezensionen auf Amazon.com (beta)
I must say that I was rather intrigued when I first came across the title of this book. Admittedly I had my own biases and expectations as to what I might find inside its covers. I was even more intrigued by the "blurb" on the front cover of "An epic collection of practical and engaging recipes for the RaspberryPi". Those of you who watch UK TV may be aware of a recent series of adverts concerning "somewhat deluded individuals" who, inspired by discovering bargains into propel themselves into quaintly ridiculous adventures e.g. surfing on an inflatable crocodile, joining a group of astronauts on a space mission equipped with a bicycle helmet " .. because they feel so "epic". Tricky word "epic" maybe better avoided.
This, slim little volume, did contain some useful 'recipes' , but not as many as I might have hoped for. The, obligatory, recipe on 'Installation and Setup' was competent and to the point, and is covered here, I am assuming, for the sake of completeness.
The recipe on remote access via SSH concentrated mainly on remote access via SSH from a PC running Microsoft Windows of some ilk using Putty. Putty is an excellent piece of software and is certainly something the RaspberryPi community should be aware of, so lots of plus points here. Configuring the RaspberryPi for SSH access was demonstrated by demonstrating the use of the command line rasp-config tool.
The next recipe is mainly concerned with installing updates as well as new software packages for the "official" Raspbian Linux distribution - which is Debian based, and, therefore, uses apt, the Advanced Packaging Tool via a text oriented front end called aptitude. Interestingly this recipe also covers the 'testing' package distribution, as you might have guessed, is primarily for testing. However, and this is what makes it interesting to the "adventurous" it does contain the most cutting-edge versions of Raspberry Pi software available from the "official" Raspbian Linux distribution. OK some brownie points here as any self-respecting "RaspberryPian" should be a competent user of apt.
The next recipe concerns file sharing - basically making files on remote machines that are network accessible from the RaspberryPi look as if they were local to the raspberryPi itself, and, in this case mounting files on a USB drive connected to the RaspberryPi so that they become part of the file system. This recipe does a pretty good job of explaining the "mysteries" of the mount command and editing /etc/fstab to automate the mounting of shared disks and folders at boot time. The parts of this recipe that interested me the most was the part covering mounting shared files on a Windows based PC and setting up a RaspberryPi as a Samba file server so that a RaspberryPi can be mounted as a network disk on a Windows PC, and also sharing a USB disk attached to the raspberryPi via Samba. Lots of browny points here as I am someone who would rather "make his windows PC more Linux like" than make his Linux machine more windows PC friendly.
So far so good, but hardly epic (well, maybe the Samba part was "epicish"). So what's left ...
Well, only one more section, entitled "Advanced Networking". This section contains recipes covering a number of interesting things such as creating a firewall, connecting remotely to the desktop, setting up a web server on the raspberryPi (Apache is covered in depth and then the differences between installing Apache and lighttpd and nginx are briefly surveyed.), installing a wiki and creating a wireless access point. Firewall creation makes use of the command line tool ufw (uncomplicated firewall) - which, I must admit was new to me ... so, once again, some brownie points. The Remote Desktop Protocol (RDP) is another protocol I have not really used before, and the recipe explaining how to install xrdp on the RaspberryPi was an "excuse to play", and to point Microsoft's Remote Desktop Connection application at a RaspberryPi and to enjoy the sight of a RaspberryPi desktop running on a Windows Machine. The recipe covering setting up MediaWiki was pretty competent and provided an opportunity to review and refresh my knowledge of this particular web application. The final recipe, the icing on the cake if you will covered setting up the RaspberryPi as a wireless access point with hostapd. This makes it possible to configure the Raspberry Pi to be a network hub for other wireless devices, and this was exciting as I could see how I could devise interesting sensors and home automation devices based on Microchip's new WiFi technology modules and various PIC processors (both big and small), and also all kinds of interesting remote sensor based projects sprang to mind, and similarly with Atmel WiFi solutions and Silicon Labs solutions.
With my appetite "whetted" what more goodies were there in store for me ? Sadly "there were none".
All in all this is a "most useful little cookbook" ... Epic it is not. Gastronomically speaking it would fall well short of "Julia Child's" standards and it is certainly no "Larousse Gastronomique" of the embedded Linux networking world.
What would I have liked to have been included and why ?
This is the part that is both easy and difficult. Easy because there are so many interesting networking recipes that could have been added. Difficult, because it is easy to criticise "omissions" without being faced with the reality of putting together a useful collection of recipes in the first place. As a result I would rate this book at somewhere between 3 and 4 stars. My perspective on the RaspberryPi is that it is a cheap and reasonably powerful "small embedded Linux platform" with a strong social network and active community behind it. There are other embedded Linux systems not that much more expensive and with a more impressive range of features and peripherals. The unique aspect of the RaspberryPi is that its goal is to "stimulate" an interest in computing in the young by enabling them to do "interesting things with it", albeit that the learning curve for mastering embedded Linux systems is quite steep. Networking, in this context, is very much a "means to an end". Most of the recipes covered in this book apply to Linux platforms in general and, pursuing the Cookbook metaphor they are more of the "how to bone a duck, how to prepare a good pastry, how to make a good stock. What is lacking are the "Lobster Thermidor" or "Mousse au Chocolat" or "Baba au Rhum" recipes. In other words, starting off with the technical details lets "conjure up" some exciting and inspiring applications that depend on having mastered the technical recipes and then putting them to some "exciting use". Maybe, instead of confining networking to TCP/IP ethernet and WiFi this cookery book should have included other networking technologies such as e.g. SPI, I2C, RS485, Lin and CAN, or included some aspects of Industrial Ethernet, or maybe included some recipes involving understanding and modifying interesting demo programs written e.g. using the Python 'Twisted' network programming framework. I would also have liked some recipes covering IPv6 and also 6lowPan, especially a recipe involving the linux-zigbee project e.g. Raspberry Pi daughterboard with ATmega128RFA1 microcontroller (with 802.15.4/6LoWPAN mesh networking capability) [...] or, e.g. [...]
Another recipe might have explored building RaspberryPi clusters for parallel computing , see e.g.[...] and then used that to e.g. do some interesting graphics processing or feature recognition.
The preface clearly states that this book is not aimed at the casual hobbyist or those using the Raspberry Pi as the learning tool that it was intended as. Instead, it is declared that the information contained within is for anyone that wants to utilize the capabilities of the Raspberry Pi for purposes that are more utilitarian in nature. This basically means that you are going to be learning about Linux server functionality and system administration from a practical standpoint, and this book selectively delivers on that promise. In any case, while you may not learn much specific to the Raspberry Pi, the device does provide a convenient context for learning the concepts related to Linux that are presented in this book.
The book starts out with the basic hardware setup. One thing I found a bit confusing in this section was a list of lists of hardware requirements for various uses of the Raspberry Pi even though the context was just that of an initial boot. Reading through these lists, I wasn't sure where the author was headed and it seemed like a sidetrack to me. Additionally, the fact this is a 1st edition book is unfortunately evident by some of the awkward verbiage present throughout. Many of the recipes presented also tended to repeat some information over and over, which after a while started to just seem like page filler.
Throughout the book, there is a generous quantity of references to related third party content for each topic, which is nice to have in one place for when you need more detail or want to explore a particular topic in greater depth. I would consider pretty much everything presented in the book to have practical value. If you happen to be utilizing the device as a fully functional computer, this book covers many concepts you will actually find yourself putting to use. That said, I felt the section on installing a wiki to be a bit out of place considering the context of everything else in the book, though it did provide an example on how to install a more complex web application in general.
If nothing else, the Raspberry Pi has given me enough consistent and fearless exposure to Linux to where I can actually start using it on a day-to-day basis. Along those lines, this book has helped to solidify that experience by exposing more of the inner workings of the Linux operating system that I wouldn't have otherwise immediately ventured into on my own. If you are already a Linux expert, this book may be a bit remedial for you, however if you are new(er) to Linux, this book covers several practical system administration tasks in clear detail that you will eventually want to just know how to do off hand. All-in-all this is a very useful book, especially if you are new to Linux, which I know many Raspberry Pi users are.
The first chapter covers the usual Raspberry Pi presentation with requirements and instructions to boot the Pi for the first time and make basic configuration. Most people who already own and use a Raspberry Pi can skip this chapter. But a quick read is a good thing to remind few facts about the Pi and its possibilities.
In the second chapter, the reader learns how to connect to Pi using SSH. It's nice to see examples from both Windows and Unix systems. It even covers the case of Raspberry reinstallation, when SSH does not recognize previous Raspberry SSH key. The chapter three then gives many basic Debian-based system (like Raspbian) tips to maintain the system, install and update packages.
Storage is completely covered in the chapter four. From adding USB or network storage, to making network sharing, this chapter give precise a concise instructions. This is very welcome for people who don't Linux well because the Pi can definitely lacks of storage space. Then, with it's low power consumption, the Pi is a good choice for a low cost file server. This allows to easy share between devices of your home network, very useful today with all those connecting things we can have at home : computers, tablet, phones, media players, tv... The only bad point is that only SAMBA network sharing is presented. FTP and and AFP (Apple/Mac) are both requirements on my side and for many users.
Finally, the fifth and last chapter explains few advanced setup and configuration :
* Firewall setup and configuration, to protect your Pi from unauthorized access
* RDP and VNC configuration, to remote graphically access your Pi Desktop
* HTTP server with Apache, lighttpd, nginx
* MediaWiki setup
* Wireless Access Point
With all the features covered in this book, it's a very good choice for people who don't know where to start to use their Raspberry as a server. This is basically a set of commons Linux/Debian tasks, compiled into a single book.
There is one thing which disturbed me, a screen is required for the first steps of this book. In my mind, using a Pi as a server means never plug it to a display. On my side, I NEVER plugged any display to my Raspberry Pis since I've got one. First, SSH access is enabled by default on Raspbian since a while. Secondly, we can found the Raspberry network address using one of many network scanner. I really like Fing, which is freely available on Windows, Mac, Linux, iOS and Android. This two tips are enough to use the Pi from the setup without any display plugged in.
Then, I think two setup are missing : DHCP and DNS server, with DNSmasq for example. Most of home routers do not provide a decent DHCP server or local DNS and the Pi is a perfect candidate to do that, thanks of its low power consumption. This is a really advanced features, and most people can afford with their existing setup.
I really liked all links and sources to the software used in the book. With all clear instructions and informations given, anyone should be able to build the perfect server for their need using a Raspberry Pi, low cost and low energy.
Very background-enriching, because it gives advises to people who just bought their first Pis and wonder where to start from. It really is very suitable as the first book to read on the matter. There's a little something for everyone.
It is pretty exhaustive regarding the different possible installment the Raspberry Pi can be used for. In any case (for media center, for desktop, as a gaming platform, etc.) the hardware set-up is defined thoroughly.
The cookbook formula is concise and at the same time gives the right information in a familiar way. Every recipe has the same structure and usually (at least in the cookbooks of PACKT Publishing) consists of:
* Recipe title or theme - a bit of introduction to the current task.
* Getting ready section - list of all the nuts and bolts that should be at hand.
* How to do it... section - the actual work to be done.
* How it works... section - thorough explanation of what just happened.
* There's more... section - some interesting (and sometimes enlightening) additional information.
* See also section - set of the most relevant to the current task links.
The How it works... sections are usually the educating part of a recipe. The There's more... sections can share different points of view to the topic. I especially liked the way the Raspberry Pi was compared to the game consoles in the way that any SD card with a different OS put on it could turn it into a completely different machine. Just like the cartridges with different games. It is obvious, but such exact comparison never occurred to me.
The book can roughly be divided into two parts. The first three chapters form something like an introduction to Raspberry Pi with a Linux primer. The Rest of the chapters (fourth and fifth) take into account a more advanced topics like sharing folders through a local network, setting up file server, accessing devices (USB disks) through a network ... And more - installing and running web servers (Apache, lighttpd and Nginx) and even a wiki (MediaWiki instance).
Starting as a book for the utter beginner in the field has always been a bit disappointing for me, because I thought the usual Raspberry Pi enthusiast is supposed to be technically literate at some level. But then I saw some article showing how a classroom in Africa is powered by Raspberry Pis. This made me realize that the number of enthusiasts should be much smaller than the number of actual users who are not supposed to know much about computers. So Raspberry Pi Networking Cookbook could be the perfect fit for the major user-base of the tiny credit-card sized computer.
Reading this piece of literature was very enjoyable. From a bit different perspective it is even a mild and gradual introduction to some of the Linux (mostly Debian) basics and networking as a whole. Although many of the concepts were not new to me, all of the additional tiny bits of info enriched every single recipe. And this is good because that's how a set of how-tos turns into a real and interesting book. Good job Mr. Golden.