Showing posts with label bananapi. Show all posts
Showing posts with label bananapi. Show all posts

Sunday, 2 November 2014

Banana Pi: How To Install OpenMediaVault (NAS)

This was done on Bananian 14.09. OpenMediaVault is a simple out-of-the-box solution to set up a Network Attached Storage (NAS) and supports services such as SSH, (S)FTP, SMB/CIFS, DAAP media server, RSync, BitTorrent etc.




sudo su
wget -O - http://packages.openmediavault.org/public/archive.key | apt-key add -
apt-get install python-software-properties
apt-add-repository "deb http://packages.openmediavault.org/public kralizec main"
apt-get update
apt-get install openmediavault-keyring postfix
apt-get update
apt-get install openmediavault
omv-initsystem
reboot

Now open a browser and enter the IP address of the banana pi: e.g. http://10.0.0.x . Default user/password is admin/openmediavault.

Friday, 19 September 2014

Banana Pi: I2C Barometric Sensor BMP085


Wiring

---> 3.3 volts - to vcc on board
---> ground - to gnd on board
---> SDA - to sda on board
---> SLC - to scl on board


Banana Pi - I2C Barometer BMP085
Wiring, BMP085

Locating the sensor

root@lemaker:~# ls -l /dev/i2c*
crw-rw---T 1 root i2c 89, 0 Sep 19 14:43 /dev/i2c-0
crw-rw---T 1 root i2c 89, 1 Sep 19 14:43 /dev/i2c-1
crw-rw---T 1 root i2c 89, 2 Sep 19 14:43 /dev/i2c-2
crw-rw---T 1 root i2c 89, 3 Sep 19 14:43 /dev/i2c-3
crw-rw---T 1 root i2c 89, 4 Sep 19 14:43 /dev/i2c-4
As you can see there are 5 I2C buses. With the i2cdetect tool we are looking for the 0x77 address, which is the BMP085.
# -y 0, -y 1 etc
sudo i2cdetect -y 2
We are using the  Adafruit BMP Python Library to access the sensor.
sudo apt-get install git build-essential python-dev python-smbus
git clone https://github.com/adafruit/Adafruit_Python_BMP.git
cd Adafruit_Python_BMP
sudo python setup.py install
There are some example scripts in the examples folder.
cd examples

# we need to change the bus number
nano simpletest.py
#uncomment sensor = BMP085.BMP085(busnum=2)
#and comment #sensor = BMP085.BMP085()

#run code
sudo python simpletest.py

#sample output
Temp = 23.00 *C
Pressure = 97607.00 Pa
Altitude = 313.47 m
Sealevel Pressure = 97607.00 Pa

Wednesday, 17 September 2014

Banana Pi: Temperature Sensor (DS18B20) - Tutorial


Requirements

    --> Banana Pi running Raspbian for Banana Pi
    --> Breadboard
    --> Jumper Wires
    --> DS18b20
    --> 4.7K Ohm resistor
    --> Breakout cobbler

       

      Hardware Setup

      Refer to the graphic for the correct wiring. Make sure the Banana Pi is switched off to prevent any possible damage.

      Banana Pi Temperature Sensor - DS18B20

      Software Setup

      Double check the wiring and boot the device. In order to be able to access the temperature data, we need to make some minor adjustments to the script.bin file, which is a binary configuration file used by Allwinner SOC.
      sudo apt-get install git
      git clone https://github.com/linux-sunxi/sunxi-tools
      cd sunxi-tools
      make
      
      #location of the script.bin file
      cd /boot/bananapi/
      
      #get the fex file
      sudo /home/bananapi/sunxi-tools/bin2fex script.bin bananapi.fex
      
      #edit the fex file
      sudo nano bananapi.fex
      
      #add the following at the end, save (CTRL + O) and close
      [w1_para]
      gpio = 4
      
      #.fex back to .bin
      sudo /home/bananapi/sunxi-tools/fex2bin bananapi.fex script.bin
      
      sudo reboot

      Reading raw data from the sensor

      After successfully rebooting your device, you will notice that /sys/bus/w1/devices is no longer empty.
      bananapi@lemaker ~ $ cd /sys/bus/w1/devices
      bananapi@lemaker /sys/bus/w1/devices $ ls
      28-000006203041  w1_bus_master1
      bananapi@lemaker /sys/bus/w1/devices $ cd 28-000006203041
      bananapi@lemaker /sys/bus/w1/devices/28-000006203041 $ ls
      driver  id  name  power  subsystem  uevent  w1_slave
      bananapi@lemaker /sys/bus/w1/devices/28-000006203041 $ cat w1_slave
      5e 01 4b 46 7f ff 02 10 8d : crc=8d YES
      5e 01 4b 46 7f ff 02 10 8d t=21875
      t=21875 is the number we are looking for. E.g.: 21.9 degree Celsius (°C) in my case.

      Banana Pi Temperature Sensor (DS18B20)
      my setup

      Friday, 15 August 2014

      Banana Pi: Onboard, User-Definable Green Led

      As you may have noticed the BPi has a green LED, which starts blinking as soon as the Pi is powered on: i.e. as soon as something happens with the SD card. It is possible to program the behavior of the LED such as switching it off.

      To list the available options open a terminal and enter cat /sys/class/leds/green:ph24:led1/trigger. The default value is heartbeat. If you want to permanently switch it off the trigger needs to be set to none.
      user@lemaker ~ $ cat /sys/class/leds/green:ph24:led1/trigger  
      none battery-charging-or-full battery-charging battery-full battery-charging-blink-full-solid ac-online usb-online mmc0 timer [heartbeat] backlight gpio cpu0 cpu1 default-on  
      user@lemaker ~ $ sudo su  
      root@lemaker:~# echo none >  /sys/class/leds/green:ph24:led1/trigger
      The LED may be manually turned on and off using the brightness file. The minimum is 0 (i.e. off), and the maximum is 255. To switch it on:
      root@lemaker:~# echo 1 >  /sys/class/leds/green:ph24:led1/brightness 

      Let it blink

      #!/bin/bash
      
      echo none >  /sys/class/leds/green:ph24:led1/trigger
      while true; do
      echo 1 >  /sys/class/leds/green:ph24:led1/brightness
      sleep 1
      echo 0 >  /sys/class/leds/green:ph24:led1/brightness
      sleep 1
      done
      Make sure to run the script as root - e.g. sudo sh led.sh

      Saturday, 9 August 2014

      Banana Pi - Raspberry Pi Upgraded


      Given that I finally received my Banana Pi, it is time for a little review of the Chinese Raspberry Pi "competitor". Before I tell you about my first experiences with the board, let's have a quick look at its hardware specs and how they compare to the newly released Raspberry Model B +.


       

      Hardware


      The first thing that sticks out is the Banana Pi's much faster dual-core, Cortex-A7-based Allwinner A20 system-on-chip running at 1GHz, which definitely beats the Raspberry's "well-known" 700MHz, ARM11-based Broadcom BCM2835 processor.

      The Banana Pi is also equipped with 1GB of RAM and built-in Ethernet that can handle up to 1Gbps, which is approximately ten-times as fast as the Raspberry Pi's.

      Raspberry Pi Model B+
      Raspberry Pi Model B+
      The only area where the new Model B+ can really shine, next to the 4 x 2.0 USB ports, is the additional GPIO headers. There are now 40 compared to 26 on the Model B. The Banana Pi's GPIO layout is the same as the Raspberry Pi Model B, which makes most projects based on Raspbian and the RPi.GPIO libraries compatible with the Banana Pi.

      Unfortunately the Banana uses a parallel camera interface, which means that your Raspberry Pi camera board won't connect to the Banana's CSI interface. Luckily, Lemaker is working on their own module.

      Banana Pi
      Banana Pi
      Additionally the Banana Pi features some interesting ''perks'': power & reset switch, an IR receiver, a microphone, a programmable LED, SATA and a LVDS display interface.

      OS & first run

      The Banana Pi runs Lubuntu, Raspbian, Android, Fedora, Arch Linux, OpenSuse and Scratch.  The image files can be downloaded here: http://www.lemaker.org/content-9-38-1.html

      To write the image (in my case Raspbian) to a SD card, execute the following commands:
      #to get the location of your card. /dev/sdb in my case
      sudo fdisk -l
      #to write the image
      sudo bs=4M dd if=/home/user/Documents/Raspbian_For_BananaPi_v3_1.img of=/dev/sdb

      Default Credentials

      No need for a fancy HDMI monitor as ssh is enabled by default. Just connect the Pi via Ethernet and you are ready to go: the default credentials are userid: root, password: bananapi. To get the IP address of the Banana Pi, you can either access your router's control panel or perform a scan with nmap.
      #to scan for all the devices on the network  
      nmap -sn 192.168.0.1/24  
      #to connect  
      ssh root@192.168.0.20
      First thing you might want to do is to expand the file system and disable Desktop boot.
      root@lemaker raspi-config
      Select "Expand Filesystem" and reboot for the changes to take effect. The next thing I did was adding a new user, deleting the default bananapi user and disabling ssh access for the root user.
      #to add a new user  
      sudo adduser user  
      #to add a user to the sudo group  
      sudo adduser user sudo  
      #logout and login with your new user  
      #to delete the a user account  
      sudo userdel bananapi  
      # to disable root ssh login  
      sudo nano /etc/ssh/sshd_config  
      # restart ssh   
      sudo service ssh restart  
      
      Look for "PermitRootLogin" in the /etc/ssh/sshd_config file and set it to no.

      Setting Up Tight VNC Server

      If you are like me and using the BPi in headless mode, you might want to setup a VNC connection.
      # install tightvncserver  
      sudo apt-get update && sudo apt-get install tightvncserver -y  
      # start the vnc server  
      vncserver :1 -geometry 800x600 -depth 24  
      # now connect to the BPi with any VNC client. e.g. xtightvncviewer  
      xtightvncviewer  192.168.0.20:1 
      Banana Pi - Raspbian Desktop
      Banana Pi - Raspbian Desktop
      My initial verdict after a few hours with the Banana Pi is very positive indeed. You will notice a considerable performance increase compared to your Raspberry Pi and the board's peripherals (e.g. SATA) make it ideal for many projects. As far as I am concerned I do not see any significant downsides. Sure, there is no camera module yet and some RPi extension boards won't fit the BPi,  but overall a great effort by Lemaker. I'll be back with additional tutorials.

      Tutorials 

      Banana Pi: Onboard, User-Definable Green Led 

      Banana Pi: Temperature Sensor (DS18B20)

      Banana Pi: I2C Barometric Sensor BMP085

      Banana Pi: How To Install OpenMediaVault (NAS)