PI4B Mini Tower NAS Acce

From Waveshare Wiki
Jump to: navigation, search
PI4B Mini Tower NAS Acce
PI4B Mini Tower NAS Acce
{{{name2}}}

{{{name3}}}

{{{name4}}}

{{{name5}}}

Introduction

Mini Tower NAS Kit For Raspberry Pi 4B, Support Up To 2TB M.2 SATA SSD, Strong Heat Dissipation, OLED Screen Display.

Overview

Dedicated Mini Tower NAS Kit for Raspberry Pi 4B, including M.2 SATA SSD Expansion Board, ICE Tower Cooler, Mini Tower Case, 0.96inch OLED, and GPIO Edge Extension header. It can perfectly match your Raspberry Pi 4B and can be assembled into a mini and good looking Desktop NAS which supports up to 2TB M.2 NGFF SSD solid-state drive, with an excellent cooling system, OLED screen, cool RGB LED lights, speed-adjustable PWM fan, and 40PIN GPIO extension header.

Features

  • Comes with the SATA SSD expansion board which can expand the mass storage for your Raspberry Pi
  • ABS material case and two sides of the transparent acrylic baffle
  • With 0.96 inch OLED screen already mounted on the case, 28 x 64 pixels, default I2C address: 0x3C
  • M.2 SATA SSD 2280/2260/2240 mass storage adapter board, supports up to 2TB M.2 SATA SSD solid-state drive.
Specific driver is required for the RGB lights on the fan and mood lights on the OLED screen driver board.
The OLED display needs to be enabled to display information. Please read the manual carefully and follow the steps to enable it.

Front Side

PI4B-Mini-Tower-NAS-Acce-details-15.jpg

More details

PI4B-Mini-Tower-NAS-Acce-details-5.jpg
PI4B-Mini-Tower-NAS-Acce-details-7.jpg
PI4B-Mini-Tower-NAS-Acce-details-9.jpg
PI4B-Mini-Tower-NAS-Acce-details-11.jpg
PI4B-Mini-Tower-NAS-Acce-details-13.jpg

User Guide

How to Assemble the Case

Package content

PI4B-Mini-Tower-NAS-Acce-details-pack.jpg

Installation steps

PI4B-Mini-Tower-NAS-Acce-details-17.jpg
PI4B-Mini-Tower-NAS-Acce-details-19.jpg

How to enable OLED Display

  • We assume you are using Raspberry Pi OS,(32bit/64bit).

1. Turn on `i2c function` by using `sudo raspi-config` -> `interface options` -> `i2c` -> `enable` -> `yes`. 2. Check if the screen has been recognized by Raspberry Pi

i2cdetect -y 1 

if encount `command not found` error, please install `i2c-tools` by using `sudo apt update && sudo apt -y install i2c-tools`.
3. Install dependencies libraries:

sudo apt -y install python3 python3-pip python3-pil libjpeg-dev zlib1g-dev libfreetype6-dev liblcms2-dev libopenjp2-7 libtiff5

4. Grant privileges to user `pi`

sudo usermod -a -G gpio,i2c pi

5. Download sample code from this repo:

git clone https://github.com/rm-hull/luma.examples.git
cd luma.examples/

6. Install the dependencies

sudo -H pip3 install -e .

7. Entering into the example folder and test it.

cd examples/
python3 clock.py

8. At this time, the OLED screen is displaying a clock.

If there is a black screen or nothing displayed on the screen, please check whether the cable is connected properly, and then check if you have enabled the I2C function, and you can just type: i2cdetect -y 1 in a terminal and check if there is an address like "3C" on screen. if not, please reconnect the cable and reboot the raspberry pi. If you can not download the repository from GitHub, please check the internet connection and please make sure you can access github.com. If you have an issue with using the OLED display, please contact us first.

Minitower clock.jpg


How to enable fan light and mood light

Connection Details

Circuit wiring0128.jpg


NOTE: The RGB lights in the fan are connected to the ambient lights on the screen driver board. Turn on any one of the lights is equivalent to turn on the entire light group.
  • 1. The lights are connected to GPIO18 which can found by typing: pinout in a terminal.
GPIO18.png


  • 2. Make sure your Raspberry Pi can access internet.
  • 3. Download demo code projects sources from github.
cd ~
git clone https://github.com/jgarff/rpi_ws281x
  • 4. Build:

Build with SCons

  • Install Scons (on raspbian)
 sudo apt update && sudo apt -y install scons 
  • Make sure to adjust the parameters in main.cto suit your hardware.
  • Signal rate (400kHz to 800kHz). Default 800kHz.
  • ledstring.invert=1 if using a inverting level shifter.
  • Width and height of LED matrix (height=1 for LED string).
  • Type scons from inside the source directory.
cd rpi_ws281x/
sudo scons

Build and install with CMake

  • Install CMake
  • Configure your build:

For example:

mkdir build
cd build
cmake -D BUILD_SHARED=OFF -D BUILD_TEST=ON ..

See also for available options in CMakeLists.txt.

Type
cmake --build .
to build
  • To install built binaries and headers into your system type:
sudo make install
  • Running:
Type
sudo ./test 
(default uses PWM channel 0).

That's it. You should see a moving rainbow scroll across the display.

More options are available,
./test -h 
should show them:
./test version 1.1.0
Usage: ./test
-h (--help)    - this information
-s (--strip)   - strip type - rgb, grb, gbr, rgbw
-x (--width)   - matrix width (default 8)
-y (--height)  - matrix height (default 8)
-d (--dma)     - dma channel to use (default 10)
-g (--gpio)    - GPIO to use
                 If omitted, default is 18 (PWM0)
-i (--invert)  - invert pin output (pulse LOW)
-c (--clear)   - clear matrix on exit.
-v (--version) - version information

How to Install All Drivers Automatically

cd 
git clone https://github.com/geeekpi/absminitowerkit.git 
cd absminitowerkit/
sudo ./install.sh 

How to change display information

 If you want to change the display information, please follow the steps below.
  • Open a terminal and navigate to /lib/systemd/system/ folder.
  • Edit the' minitower_oled.service' file and add your script.
Changesystemdservice2.png


And the demo codes are located at: /usr/local/luma.examples/examples/, or you can put your own code in the same location and change the parameter of ExecStart variable and restart the service.

Changesystemdservice3.png


For example, Default ExecStart's parameters are called /usr/local/luma.examples/examples/animated_gif.py file, we can just comment it out with # (hashtag) and remove the hast tag before ExecStart=/bin/bash -c 'python3 /usr/local/luma.examples/examples/sysinfo.py &' and save it and quit.

Changesystemdservice4.png


you can also replace the file name with the file names in the folder: /usr/local/luma.examples/examples/

  • Reload systemd service and minitower_oled.service
sudo systemctl daemon-reload
sudo systemctl restart minitower_oled.service
  • You will find the content of the OLED display has been changed.
Minitower infor.jpg


  • For More demo code please access your local folder in: /usr/local/luma.examples/examples/ folder, there is plenty of funny code inside the folder.
Changesystemdservice5.png


How to part disk and mount it

  • Detect the disk recognized by Raspberry Pi.
sudo lsblk

As you can see there is a device called:"/dev/sda", which is recognized by Raspberry Pi as the first hard disk device.

  • Create new partition by using: fdisk command.
 sudo fdisk /dev/sda 

and create a new partion by using following command: press "n" and press "enter", and then input "p" and then press "enter", input "1" and then press "enter", and press "enter" again, which means make the whole disk as a partition. finally, press "w" to write the partition table to your disk.

  • Update kernel info for your device.
 sudo partprobe /dev/sda 
  • Format disk to ext4 file system.
 sudo mkfs -t ext4 /dev/sda1 
NOTE: /dev/sda1 means the first partition of the device /dev/sda 
  • Create a mounting point.
 mkdir /home/pi/mydata 
  • Grant access permission to the location.
chmod +rwx /home/pi/mydata
chown -R pi:pi /home/pi/mydata
  • Mount the device to the mounting point:
sudo mount -t ext4 -o rw -v  /dev/sda1 /home/pi/mydata 
  • Check if the device is mounting properly.
df -Th 

How to enable automount of the device when rebooting the Raspberry Pi

 NOTE: wrong configure in /etc/fstab will crash your OS, please beware of the operations.
  • If you want to mount the device automatically, please modify "/etc/fstab" and adding following line.
 /dev/sda1    /home/pi/mydata     ext4     defaults,noatime    0   0  
  • Check if the file is correct.
 
sudo mount -a 
df -Th

FAQ

 Answer:

1. Please check if the cable is connected properly as wiki instructions assembling steps.
2. Please check if you have installed the driver and made it run at booting time.
3. Could you please try to set up your lights by following this repo: https://github.com/geeekpi/absminitowerkit

{{{5}}}


 Answer:

1. Please check the cable's connection, and make sure the cable is connected to raspberry pi's GPIO in the right position and direction.
2. Please make sure you have enabled I2C by using 'raspi-config' tool.
3. Please type 'i2cdetect -y 1' in a terminal and check if there is '3c' mark in the address table.
4. Please download the demo examples code from: https://github.com/rm-hull/luma.examples.git and set it up according to wiki instructions.

{{{5}}}


 Answer:

1. Please make sure you have using M.2 SATA SSD but not M.2 NVME SSD.
2. Please make sure you have connected the USB adapter to Raspberry Pi and NAS adapter board.
3. Please try to check the device information by using: "lsblk" command or "sudo fdisk -l" command.

{{{5}}}


 Answer:

1. Open a terminal.
2. Typing: sudo systemctl stop minitower_moodlight.service.

{{{5}}}


 Answer:

1. Please try to open a terminal.
2. Typing: sudo systemctl restart minitower_moodlight.service.

{{{5}}}


Support

If you require technical support, please go to the Support page and open a ticket.