Book Image

Raspberry Pi 3 Cookbook for Python Programmers - Third Edition

By : Steven Lawrence Fernandes, Tim Cox
Book Image

Raspberry Pi 3 Cookbook for Python Programmers - Third Edition

By: Steven Lawrence Fernandes, Tim Cox

Overview of this book

Raspberry Pi 3 Cookbook for Python Programmers – Third Edition begins by guiding you through setting up Raspberry Pi 3, performing tasks using Python 3.6, and introducing the first steps to interface with electronics. As you work through each chapter, you will build your skills and apply them as you progress. You will learn how to build text classifiers, predict sentiments in words, develop applications using the popular Tkinter library, and create games by controlling graphics on your screen. You will harness the power of a built in graphics processor using Pi3D to generate your own high-quality 3D graphics and environments. You will understand how to connect Raspberry Pi’s hardware pins directly to control electronics, from switching on LEDs and responding to push buttons to driving motors and servos. Get to grips with monitoring sensors to gather real-life data, using it to control other devices, and viewing the results over the internet. You will apply what you have learned by creating your own Pi-Rover or Pi-Hexipod robots. You will also learn about sentiment analysis, face recognition techniques, and building neural network modules for optical character recognition. Finally, you will learn to build movie recommendations system on Raspberry Pi 3.
Table of Contents (23 chapters)
Title Page
Copyright and Credits
Dedication
Packt Upsell
Contributors
Preface
Index

Sharing the home folder of Raspberry Pi with SMB


When you have Raspberry Pi connected to your network, you can access the home folder by setting up file sharing; this makes it much easier to transfer files and provides a quick and easy way to back up your data. Server Message Block (SMB) is a protocol that is compatible with Windows file sharing, OS X, and Linux.

Getting ready

Ensure that you have Raspberry Pi powered and running with a working connection to the internet.

You will also need another computer on the same local network to test the new share.

How to do it...

First, we need to install samba, a piece of software that handles folder sharing in a format that is compatible with Windows sharing methods:

  1. Ensure that you use update as follows to obtain the latest list of available packages:
sudo apt-get updatesudo apt-get install samba

The install will require around 20 MB of space and take a few minutes.

  1. Once the installation has completed, we can make a copy of the configuration file as follows to allow us to restore defaults if needed:
sudo cp /etc/samba/smb.conf /etc/samba/smb.conf.backupsudo nano /etc/samba/smb.conf

Scroll down and find the section named Authentication; change the # security = user line to security = user.

As described in the file, this setting ensures that you have to enter your username and password for Raspberry Pi in order to access the files (this is important for shared networks).

Find the section called Share Definitions and [homes], and change the read only = yes line to read only = no.

This will allow us to view and also write files to the shared home folder. Once done, save and exit by pressing Ctrl + X, Y, and Enter.

Note

If you have changed the default user from pi to something else, substitute it in the following instructions.

  1. Now, we can add pi (the default user) to use samba:
sudo pdbedit -a -u pi
  1. Now, enter a password (you can use the same password as your login or select a different one, but avoid using the default Raspberry password, which would be very easy for someone to guess). Restart samba to use the new configuration file, as follows:
sudo /etc/init.d/samba restart[ ok ] Stopping Samba daemons: nmbd smbd.[ ok ] Starting Samba daemons: nmbd smbd.
  1. To test, you will need to know either Raspberry Pi's hostname (the default hostname is raspberrypi) or its IP address. You can find both of these with the following command:
hostname
  1. For the IP address, add -I:
hostname -I

On another computer on the network, enter the \raspberrypipi address in the explorer path.

Depending on your network, the computer should locate Raspberry Pi on the network and prompt for a username and password. If it can't find the share using the hostname, you can use the IP address directly, where 192.168.1.69 should be changed to match the IP address \192.168.1.69pi.