Personal Dashboard

What an irony. I bought iPad and it came without a calculator app (lets avoid iTune topic). I bought Kindle Fire and the shopping app was crashing. I don’t want to buy thousands of adapters and I don’t know what to do with all my new Magsafe chargers.

Enough! This time I bought an old wooden picture frame from Goodwill for a couple $$ and upgraded it a little… with four full-size USB ports, 3.5 mm audio jack, WiFi, Bluetooth, Ethernet, 7” 1280×800 screen, 1.2 GHz CPU and plenty of storage.

Raspberry Pi in picture frame

Raspberry Pi in picture frame

Now my picture frame runs Ubuntu! That means my new #DIY #IoT hub / dashboard is ready to be programmed. Raspberry Pi 3 is pretty good – fast, reliable and extensible.

Picture frame with Raspberry Pi Raspberry Pi in the picture frame

I will update this post when I automate a dashboard for my personal use.

Update 11/13/2016: I have quickly prototyped my personal dashboard during this weekend. Visualized things that I care about in one place: notification counts from some websites, traffic, weather, event reminder, etc.

Personal Dashboard

Personal Dashboard

 

The dashboard part of that project is ready; it was implemented using Microsoft SQL Server Reporting Services (SSRS) and a little bit of JavaScript. It refreshes every minute. Still need to automate data gathering. Here is a picture of the dashboard on my table.

Your thoughts and ideas are welcome in the comment section. Thanks!

2 thoughts on “Personal Dashboard

  1. Gristy13

    What a great little project. I have been working on something similar but have not been able to get the authentication automated for the the SSRS report. How did you do it?

    Reply
    1. Roman Chernikov Post author

      Thanks for the kind words! I am aware of three ways to avoid regular SSRS authentication to show reports as dashboards :
      1. Setup SSRS to not require authentication at all. This is not recommended as that opens access to everyone to any report on the SSRS server.
      2. Create a simple HTML page with IFRAME that spans the whole page, add a simple JavaScript to refresh the IFRAME content every minute or how often the refresh is needed. Open the page in a browser, login once, the following report refreshes will not require authentication.
      3. For this particular project where the report client is ubuntu running on RaspberryPi I picked a different approach: I created a “Windows File Share” report subscription to save the report into a folder that is accessible by a web server. The subscription saves the report as a PNG image; it refreshes the image every minute. The web-server serves the image as well as a simple HTML to the browser running on the dashboard. The HTML page refreshes regularly and every time it picks the updated picture.

      SSRS does not export reports in PNG format by default. I needed to add the configuration below into C:\Program Files\Microsoft SQL Server\MSRS10_50.MSSQLSERVER\Reporting Services\ReportServer\rsreportserver.config. To achieve the best results set the DpiX and Dpi based on your dashboard screen resolution:


      <Extension Name="PNG" Type="Microsoft.ReportingServices.Rendering.ImageRenderer.ImageRenderer,Microsoft.ReportingServices.ImageRendering">
      <OverrideNames>
      <Name Language="en-US">Image (PNG)</Name>
      </OverrideNames>
      <Configuration>
      <DeviceInfo>
      <ColorDepth>32</ColorDepth>
      <DpiX>200</DpiX>
      <DpiY>200</DpiY>
      <OutputFormat>PNG</OutputFormat>
      </DeviceInfo>
      </Configuration>
      </Extension>

      Hope that helps. Thank you for asking!

      Reply

Leave a Reply

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