{
    "ok": true,
    "data": {
        "title": "ZP-0187",
        "rev_id": 15313,
        "updated_at": "2024-08-28T09:50:22+00:00",
        "chunk_count": 20,
        "chunks": [
            {
                "title": "ZP-0187",
                "rev_id": 15313,
                "heading_path": "",
                "chunk_index": 0,
                "content": "# ZP-0187",
                "char_count": 9,
                "token_estimate": 3
            },
            {
                "title": "ZP-0187",
                "rev_id": 15313,
                "heading_path": "N07 Minitower NVMe NAS Kit for Raspberry Pi 5",
                "chunk_index": 1,
                "content": "<figure>\n<img src=\"ZP-0187-01.jpg\" title=\"ZP-0187-01.jpg\" width=\"320\" alt=\"ZP-0187-01.jpg\" \/>\n<figcaption aria-hidden=\"true\">ZP-0187-01.jpg<\/figcaption>\n<\/figure>",
                "char_count": 162,
                "token_estimate": 41
            },
            {
                "title": "ZP-0187",
                "rev_id": 15313,
                "heading_path": "Description",
                "chunk_index": 2,
                "content": "The Raspberry Pi 5 Minitower case is a specially designed enclosure for the Raspberry Pi 5, offering a sleek and compact housing solution. It features an integrated low-profile Ice Tower for efficient cooling and an N07 M.2 NVMe SSD M-key expansion board, which accommodates a variety of SSD sizes including 2230, 2242, 2260, and 2280. This expansion board connects to the Raspberry Pi 5 via the PCIe interface, supporting PCIe x1, and is designed to work seamlessly with the official Raspberry Pi OS once the PCIe is enabled for disk access.",
                "char_count": 542,
                "token_estimate": 136
            },
            {
                "title": "ZP-0187",
                "rev_id": 15313,
                "heading_path": "Features",
                "chunk_index": 3,
                "content": "-   Custom-fit Minitower case for Raspberry Pi 5\n-   Low-profile Ice Tower for enhanced cooling performance\n-   N07 M.2 NVMe SSD M-key expansion board\n-   Supports M.2 NVMe SSD sizes: 2230, 2242, 2260, 2280\n-   PCIe interface connection for SSD expansion\n-   Compatibility with official Raspberry Pi OS and PCIe configuration\n-   Bootable from the connected PCIe disk for faster startup\n-   Integrated SSD1306-driven OLED display with a resolution of 128x64 pixels\n-   Python library and code support for custom display configurations\n-   Real-time system monitoring of load, memory, disk space, and network information",
                "char_count": 619,
                "token_estimate": 155
            },
            {
                "title": "ZP-0187",
                "rev_id": 15313,
                "heading_path": "Features > Specifications",
                "chunk_index": 4,
                "content": "-   <strong>Case Design: <\/strong>Minitower form factor, tailored for Raspberry Pi 5\n-   <strong>Cooling Solution:<\/strong> Integrated low-profile Ice Tower for optimal thermal management\n-   <strong>SSD Support:<\/strong> M.2 NVMe SSD with M-key, compatible with 2230, 2242, 2260, 2280 sizes\n-   <strong>Interface: <\/strong>PCIe x1 for SSD expansion board connection\n-   <strong>Operating System: <\/strong>Requires official Raspberry Pi OS with PCIe disk access configuration\n-   <strong>Boot Capability:<\/strong> System can boot from the PCIe-connected disk\n-   <strong>Display: <\/strong>OLED screen with 128x64 pixel resolution, driven by SSD1306\n-   <strong>Programming:<\/strong> Requires Python library and custom Python code for display functionality\n-   <strong>Monitoring Capabilities:<\/strong> Displays current system load, memory usage, disk capacity, and network status\n-   <strong>Customization:<\/strong> Users can modify Python scripts to display additional information as desired",
                "char_count": 992,
                "token_estimate": 248
            },
            {
                "title": "ZP-0187",
                "rev_id": 15313,
                "heading_path": "Gallery",
                "chunk_index": 5,
                "content": "-   Product Outlook",
                "char_count": 19,
                "token_estimate": 5
            },
            {
                "title": "ZP-0187",
                "rev_id": 15313,
                "heading_path": "Gallery",
                "chunk_index": 6,
                "content": "<img src=\"ZP-0187-01.jpg\" title=\"ZP-0187-01.jpg\" width=\"800\" alt=\"ZP-0187-01.jpg\" \/>\n<img src=\"ZP-0187-02.jpg\" title=\"ZP-0187-02.jpg\" width=\"800\" alt=\"ZP-0187-02.jpg\" \/>\n<img src=\"ZP-0187-03.jpg\" title=\"ZP-0187-03.jpg\" width=\"800\" alt=\"ZP-0187-03.jpg\" \/>\n\\* Heat sink details <img src=\"ZP-0187-04.jpg\" title=\"ZP-0187-04.jpg\" width=\"800\" alt=\"ZP-0187-04.jpg\" \/>\n\\* Product features <img src=\"ZP-0187-05.jpg\" title=\"ZP-0187-05.jpg\" width=\"800\" alt=\"ZP-0187-05.jpg\" \/>\n\\* Easy to access all ports <img src=\"ZP-0187-06.jpg\" title=\"ZP-0187-06.jpg\" width=\"800\" alt=\"ZP-0187-06.jpg\" \/>\n\\* Easy to access MicroSD Card <img src=\"ZP-0187-07.jpg\" title=\"ZP-0187-07.jpg\" width=\"800\" alt=\"ZP-0187-07.jpg\" \/>\n\\* Application scenario <img src=\"ZP-0187-08.jpg\" title=\"ZP-0187-08.jpg\" width=\"800\" alt=\"ZP-0187-08.jpg\" \/>\n\\* Application scenario <img src=\"ZP-0187-08.jpg\" title=\"ZP-0187-08.jpg\" width=\"800\" alt=\"ZP-0187-08.jpg\" \/>\n<img src=\"ZP-0187-09.jpg\" title=\"ZP-0187-09.jpg\" width=\"800\" alt=\"ZP-0187-09.jpg\" \/>\n\\* Components Wiring Diagram <img src=\"ZP-0187-10.jpg\" title=\"ZP-0187-10.jpg\" width=\"800\" alt=\"ZP-0187-10.jpg\" \/>\n\\* 40Pin GPIO expansion <img src=\"ZP-0187-11.jpg\" title=\"ZP-0187-11.",
                "char_count": 1180,
                "token_estimate": 295
            },
            {
                "title": "ZP-0187",
                "rev_id": 15313,
                "heading_path": "Gallery",
                "chunk_index": 7,
                "content": "jpg\" width=\"800\" alt=\"ZP-0187-11.jpg\" \/>\n\\* The screen holder adoptsa quick release design <img src=\"ZP-0187-12.jpg\" title=\"ZP-0187-12.jpg\" width=\"800\" alt=\"ZP-0187-12.jpg\" \/>\n\\* Installation details <img src=\"ZP-0187-13.jpg\" title=\"ZP-0187-13.jpg\" width=\"800\" alt=\"ZP-0187-13.jpg\" \/>\n\\* Bench test 30 minutes CPU temperature figure <img src=\"ZP-0187-14.jpg\" title=\"ZP-0187-14.jpg\" width=\"800\" alt=\"ZP-0187-14.jpg\" \/>\n===How to assemble it? ===",
                "char_count": 444,
                "token_estimate": 111
            },
            {
                "title": "ZP-0187",
                "rev_id": 15313,
                "heading_path": "Gallery",
                "chunk_index": 8,
                "content": "-   Please follow the steps to assemble your devices.\n\n<img src=\"ZP-0187-安装.jpg\" title=\"ZP-0187-安装.jpg\" width=\"800\" alt=\"ZP-0187-安装.jpg\" \/>",
                "char_count": 139,
                "token_estimate": 43
            },
            {
                "title": "ZP-0187",
                "rev_id": 15313,
                "heading_path": "Package Includes",
                "chunk_index": 9,
                "content": "-   Raspberry Pi 5 dose not include in the package, additional purchase required.\n\n<img src=\"ZP-0187-清单.jpg\" title=\"ZP-0187-清单.jpg\" width=\"800\" alt=\"ZP-0187-清单.jpg\" \/>",
                "char_count": 167,
                "token_estimate": 50
            },
            {
                "title": "ZP-0187",
                "rev_id": 15313,
                "heading_path": "How to configure it? > How to enable PCIe function on Raspberry Pi 5?",
                "chunk_index": 10,
                "content": "To enable the PCIe function on the Raspberry Pi 5, follow these steps:\n\n-   <strong>Enable the PCIe Interface: <\/strong>Add dtparam=pciex1 to the \/boot\/firmware\/config.txt file to enable the PCIe interface. If you want to use PCIe Gen 3.0 speeds (which is not officially supported), add dtparam=pciex1_gen=3.\n\n<!-- -->\n\ndtparam=pciex1\n    dtparam=pciex1_gen=3\n\n<img src=\"Enable_pcie_on_rpi5.png\" title=\"Enable_pcie_on_rpi5.png\" width=\"800\" alt=\"Enable_pcie_on_rpi5.png\" \/>\n\n-   <strong>Use a PCIe Expansion Card:<\/strong> Use an adapter board to connect an M.2 SSD to the Raspberry Pi 5's PCIe interface. Ensure that your SSD is compatible with the Raspberry Pi 5 and that you have the appropriate firmware and OS image installed.\n\n<!-- -->\n\n-   <strong>Configure Boot Order:<\/strong> If you wish to boot from an NVMe drive connected to the PCIe interface, you may need to change the bootloader's BOOT_ORDER configuration. This can be done by editing the EEPROM configuration with the command sudo rpi-eeprom-config -e and setting options\n\n<!-- -->\n\nsudo raspi-config",
                "char_count": 1067,
                "token_estimate": 267
            },
            {
                "title": "ZP-0187",
                "rev_id": 15313,
                "heading_path": "How to configure it? > How to enable PCIe function on Raspberry Pi 5?",
                "chunk_index": 11,
                "content": "Navigate to <strong>Boot Order<\/strong> and select boot from NVME or USB device, please check following figures <img src=\"Advanced_options.png\" title=\"Advanced_options.png\" width=\"800\" alt=\"Advanced_options.png\" \/>\n[left\\|800px](File:NVME_USB_BOOT.png \"wikilink\")\n[left\\|800px](File:NVME_USB_BOOT_confirm.png \"wikilink\")\n Do remember restart raspberry pi 5 to take effect\n\n-   <strong>Check Compatibility: <\/strong>Note that not all M.2 SSDs are compatible with the Raspberry Pi 5. Certain models, such as those in the Western Digital SN series, may not be bootable or may have performance issues.\n\n<!-- -->\n\n-   <strong>Hardware Connection: <\/strong>Ensure that your PCIe expansion or adapter board is correctly connected to the Raspberry Pi 5's FPC connector and that your SSD is installed on the expansion board.\n\n<!-- -->\n\n-   <strong>Software Configuration:<\/strong> Add the necessary configuration lines to the config.txt file on the boot device (whether it's an SD card or SSD) to enable the PCIe interface and ensure the system knows how to boot from the PCIe device.\n\n<!-- -->",
                "char_count": 1085,
                "token_estimate": 272
            },
            {
                "title": "ZP-0187",
                "rev_id": 15313,
                "heading_path": "How to configure it? > How to enable PCIe function on Raspberry Pi 5?",
                "chunk_index": 12,
                "content": "-   <strong>Test and Verify:<\/strong> After completing the above steps, restart your Raspberry Pi 5 and verify that the PCIe device is recognized and functioning correctly.",
                "char_count": 172,
                "token_estimate": 43
            },
            {
                "title": "ZP-0187",
                "rev_id": 15313,
                "heading_path": "How to enable OLED display on the case? > Step 1. Enable I2C function",
                "chunk_index": 13,
                "content": "-   Enabling the I2C function on a Raspberry Pi typically involves a few steps, which include enabling the I2C interface in the Raspberry Pi's configuration, installing necessary software packages, and then using the I2C interface with your applications. Here's a general guide on how to do it.\n\n<!-- -->\n\n-   <strong>Enable the I2C Interface:<\/strong> You can enable the I2C interface using the Raspberry Pi Configuration tool. Open a terminal and type:\n\n<!-- -->\n\nsudo raspi-config\n\nNavigate to \"Interfacing Options\" and then select \"I2C\" to enable it.\n\n-   <strong>Update the System:<\/strong> After enabling I2C, it's a good practice to update your system. Run:\n\n<!-- -->\n\nsudo apt-get update\n    sudo apt-get upgrade\n\nTo ensure all packages are up to date.\n\n-   <strong>Install I2C Tools:<\/strong> Install the I2C tools package by running:\n\n<!-- -->\n\nsudo apt-get -y install i2c-tools\n\n-   <strong>Check I2C Devices:<\/strong> You can check if the I2C interface is working correctly by running:\n\n<!-- -->\n\nsudo i2cdetect -y 1\n\nwhich will scan for I2C devices on bus 1.",
                "char_count": 1071,
                "token_estimate": 268
            },
            {
                "title": "ZP-0187",
                "rev_id": 15313,
                "heading_path": "How to enable OLED display on the case? > Step 1. Enable I2C function",
                "chunk_index": 14,
                "content": "-   <strong>Install Additional Libraries:<\/strong> Depending on your project, you may need to install additional libraries for Python or other programming languages to interact with I2C devices.",
                "char_count": 194,
                "token_estimate": 49
            },
            {
                "title": "ZP-0187",
                "rev_id": 15313,
                "heading_path": "How to enable OLED display on the case? > Step 2. Install dependencies packages and libraries",
                "chunk_index": 15,
                "content": "-   \\[Optional\\] Install virtualenv package.\n\n<!-- -->\n\nsudo apt -y install virtualenv\n\n-   Create virtualenv environments\n\n<!-- -->\n\nvirtualenv -p python3 venv\n    cd venv\/\n    source bin\/activate\n    pip install luma\n\n-   Install dependencies packages\n\n<!-- -->\n\nsudo apt -y install python3-dev python3-pip python3-pil libjpeg-dev zlib1g-dev libfreetype6-dev liblcms2-dev\n\n-   Grant permission to current user, please replace pi with your current user.\n\n<!-- -->\n\nsudo usermod -aG gpio,i2c pi\n\n-   Clone luma.examples demo code from GitHub.\n\n<!-- -->\n\ngit clone https:\/\/github.com\/rm-hull\/luma.examples.git\n\ncd luma.examples\/\n    pip3 install -e . --break-system-packages\n\nSee following figure: <img src=\"Pip3-install-step.png\" title=\"Pip3-install-step.png\" width=\"800\" alt=\"Pip3-install-step.png\" \/>\n\\* Test Demo code in examples folder\n\ncd examples\/\n    ls\n    python3 runner.py\n\n<img src=\"Luma_test_runner.png\" title=\"Luma_test_runner.png\" width=\"800\" alt=\"Luma_test_runner.png\" \/>\n\\* Display system information on OLED At first, install dependencies library\n\npip3 install psutil\n\nSecond, execute the program.\n\npython3 sys_info.py",
                "char_count": 1135,
                "token_estimate": 284
            },
            {
                "title": "ZP-0187",
                "rev_id": 15313,
                "heading_path": "How to enable OLED display on the case? > Step 2. Install dependencies packages and libraries",
                "chunk_index": 16,
                "content": "and then press \"Ctrl+C\" to quit the program. <img src=\"Psutill-installation.png\" title=\"Psutill-installation.png\" width=\"800\" alt=\"Psutill-installation.png\" \/>",
                "char_count": 159,
                "token_estimate": 40
            },
            {
                "title": "ZP-0187",
                "rev_id": 15313,
                "heading_path": "How to enable OLED display on the case? > How to create systemd service file?",
                "chunk_index": 17,
                "content": "-   Create a shell script to run the program\n\n<!-- -->\n\nvim.tiny \/home\/pi\/start_oled.sh\n\nFilling the file with following parameters:\n\n#!\/bin\/bash\n    #\n    cd \/home\/pi\/venv\n    source .\/bin\/activate\n    cd \/home\/pi\/venv\/luma.examples\/examples\/\n    python3 sys_info.py\n\n<img src=\"Shell_scription_oled.png\" title=\"Shell_scription_oled.png\" width=\"800\" alt=\"Shell_scription_oled.png\" \/>\n\\* Grant execution permission.\n\nchmod +x start_oled.sh\n\n-   Create systemd file on system.\n\n<!-- -->\n\nsudo vim.tiny \/etc\/systemd\/system\/minitower_oled.service\n\nCopy and paste following parameters into the file.\n\n[Unit]\n    Description=Minitower OLED service on RPi5\n    DefaultDependencies=no\n    StartLimitIntervalSec=60\n    StartLimitBurst=5\n\n[Service]\n    Type=simple\n    ExecStart=\/bin\/bash -c \"bash \/home\/pi\/start_oled.sh\"\n    RemainAfterExit=yes\n\n[Install]\n    WantedBy=multi-user.target\n\n<img src=\"Systemd_file_oled_service.png\" title=\"Systemd_file_oled_service.png\" width=\"800\" alt=\"Systemd_file_oled_service.png\" \/>\nSave it and reload the daemon and enbale service.",
                "char_count": 1058,
                "token_estimate": 265
            },
            {
                "title": "ZP-0187",
                "rev_id": 15313,
                "heading_path": "How to enable OLED display on the case? > How to create systemd service file?",
                "chunk_index": 18,
                "content": "sudo systemctl daemon-reload\n    sudo systemctl disable minitower_oled.service\n    sudo systemctl enable minitower_oled.service\n    sudo systemctl start minitower_oled.service\n    sudo systemctl status minitower_oled.service\n\n<img src=\"Check_oled_status.png\" title=\"Check_oled_status.png\" width=\"800\" alt=\"Check_oled_status.png\" \/>\nPlease make sure the service is active and running, and then you can see the information of your system will display on OLED screen. if you want to modify display information, please edit sys_info.py file and adding your own script.",
                "char_count": 564,
                "token_estimate": 141
            },
            {
                "title": "ZP-0187",
                "rev_id": 15313,
                "heading_path": "Keywords",
                "chunk_index": 19,
                "content": "-   Minitower case, Minitower case for Raspberry Pi 5, ice tower cooler for Raspberry Pi 5, N07 M.2 NVMe SSD adapter board for Raspberry Pi 5.",
                "char_count": 142,
                "token_estimate": 36
            }
        ]
    }
}