Share via


Distribuera en ny simulerad enhet

Med lösningsacceleratorerna Fjärrövervakning och Enhetssimulering kan du definiera dina egna simulerade enheter. Den här artikeln visar hur du distribuerar en anpassad kylaggregatstyp och en ny typ av glödlampa till lösningsacceleratorn Fjärrövervakning.

Stegen i den här artikeln förutsätter att du har slutfört guiden Skapa och testa en ny simulerad enhet och ha de filer som definierar den anpassade kylaggregatet och nya typer av glödlampor.

Stegen i den här guiden visar hur du:

  1. Använd SSH för att komma åt filsystemet för den virtuella dator som är värd för acceleratorn för fjärrövervakningslösningen.

  2. Konfigurera Docker för att läsa in enhetsmodellerna från en plats utanför Docker-containern.

  3. Kör lösningsacceleratorn Fjärrövervakning med hjälp av anpassade enhetsmodellfiler.

Använda Azure Cloud Shell

Azure är värd för Azure Cloud Shell, en interaktiv gränssnittsmiljö som du kan använda via webbläsaren. Du kan använda antingen Bash eller PowerShell med Cloud Shell för att arbeta med Azure-tjänster. Du kan använda förinstallerade Cloud Shell-kommandon för att köra koden i den här artikeln utan att behöva installera något i din lokala miljö.

Så här startar du Azure Cloud Shell:

Alternativ Exempel/länk
Välj Prova i det övre högra hörnet av ett kodblock. Om du väljer Prova kopieras koden inte automatiskt till Cloud Shell. Exempel på Prova för Azure Cloud Shell
Gå till https://shell.azure.com eller Välj knappen Starta Cloud Shell för att öppna Cloud Shell i webbläsaren. Starta Cloud Shell i ett nytt fönster
Välj knappen Cloud Shell på menyn längst upp till höger i Azure-portalen. Cloud Shell-knappen i Azure Portal

Så här kör du koden i den här artikeln i Azure Cloud Shell:

  1. Starta Cloud Shell.

  2. Kopiera koden genom att klicka på knappen Kopiera på ett kodblock.

  3. Klistra in koden i Cloud Shell-sessionen genom att välja Ctrl+Skift+V på Windows och Linux eller genom att välja Cmd+Skift+V på macOS.

  4. Välj Retur för att köra koden.

För att slutföra stegen i den här guiden behöver du en aktiv Azure-prenumeration.

Om du inte har en Azure-prenumeration skapar du ett kostnadsfritt konto innan du börjar.

Förutsättningar

Om du vill följa den här guiden behöver du:

  • En distribuerad instans av acceleratorn fjärrövervakningslösning.
  • Ett lokalt bash-gränssnitt för att köra kommandona ssh och scp . I Windows är ett enkelt sätt att installera bash att installera git.
  • Dina anpassade enhetsmodellfiler, till exempel de som beskrivs i Skapa och testa en ny simulerad enhet.

Få åtkomst till den virtuella datorn

Följande steg använder Azure CLI i Azure Cloud Shell. Om du vill kan du installera Azure CLI på utvecklingsdatorn och köra kommandona lokalt.

Följande steg visar hur du konfigurerar den virtuella Azure-datorn för att tillåta SSH-åtkomst . Stegen som visas förutsätter att namnet du valde för lösningsacceleratorn är contoso-simulering – ersätt det här värdet med namnet på distributionen:

  1. Visa en lista över innehållet i resursgruppen som innehåller lösningsacceleratorresurserna:

    az resource list -g contoso-simulation -o table
    

    Anteckna namnet på den virtuella datorn, den offentliga IP-adressen och nätverkssäkerhetsgruppen – du behöver dessa värden senare.

  2. Uppdatera nätverkssäkerhetsgruppen så att SSH-åtkomst tillåts. Följande kommando förutsätter att namnet på nätverkssäkerhetsgruppen är contoso-simulation-nsg – ersätt det här värdet med namnet på nätverkssäkerhetsgruppen:

    az network nsg rule update --name SSH --nsg-name contoso-simulation-nsg -g contoso-simulation --access Allow -o table
    

    Aktivera endast SSH-åtkomst under test och utveckling. Om du aktiverar SSH bör du inaktivera det igen så snart som möjligt.

  3. Uppdatera lösenordet för azureuser-kontot på den virtuella datorn till ett lösenord som du känner till. Välj ditt eget lösenord när du kör följande kommando:

    az vm user update --name vm-vikxv --username azureuser --password YOURSECRETPASSWORD  -g contoso-simulation
    
  4. Hitta den offentliga IP-adressen för den virtuella datorn. Följande kommando förutsätter att namnet på den virtuella datorn är vm-vikxv – ersätt det här värdet med namnet på den virtuella dator som du antecknade tidigare:

    az vm list-ip-addresses --name vm-vikxv -g contoso-simulation -o table
    

    Anteckna den virtuella datorns offentliga IP-adress.

Konfigurera Docker

I det här avsnittet konfigurerar du Docker för att läsa in enhetsmodellfilerna från mappen /tmp/devicemodels på den virtuella datorn i stället för inifrån Docker-containern. Kör kommandona i det här avsnittet i ett bash-gränssnitt på den lokala datorn:

I det här avsnittet konfigurerar du Docker för att läsa in enhetsmodellfilerna från mappen /tmp/devicemodels på den virtuella datorn i stället för inifrån Docker-containern. Kör kommandona i det här avsnittet i ett bash-gränssnitt på den lokala datorn:

  1. Använd SSH för att ansluta till den virtuella datorn i Azure från din lokala dator. Följande kommando förutsätter att den offentliga IP-adressen för den virtuella datorn vm-vikxv är 104.41.128.108 – ersätt det här värdet med den virtuella datorns offentliga IP-adress från föregående avsnitt:

     ssh azureuser@104.41.128.108
    

    Följ anvisningarna för att logga in på den virtuella datorn med det lösenord som du angav i föregående avsnitt.

  2. Konfigurera enhetssimuleringstjänsten för att läsa in enhetsmodellerna utanför containern. Öppna först Docker-konfigurationsfilen:

    sudo nano /app/docker-compose.yml
    

    Leta upp inställningarna för containern devicesimulation och redigera volyminställningen enligt följande kodfragment:

    devicesimulation:
      image: azureiotpcs/device-simulation-dotnet:1.0.0
      networks:
        - default_net
      depends_on:
        - storageadapter
      environment:
        - PCS_KEYVAULT_NAME
        - PCS_AAD_APPID
        - PCS_AAD_APPSECRET
      # How one could mount custom device models
      volumes:
        - /tmp/devicemodels:/app/webservice/data/devicemodels:ro
    

    Spara ändringarna.

  3. Kopiera de befintliga enhetsmodellfilerna från containern till den nya platsen. Leta först upp container-ID:t för enhetssimuleringscontainern:

    sudo docker ps
    

    Kopiera sedan enhetsmodellfilerna till mappen tmp på den virtuella datorn. Följande kommando förutsätter att container-ID:t är c378d6878407 – ersätt det här värdet med ditt container-ID för enhetssimulering:

    sudo docker cp c378d6878407:/app/webservice/data/devicemodels /tmp
    sudo chown -R azureuser /tmp/devicemodels/
    

    Håll bash-fönstret med SSH-sessionen öppen.

  4. Kopiera dina anpassade enhetsmodellfiler till den virtuella datorn. Kör det här kommandot i ett annat bash-gränssnitt på datorn där du skapade dina anpassade enhetsmodeller. Navigera först till den lokala mappen som innehåller JSON-filer för enhetsmodellen. Följande kommandon förutsätter att den virtuella datorns offentliga IP-adress är 104.41.128.108 – ersätt det här värdet med den virtuella datorns offentliga IP-adress. Ange lösenordet för den virtuella datorn när du uppmanas att göra följande:

    scp *json azureuser@104.41.128.108:/tmp/devicemodels
    cd scripts
    scp *js azureuser@104.41.128.108:/tmp/devicemodels/scripts
    
  5. Starta om Docker-containern för enhetssimulering för att använda de nya enhetsmodellerna. Kör följande kommandon i bash-gränssnittet med den öppna SSH-sessionen till den virtuella datorn:

    sudo /app/start.sh
    

    Om du vill se status för de Docker-containrar som körs och deras container-ID:n använder du följande kommando:

    sudo docker ps
    

    Om du vill se loggen från enhetssimuleringscontainern kör du följande kommando. Ersätt container-ID:t med ID:t för din enhetssimuleringscontainer:

    sudo docker logs -f 5d3f3e78822e
    

Kör simulering

Nu kan du använda dina anpassade enhetsmodeller i fjärrövervakningslösningen:

  1. Starta instrumentpanelen för fjärrövervakning.

  2. Använd sidan Enheter för att lägga till simulerade enheter. När du lägger till en ny simulerad enhet är dina nya enhetsmodeller tillgängliga att välja.

  3. Du kan använda instrumentpanelen för att visa enhetstelemetri och anropa enhetsmetoder.

Rensa resurser

Om du planerar att utforska ytterligare lämnar du acceleratorn Fjärrövervakningslösning distribuerad.

Om du inte längre behöver lösningsacceleratorn tar du bort den.

Nästa steg

Den här guiden visade hur du distribuerar anpassade enhetsmodeller till acceleratorn Fjärrövervakningslösning. Det föreslagna nästa steget är att lära dig hur du ansluter en verklig enhet till din fjärrövervakningslösning.