LOCO定位系统入门教程-使用python脚本同步添加读取日志变量
说明:
- 介绍如何使用python脚本,同步方式添加读取日志变量
步骤:
将Crazyflie连接到cfclient,点击客户端的菜单栏上
View
->Tabs
->Log TOC
,来查看日志变量新建一个python脚本connect_log_param.py
代码如下
import logging
import time
import cflib.crtp
from cflib.crazyflie import Crazyflie
from cflib.crazyflie.syncCrazyflie import SyncCrazyflie
from cflib.crazyflie.log import LogConfig
from cflib.crazyflie.syncLogger import SyncLogger
# URI to the Crazyflie to connect to
uri = 'radio://0/80/2M/E7E7E7E7E7'
# Only output errors from the logging framework
logging.basicConfig(level=logging.ERROR)
def simple_log(scf, logconf):
with SyncLogger(scf, lg_stab) as logger:
for log_entry in logger:
timestamp = log_entry[0]
data = log_entry[1]
logconf_name = log_entry[2]
print('[%d][%s]: %s' % (timestamp, logconf_name, data))
break
...
if __name__ == '__main__':
# Initialize the low-level drivers
cflib.crtp.init_drivers()
lg_stab = LogConfig(name='Stabilizer', period_in_ms=10)
lg_stab.add_variable('stabilizer.roll', 'float')
lg_stab.add_variable('stabilizer.pitch', 'float')
lg_stab.add_variable('stabilizer.yaw', 'float')
with SyncCrazyflie(uri, cf=Crazyflie(rw_cache='./cache')) as scf:
# simple_connect()
simple_log(scf, lg_stab)
- 运行脚本
python3 connect_log_param.py
- 结果如下
[1486704][<cflib.crazyflie.log.LogConfig object at 0x7ffb3384a1d0>]: {'stabilizer.roll': -0.054723262786865234, 'stabilizer.pitch': 0.006269464734941721, 'stabilizer.yaw': -0.008503230288624763}
- 如果想在for循环中持续接收消息,注释掉break。您可以使用ctrl+c停止脚本
获取最新文章: 扫一扫右上角的二维码加入“创客智造”公众号