Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Applicazioni demo Bluetooth Low Energy
Importante
Questa demo è ospitata nel repository Amazon-FreeRTOS che è obsoleto. Ti consigliamo di iniziare da qui quando crei un nuovo progetto. Se hai già un progetto FreeRTOS esistente basato sull'ormai obsoleto repository Amazon-FreerTOS, consulta il. Guida alla migrazione del RTOS repository Github gratuito da Amazon
Panoramica
FreerTOS Bluetooth Low Energy include tre applicazioni demo:
-
Demo MQTT su Bluetooth Low Energy
Questa applicazione dimostra come utilizzare il servizio MQTT su Bluetooth Low Energy.
-
Demo Provisioning Wi-Fi
Questa applicazione dimostra come utilizzare il servizio Provisioning Wi-Fi di Bluetooth Low Energy.
-
Demo Server Generic Attributes
Questa applicazione dimostra come utilizzare le API middleware FreerTOS Bluetooth Low Energy per creare un semplice server GATT.
Nota
Per configurare ed eseguire le demo di FreerTOS, segui i passaggi indicati. Inizia con Free RTOS
Prerequisiti
Per proseguire con queste demo, occorre un microcontroller con funzionalità Bluetooth Low Energy. È inoltre necessario disporre di SDK iOS per dispositivi Bluetooth FreerTOS o Android SDK per dispositivi Bluetooth FreerTOS.
Configurazione AWS IoT e Amazon Cognito per FreerTOS Bluetooth Low Energy
Per connettere i tuoi AWS IoT dispositivi a più MQTT, devi configurare Amazon AWS IoT Cognito.
Per configurare AWS IoT
-
Configura un AWS account su https://aws.amazon.com/
. -
Aprire la console AWS IoT
e dal riquadro di navigazione scegliere Manage (Gestisci), quindi scegliere Things (Oggetti). -
Scegliere Create (Crea), quindi scegliere Create a single thing (Crea un singolo oggetto).
-
Immettere un nome per il dispositivo, quindi scegliere Next (Avanti).
-
Se si sta collegando il microcontroller al cloud mediante un dispositivo mobile, scegliere Create thing without certificate (Crea oggetto senza certificato). Poiché gli SDK per dispositivi mobili utilizzano Amazon Cognito per l'autenticazione dei dispositivi, non è necessario creare un certificato del dispositivo per le demo che utilizzano Bluetooth Low Energy.
Se si sta collegando il microcontroller al cloud direttamente tramite Wi-Fi, scegliere Create certificate (Crea certificato), scegliere Activate (Attiva), quindi scaricare il certificato, la chiave pubblica e la chiave privata dell'oggetto.
-
Scegliere l'oggetto appena creato dall'elenco degli oggetti registrati e quindi scegliere Interact (Interazione) dalla pagina dell'oggetto. Prendi nota dell'endpoint dell'API AWS IoT REST.
Per ulteriori informazioni sulla configurazione, consulta la Guida introduttiva con AWS IoT.
Per creare un pool di utenti Amazon Cognito
-
Apri la console Amazon Cognito e scegli Gestisci pool di utenti.
-
Scegli Create a User Pool (Crea un bacino d'utenza).
-
Fornire al pool di utenti un nome, quindi scegliere Review defaults (Esamina impostazioni predefinite).
-
Nel riquadro di navigazione scegliere App clients (Client app) e quindi scegliere Add an app (Aggiungi un'app).
-
Immettere il nome del client dell'app, quindi scegliere Create app client (Crea client dell'app).
-
Dal riquadro di navigazione, scegliere Review (Verifica) e quindi selezionare Create pool (Crea pool).
Annotare l'ID del pool visualizzato nella pagina General Settings (Impostazioni generali) del pool di utenti.
-
Nel riquadro di navigazione, scegliere App clients (Client app) e quindi scegliere Show details (Mostra dettagli). Annotare l'ID e il segreto del client dell'app.
Per creare un pool di identità Amazon Cognito
-
Apri la console Amazon Cognito e scegli Gestisci pool di identità.
-
Immettere un nome per il pool di identità.
-
Espandere Authentication providers (Provider di autenticazione), scegliere la scheda Cognito, quindi immettere l'ID del pool di utenti e l'ID del client dell'app.
-
Seleziona Create Pool (Crea pool).
-
Espandere View Details (Visualizza dettagli) e annotare i due nomi di ruolo IAM. Scegli Consenti per creare i ruoli IAM per identità autenticate e non autenticate per accedere ad Amazon Cognito.
-
Scegli Modifica pool di identità. Annotare l'ID del pool di identità. Il formato è simile al seguente
us-west-2:12345678-1234-1234-1234-123456789012
.
Per ulteriori informazioni sulla configurazione di Amazon Cognito, consulta la Guida introduttiva ad Amazon Cognito.
Per creare e allegare una policy IAM all'identità autenticata
-
Apri la console IAM e dal pannello di navigazione, scegli Ruoli.
-
Trovare e scegliere il ruolo dell'identità autenticata, scegliere Attach policies (Allega policy), quindi scegliere Add inline policy (Aggiungi policy inline).
-
Scegliere la scheda JSON e incollare il file JSON seguente:
{ "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Action":[ "iot:AttachPolicy", "iot:AttachPrincipalPolicy", "iot:Connect", "iot:Publish", "iot:Subscribe", "iot:Receive", "iot:GetThingShadow", "iot:UpdateThingShadow", "iot:DeleteThingShadow" ], "Resource":[ "*" ] } ] }
-
Scegliere Review policy (Esamina policy), immettere un nome per la policy, quindi scegliere Create policy (Crea policy).
Tieni a portata di AWS IoT mano le tue informazioni e quelle di Amazon Cognito. Ti servono l'endpoint e gli ID per autenticare la tua applicazione mobile con il cloud. AWS
Configura il tuo ambiente FreerTOS per Bluetooth Low Energy
Per configurare il tuo ambiente, devi scaricare FreeRTOS con Libreria Bluetooth Low Energy il microcontrollore e scaricare e configurare il Mobile SDK per i dispositivi Bluetooth FreerTOS sul tuo dispositivo mobile.
Per configurare l'ambiente del tuo microcontrollore con FreerTOS Bluetooth Low Energy
-
Scarica o clona FreerTOS da. GitHub
Consultare il file README.md per le istruzioni. -
Configura FreerTOS sul tuo microcontrollore.
Nota
Puoi eseguire le demo su qualsiasi microcontrollore abilitato a Bluetooth Low Energy con FreeRTOS e librerie FreeRTOS Bluetooth Low Energy con porte. Attualmente, il progetto demo MQTT su Bluetooth Low Energy FreerTOS è completamente adattato ai seguenti dispositivi Bluetooth Low Energy:
Componenti comuni
Le applicazioni demo FreerTOS hanno due componenti comuni:
-
Network Manager
-
Applicazione demo Bluetooth Low Energy Mobile SDK
Network Manager
Network Manager consente di gestire la connessione di rete del microcontroller. Si trova nella tua directory FreerTOS all'indirizzo. demos/network_manager/aws_iot_network_manager.c
Se il Network Manager è abilitato per Wi-Fi e Bluetooth Low Energy, le demo iniziano con Bluetooth Low Energy per impostazione predefinita. Se la connessione Bluetooth Low Energy viene interrotta e la scheda è abilitata per Wi-Fi, il Network Manager passa a una connessione Wi-Fi disponibile per impedire la disconnessione dalla rete.
Per abilitare un tipo di connessione di rete con Network Manager, aggiunge il tipo di connessione di rete al parametro configENABLED_NETWORKS
in vendors/
(dove vendor
/boards/board
/aws_demos/config_files/aws_iot_network_config.hvendor
è il nome del fornitore e board
è il nome della scheda che si sta utilizzando per eseguire le demo).
Ad esempio, se Bluetooth Low Energy e Wi-Fi sono entrambi abilitati, la riga che inizia con #define configENABLED_NETWORKS
in aws_iot_network_config.h
contiene quanto segue:
#define configENABLED_NETWORKS ( AWSIOT_NETWORK_TYPE_BLE | AWSIOT_NETWORK_TYPE_WIFI )
Per ottenere un elenco dei tipi di connessione di rete attualmente supportati, vedere le righe che iniziano con #define AWSIOT_NETWORK_TYPE
in aws_iot_network.h
.
Applicazione dimostrativa FreerTOS Bluetooth Low Energy Mobile SDK
L'applicazione demo FreeRTOS Bluetooth Low Energy Mobile SDK si trova GitHub su Android SDK per dispositivi Bluetooth FreerTOS sotto e amazon-freertos-ble-android-sdk/app
su iOS SDK per dispositivi Bluetooth FreerTOS sottoamazon-freertos-ble-ios-sdk/Example/AmazonFreeRTOSDemo
In questo esempio, utilizziamo screenshot della versione iOS dell'applicazione demo per dispositivi mobili.
Nota
Se utilizzi un dispositivo iOS, è richiesto Xcode per compilare l'applicazione demo per dispositivi mobili. Se utilizzi un dispositivo Android, puoi utilizzare Android Studio per compilare l'applicazione demo per dispositivi mobili.
Per configurare l'applicazione demo per SDK iOS
Quando definisci le variabili di configurazione, utilizza il formato dei valori segnaposto forniti nei file di configurazione.
-
Verifica che sia installato SDK iOS per dispositivi Bluetooth FreerTOS.
-
Invia il comando seguente da
amazon-freertos-ble-ios-sdk/Example/AmazonFreeRTOSDemo/
:$ pod install
-
Aprire il progetto
amazon-freertos-ble-ios-sdk/Example/AmazonFreeRTOSDemo/AmazonFreeRTOSDemo.xcworkspace
con Xcode e modificare l'account sviluppatore di firma nell'account dell'utente. -
Crea una AWS IoT politica nella tua regione (se non l'hai già fatto).
Nota
Questa policy è diversa dalla policy IAM creata per l'identità autenticata di Amazon Cognito.
-
Apri la AWS IoT console
. -
Nel riquadro di navigazione, selezionare Secure (Sicurezza), scegliere Policies (Policy) e poi Create (Crea). Inserire un nome per identificare la policy. Nella sezione Add statements (Aggiungi istruzioni), scegliere Advanced mode (Modalità avanzata). Copiare e incollare il seguente JSON nella finestra dell'editor policy. Sostituisci
aws-region
e aws-account con AWS la tua regione e
l'ID dell'account.{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "iot:Connect", "Resource":"arn:aws:iot:
region
:account-id
:*" }, { "Effect": "Allow", "Action": "iot:Publish", "Resource": "arn:aws:iot:region
:account-id
:*" }, { "Effect": "Allow", "Action": "iot:Subscribe", "Resource": "arn:aws:iot:region
:account-id
:*" }, { "Effect": "Allow", "Action": "iot:Receive", "Resource": "arn:aws:iot:region
:account-id
:*" } ] } -
Scegli Crea.
-
-
Apri
amazon-freertos-ble-ios-sdk/Example/AmazonFreeRTOSDemo/AmazonFreeRTOSDemo/Amazon/AmazonConstants.swift
e ridefinisci le seguenti variabili:-
region
: La tua regione. AWS -
iotPolicyName
: il nome AWS IoT della tua polizza. -
mqttCustomTopic
: l'argomento MQTT in cui effettuare la pubblicazione.
-
-
Aprire
amazon-freertos-ble-ios-sdk/Example/AmazonFreeRTOSDemo/AmazonFreeRTOSDemo/Support/awsconfiguration.json
.In
CognitoIdentity
ridefinisci le seguenti variabili:-
PoolId
: l'ID del tuo pool di identità di Amazon Cognito. -
Region
: La tua AWS regione.
In
CognitoUserPool
ridefinisci le seguenti variabili:-
PoolId
: l'ID del tuo pool di utenti di Amazon Cognito. -
AppClientId
: l'ID del client dell'app. -
AppClientSecret
: il segreto del client dell'app. -
Region
: La tua AWS regione.
-
Per configurare l'applicazione demo per SDK Android
Quando definisci le variabili di configurazione, utilizza il formato dei valori segnaposto forniti nei file di configurazione.
-
Verifica che sia installato Android SDK per dispositivi Bluetooth FreerTOS.
-
Crea una AWS IoT politica nella tua regione (se non l'hai già fatto).
Nota
Questa policy è diversa dalla policy IAM creata per l'identità autenticata di Amazon Cognito.
-
Apri la AWS IoT console
. -
Nel riquadro di navigazione, selezionare Secure (Sicurezza), scegliere Policies (Policy) e poi Create (Crea). Inserire un nome per identificare la policy. Nella sezione Add statements (Aggiungi istruzioni), scegliere Advanced mode (Modalità avanzata). Copiare e incollare il seguente JSON nella finestra dell'editor policy. Sostituisci
aws-region
e aws-account con AWS la tua regione e
l'ID dell'account.{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "iot:Connect", "Resource":"arn:aws:iot:
region
:account-id
:*" }, { "Effect": "Allow", "Action": "iot:Publish", "Resource": "arn:aws:iot:region
:account-id
:*" }, { "Effect": "Allow", "Action": "iot:Subscribe", "Resource": "arn:aws:iot:region
:account-id
:*" }, { "Effect": "Allow", "Action": "iot:Receive", "Resource": "arn:aws:iot:region
:account-id
:*" } ] } -
Scegli Crea.
-
-
Apri https://github.com/aws/amazon-freertos-ble-android-sdk/blob/master/app/src/main/java/software/amazon/freertos/demo/ DemoConstants .java
e ridefinisci le seguenti variabili: -
AWS_IOT_POLICY_NAME
: il nome della tua AWS IoT politica. -
AWS_IOT_REGION
: La tua AWS regione.
-
-
In
CognitoIdentity
ridefinisci le seguenti variabili:-
PoolId
: l'ID del tuo pool di identità di Amazon Cognito. -
Region
: La tua AWS regione.
In
CognitoUserPool
ridefinisci le seguenti variabili:-
PoolId
: l'ID del tuo pool di utenti di Amazon Cognito. -
AppClientId
: l'ID del client dell'app. -
AppClientSecret
: il segreto del client dell'app. -
Region
: La tua AWS regione.
-
Per individuare e stabilire connessioni sicure con il microcontroller su Bluetooth Low Energy
-
Per associare il microcontrollore e il dispositivo mobile in modo sicuro (fase 6), è necessario un emulatore di terminale seriale con funzionalità di input e output (ad esempio). TeraTerm Configura il terminale per la connessione alla scheda tramite una connessione seriale come indicato in Installazione di un emulatore di terminale.
-
Eseguire il progetto demo Bluetooth Low Energy sul microcontroller.
-
Eseguire l'applicazione demo SDK Bluetooth Low Energy Mobile sul dispositivo mobile.
Per avviare un'applicazione demo di SDK Android dalla riga di comando, eseguire il comando seguente:
$ ./gradlew installDebug
-
Verificare che il microcontroller sia visualizzato in Devices (Dispositivi) nell'applicazione demo SDK Bluetooth Low Energy Mobile.
Nota
Nell'elenco vengono visualizzati tutti i dispositivi con FreerTOS e il servizio di informazioni sul dispositivo
() che si trovano nell'intervallo.freertos
/.../device_information -
Scegliere il microcontroller dall'elenco di dispositivi. L'applicazione stabilisce una connessione con la scheda e una riga verde viene visualizzata accanto al dispositivo connesso.
È possibile disconnettersi dal microcontrollore trascinando la linea verso sinistra.
-
Se richiesto, abbinare il microcontroller e il dispositivo mobile.
Scheda FreerTOS
Dispositivo mobile
Se il codice per i confronti numerici è identico su entrambi i dispositivi, accoppiare i dispositivi.
Nota
L'applicazione demo Bluetooth Low Energy Mobile SDK utilizza Amazon Cognito per l'autenticazione degli utenti. Assicurati di aver configurato un pool di utenti e identità di Amazon Cognito e di aver collegato le policy IAM alle identità autenticate.
MQTT su Bluetooth Low Energy
Nella demo MQTT tramite Bluetooth Low Energy, il microcontrollore pubblica messaggi sul cloud tramite un proxy MQTT. AWS
Per effettuare la sottoscrizione a un argomento MQTT demo
-
Accedi alla console. AWS IoT
-
Nel pannello di navigazione, scegli Test, quindi scegli MQTT test client per aprire il client MQTT.
-
In Argomento sottoscrizione, digitare
, quindi scegliere Effettua sottoscrizione all'argomento.thing-name
/example/topic1
Se utilizzi Bluetooth Low Energy per accoppiare il microcontroller con il dispositivo mobile, i messaggi MQTT vengono instradati al dispositivo mobile mediante l'applicazione demo SDK Bluetooth Low Energy Mobile.
Per abilitare la demo tramite Bluetooth Low Energy
-
Aprire
vendors/
e definirevendor
/boards/board
/aws_demos/config_files/aws_demo_config.hCONFIG_MQTT_BLE_TRANSPORT_DEMO_ENABLED
. -
Apri
demos/include/aws_clientcredential.h
e configuraclientcredentialMQTT_BROKER_ENDPOINT
con l'endpoint del AWS IoT broker. ConfiguraclientcredentialIOT_THING_NAME
con il nome dell'oggetto per il dispositivo microcontrollore BLE. L'endpoint del AWS IoT broker può essere ottenuto dalla AWS IoT console scegliendo Impostazioni nel riquadro di navigazione a sinistra o tramite la CLI eseguendo il comando:.aws iot describe-endpoint --endpoint-type=iot:Data-ATS
Nota
L'endpoint del AWS IoT broker e il nome dell'oggetto devono trovarsi entrambi nella stessa regione in cui sono configurati l'identità cognito e il pool di utenti.
Per eseguire la demo
-
Compilare ed eseguire il progetto demo sul microcontroller.
-
Assicurati di aver accoppiato la scheda e il dispositivo mobile utilizzando la Applicazione dimostrativa FreerTOS Bluetooth Low Energy Mobile SDK.
-
Dall'elenco Devices (Dispositivi) nell'applicazione demo per dispositivi mobili, scegliere il microcontroller, quindi selezionare MQTT Proxy (Proxy MQTT) per aprire le impostazioni proxy MQTT.
-
Dopo aver abilitato il proxy MQTT, i messaggi MQTT vengono visualizzati sull'argomento
e i dati vengono stampati sul terminale UART.thing-name
/example/topic1
Provisioning Wi-Fi
Wi-Fi Provisioning è un servizio FreerTOS Bluetooth Low Energy che consente di inviare in modo sicuro le credenziali di rete Wi-Fi da un dispositivo mobile a un microcontrollore tramite Bluetooth Low Energy. Il codice sorgente per il servizio Provisioning Wi-Fi è disponibile in
.freertos
/.../wifi_provisioning
Nota
La demo di Wi-Fi Provisioning è attualmente supportata su Espressif ESP32- C. DevKit
Per abilitare la demo
-
Abilitare il servizio di provisioning Wi-Fi. Aprire
vendors/
e impostarevendor
/boards/board
/aws_demos/config_files/iot_ble_config.h#define IOT_BLE_ENABLE_WIFI_PROVISIONING
su1
(dovevendor
è il nome del fornitore eboard
è il nome della scheda che si sta utilizzando per eseguire le demo).Nota
Per impostazione predefinita, il servizio di provisioning Wi-Fi è disabilitato.
-
Configurare Network Manager per abilitare Bluetooth Low Energy e Wi-Fi.
Per eseguire la demo
-
Compilare ed eseguire il progetto demo sul microcontroller.
-
Assicurati di aver associato il microcontrollore e il dispositivo mobile utilizzando il. Applicazione dimostrativa FreerTOS Bluetooth Low Energy Mobile SDK
-
Dall'elenco Devices (Dispositivi) nell'app demo per dispositivi mobili, scegliere il microcontroller, quindi selezionare Network Config (Configurazione rete) per aprire le impostazioni di configurazione della rete.
-
Dopo aver scelto Network Config (Configurazione rete) per la scheda, il microcontroller invia un elenco delle reti che si trovano vicino al dispositivo mobile. Le reti Wi-Fi disponibili vengono visualizzate in un elenco in Scanned Networks (Reti scansite).
Dall'elenco Scanned Networks (Reti scansite), scegliere la rete, quindi immettere l'SSID e la password, se richiesti.
Il microcontrollore si connette alla rete e la salva. La rete viene visualizzata in Saved Networks (Reti salvate).
Puoi salvare diverse reti nell'applicazione demo per dispositivi mobili. Quando riavvii l'applicazione e la demo, il microcontroller si connette alla prima rete salvata disponibile, partendo dall'inizio dell'elenco Saved Networks (Reti salvate).
Per modificare l'ordine di priorità di rete o eliminare reti, nella pagina Network Configuration (Configurazione di rete), scegli Editing Mode (Modalità di modifica). Per modificare l'ordine di priorità di rete, scegli la parte destra della rete per la quale desideri riassegnare le priorità e trascina la rete verso l'alto o verso il basso. Per eliminare una rete, scegli il pulsante rosso sul lato sinistro della rete che desideri eliminare.
Server Generic Attributes
In questo esempio, un'applicazione demo Generic Attributes (GATT) Server sul microcontroller invia un semplice valore di un contatore a Applicazione dimostrativa FreerTOS Bluetooth Low Energy Mobile SDK.
Utilizzando gli SDK Bluetooth Low Energy Mobile, puoi creare il tuo client GATT per un dispositivo mobile che viene connesso al server GATT sul microcontroller ed eseguito in parallelo con l'applicazione demo per dispositivi mobili.
Per abilitare la demo
-
Abilitare la demo GATT Bluetooth Low Energy. In
vendors/
(dovevendor
/boards/board
/aws_demos/config_files/iot_ble_config.hvendor
è il nome del fornitore eboard
è il nome della scheda che si sta utilizzando per eseguire le demo), aggiungere#define IOT_BLE_ADD_CUSTOM_SERVICES ( 1 )
all'elenco di istruzioni "define".Nota
La demo GATT Bluetooth Low Energy è disabilitata per impostazione predefinita.
-
Aprire
, commentarefreertos
/vendors/vendor
/boards/board
/aws_demos/config_files/aws_demo_config.h#define CONFIG_CORE_MQTT_MUTUAL_AUTH_DEMO_ENABLED
e definireCONFIG_BLE_GATT_SERVER_DEMO_ENABLED
.
Per eseguire la demo
-
Compilare ed eseguire il progetto demo sul microcontroller.
-
Assicurati di aver accoppiato la scheda e il dispositivo mobile utilizzando la Applicazione dimostrativa FreerTOS Bluetooth Low Energy Mobile SDK.
-
Dall'elenco Devices (Dispositivi) nell'applicazione, scegliere la scheda, quindi selezionare MQTT Proxy (Proxy MQTT) per aprire le opzioni proxy MQTT.
-
Tornare all'elenco Devices (Dispositivi), scegliere la scheda, quindi selezionare Custom GATT MQTT (MQTT GATT personalizzato) per aprire le opzioni del servizio GATT personalizzato.
-
Scegliere Start Counter (Avvia contatore) per iniziare a pubblicare dati nell'argomento
MQTT.your-thing-name
/example/topicDopo aver abilitato il proxy MQTT, i messaggi Hello World e di incremento del contatore vengono visualizzati sull'argomento
.your-thing-name
/example/topic