Articoli

Gestione scorte magazzino

Business Central, monitorare la giacenza del magazzino con Azure IoT ed Arduino

Parliamo di uno studio di fattibilità per gestire le scorte di magazzino utilizzando “Internet delle Cose” il cui acronimo è IoT (Internet of Things).

Lo scopo dello studio di fattibilità, fatto per un cliente, è stato quello di inviare i dati provenienti da un dispositivo connesso ad internet a Business Central per capire quando le scorte di magazzino raggiungono il livello per il riordino automatico. Possiamo dire che in alcuni settori merceologici possiamo arrivare ad avere un inventario di magazzino in real-time h24.

IoT (Internet of Things) sta cambiando il modo di lavorare e lo farà sempre di più appena la rete 5G in Italia sarà completata.

La richiesta del cliente è stata “Quando il peso di quei contenitori scende sotto 150 Kg, Business Central deve inviare una richiesta di approvvigionamento al magazzino esterno”.

La domanda che ci siamo fatti è stata “Come possiamo a fare in  modo che quei contenitori inviino un segnale a Business Central?”

La risposta è stata “Arduino”.
Arduino è una piattaforma hardware a basso costo, opensource e di progettazione Italiana.

Ok, ma poi ci siamo chiesti “Ma il segnale letto con Arduino, come lo inviamo a Business Central?”

La risposta è stata “Azure IoT Central”, perché semplice da configurare e molto più facile da utilizzare rispetto a “Azure IoT HUB”.

Gli step dello studio di fattibilità

Gli steps del nostro studio di fattibilità sono stati:

  • Creare un’applicazione utilizzando Azure IoT Central
  • Creare un device template
  • Creare un simulatore di device, permettendo di simulare la lettura dei dati e fare il test del software
  • Connettere Arduino
  • Creare una Azure Logic Application
  • Connettere Azure IoT a Business Central
  • Creare un worlflow in Business Central

Creare un’applicazione utilizzando Azure IoT Central

Il primo passaggio è stato quello di impostare una Azure IoT Central App

  • Dal link “apps.azureiotcentral.com” si crea una custom App e gli assegniamo un nome, policy application e scegliamo di associare alla nostra App un URL.

Tempo 30 secondi la nostra prima Azure IoT App è pubblicata.

Creare un Device Template

Cosa è un Device Template? E’ una tipologia generica di device.
Generalmente un progetto IoT all’interno di un ambiente produttivo ha più device dello stesso tipo.
Un Device Template ci permette di creare uno schema di configurazione per tipologia di device, così che possiamo impostare simultaneamente più devices dello stesso tipo: pese, termometri, pressostati, ecc.
Azure IoT Central ci permette, dalla dashboard, di creare un Device Template:

  • Assegnargli un nome
  • Selezionare il tipo di lettura che verrà letta
  • Impostare i vari parametri
  • Impostare una regola sulla tipologia di lettura scelta.

Creare un simulatore di device, permettendo di simulare la lettura dei dati e fare il test del software

Azure IoT Central ci permette di creare un device virtuale, utile, per simulare la lettura del dato, nel nostro caso il peso del contenitore; questo simulatore ci da la possibilità di testare tutta la parte software sia Azure che Business Central.

Connettere Arduino

Azure IoT Central ha un elenco di devices, selezionando dalla lista Real potremo inserire l’ID del device ed il nome.

I componenti hardware usati in laboratorio sono:

  • Arduino uno con scheda wi-fi
  • Un sensore di peso
  • Batteria da 9v
  • Basetta breadboard e cavetteria
  • Contenitore di plastica

Scaricato le librerie software del sensore di peso programmiamo l’Arduino connettendolo al pc tramite cavo USB. Aduino fornisce un tool di sviluppo opensource scaricabile dal sito ufficiale.

Creare una Azure Logic Application

Adesso che abbiamo montato il nostro Arduino, con il suo sensore di peso e programmato, dobbiamo far si che il peso letto dal sensore venga inviato a Business Central.

Accedendo ad Azure Portal selezioniamo Logic Apps e creiamo la nostra logic app assegnandogli un nome.
All’interno della nostra logic app selezionamo IoT Central connector e poi When a rule is fired che ci permette di scegliere:

  • L’Applicazione creata precedentemente
  • La Regola creata precedentemente.

Adesso, dobbiamo agire sulla regola, perché la lettura del peso viene fatta continuamente dal nostro Arduino attivando la nostra regola tutte le volte che il peso risulta nella soglia. Noi, invece, vogliamo che la regola si attivi una sola volta.

Per far si che la regola si attivi una sola volta configuriamo in IoT Central una proprietà, che abbiamo chiamato Refill.

Modifichiamo la nostra regola ed associamola alla nostra applicazione in IoT Central facendo si che venga applicata solo quando la nostra proprietà Refill sia valorizzata a NO.

Connettere Azure IoT a Business Central

Per poter far si, che il dato letto dal nostro Arduino possa essere inviato a Business Central occorre, che la comunicazione sia autorizzata attraverso OAuth, un protocollo di rete aperto e standard, progettato specificamente per lavorare con l’Hypertext Transfer Protocol (HTTP), altrimenti non è possibile chiamare un API in Business Central tenant.

Le credenziali di autenticazione verranno memorizzata in Azure Key Vault.

Fatto questo dovremo:

  • Registrare Business Central come una App in Azure portal
  • Generare il Token
  • Creare una Azure Logis App Workflow per ottenere un Business Central Access Token

Registrare Business Central come una App in Azure portal

Dobbiamo registrare Business Central come una App in Azure Portal utilizzando la funzionalità App Registrations per abilitare la richiesta del Token in OAuth.

Dovremo impostare i parametri: Name, Redirect URI, Client Secrets ed API Permission (Dynamics 365 Business Central user_impersonation).

Generare il Token

Dobbiamo ottenere un token manualmente usando Postman, un software scaricabile gratuitamente da internet.

Useremo Postman per simulare una chiamata GET al nostro tenant
https://api.businesscentral.dynamics.com/v1.0 HYPERLINK “https://api.businesscentral.dynamics.com/v1.0%3Ctenant”< HYPERLINK “https://api.businesscentral.dynamics.com/v1.0%3Ctenant”tenant domain>/api/v1.0
nel tab Autorization andremo ad impostare come tipo di autenticazione OAuth 2.0 e Request Headers.

A questo punto possiamo ottenere un Token impostando i parametri: Token Name, Grant Type, Callback URL, Auth URL, Access Token URL, Client ID, Client Secret, Scope, State (va lasciato vuoto), Client Autentication.

Il Token ottenuto lo recuperiamo dalla proprietà refresh_token e lo utilizziamo per fare un test  con Postman; se tutto va bene otteniamo la liste delle API utilizzabili in Business Central.

Creare una Azure Logis App Workflow per ottenere un Business Central Access Token

In Azure Portal scegliamo Logic Apps e creiamo una nuova App, scegliendo un blank template.

In questa sezione di Azure Portal impostiamo la logica necessaria per gestire creare, rigenerare, cancellare e memorizzare la chiave di autenticazione del Token, all’interno di Azure Key Vault.

Iniziamo con l’impostare una Request selezionando la scelta When a HTTP request is received, che ci permette di recuperare la chiave di autenticazione del Token, memorizzato precedentemente in Azure Vault.

Utilizzando l’indirizzo https://vault.azure.net visualizziamo a video un Json contenente i parametri, tramite una chiamata GET.

Ottenuta la chiave di autenticazione possiamo recuperare il Token con una chiamata POST all’URI

https://login.microsoftonline.com/ HYPERLINK “https://login.microsoftonline.com/%3Ctenant”< HYPERLINK “https://login.microsoftonline.com/%3Ctenant”tenant domain>/oauth2/token e passandogli i parametri necessari nel body della chiamata.

Ottenuto il Token lo dobbiamo sostituire a quello esistente in Azure Key Vault e questo lo facciamo creando due azioni: Delete e Put.

Il nuovo Token verrà restituito con una nuova azione Response.

Il nostro workflow è praticamente finito, non ci rimane che abilitare il parametro Identity in Azure Key Vault impostando i permessi: Role, Assign access to, Select solo alla nostra Logic App.

Connettere Azure IoT a Business Central

Possiamo chiamare la nostra API. Il nostro workflow è finito e la procedura può recuperare un Token necessario per accedere a Business Central.

Nella nostra Logic APP, creata precedentemente, dobbiamo impostare una nuova azione del tipo Choose a Logic Apps Workflow. Questa nuova azione ci permette di chiamare il nostro workflow per recuperare il Token necessario all’autenticazione in Business Central.

Aggiungiamo una nuova azione, di tipo HTTP, per chiamare la nostra API impostando i seguenti parametri: Method, URI, Headers, Body, Authentication e Value.

Creare un WorlFlow in Business Central

La API che chiamiamo attraverso Azure Logic App crea un record in una tabella denominata Az. IoT Central Measurement.

Creiamo un nuovo workflow con il compito di creare un ordine di tutte le volte che viene ricevuta una lettura da Azure IoT Central.

Nella risposta del WorkFlow abbiamo aggiunto altre informazioni come l’ID del Device che ha generato la lettura, il codice articolo ed il codice fornitore.

Considerazioni

Inevitabile dire che IoT è un mondo non solo affascinante, ma è sicuramente una via tracciata per tutte le aziende, specialmente di produzione e logistica.

Possiamo utilizzare IoT anche per tracciare i pacchi e all’interno di un magazzino ed in fase di pick-up, un esempio di questo tipo di attività è Amazon con i suoi magazzini automatici.

Business Central è il massimo per sfruttare questa tecnologia essendo completamente integrato in Azure.

Azure fornisce tutte le funzionalità per gestire devices, dispositivi che oggi costano pochissimi euro dandoci la possibilità di trasformare le piccole e media aziende in Aziende 4.0.

Le aziende dovranno fin da subito cambiare i loro attuale ERP scegliendo Microsoft Business Central in cluod Azure integrando la catena produttive e la logistica utilizzando IoT lnternet of things.

 

Semplifica i processi, prendi decisioni più informate e accelera la crescita con Dynamics 365 Business Central, una soluzione di gestione aziendale completa progettata per le piccole e medie imprese.

 

Dynamics 365 Developer

 

Dynamics 365 for Field Service

Dynamics 365 for Field Service consente la gestione efficace della forza lavoro sul campo, per gli interventi manutentivi e le riparazioni di prodotti/attrezzature dei clienti.

L’evoluzione del customer service è rappresentata oggi da una gestione strutturata del servizio di assistenza “sul campo”: erogato in tempi brevi, da personale con le giuste competenze, dotato di attrezzature e ricambi che garantiscono una risoluzione il più possibile immediata delle richieste.

Dynamics 365 for Field Service estende le funzionalità del tradizionale modulo di Customer Service del CRM di Microsoft consentendo la gestione di una forza lavoro sul campo che deve svolgere interventi manutentivi o riparazioni di prodotti/attrezzature presenti presso i clienti.

A chi serve il modulo CRM di Field Service?

La soluzione Field Service risponde alle esigenze di tutte quelle aziende che hanno l’esigenza di gestire il servizio assistenza dei loro prodotti direttamente presso le sedi dei clienti. Ecco qualche esempio degli asset per cui più spesso deve essere gestito un servizio di assistenza sul field: apparecchiature hardware (come server, stampanti, registratori di cassa), attrezzature per la ristorazione (macchine per il caffè, distributori automatici, cucine industriali), componenti di infrastruttura nell’ambito dell’edilizia (caldaie, cancelli automatici, impianti elettrici e di condizionamento, attrezzature e macchine di cantiere) o macchinari industriali in genere (come le macchine a controllo numerico).

Cosa può gestire Dynamics 365 for Field Service?

Le funzionalità dell’applicazione gestiscono:

  • Anagrafica risorse e attrezzature: definendo competenze, disponibilità e costi.
  • Pianificazione degli interventi: è possibile programmare gli interventi da svolgere in modalità manuale, guidata o completamente automatica, attraverso una pratica “schedule board”, intuitiva ma molto potente.
  • Avanzamento degli ordini di lavoro: grazie ad un’app mobile dedicata, i tecnici sul campo sono in grado di svolgere il proprio lavoro in modo guidato e condividere l’avanzamento delle varie fasi in tempo reale.
  • Contratti: stabilendo in precedenza termini e tempistiche è possibile generare automaticamente ordini di lavoro contenenti informazioni specifiche, quali beni, servizi e task da effettuare per il corretto svolgimento dell’intervento.
  • Cespiti: registrando le informazioni specifiche su ogni asset viene fornita una cronologia completa e dettagliata degli interventi svolti e da svolgere.
  • Magazzini: monitorando la movimentazione del materiale è possibile gestire l’approvvigionamento programmato, la restituzione di prodotti a fornitore e l’autorizzazione ai resi cliente.

Perché il Field Service abilita una vera “trasformazione digitale” nelle aziende?

Con l’uso di soluzioni applicative come Dynamics 365 for Field Service insieme alle nuove tecnologie il servizio assistenza si trasforma in un asset strategico. Diventa possibile aumentare la customer satisfaction e nello stesso tempo diminuire i costi del servizio di assistenza, migliorando la produttività dei tecnici.

La geolocalizzazione di tutte le componenti in ambito (risorse, ordini di lavoro, magazzini) assicura un’ottimizzazione dei viaggi con interventi in tempi brevi.

L’integrazione IoT consente alle apparecchiature remote collegate alla soluzione di inviare le informazioni sullo stato di servizio direttamente all’interno del modulo Field Service, che gestisce in automatico l’apertura di eventuali ordini di lavoro. Con il “Connected field service” è anche possibile inviare direttamente comandi remoti alle apparecchiature on site per forzarne il riavvio o procedure di auto-risoluzione dei problemi.

L’utilizzo della Mixed Reality aumenta la produttività dei tecnici sul campo ottimizzando il coinvolgimento degli specialisti più qualificati in grado di essere “virtualmente presenti” ovunque sia richiesto un loro coinvolgimento.

In questo breve video pubblicato da Microsoft sul suo canale YouTube c’è una bella overview della soluzione che ne presenta tutte le potenzialità, dalla tecnologia IoT che segnala un potenziale problema prima del fermo di un macchinario, fino alla Mixed Reality che aiuta il tecnico nella riparazione

 

Allinea le vendite e il marketing, aumenta la produttività del reparto vendite e costruisci relazioni migliori con i tuoi clienti con un CRM moderno e in cloud.

 

Sales Account