Configuring a Database to log data for Arduino Projects


This document will walk you through my personal preference for creating an arduino database and tables to log data from your project to this database.  In this particular example, we will set this database up to log level, temperature, and humidity.   You will need to already have a server setup in a LAMP configuration.   If you do not have this set up already, please use this procedure to configure a VPS.

https://bryceautomation.com/index.php/configuring-virtual-private-server/

Once you have a server set up, we will install webmin onto the server, and use webmin to configure our database graphically.

 

Step 1 — Webmin Download

Go to http://webmin.com, and select the Debian Package

Step 2 — Copy the Link Location

Webmin Direct LinkWe want to download the debian package onto the server, and not onto our computer.   We will cancel the popup that prompts us to download the file to our computer, and right click the direct link, and copy the link location (or link address).   We will use this link location to download the file onto our server.

Step 3 — Download the file onto our web server

Log into putty as root.   We will type cd /root to enter our root home folder.  then type:  wget:http://downloads.sourceforge.net/project/webadmin/webmin/1.820/webmin_1.820_all.deb?r=http%3A%2F%2Fwebmin.com%2F&ts=1482526185&use_mirror=pilotfiber

That’s wget, then a space, and paste the link you copied from the download page.    This will download the file we need to install webmin.

Step 4 — Rename the file

Let’s rename the file, so it is a bit easier to work with…  Again, assuming this is the only webmin file in this directory.   mv webmin* webmin.deb

Step 5 — Install Webmin

To install webmin, type dpkg -i webmin.deb

Step 6 — Fixing errors

We have some dependency errors that we need to fix.   Type apt-get -f install

Step 7 — Logging into Webmin

Now, in your web browser, you can go to https://learnautomation.com:10000, substituting your own domain name.  You might have to choose “advanced” on the initial page to confirm that you want to enter the site.   Whatever browser, you are using, you will want to get past the security messages, and confirm that you want to enter the site.   Then log in as root with your password for the server.

Step 8 — Select MySQL DatabaseSelect MySQL

Under “Servers”, we will open MySQL Database

Step 9 — Create the databaseMySQL Database

Log in as “root” with your password if asked, and select “Create New Database”

 

Arduino Create DatabaseNow, Name your database, and press the “create” button.

Step 10 — User PermissionsMySQL User Permissions

Now, we will add a user to our database, so we will select “User Permissions”

 

Create userNow, choose to “Create new User”

 

 

Complete the user
Arduino Create user permissions as follows.    We don’t need to give this user any privileges right now.  We will make them specific to the database later on.  Be sure to choose “localhost” for the user, though, and set the password for this user.  Here, I’ll just name the user “learnautomation”

Press “Create” to finish creating the user.

Step 11 — Database PermissionsDatabase permissions1

Now, we will associate the new user to the database, so back on the main MySQL page, we will select “Database Permissions“, then “Create New Database Permissions“.

 
Arduino Database permissionsComplete the form similar to the one shown.   Again, here we are mainly concerned with just getting the page running.   You can always research more secure settings.   To give this user all privileges, click the top privilege, scroll to the bottom of the privilege list.   Hold down shift and click the bottom privilege to select all privileges.    Then press “Create“.

 

 

 

 

 

Step 12 — Creating the initial table

Arduino Database IconNext, we will create a table.   In this table, we will have a unique ID to identify entries, and level, temperature, and humidity.  Back on the main MySQL Database page in Webmin, we will click on our “arduino” database.

 

Arduino Create TableIn this example, we will create 5 fields.   The number of fields you use will depend on your project, and how much data you want to log.   Please modify this accordingly.

 

 

Arduino Table PropertiesFor logging our level, temperature, and humidity, we will set the table up as follows.   Please modify these fields according to your project.

Press “Create” and that’s it!!!   You are ready to start using the table with your arduino project!!

 

—  Ricky Bryce

Leave a comment

Your email address will not be published. Required fields are marked *