At GCITS we’re getting familiar with the Internet of Things (IoT). To start with, we’re connecting sensors to the cloud to make use of the real time data.

As a quick test, we want to connect a temperature sensor in our office to our dashboard in Power BI. The first step is to get a reading from the temperature sensor via the Raspberry Pi.

I had a bit of trouble getting this working using the some of the suggested wiring diagrams (it may just be an issue with my breadboard) so I’m posting this here in case it helps someone else.

You will need:

  • Raspberry Pi running Raspbian
  • A Breadboard
  • Assorted wires
  • 10k ohm resistor
  • DHT11 Temperature/Humidity Sensor

Wire it all up

First step is to wire up your Raspberry Pi to the DHT11 temperature sensor.

Here’s a drawing of my wiring, as well as two photos that should make it clear.

DHT11 Wiring Diagram
Raspberry Pi Wiring
DHT11 Wiring On Breadboard


Set up your Raspberry Pi

Once you’re all set, you’ll need to install a library to easily pull data from the sensor. I’m getting started with Python, so I’m using the Python library provided by Adafruit. I found some great instructions in this PDF:

I’ll summarise it here:

Open the terminal on your Raspberry Pi and run the following commands:

git clone
cd Adafruit_Python_DHT

This will clone the Adafruit Python Library to your Pi

To make sure you have the correct dependencies to use the library, you’ll also need to run these commands:

sudo apt-get update
sudo apt-get install build-essential python-dev python-openssl

Next you’ll need to install the library we cloned earlier:

sudo python install

To confirm that you’ve successfully installed the library, test the sensor by navigating to the Examples folder and running the test python script:

cd examples
sudo ./ 11 4

This tests pin GPIO 4 for the DHT11 sensor and returns the temperature and humidity values.
Temperature and Humidity Results
Temperature Outside


As you can see, the result seems to be pretty accurate.

The parameters at the end can be modified to suit your setup. If you’re using the DHT22 sensor, replace 11 with 22 , or if you’re using another GPIO pin, substitute 4 for the appropriate GPIO pin number.

For example, sudo ./ 22 17 refers to a DHT22 on GPIO17

Stay tuned for future posts on how we’ll connect this data to the cloud and Power BI!

We ran into an interesting problem the other day when our internal dashboard just stopped automatically updating. I tried to force a manual refresh but received this rather unhelpful error message.

Power BI Error Message

Here’s how we fixed it.

After some back and forth with the PowerBI support team, we realised that the issue might have something to do with the oAuth security tokens stored in Zendesk. We were able to connect to the Zendesk data using the PowerBI desktop application which generated a new oAuth request. From there, we queried Zendesk support on how to delete the oAuth tokens manually so we could recreate them.

The support guys at Zendesk have been pretty fantastic and this time was no exception. They quickly sent through instructions for deleting the existing oAuth tokens. They linked us to a page with a curl command that would revoke the tokens stored on Zendesk. After downloading curl and running the command we were back in action and our data was live again! Here is how you can do the same thing.

If you’re using Windows, download the latest version of curl.exe from You’ll need the version that includes WinSSL, since that’s how we’ll connect to your Zendesk platform. Unpack the 7zip archive and open a command prompt to the extracted “curl_X64_ssl\winssl” directory.

You can query the stored tokens using this command (remember to substitute the values in the curly braces with your own):
curl.exe https://{subdomain} -v -u {emailaddress}:{password}

Which returned the following output:

ZenDesk OAuth Token

This gives us information about the current oAuth token, including the token ID (in red) which we could now use to revoke the token:
curl https://{subdomain}{ID from the last command}.json -X DELETE -v -u {emailaddress}:{password}

I had to do this a couple of times to delete all tokens. Be careful running this command if you have other applications that integrate with Zendesk – if you delete the wrong token you will break them. In our case, we only connected Zendesk with PowerBI and no other application so I just deleted all tokens. Once they were gone, I deleted the Zendesk data and dashboards from PowerBI and then reconnected to the service using the “Get Data” menu. As expected, this prompted me to authenticate so PowerBI and Zendesk could create a new token.

Power BI Dashboard Ready

Everything was all good after this point and my automatic update was working again. If you’re interested in PowerBI and Office 365 or if you want to get more value out of your existing subscription then get in touch and we can build something that works for you.


Microsoft delivered on a long awaited feature of OneDrive last week – the syncing of shared folders.

Microsoft announced the feature back in February 2014 and called it Co-Owners. As far as I can tell, it’s no longer called co-owners, though the concept is still the same.

The new feature allows users of the consumer version of OneDrive to add folders that have been shared with them to their own OneDrive. Once added, these folders can be synced to computers and devices. Any changes are uploaded to OneDrive and appear for all users who access the folder.

Since the shared folder appears to be inside your own OneDrive, the feature works on all versions of the app – PC, Mac, iOS, Android and Windows Phone.

It came in handy last week for one of my clients who run Macs and don’t have a business version of Office 365 since their parent organisation runs hosted exchange through another provider. The feature was very easy to set up and involves just a few steps.

To add shared folders to your OneDrive

  1. Log in to as the user that has folders shared with them
  2. Click the Shared link on the left menu
    View Shared folders on OneDrive
  3. Select the folder by right-clicking or ticking the circle in the top right of the folder. Choose Add to My OneDrive. It’s either on the context menu if you right-click, or on the top menu if you select the folder.
    Add to OneDrive via right-click

    Add to OneDrive via top menu
  4. Once added to OneDrive, you can access this folder from any device, or sync it to your PC or Mac.


This week we’re exploring the capabilities of Microsoft Power BI (an Office 365 add-on) to give us a clear picture of our daily performance.

Power BI allows you to connect multiple data sources from a wide range of on-premise and cloud services and view the live data in a clean dashboard. You can view and share dashboards from the browser, the windows app, or the mobile apps for iOS, Android or Windows Phone. In our case, we wanted the screen in our office to focus on a couple of things: the performance of our support team, and our website statistics.

We’re tracking the support team performance because it’s the core of our business, and the website performance because we’re focusing on delivering more useful content and would like to see how it’s received.

The data we need to track these metrics is stored in external silos – Zendesk and Google Analytics. Luckily, Power BI makes it easy to connect these data sources to a single dashboard.

Here’s a video of it starting up, and a photo of the finished dashboard:

Power BI Dashboard

This setup uses a Raspberry Pi connected to an Azure Virtual Machine running Power BI through the browser.

We’ll be adding new features in the next few weeks  involving additional Raspberry Pis, some connected sensors and Azure SQL. Stay tuned!


Last Sunday I received a call from a new customer who found a disturbing message on their Small Business Server 2003 box. The message text advised them that their files had been encrypted and asked them to send a Western Union or MoneyGram order to the value of $4000.00 USD if they want to recover their data. The prompt could not be closed off and it blocked access to Task Manager. The desktop was only visible on immediate logon or logoff. The backup drive connected to the server was formatted.

Thankfully the customer had a second backup drive from the day before. However, their backup had been poorly configured and only contained copies of their important files and folders – it didn’t contain a System State backup. We would normally format and restore from the last known good backup, but in this case the customer stood to lose their Active Directory and Exchange installation since it was not backed up. Instead the best course of action would be to remove the hackers message and restore the affected files from backup.

Another technician had already encountered this issue with another server in the past so he was able to provide some more information. The hacker scans for publicly accessible servers listening on the default RDP port 3389. Once they get a hit, they use a dictionary attack to exploit weak passwords. Once logged in, the hacker disables the antivirus and installs malware to encrypt specific files on the system and delete the originals. It also deletes folders that contain the word “backup” and formats removable drives connected to the system. The message is displayed once encryption is complete. See for more details.

This is how we resolved the issue:

  1. Boot from the LiveCD of your choice. I prefer Hiren’s, but it wouldn’t load on this HP Server. Instead I used RegRun’s Warrior as it has a copy of Regedit as well as a DOS based file manager.
  2. Load the “Software” registry hive from C:\Windows\System32\Config\Software and label it “OfflineHive” using regedit. Remove the suspicious entries from HKLM\OfflineHive\SOFTWARE\Microsoft\Windows\CurrentVersion\Run. Unload the Hive.
  3. Load your Administrator NTUser.dat hive from C:\Documents and Settings\Administrator\NTUser.dat and label it “UserHive” using regedit. Remove the suspicious entries from HKLM\UserHive\SOFTWARE\Microsoft\Windows\CurrentVersion\Run. Unload the Hive.
  4. Archive or Delete suspicious files named similar to “ncomqrzsoa” in the following locations:
    C:\Documents and Settings\All Users\Desktop\
    Use “attrib -s -h <foldername>” if you are unable to move or delete these folders.
  5. Delete the following files if you find them:
  6. Restart into Windows. You’ll find that it will take a very long time to startup as the Active Directory services (and a lot of other services) had been disabled. I logged into a healthy SBS 2003 server and made sure that the list of services set to start automatically matched on both services.
  7. Restart server after appropiate services were enabled.

After another restart, the SBS server was almost good to go. We changed the RDP port to something different and reset the passwords on all accounts. We also disabled any older accounts or user accounts that the customer didn’t recognise. Workstations had to be restarted and logged in with the new password to connect to the server. Additionally, we ran a full virus and malware scan on the server and all workstations which came up clean.

It is worth considering using a non-default port for RDP for this reason. Also make sure you have a password complexity policy enabled on your domain to avoid weak or dictionary passwords.

Here is a  list of services that were set to “Automatic” startup in a healthy SBS 2003:

Application Experience Lookup Service
Automatic Updates
COM+ Event System
Computer Browser
Cryptographic Services
DCOM Server Process Launcher
DHCP Client
DHCP Server
Distributed File System
Distributed Transaction Coordinator
DNS Client
DNS Server
Error Reporting Service
Event Log
File Replication Service
Help and Support
IIS Admin Service
IPSEC Services
Kerberos Key Distribution Center
License Logging
Logical Disk Manager
Machine Debug Manager
Microsoft Exchange Information Store
Microsoft Exchange Management
Microsoft Exchange Routing Engine
Microsoft Exchange System Attendant
Microsoft Firewall
Microsoft ISA Server Control
Microsoft ISA Server Job Scheduler
Microsoft ISA Server Storage
Microsoft Search
Net Logon
Plug and Play
Print Spooler
Protected Storage
Remote Procedure Call (RPC)
Remote Registry
SBCore Service
Secondary Logon
Security Accounts Manager
SharePoint Timer Service
Shell Hardware Detection
Simple Mail Transfer Protocol (SMTP)
System Event Notification
Task Scheduler
Volume Shadow Copy Service
Windows Internet Name Service (WINS)
Windows Management Instrumentation
Windows Time
World Wide Web Publishing Service

GCITS provides expert IT Support for businesses on the Gold Coast and Tweed region. As part of the Ozbizweb Group, we have been Microsoft Certified Partners since 2001 and Microsoft Small Business Server Specialists.

Ask us how we can make IT work for your business.