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

IoT :applications Windows Remote Arduino et Universal

Composants et fournitures

Arduino UNO
× 1
Modem Bluetooth SparkFun - BlueSMiRF Silver
J'ai utilisé la version Gold
× 1

À propos de ce projet

Remarque :consultez les mises à jour dans les commentaires en bas.

Une application Windows 10 UWP peut être construite sur le Câblage à distance bibliothèque de sorte que l'application puisse interagir avec un appareil Arduino exécutant Firmata. Une application, similaire à l'exemple « Blinky » de Windows Remote Arduino, mais avec des ajouts de fonctionnalités, est développée. Il exécute GPIO (sortie ET entrée) ainsi que quelques E/S analogiques. Cette application est fonctionnellement identique à la version Windows 8.1 du blog précédent de cette série. Ce blog fonctionne avec le même matériel (c'est-à-dire en répète une grande partie) que le blog précédent, mais à partir du contexte de la plate-forme Windows universelle (UWP) plutôt que du contexte de l'application universelle Windows 8.1. La cible de l'application est le bureau Win 10, le téléphone Win 10 et Raspberry PI2 (exécutant Win 10 IoT). Ce dernier objectif est un "travail en cours cependant". Ce blog peut être lu sans référence au blog précédent.

Ce projet est détaillé sur mon blog à http://embedded101.com/Blogs/David-Jones/entryid/636/Windows-10-IoT-Windows-Remote-Arduino-and-Universal-Windows-Platform-Apps

L'exemple Windows Remote Arduino « Blinky » est sur ms-iot.github.io.


Applications universelles et applications universelles de la plate-forme Windows

Les applications universelles (UA) ont atteint leur apogée dans Windows 8.1. Vous pouvez implémenter des applications ciblées sur le bureau Windows Intel, l'ARM RT Surface et le Windows Phone (ARM), le tout dans la même solution. Ils pourraient partager un code commun tel que des gestionnaires d'événements, des calculs généraux et des données. Le code XAML devait être spécifique à la cible. Vous venez de compiler les sous-projets séparés pour chaque cible. Lors des compilations, le code commun a été inclus.

Avec le changement de paradigme « One Windows » dans Windows 10, le même code pour toutes les cibles, y compris le code XAML, peut être utilisé pour toutes les cibles. Le même projet doit juste être recompilé pour différentes cibles. Avec le nom UA appliqué aux applications Windows 8, un nouveau nom était nécessaire pour les applications véritablement universelles. C'est pourquoi le nom d'applications de la plate-forme Windows universelle a été inventé pour Windows 10.

Toutes les plates-formes Windows 10 prennent en charge les applications UWP. Mais il existe des extensions spécifiques à chaque plateforme. Par exemple, les extensions Windows 10 IoT prennent en charge GPIO, I2C, SPIO, etc. Les extensions mobiles prennent en charge les fonctions téléphoniques. Etc. UWP fournit une couche API de base garantie sur tous les appareils.


Les SDK d'extension Windows 10. Les extensions Desktop, Mobile et IoT sont vérifiées.

Pour ce blog, nous utilisons le modèle UWP plutôt que l'UA comme dans le blog précédent. Nous n'avons besoin d'aucun des SDK d'extension.


[1] Configurez la communication Bluetooth avec l'appareil Arduino.

Vous pouvez ignorer cette section si vous avez déjà effectué l'activité Win 8.1.

USB ou Bluetooth peut être utilisé pour les communications Firmata entre le périphérique Arduino et le périphérique Windows. Pour Windows 10, les deux peuvent être utilisés, tandis que pour Windows 8.1, seul Bluetooth peut être utilisé. Pour cette version de l'application, Bluetooth sera utilisé. J'ai utilisé un Sparkfun Bluetooth Mate Gold tandis que le Sparkfun Bluetooth Mate Silver a été utilisé avec l'exemple « Blinky » référencé ci-dessus. La principale différence est que la portée de l'or va jusqu'à 100 m alors que celle de l'argent est de 10 m. Les paramètres d'établissement de liaison par défaut sont également différents. Ceux-ci ont tous deux une interface UART de niveau TTL qui peut être utilisée à la fois pour configurer le mode de fonctionnement du périphérique Bluetooth et pour interagir avec le port série Arduino.

Si vous devez configurer l'appareil Bluetooth, un appareil Sparkfun ou Freetronics USB-Serial ou Free peut être utilisé pour configurer l'appareil via un terminal série de bureau. Vous pouvez également réinitialiser l'appareil aux paramètres par défaut en connectant la broche PIO6 (c'est en fait PIO4) à l'état haut et basculer trois fois.

Bluetooth Mate a le même brochage que le Sparkfun FTDI Basic, et ils peuvent donc être utilisés de manière interchangeable. vous ne pouvez pas brancher directement le Bluetooth Mate sur une carte FTDI Basic (vous devrez échanger TX et RX). Cette configuration peut être utilisée avec un terminal série de bureau, avec le périphérique FTDI USB connecté au bureau, pour configurer le périphérique Bluetooth (ou pour utiliser le périphérique Bluetooth pour les communications série depuis le bureau.

Les paramètres série TTL UART par défaut sont :

  • · Débit en bauds 115 200
  • · 8 bits
  • · Pas de parité
  • · 1 bit d'arrêt
  • · Contrôle du flux matériel activé (sur Mate Silver c'est Aucun)
  • · Profil de port série (SPP) :FireFly-WXYZ
    où WXYZ correspond aux 4 derniers chiffres de l'adresse MAC BT de l'appareil.
  • · Clé d'accès 1234

Notez que l'appareil peut stocker jusqu'à 8 appariements d'appareils.

La documentation du périphérique Bluetooth se trouve à l'adresse :
http://www.sparkfun.com/datasheets/Wireless/Bluetooth/rn-bluetooth-um.pdf

La configuration Firmata est pour un débit en bauds de 57600 qui doit être modifié ou le périphérique Bluetooth configuré pour cela. Pour cet exercice, nous allons modifier la configuration Firmata, qui est l'approche la plus simple. Le flux de contrôle matériel peut également être géré en configurant le périphérique Bluetooth, mais pour cet exercice, il est géré en connectant RTS à CTS.

Alors que le périphérique Bluetooth peut être monté sur une planche à pain et connecté à l'appareil Arduino à partir de là, j'ai choisi de monter une prise pour celui-ci sur un bouclier de prototypage.

Un en-tête Arduino Shield à 6 broches a été soudé sur le périphérique Bluetooth au niveau des broches TTL UART avec la prise tournée vers l'extérieur. Les broches ont été pliées à 900 vers le bas afin que l'appareil puisse être branché verticalement dans une autre embase de blindage. La prise BT peut ensuite être utilisée pour la connecter directement à un module de base FTDI monté de manière similaire si une configuration est requise. Un fil a ensuite été soudé à PIO6 (PIO4) sur le module Bluetooth, pour une réinitialisation d'usine.

Figure 3 Module Bluetooth avec en-tête de blindage aux broches UART et en-têtes de blindage

Un en-tête de 8 boucliers a été monté au milieu du prototype de bouclier en bas. Ajoutez également des en-têtes à l'extérieur du bouclier afin qu'il puisse se brancher directement sur l'Uno.

Figure 4 Arduino Prototype Shield pour le montage du module Bluetooth

Le module Bluetooth est alors inséré face aux broches GPIO, vers les broches 0 et 1 (Rx/Tx)., laissant l'emplacement jaune libre. L'un d'eux peut être utilisé comme emplacement temporaire pour le fil de réinitialisation d'usine.

Figure 6 Module Bluetooth monté sur un périphérique Arduino


[2] Configurer Firmata

Vous pouvez ignorer cette section si vous avez déjà effectué l'activité Win 8.1.

Remarque : Les broches UART 0 et 1 de l'Arduino Uno ne sont pas disponibles lorsqu'elles sont programmées via USB à partir de l'IDE Arduino. Ces mêmes broches sont connectées à l'interface TTL UART du module Bluetooth lorsqu'il est interfacé pour les communications Firmata. Par conséquent, lorsque le périphérique Arduino doit être programmé dans cette section, le périphérique Bluetooth ne doit pas être connecté.

2.1 En supposant que vous ayez déjà développé un périphérique Arduino (Uno), créez un nouveau shield Firmata standard :

2.2 Il y a un changement à faire, le Baud rate. Dans l'IDE, recherchez 57600. Remplacez-le par 115200. Enregistrez le croquis, je l'ai appelé Firmata_115200. Programmez l'Uno et cette partie est terminée.


[3] Configurer la pile logicielle Universal App Firmata

Cette section n'est que légèrement différente de celle qui a déjà fait l'activité Win 8.1.

La pile logicielle se compose de trois couches :

L'API de câblage à distance implémente des propriétés (configuration), des méthodes et des événements à un niveau conceptuel élevé pour l'interaction matérielle Arduino. Par exemple, GPIO (par exemple, Get and Set Pin, On Pin a changé, etc.). Il communique avec la couche Firmata en utilisant le protocole Firmata. Firmata communique en aval de la pile via le protocole série qui est implémenté en tant que couches de transport Bluetooth et USB-Série dans la couche série. L'option USB n'est pas disponible pour Windows 8.1.

Cette pile logicielle appelée est disponible pour deux sources :

  1. https://github.com/ms-iot/windows-remote-arduino-samples
  2. https://github.com/ms-iot/remote-wiring/

Les deux contiennent les versions Windows 8.1 et Windows 10. Alors que les versions Windows 10 des deux versions seront construites, j'ai constaté que Windows 8.1 de la seconde ne sera pas construit. J'ai utilisé la version Visual Studio 2015 RC :

  • Microsoft Visual Studio Community 2015 RC
  • Version 14.0.22823.1 D14REL
  • Microsoft .NET Framework
  • Version 4.6.00076

3.1 Téléchargez la première version. Pour le faire correctement, vous devez cloner le référentiel (ne téléchargez pas le zip) :

  • Installer git ou GitHub
  • Dans le shell git ou GitHub Desktop Shell (c'est Powershell), saisissez ce qui suit à partir d'un répertoire approprié :
    git clone --recursive https://github.com/ms-iot/windows-remote-arduino-samples.git

    La structure de répertoire de ce que vous obtenez est :

windows-remote-arduino-samples     o le câblage à distance        Microsoft.Maker.win8_1       Microsoft.Maker.win10      source     o win8_1       o win10

Ces deux derniers dossiers (win8_1 et win10) ne sont que des exemples d'applications (y compris l'exemple « blinky ») que nous ignorerons pour le moment. Les deux versions de Maker utilisent le même dossier sources, donc pour Windows 10, nous avons juste besoin de :

windows-remote-arduino-samples      o Câblage à distance        Microsoft.Maker.win10           source

    dans un dossier approprié. Je suggère un à la racine du lecteur, disons, c:\wras10 car j'ai constaté que vous pouvez obtenir des erreurs avec une version ARM à cause des noms de chemin trop longs. Vous pouvez également copier les fichiers .md pour référence. Ceux-ci peuvent être ouverts dans VS.

    3.2 Ouvrir le fichier solution dans Microsoft.Maker.win10

    3.3 Définissez la cible sur Win32 pour créer la solution.

    Trois constructions sont terminées. Un pour chacune des trois couches de la pile logicielle.

    3.4 Faites de même pour la configuration ARM. Si vous avez une machine x64, vous pouvez également essayer cette version.


    [4] Créer l'application HW LED UWP

    Il y a un "court-circuit" dans cette section pour ceux qui ont fait l'activité précédente Win 8.1.

    Pour cette version initiale de l'application ou des applications, un bouton logiciel allumera un voyant matériel et un autre l'éteindra. La LED sera connectée à la broche GPIO 5.

    La documentation « Blinky » indique qu'il existe un certain nombre de façons d'obtenir et d'utiliser ces bibliothèques. En fin de compte, Nuget sera le moyen mais ce n'est pas encore disponible. Vous pouvez référencer ces versions construites de manière générale sur votre système de développement. Le moyen le plus simple consiste simplement à ajouter l'application universelle requise à la solution et à les référencer. Nous utiliserons cette méthode.

    4.1 Ajoutez une nouvelle application Windows Blank Universal C# à la solution. (Notez pas Windows 8.1 cette fois) :

    Donnez-lui un nom approprié. J'ai appelé le mien wrauwp:Application Windows Remote Arduino Universal UWP.
    Notez que cette fois, il n'y a qu'UN seul projet créé (UWP). Le code XAML et CSharp est le même pour les versions de bureau et mobile de l'application. La différence réside dans la façon dont il est compilé.

    Les capacités série et Bluetooth sont nécessaires dans le manifeste du package :

    4.2 Ouvrez le package.appmanifest dans l'éditeur de texte (pas son interface graphique) par View Code. La capacité du client Internet est incluse en bas. Modifiez cette section pour :

    Dans packkage.appmanifest

                                       

    De plus, si nous utilisions USB-Serial plutôt que Bluetooth-Serial sur le bureau, nous ajouterions une capacité pour cela.

    Une référence à chacune des couches logicielles pertinentes est requise :

    4.3 Ajouter des références Firmata, RemoteWiring et Serial pour l'UA de bureau (encore une fois, vous n'avez besoin de le faire que pour un projet) :

    CONSEIL :Pour ceux qui ont déjà fait le précédent Windows 8.1, vous pouvez maintenant court-circuiter ce qui suit  :

    • Copiez le code XML de la grille de ce projet vers MainPage.xaml dans ce nouveau projet.
    • Vous pouvez maintenant passer au test de l'application sur la ou les cibles

    Pour ceux qui continuent ici…

    4.4 Modifier les deux Grid XAML d'UA en :

    MainPage.xaml :interface utilisateur
                                 

    Code

    • WindowsRemoteArduino_Win10.zip
    WindowsRemoteArduino_Win10.zipC#
    An extended version of "Blinky"
    Input, Output, Analog Input
    Fancier UI
    No preview (download only).

    Schémas


    Processus de fabrication

    1. Télécommande universelle Raspberry Pi
    2. Windows IoT :porte de reconnaissance faciale
    3. Windows 10 IoT Core et SHT15
    4. Windows 10 IoT Core pour Raspberry Pi 3 modèle B+
    5. GoPiGo v2 avec Windows IoT
    6. Les applications et appareils prenant en charge les équipes de chaîne d'approvisionnement à distance
    7. Télécommande universelle utilisant Arduino, 1Sheeld et Android
    8. Guide des PCB et de l'IoT
    9. Cisco présente les solutions de surveillance à distance IoT pour l'informatique et l'OT