Step 1: Setting the IP Address on the PLC
Using the SIMATIC Automation Tool
Scan your network for any S7 devices
Type in the IP address you want to assign the PLC
In my example I'm using 10.10.54.2
Assign the correct parameters for the gateway and subnet mask.
If you want you can add a comment describing your PLC's purpose
Download the configuration to the PLC
If you're like me you may forget to show all the columns and set the subnet mask :-p
Now set your computer's IP Address (if it isn't already) to the same subnet as the PLC
Verify PLC Connectivity...
Notice you can't put the PLC into RUN mode without having a program downloaded to it
Step 2: TIA Portal PLC Preparation
Create a Project
Add a new Device....
Select your Unspecified PLC under your PLC type.
Select the correct firmware also.
Use the detect feature
scan your network for the PLC we set up earlier
Verify the network & security settings are setup correctly. Download this configuration to the PLC so it contains a "Program"
Step 3: Snap7 Download and Install
The link to the snap7 download is down in the video description.
wget "snap7 url"
fast fowarding....
now unpack the compressed file. 
using the command:  tar -zxvf [name of snap7 file goes here]
we need to browse into the build folder
browse to the unix..
type: 
make -f arm_v6_linux.mk
and hit enter
depending on if you have a Pi 2 select the arm_v7_linux.mk. Otherwise select the arm_v6 one.
watch the build magic happen
after the build cd into the build/unix directory for the libsnap7.so file
after the build we need to copy the snap7 driver to our /usr/lib directory.
run ldconfig (it may work depending on if you have it setup correctly)
Here I am verifying the libsnap7 file is correcly copied to my /usr/lib directory
Step 4: python-snap7 install
type
sudo pip install python-snap7
or you can clone the github repo
and run:
sudo python setup.py install
Now to test to see if is installed correctly.
I'm using ipython. Comes in handy when exploring new libraries
If you see no error here. Then it Worked!!
This is the screen you will see if it didn't work
