開發 meshtastic 聊天機器人(2)

利用 Web 串接主機附近周邊藍芽(含 meshtastic client)

  1. pip install bleak (這個比較簡單)
    ----另外一個為 pybluez2 (pybluez)
    2.程式
import streamlit as st
import asyncio
from bleak import BleakScannerasync def fetch_data():devices = await BleakScanner.discover()for device in devices:st.write(device)#st.write("aaa")#return dataasync def main():await fetch_data()if __name__ == "__main__":asyncio.run(main())

3.呈現結果(找到client)在这里插入图片描述

import streamlit as st
import asyncio
from collections import OrderedDict
from bleak import BleakScanner
from bleak import BleakClientif "options" not in st.session_state.keys():  #藍芽清單st.session_state["options"]=[]async def fetch_data():devices = await BleakScanner.discover(return_adv=True)devices = OrderedDict(sorted(devices.items(), key=lambda x: x[1][1].rssi, reverse=True))list_option=[]for i, (addr, (dev, adv)) in enumerate(devices.items()):print(i, addr, dev.name, adv.rssi)list_option.append(str(addr))   #+"="+str(dev.name))  # st.write(device)#st.write(list_option)st.session_state["options"]=list_optionreturn if st.button("搜尋附近藍芽設備"):asyncio.run(fetch_data())# fetch_data()#st.write(st.session_state["options"])#if st.session_state["options"] != []:
choice = st.selectbox("選擇連線藍芽設備",st.session_state["options"])if st.button("連線"):st.write("Ok")try:with BleakClient(choice) as client:if client.is_connected():try:# Pair with the device (distinct from just connecting)client.pair()print("Paired device")except Exception as e:print(e)else:print("Failed to connect to device")except Exception as e:print(e)

-------在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/56378.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

尚硅谷rabbitmq2024 第15-18节 springboot整合与可靠性答疑

在spring boot项目中,只引入了一个amqp的starter,为什么在写listener的时候能看到rabbitmq相关的类,比如RabbitListener( public void processMessage(String dataString, Message message, channel channel){ 这里的Message就是rabbitmq下面…

grpc和http的区别

当面试官问到gRPC和HTTP的区别时,你可以从以下几个方面进行回答: 协议层次: gRPC:gRPC是一个现代的、开源的、高性能的远程过程调用(RPC)框架,它使用HTTP/2作为传输协议,并使用Pro…

【ICPC】The 2021 CCPC Weihai Onsite G

Shinyruo and KFC #组合数学 #暴力 #枚举 题目描述 During your participation in this competition, Shinyruo is preparing to order KFC for the offline competition next week. There are n n n kinds of foods in KFC, and he plans to order a i a_i ai​ number …

京存非编存储走进中央民族大学

中央民族大学是一所具有鲜明民族特色的综合性全国重点大学,是国家民委、教育部、北京市共建高校。学校前身为1941年成立的延安民族学院。新中国成立后,经中央政府批准,1951年在北京成立中央民族学院,1993年11月更名为中央民族大学…

LeetCode 3158.求出出现两次数字的 XOR 值:化整数为哈希,一次遍历O(1)空间解决

【LetMeFly】3158.求出出现两次数字的 XOR 值:化整数为哈希,一次遍历O(1)空间解决 力扣题目链接:https://leetcode.cn/problems/find-the-xor-of-numbers-which-appear-twice/ 给你一个数组 nums ,数组中的数字 要么 出现一次&a…

golang中如何读取nacos配置中心的信息

golang中如何读取nacos配置中心的信息 golang中如何读取nacos配置中心的信息读取步骤1. 安装 Nacos Go 客户端:2. 编写代码读取配置: 代码说明运行代码注意事项 golang中如何读取nacos配置中心的信息 在 Go 语言中读取 Nacos 配置信息,以下是…

【量化交易】聚宽安装

安装JQData 更换源: 如果使用的是pip默认的PyPI源,可以尝试更换为一个更快的国内镜像源。例如阿里云、豆瓣等提供的PyPI镜像。 更改方法可以通过设置环境变量或者在pip命令中直接指定: PS C:\Users\bilirjs\Documents> pip config set …

No.13 笔记 | 网络安全防护指南:从法律法规到技术防御

一、法律法规 《中华人民共和国网络安全法》要点 遵守法律:所有个人和组织在使用网络时,必须遵守宪法和法律,不得利用网络从事危害国家安全等活动。 个人信息保护:禁止非法获取、出售或提供个人信息。若违反但未构成犯罪&#x…

Oracle低代码平台apex介绍

Oracle APEX(Application Express)是一个强大的低代码开发平台,它允许开发者快速构建企业级Web应用程序。该平台基于Oracle数据库,并充分利用了数据库的功能来提供安全、可扩展且易于维护的应用程序。 什么是Oracle APEX&#xf…

Lua 协同程序(coroutine)

Lua 协同程序(coroutine) 概述 Lua 语言以其轻量级和易于嵌入的特点,在游戏开发、脚本编写等领域广受欢迎。Lua 中的协同程序(coroutine)是其并发编程的核心特性之一。协同程序提供了一种不同于多线程的并发执行方式,它允许多个代码段交替执行,而不是同时执行。这种机制…

Karmada核心概念

以下内容为翻译,原文地址 Karmada 是什么? | karmada 一、Karmada核心概念 一)什么是Karmada 1、Karmada:开放,多云,多集群Kubernetes业务流程 Karmada (Kubernetes Armada)是一个Kubernetes管理系统&…

【NTN 卫星通信】卫星通信的专利

1 概述 好久没有看书了,最近买了本讲低轨卫星专利的书,也可以说是一个分析报告。推荐给喜欢的朋友。 2 书籍截图 图1 封面 图2 波音低轨卫星专利演进 图3 低轨卫星关键技术专利发展阶段 图4 第一页 3 参考文献 产业专利分析报告–低轨卫星通信技术

apisix云原生网关

定义 企业级网关通过域名、路由将请求分发到对应的应用上,通常承载数千个服务的流量,对稳定性有较高要求。 CNCF全景图 选型 Kubernetes抽象出两个核心概念:Service,为多个Pod提供统一的访问入口;Ingress&#xff…

大厂服务降级规范

优质博文:IT-BLOG-CN 服务降级,是指在系统承受较大负载时,根据业务的紧急性和流量情况,对部分非核心或不紧急的服务采取延迟、简化或暂停处理的策略,从而释放系统资源,确保核心业务的高效稳定运行。 为何…

【火山引擎】调用火山大模型的方法 | SDK安装 | 配置 | 客户端初始化 | 设置

豆包 (Doubao) 是字节跳动研发的大规模预训练语言模型。 目录 1 安装 2 配置访问凭证 3 客户端初始化 4 设置地域和访问域名 5 设置超时/重试次数 1 安装 通过pip安装PYTHON SDK。 pip install volcengine-python-sdk[ark] 2 配置访问凭证 获取 API Key 访问凭证具体步…

docker容器运行一段时间提示Failed to initialize NVML: Unknown Error

情况描述 服务器使用docker启动容器。启动以后一切正常也能跑程序。但是,在运行一段时间(2天左右不等),会发现gpu掉了。输入nvidia-smi提示 Failed to initialize NVML: Unknown Error 主要发生条件是,docker启动的…

Oracle-19g数据库的安装

简介 Oracle是一家全球领先的数据库和云解决方案提供商。他们提供了一套完整的技术和产品,包括数据库管理系统、企业级应用程序、人工智能和机器学习工具等。Oracle的数据库管理系统是业界最受欢迎和广泛使用的数据库之一,它可以管理和存储大量结构化和…

Canmv k230 C++案例1——image classify学习笔记 初版

00 简介 用C编写代码的比mircopython要慢很多,需要编译开发环境,同时使用C更接近底层,效率利用率应该也是更高的,就是需要学习更多的内容,因为从零开始因此比较比较耗时。 注:以下为个人角度的理解&#x…

C#使用HslCommunication程序库快速创建MQTT客户端,实现连接、订阅主题、发送信息

说明: HslCommunication 这个通讯库是非常强大的,其稳定性非常可靠,虽然对于我个人来说在某些功能上配和项目还不算超级完美,但是够用 这个库可以在网上下载。 下面是MQTT客户端的完整的代码 using HslCommunication; using HslCommunicati…

科技云报到:云服务的中场战事,从AI应用开始

科技云报到原创。 从去年的大模型之战,到今年的AI应用之争,云服务正在迈入全新的发展阶段。AI这个杠杆将各家厂商的竞争策略更向前推进了一步。 “云AI”能够孵化出多少可能?在业界眼中,“云AI”则意味着新的悬念:云计…