Fabrication industrielle
Internet des objets industriel | Matériaux industriels | Entretien et réparation d'équipement | Programmation industrielle |
home  MfgRobots >> Fabrication industrielle >  >> Manufacturing Technology >> Processus de fabrication

Où est mon truc ?

Composants et fournitures

Raspberry Pi 2 Modèle B
× 1
Arduino UNO
× 1
Module RFID JT2850
× 1
Antenne RFID JT606
× 1

Outils et machines nécessaires

Microsoft PC exécutant Windows10 avec Visual studio 2015 installé
Téléphone Android

Applications et services en ligne

Microsoft Windows 10 IoT Core
Microsoft Azure
Microsoft Visual Studio 2015

À propos de ce projet

Contexte

Vous êtes-vous déjà retrouvé dans une situation où chaque fois que vous essayez de chercher quelque chose, vous passez très longtemps à le chercher et vous ne parvenez toujours pas à le trouver ? En tirant parti de la technologie RFID, en utilisant un lecteur RFID et plusieurs étiquettes RFID attachées à l'article, nous pouvons facilement localiser l'article que nous avons stocké. Chaque fois que nous achetons un nouvel article, collez simplement une étiquette RFID dessus et enregistrez les détails de l'article dans le système. Une fois que nous devons rechercher l'article mais que nous ne pouvons pas nous rappeler où il se trouve, effectuez simplement une recherche sur l'application mobile et vous saurez qu'il se trouve actuellement dans quelle pièce de votre maison.

L'idée entière

Les composants de ce projet consisteront en un module de lecteur RFID UHF, une antenne RFID UHF, un Arduino UNO, un Raspberry Pi2 exécutant Windows10 IoT core (vous pouvez vous référer ici http://ms-iot.github.io/content/en -US/GetStarted.htm si vous ne savez pas comment installer Windows10 IoT core), une application mobile et un service Web Azure pour le stockage de données. Il y aura plusieurs modules RFID UHF dans la maison, et chaque module RFID UHF sera connecté à Arduino UNO avec Arduino sera ensuite connecté à Raspberry Pi2. Chaque fois qu'un article souhaite être suivi par le système, une étiquette RFID sera attachée. Le détail de l'article et la valeur RFID sont nécessaires pour s'enregistrer dans le système. Les données de chaque enregistrement seront stockées dans la base de données Azure SQL via l'API Web Azure. Chaque fois que l'utilisateur va rechercher un article à la maison, mais qu'il n'est pas sûr que l'article se trouve dans quelle pièce de sa maison. Il peut activer son application mobile. L'application mobile enverra la demande de recherche au Raspberry Pi2 via le réseau Wifi. Une fois que Raspberry Pi2 a reçu la demande de recherche, il l'enverra à tous les Arduino Uno qui y sont connectés. Arduino UNO enverra une commande de lecture au module RFID UHF. Une fois que l'un des lecteurs RFID UHF à un endroit différent parvient à capturer la RFID requise, il renverra une valeur à Arduino UNO. Arduino UNO renverra l'emplacement du lecteur RFID à Raspberry Pi2 et RaspberryPi2 traitera davantage le résultat de la recherche et reviendra à l'application mobile.
Si vous

Comment faire ?

Je vais développer une application en arrière-plan fonctionnant sur Windows 10 IoT core, nous aurons peut-être besoin de connaître l'adresse IP du Raspberry Pi 2. Il n'est pas nécessaire d'avoir un écran. Grâce au tout-puissant Windows IoT Core Watcher. Tout ce dont vous avez besoin est de connecter votre Raspberry Pi2 modèle B comme indiqué ci-dessous :

En connectant PC et Raspberry PI2 via un câble réseau, le tout-puissant Windows IoT Core Watcher pourra vous dire quelle est l'adresse IP de votre Raspberry Pi2 :

Créer un projet dans Visual Studio 2015

Ensuite, vous pouvez commencer à développer à l'aide de Visual studio 2015, il suffit de télécharger les codes que j'ai partagés ici et de les exécuter à l'aide de Visual studio 2015.

Téléchargez le code depuis github et vous pourrez exécuter le projet directement. Si vous essayez de créer un nouveau projet, vous pouvez essayer de cette manière :

1. Allez dans Fichier -> Nouveau->Projet

2. Sous les modèles Visual C#, recherchez « Application d'arrière-plan (IoT) ». Saisissez le nom de votre projet. Votre projet est créé.

3. Une fois le projet créé, la prochaine étape consiste à configurer les paramètres de débogage. Faites un clic droit sur le projet et sélectionnez "Propriétés"

4. Dans la fenêtre des propriétés du projet, cliquez sur l'onglet de débogage et définissez le paramètre suivant :

  1. Plateforme :ARM
  2. Appareil cible :ordinateur distant
  3. Machine distante :
  4. Décochez "Utiliser l'authentification"

Enregistrez la configuration et vous pouvez maintenant commencer à coder dans le fichier StartupTask.cs dans votre projet nouvellement créé.


Débogage dans Visual Studio 2015

Une fois que vous avez terminé le codage et que vous souhaitez commencer le débogage, vous pouvez suivre les étapes et captures d'écran suivantes :

1. Cliquez sur la barre grise de gauche pour définir un point d'arrêt sur la ligne de code à rechercher :

2. Cliquez ensuite sur le bouton vert « Machine distante » pour lancer le débogage :

3. Une fois entré en mode de débogage, le bouton vert « Machine à distance » sera remplacé par « Continuer » en même temps que les boutons d'étape seront activés :

  • Suivant - Afficher la déclaration suivante
  • Entrez dans la fonction – Entrez dans la fonction et examinez les codes à l'intérieur de la fonction
  • Passer au-dessus - Passez au-dessus de la ligne actuelle et examinez la ligne de code suivante
  • Sortir :quittez la fonction et continuez le débogage avec le code précédent.


Bouton Continuer avec "Suivant", "Entrer", "Passer au-dessus" et Sortir"

Lors de l'exécution du débogage, vous pouvez soit passer le curseur de la souris pour inspecter une certaine valeur de la variable, soit surligner et cliquer avec le bouton droit sur la variable et sélectionner "Ajouter une surveillance" afin d'ajouter la variable dans la liste de surveillance :

Créer une API Web sur Azure pour servir les transactions IoT et d'applications mobiles

Créer un projet d'application Web Asp.NET

1. Créez une application Web ASP.NET, saisissez le nom du projet et cliquez sur le bouton OK en bas

2. Sur l'écran suivant, cliquez sur Choisir MVC sous le modèle ASP.NET 4.5.2 (si vous êtes aventureux, n'hésitez pas à essayer le modèle d'aperçu ASP.NET 5 avec le cadre MVC6. L'étape sera la même)

3. Définissez ensuite la méthode d'authentification sur "Aucune authentification"

4. Notez également que si vous souhaitez héberger cette API Web sur un serveur cloud, vous pouvez cocher l'option « Héberger dans le cloud » comme indiqué ci-dessous :

Si vous n'avez pas de compte Microsoft Azure, vous pouvez vous inscrire pour un essai gratuit et profiter d'un crédit gratuit de 200 $. Cliquez simplement ici :  https://azure.microsoft.com/en-us/pricing/free-trial/

5. Si vous choisissez d'héberger votre API Web sur Azure Web App, une fois que vous avez cliqué sur "OK", l'écran suivant vous demandera de vous connecter à Microsoft Azure.

6. Une fois connecté avec succès, entrez simplement le nom de votre application Web et les détails suivants comme indiqué dans le formulaire :

une fois toutes les informations renseignées, cliquez sur OK et attendez un moment que VS2015 crée une application Web et une base de données sur votre compte Azure.


Une fois les applications Web locales et cloud créées avec succès, vous souhaiterez probablement ensuite créer une base de données pour votre application. Merci à Entity Framework sur MVC, nous pouvons maintenant configurer notre base de données pour notre application Web en quelques étapes simples.

Utiliser Entity Framework

Je vais utiliser la console du gestionnaire de packages NuGet pour l'installation. Vous devez donc tout d'abord lancer votre gestionnaire de packages Nuget comme ci-dessous :Outils -> Gestionnaire de packages NuGet-> Console du gestionnaire de packages

2. Tapez ensuite la commande "Install-Package EntityFramework" dans la console du gestionnaire de packages ci-dessous :

3. Ensuite, vous devrez créer une classe Model pour décrire votre table et vos champs de base de données. Faites simplement un clic droit sur le dossier Modèle et cliquez sur "Ajouter"->"Classe.."

Une fois la nouvelle classe créée, ajoutez les lignes suivantes :

à l'aide de System.ComponentModel.DataAnnotations ;

à l'aide de System.ComponentModel.DataAnnotations.Schema ;

Lors de la création de la classe de modèle, l'étape suivante consiste à créer vos contrôleurs WebAPI avec une action à l'aide du framework Entity. Suivez l'écran d'impression ci-dessous, faites un clic droit sur le dossier Contrôleurs et sélectionnez "Ajouter" ->"Nouvel élément échafaudé" :

Sélectionnez "Web API 2 Controller with actions, using Entity Framework" sous la catégorie Web API sur l'écran suivant :

Une fois le bouton "Ajouter" cliqué, l'écran suivant s'affichera :


Cliquez sur le '+ ' dans le champ Classe de contexte de données pour créer une nouvelle classe de contexte de données :

Cliquez sur Ajouter dans l'écran suivant pour créer :

une fois tous les champs renseignés, cliquez sur « Ajouter » pour générer l'élément échafaudé :

Une fois l'élément d'échafaudage généré avec succès, vous pourrez voir le contrôleur et la classe de contexte de données tomber dans le dossier Controllers et le dossier Models :

Ensuite, exécutez Activer les migrations commande dans la console du gestionnaire de packages :

Après Activer les migrations commande, suivi de Ajout-Migration commande :

Enfin Mise à jour-Base de données La commande créera une base de données sur le script de migration généré à partir de Models. Vous pourrez trouver la base de données nouvellement créée sous Add_Data tableau :

Publier votre API WEB

Une fois la base de données configurée avec succès, l'API Web est considérée comme terminée (le contrôleur échafaudé générera une fonction de base pour l'appel RESTful). Juste pour vous assurer que ces fonctions GetMything(GET), PostMything(POST),  PutMything(PUT) et Deletemything(DELETE) existent dans MyThingsController.

Une fois le projet de l'API Web terminé. Ensuite, vous pouvez publier l'API Web sur Azure Web APP en procédant comme suit :


1. Sélectionnez le menu Construire> Publier MyThingAPI comme capture d'écran suivante :

2. La fenêtre contextuelle suivante s'affichera et vous permettra de sélectionner une cible de publication. Vous pouvez sélectionner Microsoft Azure API Apps (Preview) si vous utilisez le modèle ASP.NET5 MVC 6 pour votre API Web :

3. Une fois que Microsoft Azure Web Apps a cliqué, l'écran suivant s'affichera et vous demandera de vous connecter à votre compte Azure :

Saisissez vos identifiants Azure et connectez-vous :

4. Une fois la connexion réussie, vous pourrez récupérer votre application Web existante hébergée dans Azure (elle doit être créée plus tôt lors de la création de ce projet dans VS2015) :

5. Une fois que les applications Web ont été sélectionnées et que vous avez cliqué sur "OK", l'écran ci-dessous s'affichera :

Le paramètre de connexion sera propagé, cliquez simplement sur Suivant pour continuer

6. Sous l'onglet Paramètres, vous verrez la chaîne de connexion à la base de données, d'autres informations seront renseignées automatiquement, mais assurez-vous que les deux cases à cocher « Utiliser cette chaîne de connexion à l'exécution » et « Exécuter la première migration du code » sont cochées :

6. Une fois tous les paramètres remplis, cliquez sur Publier et Visual Studio lancera l'application Web Azure immédiatement après la publication réussie :

Une fois l'API Web publiée, vous pouvez tester l'API REST. J'utilise l'extension "Advance REST Client" de Chrome pour les tests :

Vous pouvez essayer la chaîne json ci-dessous pour l'appel POST :

{

id:1,

statut :"0",

rfid :"1009622005390623",

image :"",

name :"quelque outil",

type :"outil",

emplacement :"chambre",

createdAt :"2015-10-13T10:26:01.14",

lastUpdatedAt :"2015-10-13T10:26:01.14"

}


Créer l'application universelle Windows

Étant donné que l'application Iot Background et l'API REST sont prêtes, la prochaine étape consiste à créer une application universelle Windows en tant que client. L'application universelle nous permet d'utiliser un ensemble de codes pour plusieurs appareils. Je crée ici une application universelle pour tablette à titre d'exemple (vous pouvez simplement modifier les paramètres de mise en page pour un téléphone portable ou un ordinateur portable).

Pour créer une application universelle, cliquez simplement sur Fichier> Nouveau> Projet dans votre Visual Studio 2015, puis sélectionnez l'application universelle comme suit :

Une fois la nouvelle solution créée, vous pouvez remplacer les scripts cs et les fichiers .xaml par MyThingApp que j'ai partagé dans GitHub.

Débogage dans l'application universelle Windows :

L'application universelle Windows a fourni plusieurs configurations de débogage, notamment les plates-formes ARM, x64 et x86. Si vous exécutez le débogage sur votre PC local qui exécute Windows 64 bits, vous devrez choisir x64 et cliquer sur le bouton vert (Sélectionnez "machine locale")

si votre application s'exécute sans erreur, elle devrait ressembler à ceci :

Configurer Notification Hub et notification push UWP


1. Une fois que l'API Web et l'application universelle sont terminées, vous pouvez vous connecter ici

https://dev.windows.com/en-us/dashboard/Application/New pour réserver un nom d'application.

2. Une fois le nom de l'application créé, revenez à MyThingApp et faites un clic droit sur votre projet. Sélectionnez Store > Associer l'application au Store 

pour la création d'un hub de notification, veuillez vous référer ici :

https://azure.microsoft.com/en-us/documentation/articles/notification-hubs-windows-store-dotnet-get-started 

3. Ajoutez ensuite la fonction suivante dans App.xaml.cs

privé asynchrone void InitNotificationsAsync()

{

var channel =wait PushNotificationChannelManager.CreatePushNotificationChannelForApplicationAsync();

var hub =new NotificationHub("notification", "Endpoint=sb://smartwardrobe.servicebus.windows.net/;SharedAccessKeyName=DefaultListenSharedAccessSignature;SharedAccessKey=MlHoVfn1Ub/c2ThUha+Crn7hHSGmqofrW3cJJ);

var result =wait hub.RegisterNativeAsync(channel.Uri);

}

appelez également cette nouvelle fonction dans la fonction OnLaunched :

protected override void OnLaunched(LaunchActivatedEventArgs e)

{

InitNotificationsAsync();

Enfin, ajoutez cette ligne de code dans MainPage.cs, MainPage() Function :

this.NavigationCacheMode =NavigationCacheMode.Required ;

4. Enfin, configurez une tâche de threading dans MyThing Web API> MyThingController avec les codes suivants :

classe publique NotificationClass {

async interne System.Threading.Tasks.Task SendNotificationAsync(string rfid)

{

Hub NotificationHubClient =NotificationHubClient

.CreateClientFromConnectionString("", "");

var toast =@"Nouveau Mything doit update";///MainPage.xaml?value=test

wait hub.SendWindowsNativeNotificationAsync(toast);

renvoie null ;

}

}

et les codes ci-dessous lors de la création réussie d'un nouvel enregistrement :

NotificationClass notClass =new NotificationClass();

Thread notificationThread =new Thread(async x => { wait notClass.SendNotificationAsync(myThing.rfid); });

notificationThread.Start();

5. Une fois la configuration réussie, une notification toast comme ci-dessous sera reçue lors de la création d'un enregistrement réussi :

6. cliquez sur la notification et elle lancera MyThingApp qui s'est installé sur votre PC :

cliqué sur "OK" et vous verrez que la nouvelle RFID est ajoutée au formulaire d'inscription. Remplissez le reste des informations et mettez à jour.



LIENS DE RÉFÉRENCE :

1.Guide étape par étape pour configurer Windows10 Iot Core :- http://ms-iot.github.io/content/en-US/GetStarted.htm

2.Configuration de Visual Studio 2015 sur votre PC :- http://ms-iot.github.io/content/en-US/win10/SetupPCRPI.htm

3. Instructions pas à pas pour configurer Windows10 IoT Core sur Raspberry Pi2 :- http://ms-iot.github.io/content/en-US/win10/SetupRPI.htm

4.Comment développer une application IoT (exemple Blinky) :- http://ms-iot.github.io/content/en-US/win10/samples/Blinky.htm

5. Échantillon série Windows IoT :- http://ms-iot.github.io/content/en-US/win10/samples/SerialSample.htm

6. Dépôts GitHub Ms-IoT :- https://github.com/ms-iot

7.Windows sur GitHub :- http://microsoft.github.io/windows/

8. Exemple de série du logiciel Arduino (utilisant UART) :- https://www.arduino.cc/en/Tutorial/SoftwareSerialExample

9.Tutoriel de communication série SparkFun :- https://learn.sparkfun.com/tutorials/serial-communication

10.Commencer avec Azure Notification Hub :- https://azure.microsoft.com/en-us/documentation/articles/notification-hubs-android-get-started/

11.Ajoutez des notifications push à votre application Mobile Services :- https://azure.microsoft.com/en-us/documentation/articles/mobile-services-dotnet-backend-android-get-started-push/

12.Code First Migrations :- https://msdn.microsoft.com/en-sg/data/jj591621.aspx

13.Publier sur une application Web Azure à l'aide de Visual Studio :- http://docs.asp.net/en/latest/tutorials/publish-to-azure-webapp-using-vs.html

14.Publiez l'application sur Azure Azure App Service :- http://www.asp.net/web-api/overview/data/using-web-api-with-entity-framework/part-10

Code

  • Code Arduino pour module lecteur RFID
Code Arduino pour module lecteur RFIDC/C++
La commande
/* read sera envoyée au module RFID une fois l'étiquette lue, elle reviendra au port série */#include SoftwareSerial mySerial (10, 11); // RX, TXvoid setup() { // Ouvrir les communications série et attendre que le port s'ouvre :Serial.begin(9600); while (!Série) {; // attend que le port série se connecte. Nécessaire pour Leonardo uniquement } // définit le débit de données pour le port SoftwareSerial mySerial.begin(9600);}void loop() { // exécuter encore et encore if (mySerial.available()) { //envoyer la commande de lecture dessus au message d'octet du module RFID[] ={0xA0,0x06,0x80,0x00,0x01,0x02,0x01,0xD6} ; mySerial.write(message, sizeof(message)); // renvoyer les données au serial if(Serial.available()) Serial.write(mySerial.read()); }}
Où est mon truc sur GitHub
https://github.com/seeyouu87/where-is-my-thing

Pièces et boîtiers personnalisés

Module lecteur RFID UHF. il est utilisé pour lire l'étiquette RFID. uhf_reader_jt2850.svgModule lecteur RFID UHF. il est utilisé pour lire l'étiquette RFID uhf_reader_jt2850.svgModule lecteur RFID UHF. il est utilisé pour lire l'étiquette RFID uhf_reader_jt2850.svg

Schémas

Où est mon truc sur Fritzing
Schémas sur Fritzing.org La connexion pour Arduino au module RFID UHF.

Processus de fabrication

  1. Microsoft Azure Cheat Sheet 2020
  2. Impression 3D FDM :où en sommes-nous aujourd'hui ?
  3. Où est la périphérie de l'informatique de pointe ?
  4. Vérification des faits pour l'industrie 4.0 :où en sommes-nous aujourd'hui ?
  5. Contrôle d'accès avec QR, RFID et vérification de la température
  6. D'où viennent les métaux ?
  7. Où construire ?
  8. D'où vient Sawing Concept ?
  9. L'air comprimé est où ? !