你说的GPS双定位模块是指GPS+北斗定位模块吧,应用于无人机的双模定位模块有很多
比如专用于无人机的GPS模块+天线一体化定位模块SKM56、SKM66,以及SKG12D都支持GPS+北斗双模定位。
其中SKG12D内建地磁传感功能,SKM66内置霍尼韦尔地磁传感器HMC5883L,定位精准抗干扰
准备工作
一台 PC
IAR Embedded Workbench 集成开发环境,可以用30天试用版本。
支持 蓝牙 40 的智能手机一部,并安装下列应用之一
Android Google Play Store
iPhone App Store
CC2540 开发板
CCDebugger 下载器
创建 iBeacon 工程文档
安装 TI 官方的 CC254x 开发环境
复制 C:\Texas Instruments\BLE-CC254x-132\Projects\ble\SimpleBLEBroadcaster 文件夹
粘贴到:C:\Texas Instruments\BLE-CC254x-132\Projects\ble\iBeacon
运行 IAR Embedded Workbench,点击 File > Open > Workspace
修改源代码
simpleBLEBroadcasterc
// GAP - Advertisement data (max size = 31 bytes, though this is
// best kept short to conserve power while advertisting)
static uint8 advertData[] =
{
// Flags; this sets the device to use limited discoverable
// mode (advertises for 30 seconds at a time) instead of general
// discoverable mode (advertises indefinitely)
0x02, // length of this data
GAP_ADTYPE_FLAGS,
GAP_ADTYPE_FLAGS_BREDR_NOT_SUPPORTED,
// three-byte broadcast of the data "1 2 3"
0x04, // length of this data including the data type byte
GAP_ADTYPE_MANUFACTURER_SPECIFIC, // manufacturer specific advertisement data type
1,
2,
3
};
修改下面关键字
UID: E2C56DB5-DFFB-48D2-B060-D0F5A71096E0
Major: 1 (0x0001)
Minor: 1 (0x0001)
Measured Power: -59 (0xc5)
// GAP - Advertisement data (max size = 31 bytes, though this is
// best kept short to conserve power while advertisting)
static uint8 advertData[] =
{
// 25 byte ibeacon advertising data
// Preamble: 0x4c000215
// UUID: E2C56DB5-DFFB-48D2-B060-D0F5A71096E0
// Major: 1 (0x0001)
// Minor: 1 (0x0001)
// Measured Power: -59 (0xc5)
0x1A, // length of this data including the data type byte
GAP_ADTYPE_MANUFACTURER_SPECIFIC, // manufacturer specific advertisement data type
0x4c,
0x00,
0x02,
0x15,
0xe2,
0xc5,
0x6d,
0xb5,
0xdf,
0xfb,
0x48,
0xd2,
0xb0,
0x60,
0xd0,
0xf5,
0xa7,
0x10,
0x96,
0xe0,
0x00,
0x01,
0x00,
0x01,
0xc5
};
接下来修改广播类型,将下面代码
//uint8 advType = GAP_ADTYPE_ADV_NONCONN_IND;// use non-connectable advertisements
uint8 advType = GAP_ADTYPE_ADV_DISCOVER_IND; // use scannable unidirected advertisements
修改为
uint8 advType = GAP_ADTYPE_ADV_NONCONN_IND; // use non-connectable advertisements
//uint8 advType = GAP_ADTYPE_ADV_DISCOVER_IND; // use scannable unidirected advertisements
接下来修改 GAP
// Set the GAP Role Parameters
GAPRole_SetParameter( GAPROLE_ADVERT_ENABLED, sizeof( uint8 ), &initial_advertising_enable );
GAPRole_SetParameter( GAPROLE_ADVERT_OFF_TIME, sizeof( uint16 ), &gapRole_AdvertOffTime );
GAPRole_SetParameter( GAPROLE_SCAN_RSP_DATA, sizeof ( scanRspData ), scanRspData );
GAPRole_SetParameter( GAPROLE_ADVERT_DATA, sizeof( advertData ), advertData );
GAPRole_SetParameter( GAPROLE_ADV_EVENT_TYPE, sizeof( uint8 ), &advType );
因为 iBeacon 必须不间断广播,并且不响应任何数据请求,所以我们要修改 GAPROLE_ADVERT_OFF_TIME 和 GAPROLE_SCAN_RSP_DATA。
// Set the GAP Role Parameters
GAPRole_SetParameter( GAPROLE_ADVERT_ENABLED, sizeof( uint8 ), &initial_advertising_enable );
//GAPRole_SetParameter( GAPROLE_ADVERT_OFF_TIME, sizeof( uint16 ), &gapRole_AdvertOffTime );
//GAPRole_SetParameter( GAPROLE_SCAN_RSP_DATA, sizeof ( scanRspData ), scanRspData );
GAPRole_SetParameter( GAPROLE_ADVERT_DATA, sizeof( advertData ), advertData );
GAPRole_SetParameter( GAPROLE_ADV_EVENT_TYPE, sizeof( uint8 ), &advType );
保存工程后,进行编译,并通过 CCDebugger 下载程序到开发板中。
Select Project > Clean to clean the project
Select Project > Make to make the project
Select Project > Download and Debug to send the code to the CC2540 Key Fob
Select Debug > Go to Run the code on the CC2540 Key Fob
BLE iBeacon
TI Displayport ESD Protection – TPD8S009
Arduino SPI 精华课程
TAGS
Arduino Arduino Due Arduino Esplora Atmega32u4 Atmel BacklightBMP085 Bootloader CC3x00 DatasheetDisplayport EasyDriver EDID eDPEsplora HDMI HMC5883L I2CJoystick LCD LED Luban LVDS MIPIMPU6050 MySQL Nginx PCB PHP pinModePWM PX4 Raspberry Pi RGB Sensor SPIStepper Motor Ubuntu Wifi 摇杆 树莓派步进电机 电源 背光 蓝牙
CATEGORIES
3D Printer
Android
Application Notes
Arduino
AVR
Backlight Driver
C
CC3x00
Datasheet
Development Environment
HDMI
Imaging & Graphics
iOS
Javascript
LCD/LCM
Material
Others
PCB Design
Power Management
Prototyping
Raspberry Pi
Rostock
Sensor
Server
Software
STM32
Super Manual
Tutorials
Work
以上就是关于谁用过HMC5883L这个传感器对MPU6050的yaw进行校正全部的内容,包括:谁用过HMC5883L这个传感器对MPU6050的yaw进行校正、怎样使用MPU6050连接HMC5883L、sensordonotblock是干什么的等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)