Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Aplikasi demo Bluetooth Energi Rendah
penting
Demo ini di-host di repositori Amazon-Freertos yang tidak digunakan lagi. Kami menyarankan Anda mulai di sini ketika Anda membuat proyek baru. Jika Anda sudah memiliki proyek FreeRTOS yang sudah ada berdasarkan repositori Amazon-Freertos yang sekarang tidak digunakan lagi, lihat. Panduan Migrasi Repositori RTOS Github Bebas Amazon
Gambaran Umum
FreeRTOS Bluetooth Low Energy mencakup tiga aplikasi demo:
-
MQTT melalui Bluetooth Energi Rendahdemo
Aplikasi ini menunjukkan cara menggunakan MQTT melalui layanan Bluetooth Low Energy.
-
Penyediaan Wi-Fidemo
Aplikasi ini menunjukkan cara menggunakan layanan Penyediaan Wi-Fi Energi Rendah Bluetooth.
-
Aplikasi ini menunjukkan cara menggunakan API middleware FreeRTOS Bluetooth Low Energy untuk membuat server GATT sederhana.
catatan
Untuk mengatur dan menjalankan demo FreeRTOS, ikuti langkah-langkahnya. Memulai dengan Gratis RTOS
Prasyarat
Untuk mengikuti demo ini, Anda memerlukan mikrokontroler dengan kemampuan Bluetooth Low Energy. Anda juga membutuhkan SDK iOS untuk perangkat Bluetooth FreeRTOS atauAndroid SDK untuk perangkat Bluetooth FreeRTOS.
Siapkan AWS IoT dan Amazon Cognito untuk FreerTOS Bluetooth Low Energy
Untuk menghubungkan perangkat Anda ke AWS IoT seluruh MQTT, Anda perlu mengatur dan Amazon AWS IoT Cognito.
Untuk mengatur AWS IoT
-
Siapkan AWS akun di https://aws.amazon.com/
. -
Buka AWS IoT konsol
, dan dari panel navigasi, pilih Kelola, lalu pilih Things. -
Pilih Buat, lalu pilih Buat satu hal.
-
Masukkan nama untuk perangkat Anda, lalu pilih Berikutnya.
-
Jika Anda menghubungkan mikrokontroler Anda ke cloud melalui perangkat seluler, pilih Buat sesuatu tanpa sertifikat. Karena SDK Seluler menggunakan Amazon Cognito untuk otentikasi perangkat, Anda tidak perlu membuat sertifikat perangkat untuk demo yang menggunakan Bluetooth Low Energy.
Jika Anda menghubungkan mikrokontroler Anda ke cloud secara langsung melalui Wi-Fi, pilih Buat sertifikat, pilih Aktifkan, lalu unduh sertifikat, kunci publik, dan kunci pribadi.
-
Pilih hal yang baru saja Anda buat dari daftar barang terdaftar, lalu pilih Interact dari halaman benda Anda. Catat titik akhir AWS IoT REST API.
Untuk informasi selengkapnya tentang pengaturan, lihat Memulai dengan AWS IoT.
Untuk membuat kumpulan pengguna Amazon Cognito
-
Buka konsol Amazon Cognito, dan pilih Kelola Kumpulan Pengguna.
-
Pilih Buat kolam pengguna.
-
Beri nama kumpulan pengguna, lalu pilih Tinjau default.
-
Dari panel navigasi, pilih Klien aplikasi, lalu pilih Tambahkan klien aplikasi.
-
Masukkan nama untuk klien aplikasi, lalu pilih Buat klien aplikasi.
-
Dari panel navigasi, pilih Tinjau, lalu pilih Buat kumpulan.
Catat ID kumpulan yang muncul di halaman Pengaturan Umum kumpulan pengguna Anda.
-
Dari panel navigasi, pilih Klien aplikasi, lalu pilih Tampilkan detail. Catat ID klien aplikasi dan rahasia klien aplikasi.
Untuk membuat kumpulan identitas Amazon Cognito
-
Buka konsol Amazon Cognito, dan pilih Kelola Kolam Identitas.
-
Masukkan nama untuk kolam identitas Anda.
-
Perluas penyedia Autentikasi, pilih tab Cognito, lalu masukkan ID kumpulan pengguna dan ID klien aplikasi Anda.
-
Pilih Buat kolam.
-
Perluas Detail Tampilan, dan catat dua nama peran IAM. Pilih Izinkan untuk membuat peran IAM untuk identitas yang diautentikasi dan tidak diautentikasi untuk mengakses Amazon Cognito.
-
Pilih Edit kolam identitas. Catat ID kumpulan identitas. Itu harus dari bentuk
us-west-2:12345678-1234-1234-1234-123456789012
.
Untuk informasi selengkapnya tentang pengaturan Amazon Cognito, lihat Memulai dengan Amazon Cognito.
Untuk membuat dan melampirkan kebijakan IAM ke identitas yang diautentikasi
-
Buka konsol IAM, dan dari panel navigasi, pilih Peran.
-
Temukan dan pilih peran identitas yang diautentikasi, pilih Lampirkan kebijakan, lalu pilih Tambahkan kebijakan sebaris.
-
Pilih tab JSON, dan tempel JSON berikut:
{ "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":[ "*" ] } ] }
-
Pilih Kebijakan tinjauan, masukkan nama untuk kebijakan tersebut, lalu pilih Buat kebijakan.
Simpan informasi Anda AWS IoT dan Amazon Cognito di tangan. Anda memerlukan endpoint dan ID untuk mengautentikasi aplikasi seluler Anda dengan Cloud. AWS
Siapkan lingkungan FreeRTOS Anda untuk Bluetooth Low Energy
Untuk mengatur lingkungan Anda, Anda perlu mengunduh FreeRTOS dengan Perpustakaan Bluetooth Rendah Energi mikrokontroler di Anda, dan mengunduh serta mengonfigurasi SDK Seluler untuk Perangkat Bluetooth FreeRTOS di perangkat seluler Anda.
Untuk mengatur lingkungan mikrokontroler Anda dengan FreeRTOS Bluetooth Low Energy
-
Unduh atau kloning FreeRTOS dari. GitHub
Lihat file README.md untuk instruksi. -
Siapkan FreeRTOS di mikrokontroler Anda.
catatan
Anda dapat menjalankan demo pada mikrokontroler Bluetooth Low Energy dengan FreeRTOS dan porting FreeRTOS Bluetooth Low Energy library. Saat ini, proyek demo MQTT melalui Bluetooth Energi Rendah FreeRTOS sepenuhnya di-porting ke perangkat berkemampuan Bluetooth Low Energy berikut:
Komponen umum
Aplikasi demo FreeRTOS memiliki dua komponen umum:
-
Network Manager
-
Aplikasi demo SDK Seluler Energi Rendah Bluetooth
Network Manager
Network Manager mengelola koneksi jaringan mikrokontroler Anda. Itu terletak di direktori FreeRTOS Anda di. demos/network_manager/aws_iot_network_manager.c
Jika Network Manager diaktifkan untuk Wi-Fi dan Bluetooth Low Energy, demo dimulai dengan Bluetooth Low Energy secara default. Jika koneksi Bluetooth Low Energy terganggu, dan papan Anda berkemampuan Wi-Fi, Network Manager beralih ke koneksi Wi-Fi yang tersedia untuk mencegah Anda memutuskan sambungan dari jaringan.
Untuk mengaktifkan jenis koneksi jaringan dengan Network Manager, tambahkan jenis koneksi jaringan ke configENABLED_NETWORKS
parameter di vendors/
(di mana vendor
/boards/board
/aws_demos/config_files/aws_iot_network_config.hvendor
adalah nama vendor dan papan
adalah nama papan yang Anda gunakan untuk menjalankan demo).
Misalnya, jika Anda mengaktifkan Bluetooth Low Energy dan Wi-Fi, baris yang dimulai dengan #define configENABLED_NETWORKS
in aws_iot_network_config.h
berbunyi sebagai berikut:
#define configENABLED_NETWORKS ( AWSIOT_NETWORK_TYPE_BLE | AWSIOT_NETWORK_TYPE_WIFI )
Untuk mendapatkan daftar jenis koneksi jaringan yang saat ini didukung, lihat baris yang dimulai dengan #define AWSIOT_NETWORK_TYPE
inaws_iot_network.h
.
Aplikasi demo SDK Seluler Energi Rendah FreeRTOS Bluetooth
Aplikasi demo FreeRTOS Bluetooth Low Energy Mobile SDK terletak GitHub di Android SDK untuk Perangkat Bluetooth FreeRTOS di bawah dan amazon-freertos-ble-android-sdk/app
SDK iOS untuk Perangkat Bluetooth FreeRTOS di bawahamazon-freertos-ble-ios-sdk/Example/AmazonFreeRTOSDemo
Dalam contoh ini, kami menggunakan tangkapan layar dari versi iOS dari aplikasi seluler demo.
catatan
Jika Anda menggunakan perangkat iOS, Anda memerlukan Xcode untuk membangun aplikasi seluler demo. Jika Anda menggunakan perangkat Android, Anda dapat menggunakan Android Studio untuk membuat aplikasi seluler demo.
Untuk mengonfigurasi aplikasi demo SDK iOS
Saat Anda menentukan variabel konfigurasi, gunakan format nilai placeholder yang disediakan dalam file konfigurasi.
-
Konfirmasikan bahwa SDK iOS untuk perangkat Bluetooth FreeRTOS sudah diinstal.
-
Keluarkan perintah berikut dari
amazon-freertos-ble-ios-sdk/Example/AmazonFreeRTOSDemo/
:$ pod install
-
Buka
amazon-freertos-ble-ios-sdk/Example/AmazonFreeRTOSDemo/AmazonFreeRTOSDemo.xcworkspace
proyek dengan Xcode, dan ubah akun pengembang penandatanganan ke akun Anda. -
Buat AWS IoT kebijakan di wilayah Anda (jika Anda belum melakukannya).
catatan
Kebijakan ini berbeda dengan kebijakan IAM yang dibuat untuk identitas yang diautentikasi Amazon Cognito.
-
Buka konsol AWS IoT
. -
Di panel navigasi, pilih Aman, pilih Kebijakan, lalu pilih Buat. Masukkan nama untuk mengidentifikasi kebijakan Anda. Di bagian Tambahkan pernyataan, pilih Mode lanjutan. Salin dan tempel JSON berikut ke jendela editor kebijakan. Ganti
aws-region
dan aws-account dengan AWS Regiondan
ID akun Anda.{ "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
:*" } ] } -
Pilih Buat.
-
-
Buka
amazon-freertos-ble-ios-sdk/Example/AmazonFreeRTOSDemo/AmazonFreeRTOSDemo/Amazon/AmazonConstants.swift
, dan definisikan ulang variabel-variabel berikut:-
region
: AWS Wilayah Anda. -
iotPolicyName
: Nama AWS IoT kebijakan Anda. -
mqttCustomTopic
: Topik MQTT yang ingin Anda publikasikan.
-
-
Buka
amazon-freertos-ble-ios-sdk/Example/AmazonFreeRTOSDemo/AmazonFreeRTOSDemo/Support/awsconfiguration.json
.Di bawah
CognitoIdentity
, mendefinisikan kembali variabel-variabel berikut:-
PoolId
: ID kumpulan identitas Amazon Cognito Anda. -
Region
: AWS Wilayah Anda.
Di bawah
CognitoUserPool
, mendefinisikan kembali variabel-variabel berikut:-
PoolId
: ID kumpulan pengguna Amazon Cognito Anda. -
AppClientId
: ID klien aplikasi Anda. -
AppClientSecret
: Rahasia klien aplikasi Anda. -
Region
: AWS Wilayah Anda.
-
Untuk mengonfigurasi aplikasi demo Android SDK
Saat Anda menentukan variabel konfigurasi, gunakan format nilai placeholder yang disediakan dalam file konfigurasi.
-
Konfirmasikan bahwa Android SDK untuk perangkat Bluetooth FreeRTOS sudah diinstal.
-
Buat AWS IoT kebijakan di wilayah Anda (jika Anda belum melakukannya).
catatan
Kebijakan ini berbeda dengan kebijakan IAM yang dibuat untuk identitas yang diautentikasi Amazon Cognito.
-
Buka konsol AWS IoT
. -
Di panel navigasi, pilih Aman, pilih Kebijakan, lalu pilih Buat. Masukkan nama untuk mengidentifikasi kebijakan Anda. Di bagian Tambahkan pernyataan, pilih Mode lanjutan. Salin dan tempel JSON berikut ke jendela editor kebijakan. Ganti
aws-region
dan aws-account dengan AWS Regiondan
ID akun Anda.{ "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
:*" } ] } -
Pilih Buat.
-
-
Buka https://github.com/aws/amazon-freertos-ble-android-sdk/blob/master/app/src/main/java/software/amazon/freertos/demo/ DemoConstants .java
dan definisikan ulang variabel berikut: -
AWS_IOT_POLICY_NAME
: Nama AWS IoT kebijakan Anda. -
AWS_IOT_REGION
: AWS Wilayah Anda.
-
-
Di bawah
CognitoIdentity
, mendefinisikan kembali variabel-variabel berikut:-
PoolId
: ID kumpulan identitas Amazon Cognito Anda. -
Region
: AWS Wilayah Anda.
Di bawah
CognitoUserPool
, mendefinisikan kembali variabel-variabel berikut:-
PoolId
: ID kumpulan pengguna Amazon Cognito Anda. -
AppClientId
: ID klien aplikasi Anda. -
AppClientSecret
: Rahasia klien aplikasi Anda. -
Region
: AWS Wilayah Anda.
-
Untuk menemukan dan membangun koneksi aman dengan mikrokontroler Anda melalui Bluetooth Low Energy
-
Untuk memasangkan mikrokontroler dan perangkat seluler Anda dengan aman (langkah 6), Anda memerlukan emulator terminal serial dengan kemampuan input dan output (seperti TeraTerm). Konfigurasikan terminal untuk terhubung ke papan Anda dengan koneksi serial seperti yang diinstruksikan. Memasang emulator terminal
-
Jalankan proyek demo Bluetooth Low Energy di mikrokontroler Anda.
-
Jalankan aplikasi demo Bluetooth Low Energy Mobile SDK di perangkat seluler Anda.
Untuk memulai aplikasi demo di Android SDK dari baris perintah, jalankan perintah berikut:
$ ./gradlew installDebug
-
Konfirmasikan bahwa mikrokontroler Anda muncul di bawah Perangkat di aplikasi demo Bluetooth Low Energy Mobile SDK.
catatan
Semua perangkat dengan FreeRTOS dan layanan informasi perangkat
() yang berada dalam jangkauan muncul dalam daftar.freertos
/.../device_information -
Pilih mikrokontroler Anda dari daftar perangkat. Aplikasi membuat koneksi dengan papan, dan garis hijau muncul di sebelah perangkat yang terhubung.
Anda dapat memutuskan sambungan dari mikrokontroler Anda dengan menyeret garis ke kiri.
-
Jika diminta, pasangkan mikrokontroler dan perangkat seluler Anda.
Papan FreeRTOS
Perangkat seluler
Jika kode untuk perbandingan numerik sama pada kedua perangkat, pasangkan perangkat.
catatan
Aplikasi demo Bluetooth Low Energy Mobile SDK menggunakan Amazon Cognito untuk otentikasi pengguna. Pastikan Anda telah menyiapkan pengguna Amazon Cognito dan kumpulan identitas, dan Anda telah melampirkan kebijakan IAM ke identitas yang diautentikasi.
MQTT melalui Bluetooth Energi Rendah
Dalam demo MQTT melalui Bluetooth Low Energy, mikrokontroler Anda menerbitkan pesan ke AWS Cloud melalui proxy MQTT.
Untuk berlangganan topik demo MQTT
-
Masuk ke AWS IoT konsol.
-
Di panel navigasi, pilih Uji, lalu pilih klien pengujian MQTT untuk membuka klien MQTT.
-
Dalam Subscription topic, masukkan
, lalu pilih Subscribe to topic.thing-name
/example/topic1
Jika Anda menggunakan Bluetooth Low Energy untuk memasangkan mikrokontroler dengan perangkat seluler Anda, pesan MQTT dirutekan melalui aplikasi demo Bluetooth Low Energy Mobile SDK di perangkat seluler Anda.
Untuk mengaktifkan demo melalui Bluetooth Low Energy
-
Buka
vendors/
, dan tentukanvendor
/boards/board
/aws_demos/config_files/aws_demo_config.hCONFIG_MQTT_BLE_TRANSPORT_DEMO_ENABLED
. -
Buka
demos/include/aws_clientcredential.h
, dan konfigurasikanclientcredentialMQTT_BROKER_ENDPOINT
dengan titik akhir AWS IoT broker. KonfigurasikanclientcredentialIOT_THING_NAME
dengan nama benda untuk perangkat pengontrol mikro BLE. Titik akhir AWS IoT broker dapat diperoleh dari AWS IoT konsol dengan memilih Pengaturan di panel navigasi kiri, atau melalui CLI dengan menjalankan perintah:.aws iot describe-endpoint --endpoint-type=iot:Data-ATS
catatan
Titik akhir AWS IoT broker dan nama benda keduanya harus berada di wilayah yang sama di mana identitas cognito dan kumpulan pengguna dikonfigurasi.
Untuk menjalankan demo
-
Bangun dan jalankan proyek demo pada mikrokontroler Anda.
-
Pastikan Anda telah memasangkan papan dan perangkat seluler Anda menggunakan. Aplikasi demo SDK Seluler Energi Rendah FreeRTOS Bluetooth
-
Dari daftar Perangkat di aplikasi seluler demo, pilih mikrokontroler Anda, lalu pilih MQTT Proxy untuk membuka pengaturan proxy MQTT.
-
Setelah Anda mengaktifkan proxy MQTT, pesan MQTT muncul pada
topik, dan data dicetak ke terminal UART.thing-name
/example/topic1
Penyediaan Wi-Fi
Penyediaan Wi-Fi adalah layanan FreeRTOS Bluetooth Low Energy yang memungkinkan Anda mengirim kredenal jaringan Wi-Fi dengan aman dari perangkat seluler ke mikrokontroler melalui Bluetooth Low Energy. Kode sumber untuk layanan Penyediaan Wi-Fi dapat ditemukan di. freertos
/.../wifi_provisioning
catatan
Demo Penyediaan Wi-Fi saat ini didukung pada Espressif ESP32- C. DevKit
Untuk mengaktifkan demo
-
Aktifkan layanan Penyediaan Wi-Fi. Buka
vendors/
, dan aturvendor
/boards/board
/aws_demos/config_files/iot_ble_config.h#define IOT_BLE_ENABLE_WIFI_PROVISIONING
ke1
(di manavendor
adalah nama vendor danpapan
adalah nama papan yang Anda gunakan untuk menjalankan demo).catatan
Layanan Penyediaan Wi-Fi dinonaktifkan secara default.
-
Konfigurasikan Network Manager untuk mengaktifkan Bluetooth Low Energy dan Wi-Fi.
Untuk menjalankan demo
-
Bangun dan jalankan proyek demo pada mikrokontroler Anda.
-
Pastikan Anda telah memasangkan mikrokontroler dan perangkat seluler Anda menggunakan. Aplikasi demo SDK Seluler Energi Rendah FreeRTOS Bluetooth
-
Dari daftar Perangkat di aplikasi seluler demo, pilih mikrokontroler Anda, lalu pilih Network Config untuk membuka pengaturan konfigurasi jaringan.
-
Setelah Anda memilih Network Config untuk papan Anda, mikrokontroler mengirimkan daftar jaringan di sekitarnya ke perangkat seluler. Jaringan Wi-Fi yang tersedia muncul dalam daftar di bawah Jaringan yang Dipindai.
Dari daftar Jaringan yang Dipindai, pilih jaringan Anda, lalu masukkan SSID dan kata sandi, jika diperlukan.
Mikrokontroler terhubung ke dan menyimpan jaringan. Jaringan muncul di bawah Jaringan Tersimpan.
Anda dapat menyimpan beberapa jaringan di aplikasi seluler demo. Saat Anda me-restart aplikasi dan demo, mikrokontroler terhubung ke jaringan tersimpan pertama yang tersedia, mulai dari bagian atas daftar Jaringan Tersimpan.
Untuk mengubah urutan prioritas jaringan atau menghapus jaringan, pada halaman Konfigurasi Jaringan, pilih Mode Pengeditan. Untuk mengubah urutan prioritas jaringan, pilih sisi kanan jaringan yang ingin Anda prioritaskan ulang, dan seret jaringan ke atas atau ke bawah. Untuk menghapus jaringan, pilih tombol merah di sisi kiri jaringan yang ingin Anda hapus.
Server Atribut Generik
Dalam contoh ini, aplikasi Server Atribut Generik (GATT) demo pada mikrokontroler Anda mengirimkan nilai penghitung sederhana ke file. Aplikasi demo SDK Seluler Energi Rendah FreeRTOS Bluetooth
Menggunakan Bluetooth Low Energy Mobile SDK, Anda dapat membuat klien GATT Anda sendiri untuk perangkat seluler yang terhubung ke server GATT pada mikrokontroler Anda dan berjalan secara paralel dengan aplikasi seluler demo.
Untuk mengaktifkan demo
-
Aktifkan demo Bluetooth Low Energy GATT. Di
vendors/
(di manavendor
/boards/board
/aws_demos/config_files/iot_ble_config.hvendor
adalah nama vendor danpapan
adalah nama papan yang Anda gunakan untuk menjalankan demo), tambahkan#define IOT_BLE_ADD_CUSTOM_SERVICES ( 1 )
ke daftar pernyataan define.catatan
Demo Bluetooth Low Energy GATT dinonaktifkan secara default.
-
Buka
, beri komentarfreertos
/vendors/vendor
/boards/board
/aws_demos/config_files/aws_demo_config.h#define CONFIG_CORE_MQTT_MUTUAL_AUTH_DEMO_ENABLED
, dan tentukanCONFIG_BLE_GATT_SERVER_DEMO_ENABLED
.
Untuk menjalankan demo
-
Bangun dan jalankan proyek demo pada mikrokontroler Anda.
-
Pastikan Anda telah memasangkan papan dan perangkat seluler Anda menggunakan. Aplikasi demo SDK Seluler Energi Rendah FreeRTOS Bluetooth
-
Dari daftar Perangkat di aplikasi, pilih papan Anda, lalu pilih MQTT Proxy untuk membuka opsi proxy MQTT.
-
Kembali ke daftar Perangkat, pilih papan Anda, lalu pilih Custom GATT MQTT untuk membuka opsi layanan GATT kustom.
-
Pilih Start Counter untuk mulai menerbitkan data ke topik
MQTT.your-thing-name
/example/topicSetelah Anda mengaktifkan proxy MQTT, Hello World dan pesan penghitung tambahan muncul pada topik.
your-thing-name
/example/topic