Pi Setup Dec 2018 - Stretch

From OpenCircuits
Jump to navigation Jump to search

Decided time to switch to new os and Python 3, this is more or less a log


Download ....[edit]

Use this for install directions

said use etcher so that is what I plan to do.

Setup[edit]

at some point may want a flash drive instead of sd card

next look at:


  • look at preferences from menu and enable vnc
  • in preferences set the localization to yours

Update[edit]

  • Before installing new application or service in Raspbian, make sure to always type this into terminal: ( if this file is on your PI use cut and paste ) This takes awhile ( perhaps an hour? )
sudo apt-get update
sudo apt-get upgrade
sudo apt-get dist-upgrade

You many find the following of use as well Linux Commands On Pi

later you may use

sudo apt-get clean

apt-get clean find software packages that are obsolete or not needed in your system and removes them. That results in a cleaner, more performant, and better system. That's good.


And I found this as a complete update: apt - How to install updates via command line? - Ask Ubuntu

sudo apt-get update
sudo apt-get upgrade -y
sudo apt-get dist-upgrade -y
sudo apt-get autoremove -y
sudo apt-get autoclean -y

In any case when done reboot.

Lots of update links:

Remote Desktop VNC[edit]

  • vnc -- turn on use the preferences -- if we could ssh in perhaps we could set up never using a local display, keyboard .....

Default login. Username: pi. Password: raspberry. So, type pi, enter, raspberry, enter. Unless you have changed it.

From now on you can use the keyboard, mouse and screen of your pc. You will need the vnc viewer and the tcpip address of your Pi.

Static Ip Address[edit]

sudo leafpad /etc/dhcpcd.conf

Scroll all the way to the bottom of the file and add one, or both of the following snippets. Depending on whether you want to set a static IP address for a wired connection or a wireless connection eth0 = wired, wlan0 = wireless. You’ll need to edit the numbers in the snippet so they match your network configuration.

  • interface = This defines which network interface you are setting the configuration for.
  • static ip_address = This is the IP address that you want to set your device to. (Make sure you leave the /24 at the end)
  • static routers = This is the IP address of your gateway (probably the IP address or your router)
  • static domain_name_servers = This is the IP address of your DNS (probably the IP address of your router). You can add multiple IP addresses here separated with a single space.
  • my next Raspberry Pi 182/183 I just pasted this into the bottom of the file

interface eth0

static ip_address=192.168.0.182/24
static routers=192.168.0.1
static domain_name_servers=192.168.0.1

interface wlan0

static ip_address=192.168.0.183/24
static routers=192.168.0.1
static domain_name_servers=192.168.0.1

then sudo reboot to try it out - ivp 6 may be a good addition to look into


finish get wifi working[edit]

above does part of wifi, but need more -- which is to select wifi using the icon upper right of screen. May be a config file way to do it but have not found a reference that seems accurate for this os.

software installed with package manager[edit]

spyder3 arduino stuff


Share Net Drive[edit]

which samba	             

did not show samba but

sudo apt-get install samba

showed it was there -- not this time it did a big install ?? did it remove and install, the mysteries continue

>>> create mount point

sudo mkdir /mnt/share1

this gave read access

sudo mount -t  cifs -o guest  //192.168.0.170/share /mnt/share1

read write with this

sudo mount -t cifs -o username="russ",password="passwordhere",workgroup="MSHOME",file_mode=0777,dir_mode=0777,nobrl //192.168.0.170/share/_Source/rPi  /mnt/share1

Make automatic with fstab[edit]

https://rasspberrypi.wordpress.com/2012/09/04/mounting-and-automounting-windows-shares-on-raspberry-pi/

2.2 Password Protected Share sudo mount -t cifs -o username=yourusername,password=yourpassword //WindowsPC/share1 /mnt/mountfoldername 3. Now to check that its mounted , run the following command $ df -h

using fstab[edit]

2018 Note: cannot get this to work any more, only guest mount above, working today

  1. using fstab this will let you auto mount

for nano ctrl O writes a file

sudo leafpad /etc/fstab
sudo nano    /etc/fstab            


note that fstab may be hidden file >> //192.168.0.170/share/_Source/rPi /mnt/share1 cifs user=russ,pass=<password_notin_quotes??>,_netdev 0,0


rp-cifsinfstab

this looks good for stab

mounting-and-automounting-windows-shares-on-raspberry-pi/


 # For Guest Login
     //WindowsPC/Share1 /mnt/mountfoldername cifs guest 0 0

For Password Protected Login //WindowsPC/Share1 /mnt/mountfoldername cifs username=yourusername,password=yourpassword 0 0

//192.168.0.170/share/_Source/rPi /mnt/share1 cifs user=russ,pass=squeak13,_netdev 0,0

If you make a new entry in fstab it will not auto-mount. Therefore you must reload / refresh the entries. A reboot will do this but that is not a friendly way to do it. A quick way to reload new entries in /etc/fstab (fstab) is to use the mount command:

mount -a

Updating Python3[edit]

Spyder says:You have missing dependencies!

rope >=0.9.4: None (NOK)

Please install them to avoid this message.

ImportError: No module named 'pyperclip'

ng:
sudo conda install pyperclip  -- conda not installed, on windows part of spyder, apparently not here

ok:
sudo pip install pyperclip

ok:
sudo pip3 install rope

            


Autostart[edit]

Update a file but which? Various suggestions include

  • sudo leafpad ~/.config/lxsession/LXDE/autostart would be a new file on my system, this may be outdated
  • sudo leafpad ~/.config/lxsession/LXDE-pi/autostart does exist so I will try it. -- and it worked added "python3 /home/pi/autoexec.py"
  • - by editing /etc/rc.local in my case the line added looks like this: su - pi -c kodi -- I have not tried this

since i cannot get fstab to work this is where I do my share



            

Clone a Copy for Further Use[edit]

pi now has a utility for this that is supposed to even go from a large sd to a smaller one ( as long as the stuff fits )


Some step by step:

there should be a file....



cat /etc/os-release
   .... or ....
uname -a
   .... or ....
 
   .... or ....
 



  • Start with a Pi that you want to copy
  • You will need a second sd card drive for the clone of the os, it will be wiped
  • Bring the source up to date -- run the update steps above.
  • Reboot
  • Identify the old dirve: f -Bm will show it and its disk usage
  • Identify the new drive how? Plug in and it will ask to open a file manager that goes to the mounted card at: media/pi/xxxxxx
  • Run utility. Menu -> Accessories -> SD Card Copier
  • Put new os in a RPi ( can even use the one used for cloning )
  • Fix the tcp ip address so it does not conflict.

Get Python 3.6[edit]

  • Why 3.6? Well it is almost up to date, and I love f-strings "print the str of an expression {some_expression}" I do not want to program without it.
  • Most methods I have tried are not very satisfactory. Including building from source. Problems include lack of software distribution command like pip to upgrade it.

# -------------- smart_terminal:run ------------

proc = Popen( [r"cd  /home/pi/SmartTerminal/; /home/pi/berryconda3/bin/python smart_terminal.py"], shell=True )

# -------------- smart_plug_graph:run ------------

proc = Popen( [r"cd /home/pi/smart_plug/  ; /home/pi/berryconda3/bin/python smart_plug_graph.py"], shell=True )  

# -------------- smart_plug:run ------------
 
proc = Popen( [r"cd /home/pi/smart_plug/  ; /home/pi/berryconda3/bin/python smart_plug.py"], shell=True )  

#proc = Popen( [ "leafpad /home/pi/smart_plug/smart_plug.py"], shell=True ) #

print( " autoexec.py all done " )


And conda install ...... works. I cannot remember if pip was in place, if not install with conda. Then the conda and pip installs go into your 3.6 install.

Change Terminal Colors[edit]

  • Still need to figure this out, but default colors can be really hard to read over VNC viewer.
  • sudo leafpad .bashrc
  • setvtrgb


Links[edit]