Table des matières:

Solution Seeed IoTea LoRa (avec Azure, mise à jour 1812) : 5 étapes
Solution Seeed IoTea LoRa (avec Azure, mise à jour 1812) : 5 étapes

Vidéo: Solution Seeed IoTea LoRa (avec Azure, mise à jour 1812) : 5 étapes

Vidéo: Solution Seeed IoTea LoRa (avec Azure, mise à jour 1812) : 5 étapes
Vidéo: Wireless Sensor Network Introduction | SenseCAP LoRaWAN & NB-IoT Series 2024, Juin
Anonim
Solution Seeed IoTea LoRa (avec Azure, mise à jour 1812)
Solution Seeed IoTea LoRa (avec Azure, mise à jour 1812)

Microsoft Azure est un service cloud qui fournit une puissance de calcul plus puissante et plus stable. Cette fois, nous avons essayé de lui envoyer nos données IoTea.

Étape 1: Éléments utilisés dans ce projet

Composants matériels

  • Grove - Capteur de dioxyde de carbone (MH-Z16)
  • Grove - Capteur de lumière numérique
  • Grove - Capteur de poussière (PPD42NS)
  • Grove - Capteur d'oxygène (ME2-O2-Ф20)
  • Capteur d'humidité et de température du sol
  • Passerelle LoRa LoRaWAN - Kit 868MHz avec Raspberry Pi 3
  • Grove - Capteur de température et d'humidité et de baromètre (BME280)

Applications logicielles et services en ligne

  • Microsoft Visual Studio 2015
  • Microsoft Azure

Étape 2: Histoire

Sur la montagne Mengding, au nord-est de Ya'an, dans le Sichuan, la crête de la montagne s'étend d'ouest en est dans une mer de verdure. C'est un spectacle des plus familiers pour Deng, 36 ans, l'un des très rares théiers Mengding de sa génération, avec une plantation de 50mu (=3,3 hectares) située à 1100m d'altitude. Deng vient d'une famille de théiers, mais perpétuer l'héritage familial n'est pas une tâche facile. « Nos thés sont cultivés en haute altitude dans un environnement biologique pour garantir leur excellente qualité. Mais en même temps, la densité de croissance est faible, le coût est élevé et le bourgeonnement est inégal, ce qui rend le thé difficile à récolter. C'est pourquoi les thés de haute montagne sont normalement de petites récoltes et leurs valeurs ne sont pas reflétées sur le marché. » Depuis deux ans, Deng essaie de sensibiliser les consommateurs au thé de haute montagne pour promouvoir leur valeur. Et lorsqu'il a rencontré Fan, qui cherchait une plantation pour mettre en œuvre la technologie IoTea de Seeed, une solution idéale a été trouvée.

Étape 3: connexion matérielle

Veuillez suivre le didacticiel précédent pour connecter votre matériel.

Étape 4: configuration du cloud

Étape 1. Créer un groupe de ressources

Cliquez ici pour vous connecter à Microsoft Azure. Et puis, entrez Groupes de ressources dans la liste à gauche du tableau de bord, cliquez sur Ajouter pour ajouter un groupe de ressources.

Image
Image

Un groupe de ressources est utilisé pour gérer toutes les ressources du projet, après avoir utilisé les ressources cloud, supprimez le groupe de ressources pour supprimer toutes les ressources afin d'éviter les frais. Dans la page ouverte, remplissez le nom du groupe de ressources (tel que iotea), choisissez l'emplacement de l'abonnement et du groupe de ressources si nécessaire, cliquez sur Créer pour créer un groupe de ressources.

Étape 2. Créer un hub IoT

Maintenant, vous pouvez créer une ressource cloud, cliquez sur Créer une ressource sur la gauche, choisissez Internet des objets - Iot Hub, cela ouvrira une nouvelle page.

Dans l'onglet Notions de base, choisissez le groupe de ressources que vous venez de créer et remplissez le nom du hub Iot (comme iotea), choisissez l'abonnement et la région si nécessaire, puis passez à l'onglet Taille et scle.

Image
Image

Dans l'onglet Taille et échelle, choisissez F1: niveau gratuit ou B1: niveau de base dans la combinaison de prix et de niveau d'échelle, le niveau de base coûtera 10,00 USD par mois. Enfin, passez à l'onglet Review + create pour vérifier votre saisie et cliquez sur Créer pour créer un Iot Hub.

Image
Image

Étape 3. Configurer LORIOT

Entrez l'Iot Hub que vous venez de créer, cliquez sur Stratégies d'accès partagé - appareil, copiez la clé primaire dans la page sur la droite.

Image
Image

Ouvrez une nouvelle fenêtre (ou onglet) de navigateur, connectez-vous à votre panneau de configuration LORIOT, accédez à Application - SampleApp, cliquez sur Sortie de données dans le groupe de contrôle - Modifier. Dans Changer le groupe de type de sortie, choisissez Azure Iot Hub, remplissez votre nom de hub Iot et votre clé primaire, puis cliquez sur le bouton Confirmer la modification en bas.

Image
Image

Étape 4. Ajouter un périphérique Iot

Cliquez sur Appareils dans la liste à gauche dans LRIOT, copiez l'EUI de votre appareil.

Image
Image

De retour à Azure Iot Hub, cliquez sur Appareils Iot dans la liste à gauche de Iot Hub. Cliquez sur Ajouter, remplissez l'EUI de l'appareil sur l'ID de l'appareil dans la page ouverte.

IMPORTANT: SUPPRIMER TOUS LES SEPRATEURS DANS L'EUI DE L'APPAREIL, le laisser ressembler à 1122334455667788.

Image
Image

Cliquez sur Enregistrer, tout est fait.

Étape 5. Recevez des messages D2C (Device to Cloud)

Vous pouvez suivre Microsoft Docs pour lire les messages D2C.

Étape 5: Programmation du logiciel

La programmation du logiciel est divisée en 3 parties: nœud, passerelle et site Web, veuillez suivre le didacticiel précédent pour programmer la partie nœud et la partie passerelle. Les étapes 1 à 8 de la partie site Web sont également identiques au didacticiel précédent.

Si vous avez déjà configuré Microsoft Azure, ouvrez un terminal, entrez dans le dossier racine de votre site Web, activez l'environnement virtuel:

cd ~/iotea-hb

bac source/activer

installez le module Azure Event Hub via pip et créez un nouveau fichier.py (tel que iothub_recv.py):

pip installer azure-eventhub

touchez iothub_recv.py

puis écrivez les codes suivants:

# --------------------------------------------------------------------------------------------

# Copyright (c) Microsoft Corporation. Tous les droits sont réservés. # Licencié sous la licence MIT. Voir License.txt dans la racine du projet pour les informations de licence. # ------------------------------------------------- ------------------------------------------------------------------------------------------------------------------------------------- puis:----------------------------------------- depuis Azure eventhub import EventData, EventHubClient, Offset import logging logger = logging.getLogger('azure.eventhub') import db, json, time, datetime def get_time(): cntime = datetime.datetime.now() + datetime.timedelta(hours = +8) date = cntime.strftime('%Y-{}-{}').format(cntime.strftime('%m').zfill(2), cntime.strftime('%d').zfill(2)) heure = cntime.strftime('%H').zfill(2) minute = cntime.strftime('%M').zfill(2) seconde = cntime.strftime('%S').zfill(2) return [date, hour, minute, second] def get_iothub_data(): list = ['0'] * 11 client = EventHubClient.from_iothub_connection_string('', debug=True) receiver = client.add_receiver("$default", " 3", operation='/messages/events', offset = Offset(datetime.datetime.utcnow())) essayez: client.run() eh_info = client.get_eventhub_info() print(eh_info) receive = receiver.receive(timeout =5) imprimer (reçu) pour l'article reçu: moi ssage = json.loads(str(item.message)) print(message) si 'data' dans le message: data = message['data'] air_temp = str(int(data[0:2], 16)) air_hum = str(int(data[2:4], 16)) pression = str(int((data[4:8]), 16)) co2 = str(int(data[8:12], 16)) dust = str(int(data[12:16], 16)) illumination = str(int(data[16:20], 16)) o2 = str(round(int(data[20:22], 16) / 10, 1)) Soil_temp = str(int(data[22:24], 16)) Soil_hum = str(int(data[24:26], 16)) voltage = str(round(int(data[26:28], 16) / int('ff', 16) * 5, 1)) error = str(int(data[28:], 16)) list = [air_temp, air_hum, pression, co2, poussière, éclairage, o2, sol_temp, soil_hum, voltage, error] enfin: client.stop() renvoie la liste avec True: list = get_time() + get_iothub_data() db.insert(list) print(list)

Avant d'exécuter le programme, modifiez votre chaîne de connexion dans

client = EventHubClient.from_iothub_connection_string('', debug=True)

vous pouvez obtenir votre chaîne de connexion en cliquant sur Stratégies d'accès partagé - iotowner dans Iot Hub, la chaîne de connexion-clé primaire dans la page ouverte est la chaîne de connexion.

Image
Image

Après cela, vous pouvez démarrer le programme:

gunicorn iothub_recv:app

Conseillé: