1import * as bt_host from 'bt_host' 2 3 4 5function onConnect() { 6 // onConnect 7 console.log('bt_host onConnect'); 8} 9 10function onDisconnect() { 11 // onDisconnect 12 console.log('bt_host onDisconnect'); 13 app_start_adv(); 14} 15 16function app_add_service() { 17 18 let service = { 19 service: "{\ 20 \"s_uuid\":\"0x1A1A\",\ 21 \"chars_list\":[\ 22 {\ 23 \"char_uuid\":\"0x1B1B\",\ 24 \"char_permit\":\"RW\",\ 25 \"char_descr\":{\ 26 \"descr_type\":\"CCC\",\ 27 \"descr_uuid\":\"0x1C1C\"\ 28 }\ 29 },\ 30 {\ 31 \"char_uuid\":\"0x1D1D\",\ 32 \"char_permit\":\"R\"\ 33 }\ 34 ]\ 35 }" 36 } 37 bt_host_instant.add_service(service); 38 39} 40 41function app_start_adv() { 42 bt_host_instant.start_adv({ 43 type: 0, 44 adv_data: '020106', 45 scan_rsp_data: '', 46 interval_min: 160, 47 interval_max: 320, 48 channel_map: 7, 49 success: function() { 50 console.log('bt_host start adv success'); 51 setTimeout( function() { 52 app_stop_adv(); 53 }, 30000) 54 }, 55 failed: function() { 56 console.log('bt_host start adv failed'); 57 }, 58 }); 59} 60 61function app_stop_adv() { 62 bt_host_instant.stop_adv({ 63 success: function() { 64 console.log('bt_host stop adv success'); 65 setTimeout( function() { 66 app_start_scan(); 67 }, 2000) 68 }, 69 failed: function() { 70 console.log('bt_host stop adv failed'); 71 }, 72 }); 73} 74 75function app_start_scan() { 76 bt_host_instant.start_scan({ 77 type: 0, 78 interval: 200, 79 window: 50, 80 success: function() { 81 console.log('bt_host start scan success'); 82 setTimeout( function() { 83 app_stop_scan(); 84 }, 10000) 85 }, 86 failed: function() { 87 console.log('bt_host stop scan failed'); 88 }, 89 }); 90} 91 92function app_stop_scan() { 93 bt_host_instant.stop_scan({ 94 success: function() { 95 console.log('bt_host stop scan success'); 96 setTimeout( function() { 97 app_start_adv(); 98 }, 2000) 99 }, 100 failed: function() { 101 console.log('bt_host stop scan failed'); 102 }, 103 }); 104} 105 106// create bt host 107var bt_host_instant = bt_host.open({ 108 deviceName: 'ble_test', 109 conn_num_max: 2, 110 success: function() { 111 console.log('bt_host init success'); 112 setTimeout(() => { 113 app_add_service() 114 app_start_adv(); 115 }, 1000) 116// app_start_adv(); 117 }, 118 fail: function() { 119 console.log('bt_host init failed'); 120 } 121}); 122 123bt_host_instant.on('connect', function() { 124 onConnect(); 125}); 126 127bt_host_instant.on('disconnect', function() { 128 onDisconnect(); 129}); 130 131bt_host_instant.on('onCharWrite', function() { 132 console.log('app: onCharWrite'); 133}); 134 135 136