Industriële fabricage
Industrieel internet der dingen | Industriële materialen | Onderhoud en reparatie van apparatuur | Industriële programmering |
home  MfgRobots >> Industriële fabricage >  >> Manufacturing Technology >> Productieproces

Sensor Telemetrie 2.0.1 – Geavanceerde Temperatuurbewaking met Azure IoT Hub

Sensor Telemetrie 2.0.1 levert real-time temperatuurdata van een MCP9808-sensor naar Microsoft Azure IoT Hub. Het systeem verwerkt telemetrie met Azure Stream Analytics, slaat resultaten op in Azure SQL, en visualiseert historie in een Windows Universal mobiele app. Bijgewerkt 17 mei 2017.

Verhaal

UPDATE: Sensor Telemetrie is herschreven en hernoemd naar 2.0.1.

Inleiding

Overzicht

Dit project demonstreert hoe je een hoog-precieze MCP9808-temperatuursensor op een Raspberry Pi uitleest, telemetrie naar Azure IoT Hub stuurt, de data verwerkt met Stream Analytics, en metingen opslaat in Azure SQL. Een UWP mobiele app toont de sensorhistorie en stelt remote besturing via SignalR in.

De Applicatie

Twee UWP-apps delen ~99% van hun code: een draait op de Raspberry Pi (IoT-kant) en de ander op een PC (client-kant). De IoT-app stuurt sensordata naar IoT Hub en SignalR, terwijl de client-app zich abonneert op SignalR voor real-time updates en commando's terug naar het apparaat kan sturen.

Technologieën

De codebase volgt MVVM met Prism (Prism.Unity voor IoC) en Prism.Event voor een losgekoppeld event-systeem. SignalR stuurt real-time communicatie over app-instanties.

Architectuur

De kern MCP9808-bibliotheek is een herbruikbaar UWP-component. In de client-app zijn Views gekoppeld aan ViewModels; drie repositories behandelen instellingen, debug-logs, en sensordata. De Mcp9808TemperatureRepository publiceert een temperatuur-gewijzigd-event alleen wanneer de meting verandert. Achtergrondservices regelen telemetrie, timers, alert-pin monitoring, LED-besturing, drukknop-afhandeling, notificatie-relais, en debug-logging.

Telemetrie Service

Luistert naar temperatuurveranderingen en stuurt berichten door naar Azure Service Bus Event Hub.

Timer Service

Publiceert een 500 ms tick; gebruikt voor UI-tijddisplay en sensor-polling (1 s intervallen).

Alert Pin Monitoring Service

Detecteert GPIO-veranderingen op de MCP9808 alert-pin en publiceert events.

LED Service

Bestureert LEDs op basis van temperatuuralarmen.

Push Button Monitoring Service

Behandelt handmatige alert-reset via een GPIO drukknop.

Notification Relay Service

Map interne events naar SignalR-berichten, wat communicatie tussen apps mogelijk maakt.

Debug Console Service

Verzamelt en exposeert debug-events voor de UI.

Applicatie-initialisatie

De app lanceert StartPage, die services bootstrap voordat naar de hoofdview genavigeerd wordt.

Aan de slag

Schakelingseisen

  • Groot solderloos breadboard (Vilros T-vormige cobbler optioneel)
  • MCP9808 breakout (Adafruit)
  • 4 LEDs, 220 Ω weerstanden, 10 k Ω pull-ups, momentane drukknop

Assemblage

  • Sluit LEDs aan op GPIO 18 (blauw), 23 (groen), 12 (rood), 16 (geel) met 220 Ω naar 3,3 V.
  • MCP9808: VDD→3,3 V, GND→GND, SCL→GPIO 5, SDA→GPIO 3, ALERT→GPIO 6, pull-up 10 k Ω naar 3,3 V.
  • Drukknop: één kant naar GPIO 5, andere kant naar GND, pull-up 10 k Ω naar 3,3 V.

Foto's van het afgeronde breadboard zijn beschikbaar in de galerij hieronder.

Microsoft Azure Vereisten

Maak een gratis Azure-account (USD 200 tegoed) aan op azure.com. Log in op portal.azure.com.

Azure IoT Hub Instellen

  • Nieuw → Internet of Things → IoT Hub
  • Unieke naam, abonnement, resourcegroep (nieuw aanmaken), locatie (deze regio)
  • Prijslaag: F1 Gratis (één gratis laag per account)
  • Wacht op implementatie, bekijk dan hub-overzicht.

Een Apparaat Maken

  • Download Azure IoT SDK voor C# van GitHub en open DeviceExplorer in Visual Studio.
  • Plak IoT Hub verbindingsstring (van hub > Shared access policies > iothubowner).
  • Maak een apparaat (bijv. TemperatureDevice1) met auto-gegenereerde keys.

Azure SQL Database Instellen

  • SQL Databases → Toevoegen → Naam: SensorTelemetrie.
  • Bestaande resourcegroep gebruiken; nieuwe server aanmaken met unieke naam, admin gebruikersnaam/wachtwoord, Basic tier, dezelfde regio.
  • Firewall configureren om je IP toe te staan.

Database-tabel Aanmaken

  • Open SQL Server Object Explorer in Visual Studio, verbind met de Azure SQL-server.
  • Voer het meegeleverde CREATE TABLE-script uit om SensorReadings aan te maken.

App Service Plan & Mobile App Aanmaken

  • App Service plans → Nieuw, naam, bestaande resourcegroep, locatie, Basic tier B1.
  • Nieuw → Web+Mobile → Mobile App, naam, abonnement, bestaande resourcegroep, gekozen App Service plan.

Azure Stream Analytics Instellen

  • Nieuw → Data + Analytics → Stream Analytics Job.
  • Configureer invoer als de IoT Hub, uitvoer als de Azure SQL-tabel.
  • Gebruik query: SELECT [TimestampUtc], Source, Temperature, IsCritical, IsAboveUpperThreshold, IsBelowLowerThreshold INTO [YourOutputAlias] FROM [YourInputAlias];
  • Start de job.

Software Configureren

Download de broncode van de repository-link en open de solution in Visual Studio.

De Mobile App Publiceren

  • Rechtsklik Web-project → Publiceren → Microsoft Azure App Service → selecteer je App Service.
  • Kopieer de Azure SQL verbindingsstring (ADO.NET) en plak in MS_TableConnectionString in het project, gebruikersnaam/wachtwoord bijwerken.
  • Publiceren; de website lanceert automatisch.

IoT Hub Inloggegevens Invoeren

  • In App.xaml van het UWP-project, vervang {YOUR CONNECTION STRING HERE} met de device connection string uit Device Explorer.
  • Vervang {YOUR DEVICE ID HERE} met het device ID dat je aanmaakte.

Mobile App URL Invoeren

  • In UnityConfiguration.cs, plak de App Service URL (gekopieerd uit Azure portal) in {YOUR MOBILE SERVICES URL HERE}.

Voor gedetailleerde instructies, zie de volledige Sensor Telemetrie 2.0.1 documentatie.

Productieproces

  1. TMP006 Infrarood temperatuursensor met Raspberry Pi: Python bibliotheek & installatiegids
  2. Een LED Besturen met een PIR-bewegingssensor op Raspberry Pi
  3. Een Goedkope Raspberry Pi Grondvochtigheidssensor Bouwen voor Slimme Irrigatie
  4. De DS18B20 Temperatuursensor Testen op Raspberry Pi
  5. Een Raspberry Pi thuistemperatuurmonitor bouwen met MCP9808, InfluxDB & Grafana
  6. Sensor Telemetrie 2.0.1 – Geavanceerde Temperatuurbewaking met Azure IoT Hub
  7. Emotiesensor & EEG: Goedkope Hardware voor Real-time Emotiedetectie
  8. UnifiedWater v1 – Complete Arduino Waterkwaliteit Sensor Kit
  9. De zuurstofsensor (O2) begrijpen: functie, plaatsing en defectherkenning
  10. Sensor Kalibratie Uitgelegd: Definitie, Methoden en Sleuteltoepassingen
  11. Hartslagsensor: Hoe Het Werkt & Praktische Toepassingen