IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Python知识库 -> 楼控软件,Niagara外挂式服务语音控制实现方式 -> 正文阅读

[Python知识库]楼控软件,Niagara外挂式服务语音控制实现方式

????????实现本功能需要一定的web技术,明白前后端BS框架结构,会使用JQuery ajax,会使用Python conda或pip进行python库管理,还要会使用Python Web框架:Django或者Flask……其实怎么都好,管那么多干嘛,直接上手即可。

?????? 推荐一下需要的软件,Anaconda(官网下的慢,可以找个软件管家或者清华大学开源镜像库下)、VS code、火狐或者Chrome(我是火狐粉)、Terminus、uTools(Terminus和uTools非必须,不过一些地方用起来还是不错的)。???????????

????????首先要在Niagara站点上使用obix对外开放数据,这里的操作参见Niagara论坛操作:

Niagara快速入门教程(17):如何用obix获取和控制点位 - 新手入门 - Niagara Framework 中文技术社区 - Powered by Discuz!

????????进行操作时无需考虑论坛中的Postman软件调试部分,直接进行Python库的安装。

????????在python conda环境下终端执行以下命令:

pip install oBIX

????????然后参考下面的博客链接:

[oBIX包使用教程] 使用 Python 通过 oBIX 协议访问 Niagara 数据 - IUpdatable - 博客园

????????oBIX只是一个方式,可以翻看一下源码,用一下方法实现数据获取:???

??????? 保证站点开放了Niagara服务后,直接跑代码也是可以获取数据结果的。

??????? 这一方式可以用于JACE,修改IP地址就好,例如:192.168.1.140

from bs4 import BeautifulSoup
import requests
import time



start = time.time()
requests.packages.urllib3.disable_warnings()
response = requests.get('https://localhost/obix/config/Question/', auth=('ObixUser', 'Admin12345'), verify=False)
print('状态码:', response.status_code)
if response.status_code==200:
    xml_data = response.text
    soup = BeautifulSoup(xml_data, 'lxml')
    refs = soup.find_all('ref')
    ref_name_list = []
    ref_value_list = []
    for ref in refs:
        ref_name_list.append(ref['name'])
        ref_value_list.append(ref['display'].split(" ")[0])
    # print(ref_name_list)
    # print(ref_value_list)
    data_dict = dict(zip(ref_name_list,ref_value_list))
    print(data_dict)

???? 当然也可以使用post方法去设置点位的值:

from bs4 import BeautifulSoup
import requests
import time
start = time.time()
response = requests.post('https://localhost/obix/config/Datarefs/RenTi/set', auth=('ObixUser', 'Admin12345'), data='<bool val="false"/>',verify=False)
if response.status_code==200:
    print('执行成功')
    end = time.time()
    print(end - start)

????????然后是百度的语音项目,安装一下百度的库:

????????pip install baidu-aip

????????百度提供的SDK很多,可以选择Python、Node、Java等等,我尝试过Python和Node,看个人选择。

????????在百度智能云中新建一个语音识别项目,它会给你提供一个接口,按照其给的说明文档即可完成对接。

????????其实当你访问Niagara服务下的obix地址时就可以看到数据了,所以可以使用爬虫的方式获取数据不必纠结python oBIX库。。

????????最后说一下录音问题,录音从前端进行,使用的是recorder.js,这里可以看一下脚本之家的说明:https://www.jb51.net/article/159849.htm ,建议去GitHub上看看,很好用。

????????将前端的录音文件发送给后端,这个后端看你的选择的技术路线,直接将音频的字节流发送给百度接口即可,它会给你发回识别结果。

????????图为Django中的接口方式:

def audio(request):
    APP_ID = '*********'
    API_KEY = '************************'
    SECRET_KEY = '**************************'
    client = AipSpeech(APP_ID, API_KEY, SECRET_KEY)

    if request.method == 'POST':
        file = request.FILES.get('audio')
        file = file.read()
        text = client.asr(file, 'wav', 16000, {'dev_pid': 1537,})
        result_text = text['result'][0]
    return JsonResponse({'result':result_text})

????????当这一切都打通的时候即可想干嘛干嘛,其实这是一个外挂式的服务,弄这个的初衷自然是Niagara框架学不出个所以然,也没啥教程资源,懒得去看了。

????????而且这个也没啥特定的实现路线,,用不用Web框架又如何,Python WebSocket的脚本都行。????????

????????做Niagara做的挺烦的,我终于要摆脱它了,最后,我要说:喝……忒!

?

  Python知识库 最新文章
Python中String模块
【Python】 14-CVS文件操作
python的panda库读写文件
使用Nordic的nrf52840实现蓝牙DFU过程
【Python学习记录】numpy数组用法整理
Python学习笔记
python字符串和列表
python如何从txt文件中解析出有效的数据
Python编程从入门到实践自学/3.1-3.2
python变量
上一篇文章      下一篇文章      查看所有文章
加:2022-04-01 23:20:55  更:2022-04-01 23:21:12 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 20:54:49-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码