https://www.raspberrypi.org/blog/raspberry-pi-3-on-sale/
The Raspberry Pi 3 has built in WiFi and bluetooth and a quad ARM core. It is the most powerful RPi to date. It also requires the most power to run.
With the Raspberry PI 3 and the Noobs microSD card one is essentially up and running after attaching a monitor, keyboard, mouse and powering up.
The Raspberry pi Zero is the other newest RPi. It is physically small and requires less power than other RPis. It has no on-board wifi or ethernet but it does have a single USB on-the-go port.
It appears that when HDMI is to be used it should be connected prior to booting RPi or there is no HDMI output.
Made a few changes
Disconnected HDMI from TV and keyboard and mouse. Used serial connection from GPIO interface to connect to a computer using serial to USB converter.
Note used Assembled Pi T-Cobbler Plus - GPIO Breakout - for RasPi A+/B+/Pi 2/Pi 3
Also used USB to serial converter.
sudo date -s "jun 18 20:03:00 2016"
sudo apt-get purge libreoffice wolfram-engine sonic-pi scratch sudo apt-get autoremove
If the X GUI is being used flashdrives will be automatically mounted.
If/when using the CLI the flash drive can be mounted with:
sudo mount -o uid=pi -o gid=pi -t vfat /dev/sda1 /media/usb
Note that assumes the mount point has been created. See http://www.raspberrypi-spy.co.uk/2014/05/how-to-mount-a-usb-flash-disk-on-the-raspberry-pi/
There have been changes to the Kernel and procedures
I tried setting g_cdc which makes the Raspberry Pi Zero appear as both a TCP/IP nertwork connection and serial device.
Note the usb of the Raspberry Pi was set to a static address 169.254.64.64
On the RPi Zero the following was used to setup a gateway
also on the linux PC IP forwarding was enabled
danp@electron:~$ sudo ifconfig usb0 169.254.64.1 danp@electron:~$ sudo ssh pi@169.254.64.64
pi@raspberrypi:~ $ sudo ip route add default via 169.254.64.1
danp@electron:~$ sudo sysctl net.ipv4.ip_forward=1
At this point the raspberry pi zero could ping the host computer and the router. Pings are not getting farther.
This was fixed by using iptables to enable NAT.
At this point it was possible to ping internet sites such as google.com but only using the IP address. To get the DNS to work I had to edit /etc/resolv.conf and add the following
danp@electron:~$ sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
# Generated by resolvconf # set to dns for ISP search isp.com nameserver {DNS goes here}
For my home ISP I’m using 64.59.144.18
Once this was setup one could ping sites by the URL. Also apt-get update worked so packages can be installed from the internet! This means The RPi Zero os connected to the internet through the USB cable (and the host computer with its LAN connection).
Routing on a Windows 7 machine
More to come.
Port Forwarding Web
Computers beyond the one the Raspberry Pi Zero is directly attached to can see the web server on The Pi only if port forwarding is allowed on the PC connecting the USB port to the web. In this case the simple Python server has been used on the RPi listing on port 8888.
pi@raspberrypi:~ $ python -m SimpleHTTPServer 8888
danp@electron:~$ sudo iptables -A PREROUTING -t nat -i eth0 -p tcp --dport 80 -j DNAT --to 169.254.64.64:8888
Now it is possible to see the web pages on the RPi Zero gadget from other computers on the LAN.
Using the “alternate method linked above Jessie-lite was installed in a MicroSD card. Since avahi is not working on the Chromebook/crouton computed I attached to the Raspberry PI Zero with:
(trusty)danp@localhost:~$ sudo ifconfig usb0 169.254.170.1 (trusty)danp@localhost:~$ sudo ssh pi@169.254.170.84
Note that the IP address was found using a ifconfig command issued in the serial interface to the zero.
GPIO Zero is a Python module to control GPIO. If presision timing is required an external MCU could be used (controlled by a serial interface)
The PIC32MX is capable of precise timing on its own GPIO and can connect to the RPi Zero /dev/AMA0 serial port.