This guide shows how to install InfluxDB 2 on Raspberry Pi. InfluxDB is an open-source time-series database (TSDB). So, it is ideal to store sensor data with timestamps over a determined period of time.
In previous tutorials, we showed you how to use InfluxDB cloud and send data from the ESP32 and ESP8266. The InfluxDB free cloud plan has some limitations that might not be suitable for your projects like the maximum 30-day data retention. If you want to have full control over your data, you can install InfluxDB on a local computer, like your Raspberry Pi.
The amount of data you can save will be limited to the storage of your Raspberry Pi, so make sure you use a microSD card with appropriate size storage.
- MicroSD Card: The Pi doesn’t have built-in memory, so you’ll need a microSD card to install your OS. We’ll install the operating system on the microSD card. I recommend using a microSD card class 10 with at least 16GB of memory.
- Raspberry Pi 3 or Raspberry Pi 4
- 64-bit architecture—we’ll install Raspberry Pi OS (64-bit).
Install Raspberry Pi OS (64-bit)
InfluxDB 2 is only compatible with 64-bit architectures. So, you must be running Raspberry Pi OS (64-bit) or any other 64-bit OS (like Ubuntu, for example) to successfully install InfluxDB 2. Raspberry Pi OS (64-bit) is only compatible with Raspberry Pi 3 and 4.
Follow the next steps to install Raspberry Pi OS (64-bit).
1) Start by connecting the microSD card to your computer.
2) Go to the Raspberry Pi Software page.
3) Select and download the Raspberry Pi Imager (a tool to flash the OS on the microSD card) for your computer’s operating system.
4) Click on the downloaded file to install the Raspberry Pi Imager.
5) When the installation is complete, the Raspberry Pi Imager will open.
6) Click on Choose OS to select the Operating System. Select the Raspberry Pi OS (other) and then select Raspberry Pi OS (64-bit).
7) Choose storage. You must choose the microSD card where you want to install the OS.
8) The Raspberry Pi Imager allows you to access advanced settings to configure hostname, SSH, and Wi-Fi, among others—click on the gear icon to open advanced settings. If your window doesn’t show the gear icon, press Ctrl–Shift–X to open the advanced setting window.
9) You can set hostname (the default will be raspberrypi), enable SSH, and set a password for SSH connection.
10) Additionally, set up Wi-Fi with your local network credentials so that you can connect to your Raspberry Pi using Wi-Fi later on.
11) Set up your country and time zone. Finally, click Save.
12) After selecting the operating system, storage, and advanced settings, click on write to start installing the operating system on the microSD card.
13) Wait a few seconds while it installs the Operating System.
14) When the installation is complete click on Continue. It will eject the microSD card safely.
15) Now, remove the card from your computer and insert it into your Raspberry Pi. Then, apply power to the Raspberry Pi to start it.
Install InfluxDB 2 on a Raspberry Pi
We’ll use SSH to communicate with the Raspberry Pi. If you’re using Windows, you can use a software like PuTTY. If you’re using Linux or Mac OS, you can use the Terminal.
If you don’t know how to establish an SSH connection with your Pi, check these instructions.
With an SSH connection established with your Raspberry Pi, run the following command (copy the complete command with CTRL-C and then paste it into the Terminal window with a right-click on the mouse).
wget -q https://repos.influxdata.com/influxdata-archive_compat.key echo '393e8779c89ac8d958f81f942f9ad7fb82a25e133faddaf92e15b16e6ac9ce4c influxdata-archive_compat.key' | sha256sum -c && cat influxdata-archive_compat.key | gpg --dearmor | sudo tee /etc/apt/trusted.gpg.d/influxdata-archive_compat.gpg > /dev/null echo 'deb [signed-by=/etc/apt/trusted.gpg.d/influxdata-archive_compat.gpg] https://repos.influxdata.com/debian stable main' | sudo tee /etc/apt/sources.list.d/influxdata.list sudo apt-get update && sudo apt-get install influxdb2
Issues with the installation? Check this page for the official instructions. Make sure you select the platform Ubuntu & Debian.
At some time, it will ask you to install additional packages. Press Y and hit Enter to accept. After installing, the Terminal window should look as follows:
Type the following command to start InfluxDB as a background service on startup.
sudo service influxdb start
Run the following command to verify that InfluxDB is running as expected.
sudo service influxdb status
You should get something as follows:
This means that InfluxDB is successfully running as a service.
Accessing InfluxDB on Raspberry Pi
Now, you can access InfluxDB on your Raspberry Pi IP address port 8086. My Raspberry Pi IP address is 192.168.1.106, so to access InfluxDB, I just need to type the following in my web browser:
To get your Raspberry Pi IP address, you can run the following command:
When you first access InfluxDB, you’ll see the following screen. Click on Get Started.
You’ll need to set up an initial user. Fill in the form details, you can use whatever names you want. You need to remember the username and password so that you can access InfluxDB data later on.
Then, click on Continue to proceed.
Then, you can click on Quick Start.
You’ll be redirected to the Getting Started screen.
Congratulations! You’ve successfully installed InfluxDB on your Raspberry Pi and set up an initial user, organization, and bucket.
You are now ready to load data to InfluxDB.
You can follow one of the next tutorials to get started loading data from the ESP32 or ESP8266 to InfluxDB:
- ESP32: Getting Started with InfluxDB
- ESP8266 NodeMCU: Getting Started with InfluxDB
- ESP32/ESP8266: Send BME280 Sensor Readings to InfluxDB
Do you like Home Automation? Check our most complete eBook about this subject:
- SMART HOME with Raspberry Pi, ESP32, and ESP8266: Learn Node-RED and InfluxDB on a Raspberry Pi to build a Home Automation System with the ESP32 and ESP8266.
Thanks for reading.