一、概念
IbeoDevice/DataBlock/DataListener
IBEODevice会从雷达/ECU接收信息(scan、object list、vehicle data、images)并转换成Datablock数据块格式。接收后为已注册到ibeodevice的数据库的各个特定类型提供所有的datalistener。因此,设备接收数据块,它将调用所有已注册的DataListener的需要的方法,在那里可以执行用户操作。
Database access/Reader/Database Replayer
对MongoDB数据库的访问将由特定的mongo-cxx-driver接口。这些接口(例如MongoDbInterface,MongoDbInterfaceT, MongoDbObjInterface)提供合适的函数来执行数据库查询。
根据接口和函数的不同,参数可以不同。
(e.g. mongo::BSONObj,mongo::DBClientCursor, DbQueryIterator<DataType>, bool).
DbQueryIterator<DataType>简化处理查询结果,他会自动转换接收的mongo::BSONObj (from a mongo::DBClientCursor)为数据类型。
为了支持 DataBlocks 的查询(e.g.scan, object list, vehicle data),特定的DbDataBlockReader会处理数据库连接和数据的获取。
IbeoDevice的概念在上面已经进行了阐述,将通过DatabaseReplayer进行补充. 此设备将通知所有的 listeners.
DbDataBlockReaders按时间顺序对特定类型的数据库进行读取。
利用IBEOsdk 编程:
确定连接的设备,可选择的有:
IbeoLux (LUX3/4 Laserscanner)
IbeoEcu (Ibeo
Ibeo LUX SDK 开发详解:Ubuntu 16.04

本文档介绍了如何在Ubuntu 16.04上使用Ibeo LUX SDK进行开发,包括IbeoDevice、DataBlock和DataListener的概念,以及数据库访问和回放。开发者需要选择合适的设备接口,创建监听器,并处理接收到的数据块。日志管理和错误排查也是重点,特别是关于接收缓冲区大小的问题。
最低0.47元/天 解锁文章
586

被折叠的 条评论
为什么被折叠?



