bool wifi_wps_disable()
Lihat juga:
• WiFi Protected Setup – WPS
wifi_wps_start
bool wifi_wps_start()
Lihat juga:
• WiFi Protected Setup – WPS
wifi_set_wps_cb
bool wifi_set_wps_cb(wps_st_cb_t callback)
Status parameter akan berubah menjadi salah satu dari ketiga parameter:
• WPS_CB_ST_SUCCESS –
• WPS_CB_ST_FAILED –
• WPS_CB_ST_TIMEOUT –
Diketahui:
• WiFi Protected Setup – WPS
mbed TLS
The mbed TLS adalah implementasi dari keamanan SSL/TLS dan dilengkapi dengan
ESP-IDF.
Lihat Juga:
• TLS, SSL and security
• mbedTLShomepage
• mbedTLStutorial
mbedtls_ctr_drbg_free
mbedtls_ctr_drbg_free(mbedtls_ctr_drbg_context *ctx)
mbedtls_ctr_drbg_init
void mbedtls_ctr_drbg_init(mbedtls_ctr_drbg_context *ctx)
508
mbedtls_ctr_drbg_seed
Inisialisasi awal.
int mbedtls_ctr_drbg_seed(
mbedtls_ctr_drbg_context *ctx,
int(*)(void *, unsigned char *, size_t) f_entropy,
void *p_entropy,
const unsigned char *custom,
size_t len)
Berisi:
• mbed/ctr_drbg.h
mbedtls_debug_set_threshold
Pengaturan tingkatan debug.
void mbedtls_debug_set_threshold(int threshold)
Atur tingkatan debug yang akan dihasilkan pada library (penyimpanan). Hasil nilai
ambang:
• 0 – no debug
• 1 – error
• 2 – state change
• 3 – informational
• 4 – verbose
Untuk tingkatan yang lebih tinggi akan menangkap tingkatan tersebut dan melakukan
penyatatan pada tingkatan yanglebih rendah,
Note: Untuk menggunakan fungsi ini, mbedTLS debug harus diaktifkan dengan melakukan
pengeditan pada Curl mbedtls.c.
Berisi:
• mbedtls/debug.h
Lihat juga:
• mbedtls_ssl_conf_dbg
• mbedtls_strerror
mbedtls_entropy_free
void mbedtls_entropy_free(mbedtls_entropy_context *ctx)
Berisi:
509
mbed/entropy.h
mbedtls_entropy_init
void mbedtls_entropy_init(mbedtls_entropy_context *ctx)
Berisi:
• mbed/entropy.h
mbedtls_net_accept
int mbedtls_net_accept(
mbedtls_net_context *bind_ctx,
mbedtls_net_context *client_ctx,
void *client_ip,
size_t buf_size,
size_t *ip_len)
mbedtls_net_bind
int mbedtls_net_bind(
mbedtls_net_context *ctx,
const char *bind_ip,
const char *port,
int proto)
context adalah hubungan yang akan digunakan, host adalah host yang akan
dihubungkan, port adalah nomor port yang digunakan (dalam bentuk string) dan
proto salah satu dari MBEDTLS_NET_PROTO_TCP or MBEDTLS_NET_PROTO_UDP.
Berisi:
• mbed/net.h
Lihat juga:
• mbedtls_net_init
mbedtls_net_free
Matikan koneksi dan lepaskan dengan perlahan.
510
void mbedtls_net_free(mbedtls_net_context *context)
mbedtls_net_init
Initialize a context for use.
void mbedtls_net_init(mbedtls_net_context *context)
Invoke this function early to initialize the context. Don't try and use a context
before calling this function.
Includes:
• mbed/net.h
See also:
• mbedtls_net_free
mbedtls_net_recv
Read data from a socket.
int mbedtls_net_recv(
void *ctx,
unsigned char
*buf, size_t len
)
mbedtls_net_recv_timeout
int mbedtls_net_recv_timeout(
void *ctx,
unsigned char
*buf, size_t len,
uint32_t timeout
)
mbedtls_net_send
Send data down a socket.
int mbedtls_net_send(
void *ctx,
const unsigned char
*buf, size_t len)
511
mbedtls_net_set_block
int mbedtls_net_set_block(mbedtls_net_context *ctx)
mbedtls_net_set_nonblock
int mbedtls_net_set_nonblock(mbedtls_net_context *ctx)
mbedtls_printf
Menyetak macro.
Berisi:
• mbed/platform.h
mbedtls_sha1
Menyediakan nilai hash 160 bit (20 byte)
void mbedtls_sha1(const unsigned char *input, size_t ilen, unsigned char output[20])
input adalah penanda ke data yang akan dikerjakan. ilen panjang input. output
hasil dari pengerjaan.
Berisi:
• mbedtls/sha1.h
mbedtls_ssl_close_notify
mbedtls_ssl_conf_authmode
Pengaturan keterangan mode vrifikasi.
void mbedtls_ssl_conf_authmode(
mbedtls_ssl_config *sslConf,
int authmode)
512
mbedtls_ssl_conf_ca_chain
mbedtls_ssl_conf_dbg
Pengaturan pemanggilan kembali debug.
void mbedtls_ssl_conf_dbg(
mbedtls_ssl_config *conf,
void(*func)(void *debugContext, int level, char *file, int line, const char *str),
void *debugContext)
Contoh fungsi yang dapat digunakan untuk mecatat kemungkinan data adalah:
static void my_debug(
void *ctx,
int level,
const char *file,
int line,
const char *str) {
((void) level);
((void) ctx);
printf("%s:%04d: %s", file, line, str);
}
Lihat juga:
• mbedtls_debug_set_threshold
• mbedtls_strerror
mbedtls_ssl_conf_rng
Pengaturan pemanggilan kembali pengacakan nomer generator.
void mbedtls_ssl_conf_rng(
mbedtls_ssl_config conf,
int(*)(void *, unsigned char *, size_t) f_rng,
void *p_rng)
Berisi:
• mbed/ssl.h
mbedtls_ssl_config_defaults
int mbedtls_ssl_config_defaults(
mbedtls_ssl_config *sslConfig,
int endpoint,
int transport,
int preset)
513
preset saat ini tidak digunakan. Menyediakan MBEDTLS_SSL_PRESET_DEFAULT.
Berisi:
• mbed/ssl.h
mbedtls_ssl_config_free
Mengirimkan data penyimpanan untuk kunfigurasi konteks SSL.
void mbedtls_ssl_config_free(mbedtls_ssl_config *sslConf)
Berisi:
• mbed/ssl.h
Lihat juga:
• mbedtls_ssl_config_init
mbedtls_ssl_config_init
Inisialisasi catatan SSL Config.
void mbedtls_ssl_config_init(mbedtls_ssl_config *sslConf)
Berisi:
• mbed/ssl.h
Lihat juga:
• mbedtls_ssl_config_free
mbedtls_ssl_free
Mengirimkan data penyimpanan untuk konteks SSL.
void mbedtls_ssl_free(mbedtls_ssl_context *sslContext)
Berisi:
• mbed/ssl.h
Lihat juga:
• mbedtls_ssl_init
514
mbedtls_ssl_get_verify_result
mbedtls_ssl_handshake
mbedtls_ssl_init
Inisialisasi konteks SSL.
void mbedtls_ssl_init(mbedtls_ssl_context *sslContext)
Struktur data adalah sebuah kotak hitam dan fungsi ini akan melakukan inisialisasi.
Berisi:
• mbed/ssl.h
Lihat juga:
• mbedtls_ssl_free
mbedtls_ssl_read
int mbedtls_ssl_read(
mbedtls_ssl_context *sslContext,
unsigned char *buf,
size_t len)
mbedtls_ssl_session_reset
mbedtls_ssl_set_bio
Mengidentifikasi fungsi yang digunakan untuk mengirim dan menerima data.
void mbedtls_ssl_set_bio(
mbedtls_ssl_context *context,
void *p_bio,
mbedtls_ssl_send_t *f_send,
mbedtls_ssl_recv_t *f_recv,
mbedtls_ssl_recv_timeout_t *f_recv_timeout)
context adalah konteks SSL context yang saat ini kita gunakan untuk komunikasi.
p_bio adalah penanda untuk penyimpanan yang diteruskan pada fungsi pengiriman
dan penerimaan untuk memberikan konteks pada SSL.
f_send adalah sebuah fungsi yang akan digunakan pada pengiriman data SSL yang
telah. Bisa dikatakan mbedtls_net_send. Tanda untuk fungsi ini adalah:
int functionName(void *ctx, const unsigned char *buf, size_t len)
f_recv adalah sebuah fungsi yang digunakan untuk menerima data SSL ang telah di
enskripsi. Bisa dikatakan mbedtls_net_recv. Tanda untuk fungsi ini adalah:
515
int functionName(void *ctx, unsigned char *buf, size_t len)
f_recv_timeout adalah sebuah fungs yang digunakan untuk menerima data SSL
yang telah dienskripsi dengan batas waktu tertentu. Bisa dikatakan NULL. Tanda
untuk fungsi ini adalah:
int functionName(void *ctx, unsigned char *buf, size_t len, uint32_t timeout)
mbedtls_ssl_set_hostname
Pengecekan nama host yang akan diperiksa.
int mbedtls_ssl_set_hostname(
mbedtls_ssl_context *context,
const char *hostname)
mbedtls_ssl_setup
Pengaturan konteks SSL untuk digunakan.
int mbedtls_ssl_setup(
mbedtls_ssl_context *sslContext,
mbedtls_ssl_config *sslConfig)
Berisi:
• mbed/ssl.h
mbedtls_ssl_write
Tulis data penyangga pada soket.
int mbedtls_ssl_write(
mbedtls_ssl_context *ssl,
const unsigned char *buf,
size_t len)
Jumlah byte yang tertulis atau kurang dari 0 pada saat error.
Berisi:
• mbed/ssl.h
mbedtls_strerror
void mbedtls_strerror(
int errnum,
516
char *buffer,
size_t bufflen)
mbedtls_x509_crt_init
Inisialisasi rantai tanda.
void mbedtls_x509_crt_init(mbedtls_x509_crt *crt)
mbedtls_x509_crt_parse
mbedtls_x509_crt_veryify_info
Bluetooth LE
Lihat juga:
• Bluetooth
esp_bt_uuid_t
Penunjukan kembali.
• uint16_t len – Panjang UUID
◦ ESP_UUID_LEN_16 – 16 bits in length (panjang 16 bit).
◦ ESP_UUID_LEN_32 – 32 bits in length (panjang 32 bit).
◦ ESP_UUID_LEN_128 – 128 bits in length (panjang 128
bit).
• union uuid
◦ uint16_t uuid16 – Data untuk 16 bit uuid.
◦ uuid32_t uuid32 – Data untuk 32 bit uuid.
◦ uint8_t uuid128[ESP_UUID_LEN_128] – Data untuk 128 bit uuid.
517
esp_gatt_id_t
Deskripsi suatu karakteristik.
Data tersebut menjelaskan suatu karakteristik:
• esp_bt_uuid_t uuid
• uint8_t inst_id
esp_gatt_srvc_id_t
Deskripsi pemilihan opsi.
• esp_gatt_id_t id
• bool is_primary
esp_ble_gap_config_adv_data
Tentukand ata yang akan ditampilkan.
esp_err_t esp_ble_gap_config_adv_data(esp_ble_adv_data_t *adv_data)
518
◦ ESP_BLE_ADV_FLAG_DMT_CONTROLLER_ST
◦ ESP_BLE_ADV_FLAG_DMT_HOST_SPT
◦ ESP_BLE_ADV_FLAG_NON_LIMIT_DISC
Contoh struktur:
static esp_ble_adv_data_t adv_data;
adv_data.set_scan_rsp = false;
adv_data.include_name = true;
adv_data.include_txpower = true;
adv_data.min_interval = 0x20;
adv_data.max_interval = 0x40;
adv_data.appearance = 0x00;
adv_data.manufacturer_len = 0;
adv_data.p_manufacturer_data = NULL;
adv_data.service_data_len = 0;
adv_data.p_service_data = NULL;
adv_data.service_uuid_len = 32;
adv_data.p_service_uuid = test_service_uuid128;
adv_data.flag = (ESP_BLE_ADV_FLAG_GEN_DISC |
ESP_BLE_ADV_FLAG_BREDR_NOT_SPT);
Berisi:
• #include <esp_gap_ble_api.h>
Lihat juga:
• Performing advertising
• esp_ble_gap_start_advertising
• esp_ble_gap_stop_advertising
esp_ble_gap_config_adv_data_raw
esp_ble_gap_config_scan_rsp_data_raw
esp_ble_gap_config_local_privacy
esp_err_t esp_ble_gap_config_local_privacy(bool privacy_enable)
Berisi:
• #include <esp_gap_ble_api.h>
esp_ble_gap_register_callback
Pencatatan pemanggilan ulang untuk kekosongan perihal.
esp_err_t esp_ble_gap_register_callback(esp_profile_cb_t callback)
519
void func(esp_gap_ble_cb_event_t event, esp_ble_gap_cb_param_t *param)
◦ esp_bt_status_t status
ESP_GAP_BLE_SCAN_PARAM_SET_COMPLETE_EVT
• ESP_GAP_BLE_SCAN_PARAM_SET_COMPLETE_EVT – Digunakan ketika kumpulan
parameter pemindaian telah lengkap scan_param_cmpl.
◦ esp_bt_status_t status
ESP_GAP_BLE_SCAN_RESULT_EVT
• ESP_GAP_BLE_SCAN_RESULT_EVT – param adalah turunan dari
esp_ble_gap_cb_param_t. Digunakan ketika salah satu hasil pemindaian sudah
siap. Parameter struktur disebut scan_rst.
520
esp_gap_search_evt_t search_evt – Pilihannya adalah
▪ ESP_GAP_SEARCH_INQ_RES_EVT –
Penerimaan hasil dari pencarian.
▪ ESP_GAP_SEARCH_INQ_CMPL_EVT –
Pencarian telah lengkap.
▪ ESP_GAP_SEARCH_DISC_RES_EVT
▪ ESP_GAP_SEARCH_DISC_BLE_RES_EVT
▪ ESP_GAP_SEARCH_DISC_CMPL_EVT
▪ ESP_GAP_SEARCH_DI_DISC_CMPL_EVT
▪ ESP_GAP_SEARCH_SEARCH_CANCEL_CMPL_EVT
◦ esp_bd_addr_t bda – Alamat perangkat. 6 byte data.
◦ esp_bt_dev_type_t dev_type –Salah satu dari:
▪ ESP_BT_DEVICE_TYPE_BREDR
▪ ESP_BT_DEVICE_TYPE_BLE
▪ ESP_BT_DEVICE_TYPE_DUMO
◦ esp_ble_addr_type_t ble_addr_type – Salah satu dari
▪ BLE_ADDR_TYPE_PUBLIC
▪ BLE_ADDR_TYPE_RANDOM
▪ BLE_ADDR_TYPE_RPA_PUBLIC
▪ BLE_ADDR_TYPE_RPA_RANDOM
◦ esp_ble_evt_type_t ble_evt_type – Salah satu dari
▪ ESP_BLE_EVT_CONN_ADV
▪ ESP_BLE_EVT_CONN_DIR_ADV
▪ ESP_BLE_EVT_DISC_ADV
▪ ESP_BLE_EVT_NON_CONN_ADV
▪ ESP_BLE_EVT_SCAN_RSP
◦ int rssi – Panjang sinyal.
◦ uint8_t ble_adv[ESP_BLE_ADV_DATA_LEN_MAX]
◦ int flag
◦ int num_resps
521
ESP_GAP_BLE_SCAN_RSP_DATA_SET_COMPLETE_EVT – Bekerja ketika pemindaian
respons dari data set telah lengkap. Struktur parameter bernama
scan_rsp_data_cmpl.
◦ esp_bt_status_t status
ESP_GAP_BLE_SCAN_RSP_DATA_SET_COMPLETE_EVT
ESP_GAP_BLE_AUTH_CMPL_EVT
Ketika diterima, param bidang yang dinamakan ble_security Berisi kumpulan tersebut.
bidang yang dinamakan auth_cmpl yang didalamnya berisi:
• esp_bd_addr_t bd_addr
• bool key_present
• esp_link_key key
• uint8_t key_type
• bool success
• uint8_t fail_reason
• esp_bd_addr_type_t addr_type
• esp_bt_dev_type_t dev_type
ESP_GAP_BLE_KEY_EVT
ESP_GAP_BLE_SEC_REQ_EVT
ESP_GAP_BLE_PASSKEY_NOTIF_EVT
ESP_GAP_BLE_PASSKEY_REQ_EVT
ESP_GAP_BLE_OOB_REQ_EVT
ESP_GAP_BLE_LOCAL_IR_EVT
ESP_GAP_BLE_LOCAL_ER_EVT
ESP_GAP_BLE_NC_REQ_EVT
ESP_GAP_BLE_ADV_STOP_COMPLETE_EVT
ESP_GAP_BLE_SCAN_STOP_COMPLETE_EVT
Berisi:
• #include <esp_gap_ble_api.h>
Lihat Juga:
522
• Performing a scan
• esp_ble_gap_start_scanning
esp_ble_gap_set_device_name
esp_err_t esp_ble_gap_set_device_name(const char *name)
Berisi:
• #include <esp_gap_ble_api.h>
esp_ble_gap_set_scan_params
Pengaturan parameter untuk pemindaian BLE berikutnya.
esp_err_t esp_ble_gap_set_scan_params(esp_ble_scan_params_t *scan_params)
523
Berisi:
• #include <esp_gap_ble_api.h>
Lihat juga:
• esp_ble_resolve_adv_data
• esp_ble_gap_start_scanning
• esp_ble_gap_stop_scanning
esp_ble_gap_set_pkt_data_len
esp_err_t esp_ble_gap_set_pkt_data_len(
esp_bd_addr_t remote_device,
uint16_t tx_data_length)
Berisi:
• #include <esp_gap_ble_api.h>
esp_ble_gap_set_rand_addr
esp_err_t esp_ble_gap_set_rand_addr(esp_bd_addr_t rand_addr)
Berisi:
• #include <esp_gap_ble_api.h>
esp_ble_gap_start_advertising
Mulai penampilan GAPprotokol.
esp_err_t esp_ble_gap_start_advertising(esp_ble_adv_params_t *adv_params)
524
BLE_ADDR_TYPE_PUBLIC
▪ BLE_ADDR_TYPE_RANDOM
▪ BLE_ADDR_TYPE_RPA_PUBLIC
▪ BLE_ADDR_TYPE_RPA_RANDOM
• esp_bd_addr_t peer_addr
• esp_ble_addr_type_t peer_addr_type – Salah satu dari:
◦ BLE_ADDR_TYPE_PUBLIC
◦ BLE_ADDR_TYPE_RANDOM
◦ BLE_ADDR_TYPE_RPA_PUBLIC
◦ BLE_ADDR_TYPE_RPA_RANDOM
• esp_ble_adv_channel_t channel_map – Salah satu dari:
◦ ADV_CHNL_37
◦ ADV_CHNL_38
◦ ADV_CHNL_39
◦ ADV_CHNL_ALL
• esp_ble_adv_filter_t adv_filter_policy – Salah satu dari:
◦ ADV_FILTER_ALLOW_SCAN_ANY_CON_ANY
◦ ADV_FILTER_ALLOW_SCAN_WLST_CON_ANY
◦ ADV_FILTER_ALLOW_SCAN_ANY_CON_WLST
◦ ADV_FILTER_ALLOW_SCAN_WLST_CON_WLST
Contoh struktur sebagai berikut:
esp_ble_adv_params_t adv_params;
adv_params.adv_int_min = 0x20;
adv_params.adv_int_max = 0x40;
adv_params.adv_type = ADV_TYPE_IND;
adv_params.own_addr_type = BLE_ADDR_TYPE_PUBLIC;
adv_params.channel_map = ADV_CHNL_ALL;
adv_params.adv_filter_policy = ADV_FILTER_ALLOW_SCAN_ANY_CON_ANY;
Berisi:
• #include <esp_gap_ble_api.h>
Lihat juga:
525
Performing advertising
• esp_ble_gap_stop_advertising
• esp_ble_gap_config_adv_data
• esp_ble_gap_register_callback
esp_ble_gap_start_scanning
Mulai pemindaian untuk paket penampilan yang datang.
esp_err_t esp_ble_gap_start_scanning(uint32_t duration)
esp_ble_gap_stop_advertising
Pemberhentian Penampilan.
esp_err_t esp_ble_gap_stop_advertising(void)
Berisi:
• #include <esp_gap_ble_api.h>
esp_ble_gap_stop_scanning
Pemberhentian pemindaian yang sedang berlangsung saat pencarian paket
penampilan.
esp_err_t esp_ble_gap_stop_scanning(void)
Berisi:
• #include <esp_gap_ble_api.h>
Lihat juga:
• esp_ble_gap_start_scanning
526
esp_ble_gap_update_conn_params
esp_err_t esp_ble_gap_update_conn_params(esp_ble_conn_update_params_t *params)
Berisi:
• #include <esp_gap_ble_api.h>
esp_ble_gattc_app_register
Pencatatan pemanggilan balik aplikasi.
esp_err_t esp_ble_gattc_app_register(uint16_t app_id)
app_id adalah identitas suatu aplikasi. Dapat berupa angka yang lebih kecil dari
0x7fff.
Berisi:
• #include <esp_gattc_api.h>
esp_ble_gattc_app_unregister
esp_err_t esp_ble_gattc_app_unregister(esp_gatt_if_t gatt_if)
Berisi:
• #include <esp_gattc_api.h>
esp_ble_gattc_close
Penutupan koneksi yang sebelumnya dibuka.
esp_err_t esp_ble_gattc_close(uint16_t conn_id)
Berisi:
• #include <esp_gattc_api.h>
Lihat juga:
• esp_ble_gattc_open
esp_ble_gattc_config_mtu
esp_err_t esp_ble_gattc_config_mtu(uint16_t conn_id, uint16_t mtu)
Berisi:
• #include <esp_gattc_api.h>
527
esp_ble_gattc_execute_write
esp_err_t esp_ble_gattc_execute_write(
esp_gattc_if_t gattc_if,
uint16_t conn_id,
bool is_execute)
Berisi:
• #include <esp_gattc_api.h>
esp_ble_gattc_get_characteristic
Perintah bagian dari BLE untuk mengembalikan karakteristik..
esp_err_t esp_ble_gattc_get_characteristic(
esp_gatt_if_t gattc_if,
uint16_t conn_id,
esp_gatt_srvc_id_t *srvc_id,
esp_gatt_id_t *start_characteristic_id)
Ketika panggilan ini dibuat, permintaan dikirik ke server GATT untuk mengembalikan
karakteristik “selanutnya. Kita harus membayangkan dimana opsi dari GATT memiliki
sebuat pengaturan 0 atau lebih karakteristik yang dimana hal tersebut dijaga dalam
bentuk penyusun internal. Urutan numerik tidak penting, hanya saja memiliki konsep
“selanjutnya” dan “tidak ada lagi”. Ketika kita menjalankan fungsi ini dengan
start_characteristic_id diatur ke NULL kemudian kita menyatakan “berikan saya
karakteristik pertama”. Jika kemudian kita memanggil fungsi lewat ID pada karakteristik
terakhir yang telah dikembalikan, kita akan mendapatkan karakteristik berikutnya.
Ketika kita mencapai akhir dari karakteristik, kode status dalam perintah pengembalian
tidak lagi OK.
Perintah ini hanya sebuah pesan dan responya akan datang secara tidak sinkron
sebagai perintah ESP_GATTC_GET_CHAR_EVT.
528
• ESP_GATTC_GET_CHAR_EVT
esp_ble_gattc_get_descriptor
esp_err_t esp_ble_gattc_get_descriptor(
esp_gatt_if_t gattc_if, uint16_t
conn_id, esp_gatt_srvc_id_t
*srvc_id, esp_gatt_id_t
*characteristic_id,
esp_gatt_id_t *start_descriptor_id)
esp_ble_gattc_get_included_service
esp_err_t esp_ble_gattc_get_included_service(
esp_gatt_if_t gattc_if,
uint16_t conn_id,
esp_gatt_srvc_id_t *srvc_id,
esp_gatt_srvc_id_t *start_incl_srvc_id)
Berisi:
• #include <esp_gattc_api.h>
esp_ble_gattc_open
Open a connection to the GATT server.
esp_err_t esp_ble_gattc_open(
esp_gatt_if_t gatt_if,
esp_bd_addr_t remote_bda,
bool is_direct)
529
Lihat Juga:
• esp_ble_gattc_close
• ESP_GATTC_OPEN_EVT
• ESP_GATTC_CLOSE_EVT
esp_ble_gattc_prepare_write
esp_err_t esp_ble_gattc_prepare_write(
esp_gattc_if_t gattc_if,
uint16_t conn_id,
esp_gatt_srvc_id_t *srvc_id,
esp_gatt_id_t *char_id,
uint16_t offset,
uint16_t value_len, uint8_t
*value, esp_gatt_auth_req_t
auth_req)
Berisi:
• #include <esp_gattc_api.h>
esp_ble_gattc_read_char
Pembacaan karakteristik.
esp_err_t esp_ble_gattc_read_char(
esp_gatt_if_t gattc_if, uint16_t
conn_id, esp_gatt_srvc_id_t
*srvc_id, esp_gatt_id_t
*characteristic_id,
esp_gatt_auth_req_t auth_req)
530
esp_ble_gattc_read_char_descr
esp_err_t esp_ble_gattc_read_char_descr(
esp_gatt_if_t gattc_if,
uint16_t conn_id,
esp_gatt_srvc_id_t *srvc_id,
esp_gatt_id_t *char_id,
esp_gatt_id_t *descr_id,
esp_gatt_auth_req_t auth_req)
Berisi:
• #include <esp_gattc_api.h>
esp_ble_gattc_register_callback
Pencatatan sebuah pemanggilan kembali untuk digunakan ketika perintah GATT sudah
diterima.
esp_err_t esp_ble_gattc_register_callback(esp_gattc_cb_t callback)
531
ESP_GATTC_ENC_CMPL_CB_EVT
• ESP_GATTC_EXEC_EVT
• ESP_GATTC_GET_CHAR_EVT – Respon untuk mendapatkan karakterisitik
• ESP_GATTC_GET_DESCR_EVT – Respon untuk mendapatkan deskripsi karakteristik
• ESP_GATTC_GET_INCL_SRVC_EVT
• ESP_GATTC_MULT_ADV_DATA_EVT
• ESP_GATTC_MULT_ADV_DIS_EVT
• ESP_GATTC_MULT_ADV_ENB_EVT
• ESP_GATTC_MULT_ADV_UPD_EVT
• ESP_GATTC_NOTIFY_EVT
• ESP_GATTC_OPEN_EVT – Dipanggil ketika koneksi sudah terbuka.
• ESP_GATTC_PREP_WRITE_EVT – Respon untuk menulis sebuah karakteristik.
• ESP_GATTC_READ_CHAR_EVT – Respon untuk membaca sebuah karakteristik..
• ESP_GATTC_REG_EVT – Dipanggi ketika data GATT sudah terdaftar.
• ESP_GATTC_REG_FOR_NOTIFY_EVT
• ESP_GATTC_SCAN_FLT_CFG_EVT
• ESP_GATTC_SCAN_FLT_PARAM_EVT
• ESP_GATTC_SCAN_FLT_STATUS_EVT
• ESP_GATTC_SEARCH_CMPL_EVT – Dipanggil ketika kita telah melihat hasil pencarian.
• ESP_GATTC_SEARCH_RES_EVT – Dipanggil ketika kita memiliki hasil pencarian.
• ESP_GATTC_SRVC_CHG_EVT
• ESP_GATTC_READ_DESCR_EVT
• ESP_GATTC_UNREG_EVT
• ESP_GATTC_UNREG_FOR_NOTIFY_EVT
• ESP_GATTC_WRITE_CHAR_EVT
• ESP_GATTC_WRITE_DESCR_EVT
param adalah sebuah struktur data yang memberikan rincian lebih tentang perintah
tersebut. Hal ini tampak menjadi turunan dari esp_ble_gattc_cb_param_t yang dimana
merupakan gabungan dari:
• cfg_mtu – set for ESP_GATTC_CFG_MTU_EVT.
532
close – diatur untuk ESP_GATTC_CLOSE_EVT.
• congest – ESP_GATTC_CONGEST_EVT.
• exec_cmpl – – diatur untuk ESP_GATTC_EXEC_EVT.
• get_char – – diatur untuk ESP_GATTC_GET_CHAR_EVT.
• get_descr – – diatur untuk ESP_GATTC_GET_DESCR_EVT.
• get_incl_srvc – – diatur untuk ESP_GATTC_GET_INCL_SRVC_EVT.
• notify – – diatur untuk ESP_GATTC_NOTIFY_EVT.
• open – – diatur untuk ESP_GATTC_OPEN_EVT.
• read – – diatur untuk ESP_GATTC_READ_CHAR_EVT and ESP_GATTC_READ_DESCR_EVT.
• reg – – diatur untuk ESP_GATTC_REG_EVT.
• reg_for_notify – – diatur untuk ESP_GATTC_REG_FOR_NOTIFY_EVT.
• search_cmpl – – diatur untuk ESP_GATTC_SEARCH_CMPL_EVT.
• search_res – – diatur untuk ESP_GATTC_SEARCH_RES_EVT.
• srvc_chg – – diatur untuk ESP_GATTC_SRVC_CHG_EVT.
• unreg_for_notify – – diatur untuk ESP_GATTC_UNREG_FOR_NOTIFY_EVT.
• write – – diatur untuk ESP_GATTC_WRITE_CHAR_EVT, ESP_GATTC_PREP_WRITE_EVT dan
ESP_GATTC_WRITE_DESCR_EVT.
Berisi:
• #include <esp_gattc_api.h>
Sekarang kita lihat lebih dalam pada setiap jenis perintah.
ESP_GATTC_CLOSE_EVT
Dikeluarkan ketika koneksi data GATT ditutup. close bidang dari
esp_ble_gattc_cb_param_t dihuni. Itu berisi:
533
esp_bd_addr_t remote_bda – Alamat perangkat bluetooth jaran jauh.
• esp_gatt_conn_reason_t reason – Alasan koneksi GATT ditutup.
Salah satunya:
◦ ESP_GATT_CONN_UNKNOWN – Koneksi GATT tidak diketahui.
◦ ESP_GATT_CONN_L2C_FAILURE – Kegagalam umum L2cap.
◦ ESP_GATT_CONN_TIMEOUT – Waktu untu
mengkoneksi habis.
◦ ESP_GATT_CONN_TERMINATE_PEER_USER –
Sambungan diakhiri oleh sesama pengguna.
◦ ESP_GATT_CONN_TERMINATE_LOCAL_HOST –
Sambungan diakhiri oleh local host
◦ ESP_GATT_CONN_FAIL_ESTABLISH – Pembangunan
koneksi gagal.
◦ ESP_GATT_CONN_LMP_TIMEOUT – Koneksi gagal untuk
respon tout LMP.
◦ ESP_GATT_CONN_CONN_CANCEL – L2CAP Koneksi dibatalkan..
◦ ESP_GATT_CONN_NONE – Tidak ada koneksi yang dibatalkan.
ESP_GATTC_GET_CHAR_EVT
Pengeluaran ketika data panggilan GATT telah dibuat. Bidang get_char diisi oleh
esp_ble_gattc_cb_param_t. Hal tersebut mengandung:
uint8_t inst_id
• esp_gatt_char_prop_t char_prop – Sifat karakteristik. Ini adalah
serangkaian flag yang mengidentifikasi apa yang dapat dilakukan terhadap
karakteristik. Jika status bidang menunjukan kesalahan, maka bidang tidak
boleh diperiksa. Bit flag adalah:
◦ ESP_GATT_CHAR_PROP_BIT_AUTH
◦ ESP_GATT_CHAR_PROP_BIT_BROADCAST
534
◦ ESP_GATT_CHAR_PROP_BIT_EXT_PROP
◦ ESP_GATT_CHAR_PROP_BIT_INDICATE
◦ ESP_GATT_CHAR_PROP_BIT_NOTIFY
◦ ESP_GATT_CHAR_PROP_BIT_READ
◦ ESP_GATT_CHAR_PROP_BIT_WRITE
◦ESP_GATT_CHAR_PROP_BIT_WRITE_NR
Lihat juga:
• esp_ble_gattc_get_characteristic
ESP_GATTC_OPEN_EVT
Pengeluaran ketika data panggilan GATT telah dibuat. Ini adalah hasil normal
dari esp_ble_gattc_open(). Bidang open diisi esp_ble_gattc_cb_param_t.Hal
tersebut mengandung:
• esp_gatt_status_t status – Statu operasi. Status harus diperiksa
untukmelihat hasil dari perintah tersebut. Untuk pengembalian yang bagus
ESP_GATT_OK.
ESP_GATTC_READ_CHAR_EVT
Pengeluaran ketika hasil karakteristik GATT telah diterima. Bidang read Diisi oleh
esp_ble_gattc_cb_param_t. Hal tersebut berisi:
535