Main Content

Cette page a été traduite par traduction automatique. Cliquez ici pour voir la dernière version en anglais.

Créer une vue du canal ThingSpeak personnalisée

Cet exemple montre comment transformer la vue des canaux ThingSpeak en une console de données temps réel . L'exemple utilise des données environnementales collectées via The Things Network, mais vous pouvez adapter la procédure à vos propres données. ThingSpeak channel 876466 est un canal public affichant les données d'une sonde à trois capteurs avec des capteurs pour l'humidité du sol, la température et la localisation GPS. L'exemple Collect Agricultural Data over The Things Network détaille comment créer un appareil qui publie les données du capteur sur ce canal. Vous pouvez ajouter un affichage de valeur de champ pour afficher un compteur, puis ajouter la carte d'emplacement des canal . Utilisez la lecture en fonction du temps pour filtrer les données des capteurs et faciliter la visualisation des tendances sous-jacentes. Enfin, vous pouvez tracer une carte des données d'emplacement dans le canal avec des couleurs et des zones de points qui représentent les données du canal .

Ajouter un widget d'affichage numérique

Le champ 1 sur ce canal est une valeur de compteur qui démontre que l'appareil est live et incrémente les mesures. L'affichage de la dernière valeur du compteur sur la vue des canaux fournit une mise à jour rapide sur l'activité du capteur. Vous pouvez ajouter un Numeric Display Widget pour votre canal en utilisant le bouton Ajouter des widgets dans la vue des canaux privée. Notez que vous avez besoin de données dans votre canal pour voir la valeur du champ sur un widget d'affichage numérique.

Ajouter une carte de localisation des canaux

Vous pouvez stocker des informations de localisation pour un canal et pour des mises à jour individuelles des données du canal . Pour cet exemple, ajoutez d'abord une carte d'emplacement de canal , qui est différente des informations d'emplacement des données de flux. Sélectionnez l'onglet  Paramètres du canal  dans la vue des canaux.

Sélectionnez Afficher l'emplacement du canal et entrez les informations Latitude et Longitude pour l'emplacement de votre canal .

Cliquez sur  Enregistrer le canal  pour mettre à jour les paramètres.

Désormais, vos vues de canal privés et publics incluent la carte des canal .

 Ajouter un tracé en deux séries à la vue des canaux 

Les visualisations MATLAB offrent plus de contrôle sur l'analyse et les tracés par rapport aux tracés ThingSpeak par défaut affichés dans votre vue du canal. Certains types de licence permettent également des mises à jour automatiques des visualisations. Vous pouvez utiliser à la fois le filtrage temporel et le filtrage par seuil pour améliorer la visualisation des données. Pour cet exemple, visualisez la relation entre la température et l'humidité du sol. Commencez par cliquer sur le bouton  Visualisation MATLAB  dans la vue des canaux.

Sélectionnez un modèle de code personnalisé. Entrez le code ci-dessous dans la fenêtre de code MATLAB. Étant donné que les données qui vous intéressent proviennent d'une expérience précédente, utilisez le filtrage temporel pour lire les données les plus anciennes du canal. Définissez les heures de début et de fin avec datetime. Lisez ensuite les données dans une timetable en utilisant thingSpeakRead.

startTime = datetime(2019,8,23,09,15,00);
endTime=  startTime+ days(2);
sensorData = thingSpeakRead(876466,'Location',1,'dateRange',[startTime endTime],...
    'location',1,'outputformat','timetable');

Les données de température dans la troisième colonne contiennent de mauvaises mesures qui doivent être filtrées avant le traçage. Supprimez toutes les lignes où la lecture de la température est supérieure à 100.

sensorData(sensorData{:,3}>100,:)=[];

Terminez maintenant le tracé. Utilisez hold pour vous assurer que les tracés sont dans la même figure et yyaxis pour tracer l'humidité du sol sur l'axe droit. Ajoutez un ylabel de chaque côté pour plus de clarté et réglez l'échelle avec ylim.

plot (sensorData.Timestamps,sensorData.TemperatureF)
ylabel('^0F');
hold;
Current plot held
yyaxis right
plot(sensorData.Timestamps,sensorData.SoilMoisture);
ylabel('Soil Conductivity');
ylim([700 900]);
hold off;

La sonde d'humidité du sol mesure la conductivité dans le sol, donc des mesures plus humides et plus conductrices ont des valeurs plus faibles sur le tracé. Le graphique montre que des températures plus fraîches sont corrélées avec un sol plus humide.

Visualisez les mesures avec les données de localisation sur la vue du canal

Pour ce canal, le prototype envoie des données de position avec les mesures du capteur. Une application consiste à étudier une grande surface avec des mesures de température et d'humidité et à visualiser les données avec l'emplacement.

Comme dans l'exemple précédent, ajoutez une nouvelle visualisation MATLAB à l'aide du bouton de votre vue des canaux. Lisez les points les plus récents avec thingSpeakRead et tracez les données de localisation avec goescatter. Utilisez geobasemap pour sélectionner les données cartographiques satellite.

mapData = thingSpeakRead(876466,'ReadKey','R14RSDIMCQHDW1A8','Location',...
    1,'numpoints',37,'location',1,'outputformat','timetable');
geoscatter(mapData.Latitude,mapData.Longitude,'r');
geobasemap('satellite');

La carte offre une bonne visualisation des positions. Inclure les données de température et d'humidité dans la carte pour améliorer la visualisation. Lorsque l' appareil de mesure est déplacé d'un endroit à un autre, il peut effectuer une mesure d'humidité inexacte avant que la sonde ne soit replacée dans le sol. Supprimez toutes les données avec des valeurs inférieures à 500 dans les données sur l'humidité du sol dans la deuxième colonne. Redimensionnez ensuite les données pour plus de visibilité. Ajoutez les données d'humidité à la fonction goescatter pour déterminer la taille des cercles et les données de température pour déterminer la couleur. Utilisez l'option ‘filled’ pour remplir les cercles.

mapData(mapData{:,2}<500,:)=[];
mapData.SoilMoisture=mapData.SoilMoisture-min(mapData.SoilMoisture)+1;
geoscatter(mapData.Latitude,mapData.Longitude,mapData.SoilMoisture,mapData.TemperatureF,'filled');
geobasemap('satellite');

L'effet subtil des emplacements plus chauds devant le bâtiment conduit à des cercles plus petits indiquant un sol plus sec, sauf à droite où les gicleurs venaient de terminer.

Vous pouvez ajouter des visualisations enregistrées aux vues publiques et privées de votre canal. Dans Paramètres d'affichage , utilisez le signe plus à côté de Ajouter/Modifier cette visualisation à un canal pour développer la liste des canaux.

Cochez la case correspondant au canal auquel vous souhaitez ajouter la visualisation. Pour ajouter des visualisations privées, sélectionnez  Vue privée . Pour partager l'URL et ajouter la visualisation à la Vue publique , cliquez sur Créer une URL publique . Pour mettre à jour vos sélections, cliquez sur  Enregistrer les paramètres d'affichage .