Fabrication industrielle
Internet des objets industriel | Matériaux industriels | Entretien et réparation d'équipement | Programmation industrielle |
home  MfgRobots >> Fabrication industrielle >  >> Industrial Internet of Things >> Technologie de l'Internet des objets

Maîtriser les modules Bluetooth Microchip RN487x pour périphériques basse consommation

Apprenez à configurer la famille de modules Bluetooth RN487x de Microchip pour vos projets périphériques basse consommation.

Si vous construisez un dispositif compact, écoénergétique, Bluetooth est presque toujours le choix de communication de référence. Au fil des ans le standard a mûri, et aujourd'hui une large gamme de modules prêts-à-l'emploi fournissent un system-on-chip (SoC) complet qui rencontre les besoins de nombreux périphériques. Un exemple populaire est le nrf52840 de Nordic, qui combine processeur 32-bit, radio Bluetooth multi-protocole, et suite complète interfaces I/O comme GPIO, PWM, USB, SPI, et I²S.

Bien que puissants, ces SoCs peuvent être intimidants : la courbe d'apprentissage et le temps développement requis pour intégrer le firmware embarqué sont significatifs. Pour beaucoup cas d'usage courants — détection ou contrôle à distance avec seulement une poignée de canaux analogiques ou numériques — une solution plus simple, plus focalisée est souvent préférable.

Entrez la famille RN487x de Microchip. Les deux modules dans cette famille — RN4870 et RN4871 — offrent canaux bi-directionnels numériques et analogiques multiples concurrents tout en gardant l'empreinte design et l'effort firmware minimaux. Chaque module stocke une configuration compacte dans sa RAM non-volatile, vous permettant d'adapter la fonctionnalité du périphérique à vos exigences exactes. Important, les modules restent pleinement conformes au standard Bluetooth Low Energy (BLE), assurant pairage seamless avec smartphones modernes et autres clients BLE.

Dans cette série en trois parties, nous marcherons à travers la création d'un périphérique Bluetooth-activé pleinement fonctionnel pour quatre tâches typiques : capteur numérique, contrôle numérique, capteur analogique, et contrôle analogique. Chaque exemple inclut circuit de référence, étapes précises configuration RN487x, et script Python simple démontrant comment interagir avec le périphérique depuis hôte Linux. Les scripts sont thoroughly documentés pour que vous puissiez facilement embarquer les périphériques comme sous-systèmes dans designs plus larges.

Vue d'ensemble design

Ci-dessous illustration graphique de l'exemple « capteur analogique », mettant en évidence interfaces clés en rouge.

 

Maîtriser les modules Bluetooth Microchip RN487x pour périphériques basse consommation

Représentation d'un système Linux communiquant avec un périphérique

 

Nous construirons trois composants cœur pour cet exemple :

Sélection composant

La famille RN487x offre deux variantes : RN4870 et RN4871. Elles diffèrent principalement en nombre de pins et types I/O disponibles. Ci-dessous tableau budget pins réorganisé pour vous aider décider quelle puce convient le mieux à votre projet.

Il y a trois catégories de pins I/O sur les modules :

Type Description
ADC Entrée analogique : convertit tension en valeur numérique.
PWM Sortie analogique : génère onde carrée dont fréquence et duty cycle sont définis par deux nombres.
DIO Entrée ou sortie numérique : niveau haut ou bas représente logique 1 ou 0.

 

RN4870

Maîtriser les modules Bluetooth Microchip RN487x pour périphériques basse consommation

Image depuis datasheet RN487x

 

Pin Name/Capability P1_0 P1_1 P1_2 P1_3 P2_2 P2_3 P2_4 P2_5
ADC x x x x
PWM x x
DIO x x x x x

 

RN4871

Maîtriser les modules Bluetooth Microchip RN487x pour périphériques basse consommation

Image depuis datasheet RN487x

 

Pin Name/Capability P1_2 P1_3
ADC x
PWM
DIO x x

 

Ces tables clarifient que si votre design n'a besoin que d'une seule entrée analogique et pas de sorties PWM, le RN4871 est le choix le plus léger. Pour projets requérant signaux multiples ou PWM, le RN4870 est la sélection appropriée. Dans l'exemple capteur analogique, nous utilisons le RN4871 et connectons le capteur à la pin P1_2.

Couche profil GATT (Generic Attribute) de la pile protocole BLE

Avant d'écrire l'application hôte, il est essentiel de comprendre l'API GATT qui médiera communication entre hôte et périphérique.

Tous dispositifs BLE exposent une base de données GATT que le périphérique (server) peuple. L'hôte (client) utilise appels GATT pour lire ou écrire valeurs identifiées par handles ou noms. Opérations GATT Python typiques ressemblent à ceci :

gatt_rq.connect() # Écrire valeur à handle caractéristique gatt_rq.write_by_handle(vh_light, str(bytearray([8])))

Le premier appel établit connexion ; le second écrit données immédiatement reflétées sur sorties du périphérique. L'API GATT est supportée par iOS, Android, Windows, et Linux. Nos exemples utilisent Python sur Linux pour large compatibilité.

Configuration module

Pour pontifier le signal physique à la base de données GATT, vous devez programmer la NVRAM du RN487x avec deux blocs configuration clés :

Le RN487x utilise un langage commande léger pour configuration. Référez-vous à l'appendix pour détails sur établissement connexion console et émission commandes configuration. Après programmation, la NVRAM du module pourrait ressembler à ceci :

 

Maîtriser les modules Bluetooth Microchip RN487x pour périphériques basse consommation

 

Toutes valeurs configuration résident dans hiérarchie deux niveaux de services et caractéristiques — utile quand scaling vers designs multi-capteur ou multi-contrôle.


 

Ceci conclut la partie un de notre série tutoriel RN487x en trois parties. Parties 2 et 3 couvriront entrée numérique, contrôle numérique, capteur analogique, et implémentations contrôle analogique. Partie 4 discutera sujets avancés applicables à tous exemples.

Ci-dessous un appendix décrivant comment configurer les modules avant de plonger dans les projets détaillés.

Utiliser connexion console pour configurer RN487x

Alimentez le module et établissez lien série vers votre workstation. Chaque circuit démo inclut un jumper « prog » 3-pins exposant RX, TX, et GND. Si vous avez besoin guidance, un excellent guide est disponible ici.

Lancez un émulateur terminal. L'utilitaire miniterm (bundlé avec beaucoup distributions Python) est un bon choix. Dans un shell, démarrez-le ainsi :

python -m serial.tools.miniterm --eol LF /dev/ttyUSB0 115200

Le baud rate par défaut 115200 convient au RN487x.

Basculez de mode DATA à COMMAND en tapant trois signes dollar ("$$$") — vous ne verrez pas les caractères, mais le prompt change à :

CMD>

Essayez d'appuyer d suivi de Enter ; le module écho son statut :

CMD> BTA=D88039F80080 Name=RN_BLE Connected=no Authen=2 Features=0000 Services=00 CMD>

Activez echo si vous voulez voir la touche tapée : appuyez + et Enter :

CMD> ECHO ON CMD>

Créer un nouveau service GATT est aussi simple qu'émettre une seule commande PS, par exemple :

CMD> PS,59c88760536411e7b114b2f933d5fe66 AOK

Configurations projets requièrent aussi scripts multi-lignes. Commencez un script avec WW, entrez chaque ligne, et finissez avec Esc pour commiter :

CMD> ww @CONN |O,08,72 AOK CMD>

Initialisation commune du module

Quand réutilisant un module RN487x across projets, configuration précédente peut interférer avec nouvelles utilisations. Effectuez les étapes nettoyage suivantes avant chaque exemple :

Exécutez la séquence commande ci-dessous :

CMD> WC AOK CMD> SR,0040 AOK CMD> PZ AOK CMD> SW,0A,00 AOK CMD> R,1 Rebooting

Setup Linux requis pour exécuter scripts Python exemples

Hardware

Assurez que votre système hôte a hardware BLE (Bluetooth 4.0 ou plus récent). Si vous avez besoin adaptateur USB, nous recommandons un basé sur Qualcomm CSR8510, disponible ici.

 

Software

Les scripts exemples ont été testés sur Debian 10 et devraient marcher sur autres distributions basées Debian comme Ubuntu. Deux packages Python sont requis qui ne sont pas installés par défaut :

Installer gattlib construit une librairie ELF, donc vous aurez besoin outils build et librairies. Un script helper qui installe toutes dépendances est disponible ici. Après téléchargement, rendez le script exécutable et lancez-le.

Références

Restez branchés pour les prochaines parties de cette série, où nous construirons les exemples complets entrée numérique et contrôle numérique.

Aller aux projets 1 et 2 : construction entrée numérique et contrôle numérique.

Technologie de l'Internet des objets

  1. IoT cellulaire et Bluetooth LE : une approche synergique pour la connectivité de nouvelle génération
  2. Choix de conception Bluetooth Mesh : Module vs dispositif discret
  3. Contrinex 2020 : capteurs cloud-ready et rideaux lumineux Bluetooth pour la sécurité
  4. ADLINK déploie l'IA de l'edge au cloud avec plateforme NVIDIA EGX : solutions edge computing accélérées
  5. Mesurer des capteurs analogiques sur Raspberry Pi sans ADC natif
  6. Lecture de capteurs analogiques avec Raspberry Pi et Zabbix : Guide étape par étape
  7. Exploiter les données dans l'Internet de la fiabilité : stratégies pour une gestion efficace
  8. De l'Edge au Cloud : maîtriser les pipelines de données IoT
  9. Digitalisation dans l'agroalimentaire : améliorer la sécurité, la traçabilité et l'efficacité