Transformez les appareils série en appareils connectés à l’IdO

Nous avons tous entendu parler de la façon dont l’Internet des objets va révolutionner nos vies et nos entreprises en connectant chaque actif au cloud et en rendant les données instantanément disponibles pour analyse et affichage. La première étape consiste à connecter ces appareils pour qu’ils puissent envoyer des données. La deuxième étape consiste à faire en sorte que le dispositif sache quand il doit envoyer ces données. Cela signifie que la connectivité et l’intelligence doivent être ajoutées à chaque appareil.

Compte tenu du grand nombre d’appareils dotés d’une connexion série, il existe une solution qui permet de configurer et d’activer facilement la transmission des données des appareils finaux à Google Analytics, 2lemetry ou tout autre fournisseur de services en nuage disposant d’une API ouverte telle que HTTP ou MQTT.

La solution utilise la famille de dispositifs PremierWave de Lantronix pour connecter un dispositif final via un port série comme RS-232/485 ou Ethernet, extraire intelligemment les données utiles et les envoyer à Google Analytics et 2lemetry. Les outils disponibles avec Google Analytics permettent de créer facilement des tableaux de bord personnalisés afin de présenter les données dans un format qui aide à piloter les processus commerciaux et à fournir aux utilisateurs finaux des informations significatives.

Google Analytics permet de combiner ces données avec des données provenant d’autres processus commerciaux. Avec 2lemetry, vous disposez d’un processus de publication/abonnement facile pour la communication de machine à machine. Cela permet aux données de circuler facilement d’un appareil à l’autre et d’être affichées aux utilisateurs finaux via des outils Web standard.

La famille comprend un dispositif pour la connectivité Ethernet ou série vers cellulaire, un autre qui fournit une connectivité Ethernet ou série vers WiFi, et un troisième, un système sur module qui peut être intégré dans un dispositif personnalisé.

Les composants peuvent exécuter nativement du code Python et prennent en charge la bibliothèque standard Python. Cela facilite la gestion de l’intelligence au niveau de l’appareil périphérique, ainsi que l’utilisation de paquets Python pour se connecter aux services de cloud computing qui ont des protocoles ouverts.

Lors d’une démonstration du système au récent salon Embedded World 2014, nous avons envoyé des données en direct depuis le sol. Avec un appareil activé, l’utilisateur pouvait rapidement poster des données vers le service Cloud de son choix, en utilisant des normes ouvertes et un langage de programmation facile à développer comme Python.

La démonstration consistait en une balance avec une sortie RS-232 connectée à une pièce PremierWave. Le script Python exécuté sur la pièce PremierWave analysait les données de la balance et envoyait le poids reçu aux deux services Google Analytics et 2lemetry en parallèle.

Le programme Python utilise le module Pyserial pour analyser ces données. Le port série de port série est facilement initialisé avec Pyserial :

class ser349klx :
# configurer le port série. Passez le périphérique comme ‘/dev/ttyS1’ ou
# ‘/dev/ttyS2’ pour
# le port série 1 et 2 (respectivement) dans PremierWave EN ou XC HSPA+.
def init(self, device, weight, c2l, ga) :
while True :
essayer :
serstat = True
ser = serial.Serial(device,2400,
interCharTimeout=0.2, timeout=1)
sauf exception :
serstat = False
if serstat :
break

    self.ser = ser
    self.weight = weight
    self.c2l = c2l
    self.ga = ga

La balance utilisée envoie en permanence le poids actuel via le port RS-232, chaque valeur étant séparée par un retour chariot.
chaque valeur séparée par un retour chariot :

def receive_line(self) :
    buffer = ''

    while True :
        buffer = buffer + self.ser.read(self.ser.inWaiting())

        if '\r' in buffer :
            lines = buffer.split('\r')
            return lines[-2]

Le code qui trouve un nouveau poids est appelé depuis une boucle, qui attend ensuite que
dix valeurs non nulles égales pour attendre que le poids se stabilise avant de l’envoyer à
Google Analytics et 2lemetry, comme indiqué ci-dessous :

# Ceci exécute une boucle continue écoutant les lignes provenant du
# port série et les traite.
def getData(self) :
    count = 0
    prev = 0.0
    while True :
        time.sleep(0.1)
        essayer :
            val = self.receive_line()
            weight.value=float(val[-5:])*0.166
            si (prev == poids.valeur) :
                count += 1
                si (count == 10) et (str(prev) != '0.0') :
                    self.ga.send("{ :.2f}".format(prev))
                    si supportMqtt :
                      self.c2l.send("{ :.2f}".format(prev))
            autre :
                count = 0
                prev = poids.valeur
        sauf exception :
            passer

Étant donné que le protocole de mesure de Google Analytics utilise des requêtes
standard pour envoyer des données à partir d’appareils autres que des navigateurs Web, la méthode ga.send est
facilement mise en œuvre à l’aide des modules Python urllib et urllib2, comme indiqué ci-dessous :

classe gaConnect :
def init(self, tracking, mac) :
self.tracking = tracking
self.mac = mac

            def send(self, data) :
                            values = { 'v' : '1',
                                        'tid' : self.tracking,
                                        'cid' : self.mac,
                                        't' : 'event',
                                        'ec' : 'balance',
                                        'ea' : 'weight',
                                        'el' : données }

            res = urllib2.urlopen(urllib2.Request
             ("http://www.google-analytics.com/collect",urllib.urlencode(values))))

La dernière étape consiste à initialiser un objet Google Analytics connect pour se connecter au compte Analytics de l’utilisateur :

ga = gaConnect(« UA-XXXX-Y », dev.mac)

L’adresse MAC de l’appareil envoie des informations uniques à chaque appareil.

Le système 2lemetry utilise le protocole MQTT. Cela peut être facilement mis en œuvre en utilisant le paquet Mosquitto :

classe connexion2lemetry :
def init(self, dev) :
self.client = mosquitto.Mosquitto(‘things/’+dev.mac)
self.client.username_pw_set(« username », password= »password »)
self.id = dev.mac

def send(self, value) :
    self.client.connect("q.m2m.io")
    self.client.loop()
self.client.publish('domain/things/'+self.id, '{
                           "report":{"test":{"weight":"'+value+'"}}}',1)
    self.client.loop()
    self.client.disconnect()

def disconnect(self) :
    self.client.disconnect()

Voilà, vous pouvez voir qu’en utilisant Python, vous pouvez facilement transformer des appareils série en appareils connectés à l’IoT.

1 commentaire

  1. Good job on the new site!

    La catégorisation des appareils IoT est souvent interprétée à tort comme de nouvelles versions « plus high-tech » de produits existants. Prenez, par exemple, les thermostats intelligents connectés à l’IdO ou les voitures connectées à l’IdO. Aujourd’hui, nous avons accès à des milliers d’appareils compatibles avec l’IdO qui sont des itérations de technologies existantes qui, sans aucun doute, rendent la vie plus agréable, plus sûre et plus saine que jamais.

    En fait, lorsque nous évaluons la plupart des produits d’aujourd’hui, la quasi-totalité d’entre eux peuvent être classés comme des produits connectés à l’IdO, simplement en enregistrant un produit avec une simple étiquette NFC ou un code QR. Ainsi, que vous l’ayez réalisé ou non, presque tout, des emballages aux vêtements en passant par les espaces physiques, peut faire partie du grand écosystème de l’Internet des objets.
    Les appareils connectés à l’IdO apportent rapidement de la valeur à presque tous les secteurs d’activité ; voici comment tout appareil peut devenir un appareil connecté à l’IdO.Click To Tweet

    Comment transformer n’importe quel objet physique en dispositif IoT ?

    Comme indiqué précédemment, il suffit d’ajouter un code QR ou une étiquette NFC au produit ou à son emballage pour transformer n’importe quel objet physique en un dispositif IoT. Comme ces technologies NFC et QR deviennent de plus en plus sophistiquées, elles peuvent désormais avoir une influence dans d’autres domaines, comme les galeries d’art connectées ou les sentiers de plein air intelligents. Et ce faisant, vous avez effectivement connecté ce produit ou service à l’écosphère de l’IdO.

    Les avantages de rendre chaque produit intelligent

    Aujourd’hui, comme la plupart d’entre nous le savent, la technologie supprime rapidement les processus fastidieux qui font office de barrières entre un consommateur et un résultat ciblé. Prenez, par exemple, le paiement sans contact. Le paiement sans contact permet de réaliser de nombreuses activités pour le consommateur en scannant ou en tapant simplement sur un appareil de point de vente avec un smartphone. Ce simple geste de toucher, glisser ou scanner a éliminé les obstacles et créé une expérience plus rationnelle pour le consommateur, ce qui a augmenté la satisfaction de l’utilisateur et donc les ventes. Une fois de plus, nous soulignons le fait que presque tout peut devenir un dispositif IoT.

    La véritable valeur pour les consommateurs est que, lorsqu’ils sont utilisés en conjonction avec une plateforme de produits intelligents, la NFC et le QR offrent une expérience mobile dynamique et personnalisée au niveau du produit.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée.

%d blogueurs aiment cette page :