Last active
March 26, 2020 20:13
-
-
Save darrenjrobinson/43eae378f20e45e701a7d3079cca12ab to your computer and use it in GitHub Desktop.
Send IoT Events from Device to Cloud over HTTPS and REST. Associated Blogpost https://blog.darrenjrobinson.com/sending-events-from-iot-devices-to-azure-iot-hub-using-https-and-rest/
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Send Message Device to IoTHub over HTTPS via Rest | |
# IoT DeviceID | |
$deviceID = "MyIoTDevice" | |
# Iot Hub Name | |
$IoTHubName = "MyIoTHub" | |
$IOTHubDeviceURI= "$($IoTHubName).azure-devices.net/devices/$($deviceID)" | |
# RestAPI Version | |
$iotHubAPIVer = "2018-04-01" | |
$iotHubRestURI = "https://$($IOTHubDeviceURI)/messages/events?api-version=$($iotHubAPIVer)" | |
# SAS Token Generated via Azure CLI or Device Explorer | |
$SASToken = "SharedAccessSignature sr=MyIoTHub.azure-devices.net%2Fdevices%2FMyIoTDevice&sig=gqitFLvPA9AghisfjsTYUSDFGF8cx8cBOXCXOfwwd3qT8E%3D&se=1560379444" | |
# Headers | |
$Headers = @{"Authorization" = $SASToken; "Content-Type" = "application/json"} | |
# Message Payload | |
$datetime = get-date | |
$body = @{ | |
datetime = $datetime | |
deviceClient = $deviceID | |
Message = "Message Device to Cloud" | |
} | |
$body = $body | ConvertTo-Json | |
# Send Message | |
Invoke-RestMethod -Uri $iotHubRestURI -Headers $Headers -Method Post -Body $body |
In this example any device with PowerShell support. I've linked the supporting blogpost to the GIST that also has a Python example.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Can I use this for any device to send message to IoT Hub