Search This Blog

Monday, September 27, 2021

BME280 Sensor with Raspberry Pi streaming to Power BI

A circuit using a Adafruit BME280 I2C or SPI Temperature, Humidity, Pressure Sensor, connected to a Raspberry PI (I used one of my old Raspberry Pi B-Models). The sensor values is read by a PHP script running on the Raspberry PI, the values then get sent to a Power BI streaming dataset via API which displays data on a Power BI dashboard.

Circuit Diagram (check it here Ciruito.io):


PHP Script (get it here GitHub):


You can setup the Raspberry Pi to when starting the OS (I use Raspbian) to automatically execute the script after boot-up (google it!). In the script you will need to just change the REST_API_URL variable, to your streaming dataset API end-point address. 
(REST API endpoint format: https://api.powerbi.com/beta/<tenant id>/datasets/<dataset id>/rows?key=<key id>)

Power BI Streaming Dataset:


After creating a Streaming dataset, Power BI will create a API end-point where you can POST data to:


Then just build a Power BI Dashboard on the created streaming dataset:


The Setup:


Oor en uit!

Simple Blazor Server App using the Marvel API


Live running sample: https://redeyeballmarvel.azurewebsites.net/


Code here : https://github.com/FD-Innovation-Tech-Forum/Marvel-Blazor-Server-App


Head over to : https://developer.marvel.com/ Register get API key to run/test the solution on your local


Tuesday, October 20, 2015

Get ULS log for CorrelationID

Merge-SPLogFile -Path ".\error.log" -Correlation "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"

Wednesday, July 29, 2015

After content DB of SharePoint was restored and you get message from K2 Smart Object

After content DB of SharePoint was restored and you get message from K2 Smart Object like this:

The remote server returned an error: (401) Unauthorized.Failed to initialize the Context: URL: http://www.someurl.com/Workflows/workflow Username: Error Details: Method: SharePointService.initializeContext x-ms-diagnostics : 3000003;reason="Invalid audience Uri '00000003-0000-0ff1-ce00-000000000000/www.someurl.com@17094d66-8912-4189-84bd-d5c10d9299a1'.";category="invalid_client" SPRequestGuid : d3b51e9d-2835-006a-cac9-96afcf924f6e

Run SharePoint install wizzard and...
Go read this: http://help.k2.com/displaycontent.aspx?id=7137

Basically go delete oauth resource and register it again

Friday, July 03, 2015

K2 SmartForms: Checkbox List

The Requirement/Scenario and Solution:

We have 3 SharePoint Lists:

Hardware requirements list, this is the lookup values we populate or check box list dynamically with

IT User Request, list to keep our IT request transactional data in


And The User Hardware list to keep data of selected Hardware per User Request (Linked to IT User Request Id and Hardware to Hardware lookup lists)


I then proceeded to create smart objects for each list by selecting the K2 Application link on the ribbon of each list and create the SMO (SmartObjects)


Once SMO has been created we can build Smart Forms and Views.
Create a view with check box list with data source configure to point to the Hardware Requirement SMO:

Then we build form and add our view i.e.

Configure the Save button as follow:
First we call IT User Request SMO to create list item
Then we add a for condition to “loop” thru checked items and then
Call the User Hardware List SMO to create list item (for each checked item)

The configure for the Create User Hardware list properties as follow:
ID Number - from Id number text box
Hardware – from Checkbox list SMO ID
IT User Request – from IT User Request SMO ID


Then Test IT!!!!

It User Request Entry:


User Hardware List


Boom!


How to: SQL 2012 Performance Dashboard Reports

By Prett Sons
SQL Server Performance Dashboard comprises a set of custom reports that give you nitty gritty details about the performance of your SQL Server instance. Using these reports, you can keep track of the performance issues confronted by SQL Server and get significant help to resolve these issues without having to run T-SQL queries. SQL Server 2012 has introduced new enhancements to the Performance Dashboard toolset.
In order to use SQL Server 2012 Performance Dashboard Reports, you do not require installing Reporting Services. You can access these report files through the Custom Reports feature of SQL Server Management Studio. The data fetched from these reports can be used to diagnose performance issues, including CPU bottlenecks, IO bottlenecks, blocking, and latch contention. You may also get recommendations about creating and modifying indexes (from query optimizer).
You can download SQL Server 2012 Performance Dashboard Reports from the Microsoft Download Center and get started. The below given tips will guide you how to install and use SQL Server 2012 Performance Dashboard Reports in SQL Server 2012. In the later section, you will see what are the key changes made to the Performance Dashboard in SQL Server 2012.

Installing SQL Server 2012 Performance Dashboard Reports

The following steps will install the Performance Dashboard Reports.
  • Navigate to the location where you saved the SQLServer2012_PerformanceDashboard.MSI file and double-click it. You will receive a welcome screen. Click 'Next'.
  • The next screen will present you with the license agreement. Read the agreement, select 'I accept the terms in the license agreement', and click 'Next'.
  • The next screen will ask you the required registration information. Enter the details and click 'Next'.
  • You will be asked to choose the program features for installation. Go with the default selection and click 'Next'.
  • On the next screen, click 'Install' to begin the installation process. You can choose to click 'Back' button to make any other changes to your installation settings.
  • Click 'Finish' to exit the installation wizard. Now, you have successfully installed SQL Server 2012 Performance Dashboard Reports.

Configuring SQL Server 2012 Performance Dashboard Reports

After finishing the installation, it is necessary to configure the SQL Server to use the Performance Dashboard toolset you have just installed. The default installation directory for SQL Server 2012 Performance Dashboard Reports is 'C:\Program Files (x86)\Microsoft SQL Server\110\Tools\Performance Dashboard\'. Navigate to this location, search for the 'setup.sql' file, double-click it to open the Performance Dashboard Reports in SQL Server Management Studio. Next, establish connection to the SQL Server Database Engine instance where you need to install and access the reports. Hit 'F5' to start configuring the Performance Dashboard Reports.

Using SQL Server 2012 Performance Dashboard Reports

After you have successfully installed Performance Dashboard Reports, you need to consider the following:
  • You need to ensure that all functions and procedures accessed by the queries in reports must be present in all instances of SQL Server for which you need to carry out performance analysis. You need to search for the 'setup.sql' file after navigating to the installation directory and run the script. Close the window after the execution is finished.
  • Go to Object Explorer in SQL Server Management Studio, right-click on the server instance, and select 'Reports' → 'Custom Reports'. In the 'Open File' dialog box, select the 'performance_dashboard_main' report file and click 'Open'. You will be displayed a warning dialog box stating that you are about to run a custom report. Click 'Run' in this dialog box to open the 'performance_dashboard_main.rdl' file. You will be presented with various charts and hyperlinks in the report for analyzing the performance of the server.
  • You can click links provided in the main report to access the remaining reports. In order to better know how to use these reports, you can view the help file, i.e. PerformanceDashboardHelp.chm.
  • On the dashboard, you will also find the extended events ('XEvent') sessions that the instance is currently running. XEvents is a feature in SQL Server that enables you to get information about various events that occur inside the database engine. The XEvents sessions report displays the configuration of all the currently active XEvents sessions on the SQL Server instance and the events captured by these sessions.
  • By default, the system_health session is enabled by default in SQL Server 2012. The two sessions (i.e. the system_health session and the sp_server_diagnostics session) are always active on a default installation of SQL Server 2012.
  • In SQL Server 2012, the databases overview report provides more information about the databases than that given by any previous version of Performance Dashboard Report. The additional options that you can view in the report are 'Log Reuse Wait Description' and the 'Page Verify Option'. You can view the databases overview report by clicking the database option in the main report.
  • You can also view details of the System Sessions using the Sessions option (a drill-down option available on the main dashboard). If you take a sneak-peek at the Sessions details, you will see all the sessions that the server is currently running. It will also display information about the background tasks including other details, such as memory usage, logical reads, physical reads, and more.
You can also use SQL Server 2012 Performance Dashboard Reports to diagnose performance issues for SQL Server 2008 and 2008 R2 instances.

Wednesday, March 19, 2014

SharePoint Service account creation with PowerShell from CSV


Quick easy way to create Service Accounts for SharePoint.

Users.csv (layout):
FirstName, LastName, SamAccountName, -acc password-
sp_cacheSuperUser, sp_cacheSuperUser, sp_cacheSuperUser, -acc password-
sp_cacheSuperReader,sp_cacheSuperReader,sp_cacheSuperReader, -acc password-
sp_farm,sp_farm,sp_farm, -acc password-
sp_portal_mysite,sp_portal_mysite,sp_portal_mysite, -acc password-
sp_portal_intranet,sp_portal_intranet,sp_portal_intranet, -acc password-
sp_searchContent,sp_searchContent,sp_searchContent, -acc password-
sp_searchService,sp_searchService,sp_searchService, -acc password-
sp_services,sp_services,sp_services, -acc password-
sp_userProfiles,sp_userProfiles,sp_userProfiles, -acc password-

PowerShell Script:
# Created this script using Windows Server 2012# Import Active Directory module
Import-Module ActiveDirectory -ErrorAction SilentlyContinue

# Set OU for the user accounts
$OU = “OU=SharePoint,OU=Service Accounts,DC=dev,DC=local”

# Get domain name
$dnsroot = ‘@’ + (Get-ADDomain).dnsroot

# Import the file with the users.
$users = Import-Csv .\users.csv #-Delimiter “;”

Write-Output $users

foreach ($user in $users)
{
    # Get password from CSV File
    $Password = ConvertTo-SecureString $user.Password -asPlaintext -Force

    # Create Accounts
    #$FullName = ($user.FirstName + ” ” + $user.LastName)
    $FullName = ($user.LastName)
    $UserPrincipalName = ($user.SamAccountName + $dnsroot)

    try
    {
        New-ADUser -SamAccountName $user.SamAccountName –Name $FullName –DisplayName $FullName -GivenName $user.FirstName -Surname $user.LastName –UserPrincipalName $UserPrincipalName -Enabled $true -ChangePasswordAtLogon $false -PasswordNeverExpires $false -Path $OU -AccountPassword $Password -PassThru | Out-Null
        Write-Output “Created user $($user.SamAccountName)
    }
    catch [System.Object]
    {
        Write-Output “Could not create user $($user.SamAccountName), $_
    }

MSMQ workgroup flag reverts back to 1

Manage to fix this issue on my VM by following these next steps:

Uninstall MSMQ from windows features completely

Setting Permissions in Active Directory Domain Services Before Installing the Routing Service or the Directory Service Integration Features of Message Queuing

The successful installation of the Routing Service feature on a Windows Server 2008 R2 computer that is not a domain controller, or the Directory Service Integration feature of Message Queuing on a Windows Server 2008 R2 computer that is a domain controller requires that specific permissions are set in Active Directory Domain Services. Follow these steps to grant the appropriate permissions in Active Directory Domain Services before installing these features.

To grant permissions for a computer object to the Servers object in Active Directory Domain Services before installing the Routing Service feature on a computer that is not a domain controller

  1. Click Start , point to Programs , point to Administrative Tools , and then click Active Directory Sites and Services to open Active Directory Sites and Services .
  2. Click to expand Active Directory Sites and Services , click to expand Sites , and then click to expand the site which this computer will be a member of.
  3. Right-click Servers and select Properties to display the Servers Properties dialog box.
  4. Click the Security tab of the Servers Properties dialog box.
  5. Click the Add button to display the Select Users, Computer, or Groups dialog box.
  6. Click the Object Types button to display the Object Types dialog box, click to enable Computers , and then click OK .
  7. Enter the name of the computer for which the Routing Service or Directory Service Integration feature will be installed, click Check Names , and then click OK .
  8. Enable the following permissions for this computer object:
    • Allow Read
    • Allow Write
    • Allow Create all child objects
  9. After enabling these permissions, click Advanced to display the Advanced Security Settings for Servers dialog box.
  10. Select the computer object from the list of permission entries, and then click the Edit button.
  11. Select Thisobject and all descendant objects from the Apply to drop-down list, and then click OK .
  12. Click OK to close the Advanced Security Settings for Servers dialog box.
  13. Click OK to close the Server Properties dialog box.

To grant the Network Service account the Create MSMQ Configuration Objects permission to the computer object in Active Directory Domain Services before installing the Directory Services Integration feature on a computer that is a domain controller

  1. Click Start , point to Programs , point to Administrative Tools , and then click Active Directory Users and Computers to open Active Directory Users and Computers.
  2. Click the View menu and click to enable the options for Users, Groups, and Computers as containers and Advanced Features .
  3. Click to expand the Domain container for the domain, click to expand the Computers container, right-click the computer object on which the Directory Services Integration feature is being installed, and then click Properties to display the computer properties dialog box.
  4. Click to select the Security tab of the computer properties dialog box.
  5. Click the Advanced button to display the Advanced Security Settings for  dialog box.
  6. Click the Add button to display the Select User, Computer, or Group dialog box.
  7. Type Network Service into the Enter the object name to select edit box. Click Check Names , and then click OK .
  8. Click to enable Allow for the Create MSMQ Configuration objects permission, and then click OK to close the Permissions Entry for  dialog box.
  9. Click OK to close the Advanced Security Settings for  dialog box.
  10. Click OK to close the computer properties dialog box.
Install MSMQ with Directory Service Integration

Thursday, April 21, 2011

More SQL Pivot idea's

CREATE TABLE Test
(
Id INT,
Names VARCHAR(100)
)
GO
-- Load sample data
INSERT INTO Test SELECT
1,'A' UNION ALL SELECT
1,'B' UNION ALL SELECT
1,'C' UNION ALL SELECT
2,'A' UNION ALL SELECT
2,'B' UNION ALL SELECT
3,'X' UNION ALL SELECT
3,'Y' UNION ALL SELECT
3,'Z'
GO

SELECT T1.Id ,AllNames = SubString (
( SELECT ', ' + T2.Names
      FROM Test as T2
      WHERE T1.Id = T2.Id
      FOR XML PATH ( '' ) ), 3, 1000)
FROM Test as T1
GROUP BY Id
-sent by Johan S