0
点赞
收藏
分享

微信扫一扫

快速解决Ubuntu 中 wine 程序 中文显示为方块/显示错误/无法显示中文(2023)

凌得涂 2023-08-18 阅读 43

前言

主要是记录一下学习过程,梳理下思路,抛转~

官方的开发环境,基于Linux版本,官方的环境是基于树莓派环境的,原理其实也比较明了,目的也比较明确,就是达到Linux 主机和wifi 路由在同一局域网,借助蓝牙的能力,将支持matter协议的wifi 设备添加到网络中,后面就是直接局域网控制就OK了,折腾了几天,终于跑通了。

原理

蓝牙配网功能其实比较常见,粗略理解了流程,就俩个核心:安全的传输信息,给待配网设备拿到ip。所以配网过程就涉及一些安全证书、加密传输等知识,有了方向就可以往下深入理解了
在这里插入图片描述

环境

  • VMware + Ubuntu 22.04
  • 蓝牙 BT5.0 (实验环境)
  • wifi 路由器

准备

  1. chip-tool

配网控制需要编译chip-tool,过程参考之前一篇
【Matter】基于Ubuntu 22.04 编译chip-tool工具

  1. 蓝牙模块

蓝牙模块:由于使用虚拟机,所以就购买了蓝牙模块,BT5.0的,免驱,支持Ubuntu(这一部分的验证还得继续研究,包括BT4.0也可以用吗?具体使用了哪些能力)

过程

  1. 蓝牙功能确认

首先确保蓝牙是可用的,具体测试办法,参考一下蓝牙的测试办法,常用的工具有bluetoothctl、blueman

在这里插入图片描述
测试工作当然不止上面一条,搜索一下工具怎么用,支持哪些命令

  1. 设备触发进入配网状态
    我手上拿到的是一款wifi灯,开关五次,设备就开始发送蓝牙广播,处于配网状态

  2. 执行命令进行配网
    在这里插入图片描述
    贴上配网成功的log,可以参考,排查问题

配网

控制

问题排查

整个过程看似很顺利,实际情况是在WiFINetworkSetup 这一步每次都报错,研究代码加上理解流程,才大概理解到这一步是通过DNS-SD服务,请求ip地址,一直请求不到。
由于编译使用的是NAT上网,使用的PC机代理网络,所以,可以说虚拟机是不能直接跟路由器建立起关系的,可以猜测到DNS-SD服务很难拿到结果,简单点,直接改成桥接网络,
相当于路由器下连的就是虚拟机,这样跟路由器请求获取分配的ip,请求到以后,就可以给到入网的灯设备了,经过验证,确实可行!

感悟

一些术语以及英文缩写,需要自己整理,知道要干什么,通过看代码验证自己的思路

举报

相关推荐

0 条评论