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

Arduino MKR OTA-programmering met spraakcontrole & extras

Onderdelen en benodigdheden

OnderdeelAantalOpmerking
Arduino MKR10001Nodig voor elk OTA-project. Onderdelen hieronder zijn voor het use-case: kamerthermostaat.
DHT11 Temperatuur- & vochtigheidssensor (4 pins)1
Relais (standaard)1
Breadboard (standaard)1

Apps en online diensten

  • Arduino IDE
  • Microsoft Azure IoT Hub
  • Microsoft Visual Studio 2015 (UWP)
  • Microsoft Project Oxford (Speech Recognition API)

Over dit project

Overzicht

Onze bijdrage bestaat uit twee delen:

Deel 1: Herbruikbare componenten. Een framework voor IoT-projecten met:

  • Over-the-Air (OTA) programmering van de Arduino MKR1000 (firmware upload via LAN of internet, beveiligd via Azure IoT Hub).
  • Een Universal Windows Platform (UWP) client-app met UI, die beveiligd communiceert via Azure IoT Hub.
  • Spraakherkenning in de client-app via Microsoft Project Oxford Speech Recognition API. Gesproken commando's sturen het bord via Azure IoT Hub.

Deel 2: Use-case / voorbeeld: een kamerthermostaat, bedienbaar via telefoon (UWP-app). Dit voorbeeld demonstreert het gebruik van de componenten. We hebben het zelfs in productie genomen: onze kantoorverwarming wordt nu door dit project geregeeld.

Deel 1: Herbruikbare componenten voor OTA

OTA-werkprincipe

Ontwikkelde componenten:

Voor Arduino IDE:

  • Een runtime-bibliotheek voor firmware-upload en kopieermechanica.
  • Een aangepast "boards"-pakket met linker-instellingen die de bibliotheek nodig heeft.
  • Een Arduino IDE-plugin die download-signalen en gecompileerde binaire sketches (firmware) verstuurt. Communiceert met het bord, Azure IoT Hub en de IoT-dispatcher server.

Op een derde-partij server (bijv. Azure Web Site):

  • IoT Dispatcher, een PHP + MySQL-applicatie die firmware opslaat en serveert.

UWP-app werkprincipe

Ontwikkeld:

  • Een UWP-clientapp in C#. Communiceert met het bord via Azure IoT Hub en herkent spraakcommando's via Microsoft Project Oxford. Kan als uitgangspunt dienen voor diverse projecten.

OTA-demo

Er zijn 3 OTA-uploadmethoden:

  1. OTA via LAN: File > Examples > Arduino-FlowerOTA > WiFiOTA. Pas IP, WiFi, SSL, serverhandtekening aan. Kies Flower Platform > Upload OTA.... Gebruik WiFiClient en de serverhandtekening.
  2. OTA via beveiligde dispatcher: Hetzelfde bestand. Gebruik WiFiSSLClient en ota.begin(&udp, &client, "my-iot-dispatcher-upload-key").
  3. OTA via dispatcher + Azure IoT Hub: File > Examples > Arduino-FlowerOTA > WiFiOTA-AzureIoTHub. Pas instellingen aan.

Let op: voor alle methodes is een initiële USB-upload vereist. Daarna kan OTA met de gekozen methode.

Deel 2: Use-case – Kamerthermostaat

Logica:

  • Temperatuur < ingestelde temperatuur → relais (verwarming) AAN
  • Temperatuur > ingestelde temperatuur → relais UIT
  • UWP-client toont status en stelt ingestelde temperatuur in (tekst of spraak)

1. Hardware bouwen

Geen Fritzing-diagram (Beta MKR1000, pinlayout kan wijzigen). Zie foto's in het project.

2. Ontwikkelomgeving instellen voor OTA & Azure IoT Hub

  • Arduino IDE ≥ 1.6.7
  • Arduino SAMD Boards installeren via Boards Manager
  • Bibliotheken in SKETCHBOOK_DIR/libraries: WiFi101, AzureIoT, RTCZero
  • Onze componenten:
    • OTA runtime-bibliotheek in libraries
    • Custom boards-pakket in hardware/flower-platform
    • Arduino IDE-plugin in tools
  • Voor beveiligde OTA via HTTPS: IoT Dispatcher op PHP/MySQL-server (bijv. Azure Cloud).

3. OTA testen

Zie bovenstaande 3 methodes. De voorbeeldcode bevat commentaren // CHANGE ME voor configuratie.

4. UWP-app testen (met Azure IoT Hub & Spraakherkenning)

Visual Studio 2015 + Windows 10 vereist. Pas verbindingsparameters aan in SendCloudToDevice.cs en ReadDeviceToCloud.cs (uit Azure Portal). De code is een uitgangspunt voor client-apps; pas de UI aan voor jouw project.

Toekomstige stappen

Borden als de MKR1000 (voldoende rekenkracht, SSL) zijn een grote stap voor makers. We ontwikkelen Flower Platform IoT, een online dienst die IoT-projecten versnelt:

  • Ontwikkeling: OOP-componenten en grafische programmeertaal (mix met handgeschreven code).
  • Deployment: OTA.

We willen een stichting oprichten die jonge kinderen leert IoT-projecten maken en programmeren.

Code-repositories

  • Runtime-bibliotheek (C++): GitHub
  • Custom boards-pakket (linker script): GitHub
  • Arduino IDE-plugin (Java): GitHub
  • IoT Dispatcher (PHP + MySQL): GitHub
  • Kamerthermostaat use-case (C++): GitHub
  • UWP-client voor thermostaat (C#, HTML, JS): GitHub

Schema

Geen Fritzing-diagram (Beta MKR1000). Zie foto in het project.

Productieproces

  1. Drie bewezen strategieën om controle over uw preventief onderhoudsprogramma te herwinnen
  2. Anticonceptiepil: Geschiedenis, Voordelen, Risico's en Productie
  3. Geautomatiseerd Zwembadvul- en Monitoringssysteem
  4. Emerson Verbetert Duurzaamheid met Azure-gehost Zedi Cloud SCADA Platform
  5. Stap-voor-Stap Gids Naar Microsoft Certified Azure Administrator
  6. Is Microsoft Azure Een Slimme Carrièrekeuze? Marktaandeel, Salarissen en Certificering Inzichten
  7. Microsoft Azure Kondigt Blockchain Tokenisatie & Datamanagement Services Aan
  8. Microsoft Azure Cheat Sheet 2020 – De Definitieve Gids tot Azure-services & Architectuur
  9. Azure Integreren met Power BI: Stapsgewijze Gids voor Moderne Bedrijven
  10. Edge AI en Low-Power Hardware Drijven De Opkomst van Stemmenbesturing
  11. Microsoft Lanceert Azure Edge Zones voor 5G-ingeschakelde IoT & AI-workloads