首页 文章 精选 留言 我的

精选列表

搜索[串口助手软件],共10010篇文章
优秀的个人博客,低调大师

OpsPilot —— AI 运维助手

OpsPilot是WeOps团队开源的一个基于Rasa和LLM技术的,专注于运维领域的AI领航员,支持以ChatBot的形态与Web应用集成,主要提供以下能力: * 运维能力沉淀:通过将运维的知识、运维技能、排查动作进行沉淀,在解决问题的时候以领航员的形态,通过对话的方式指引用户解决运维问题 * 本地知识问答:通过对本地知识、互联网知识进行索引,结合LLM的能力,回复用户的各种运维问题 * LLM聊天:当问题超出OpsPilot能够处理的范围的时候,使用LLM的能力解决各种长尾问题

优秀的个人博客,低调大师

android socket 线程连接openwrt与arduino单片机串口双向通信

package zcd.netanything; import java.io.BufferedReader; import java.io.InputStreamReader; import java.io.PrintWriter; import java.net.Socket; import android.app.Fragment; import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; import android.os.Bundle; import android.os.Handler; import android.os.Message; import android.view.LayoutInflater; import android.view.View; import android.view.View.OnClickListener; import android.view.ViewGroup; import android.widget.Toast; public class MyCar extends Fragment implements OnClickListener{ private static String wifiurl; private static String wificom; private static String wificamera; private Thread mThreadClient = null; private Socket mSocketClient = null; //视频线程 private Thread mThreadvideo = null; private String recvMessageClient ; //MySurfaceView r; private boolean isConnect=false; //指令发出 数据缓存 static PrintWriter mPrintWriterClient = null; static BufferedReader mBufferedReaderClient = null; public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { // TODO Auto-generated method stub View view = inflater.inflate(R.layout.mycar,container, false); view.findViewById(R.id.button1).setOnClickListener(this); view.findViewById(R.id.button2).setOnClickListener(this); view.findViewById(R.id.button3).setOnClickListener(this); view.findViewById(R.id.button4).setOnClickListener(this); view.findViewById(R.id.button5).setOnClickListener(this); return view; } public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); } //内部类 广播接收 public static class myReceiver extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { // TODO Auto-generated method stub wifiurl = intent.getStringExtra("wifiurl"); wificom = intent.getStringExtra("wificom"); wificamera = intent.getStringExtra("wificamera"); Toast.makeText(context, "广播已经接收", Toast.LENGTH_SHORT).show(); } } //来源 http://www.cnblogs.com/xiaobo-Linux/ 赵存档 QQ463431476 //线程mRunnable启动 private Runnable mRunnable = new Runnable() { public void run() { try { //连接服务器 mSocketClient = new Socket(wifiurl,Integer.parseInt(wificom)); //取得输入、输出流 mBufferedReaderClient = new BufferedReader(new InputStreamReader(mSocketClient.getInputStream())); mPrintWriterClient = new PrintWriter(mSocketClient.getOutputStream(), true); recvMessageClient = "wifi成功连接";//消息换行 Message msg = new Message(); msg.what = 1; mHandler.sendMessage(msg); } catch (Exception e) { recvMessageClient = "连接错误!";//消息换行 Message msg = new Message(); msg.what = 1; mHandler.sendMessage(msg); return; } setRecvMessage(); } }; public void setRecvMessage(){ char[] buffer = new char[256]; int count = 0; while (true) { try { if((count = mBufferedReaderClient.read(buffer))>0) { recvMessageClient = getInfoBuff(buffer, count);//消息换行 //Thread.sleep(500); Message msg = new Message(); msg.what = 1; mHandler.sendMessage(msg); //Toast.makeText(getActivity(),recvMessageClient,Toast.LENGTH_SHORT).show(); } } catch (Exception e) { recvMessageClient = "接收异常:" + e.getMessage() + "\n";//消息换行 Message msg = new Message(); msg.what = 0; mHandler.sendMessage(msg); } } } Handler mHandler = new Handler() { public void handleMessage(Message msg) { super.handleMessage(msg); if(msg.what == 0) { Toast.makeText(getActivity(),recvMessageClient,Toast.LENGTH_SHORT).show();//刷新消息机制 } else if(msg.what == 1) { try { String result = recvMessageClient; Toast.makeText(getActivity(),result,Toast.LENGTH_SHORT).show(); }catch(Exception e) { //Toast.makeText(getActivity(),"无法获取数据,检查网络是否连接!",Toast.LENGTH_SHORT).show();//刷新消息机制 } } } }; //接收处理 private String getInfoBuff(char[] buff, int count) { char[] temp = new char[count]; for(int i=0; i<count; i++) { temp[i] = buff[i]; } return new String(temp); } /*public void onDestroy() { super.onDestroy(); if (isConnect) { isConnect = false; try { if(mSocketClient!=null) { mSocketClient.close(); mSocketClient = null; //mThreadvideo.destroy(); mPrintWriterClient.close(); mPrintWriterClient = null; recvMessageClient = "网络端口成功";//消息换行 Message msg = new Message(); msg.what = 0; mHandler.sendMessage(msg); } } catch (IOException e) { e.printStackTrace(); } mThreadClient.interrupt(); } } */ public void onClick(View v) { // TODO Auto-generated method stub switch(v.getId()){ case R.id.button1: mPrintWriterClient.print("f"); mPrintWriterClient.flush();//清空 Toast.makeText(getActivity(),"前进",Toast.LENGTH_SHORT).show(); break; case R.id.button2: mPrintWriterClient.print("b"); mPrintWriterClient.flush(); Toast.makeText(getActivity(),"后退",Toast.LENGTH_SHORT).show(); break; case R.id.button3: mPrintWriterClient.print("l"); mPrintWriterClient.flush(); Toast.makeText(getActivity(),"向左",Toast.LENGTH_SHORT).show(); break; case R.id.button4: mPrintWriterClient.print("r"); mPrintWriterClient.flush(); Toast.makeText(getActivity(),"向右",Toast.LENGTH_SHORT).show(); break; case R.id.button5: if(!isConnect) { //开启mThreadClient线程 mThreadClient = new Thread(mRunnable); mThreadClient.start(); Toast.makeText(getActivity(),"尝试连接网络",500).show(); } else { onDestroy(); isConnect=false; // Btn_openwifi.setBackgroundResource(R.drawable.disconnect); } //开启mThreadvideo线程 //mThreadvideo = new Thread(mRunvideo); //mThreadvideo.start();//开启视频监听 break; //case R.id.button6: //关闭wifi /* if (isConnect) { isConnect = false; try { if(mSocketClient!=null) { mSocketClient.close(); mSocketClient = null; //mThreadvideo.destroy(); mPrintWriterClient.close(); mPrintWriterClient = null; recvMessageClient = "网络端口成功";//消息换行 Message msg = new Message(); msg.what = 0; mHandler.sendMessage(msg); } } catch (IOException e) { e.printStackTrace(); } mThreadClient.interrupt(); } */ // break; } } }

优秀的个人博客,低调大师

AudioGPT —— 基于 LLM 的音频助手

AudioGPT 是一个借助大语言模型 (LLM) 处理音频的工具。 AudioGPT 在收到用户请求时使用 ChatGPT 进行任务分析,根据语音基础模型中可用的功能描述选择模型,用选定的语音基础模型执行用户指令,并根据执行结果汇总响应。借助 ChatGPT 强大的语言能力和众多的语音基础模型,AudioGPT 能够完成几乎所有语音领域的任务。 具体来说,AudioGPT 运行过程可以分成 4 个阶段:模态转化、任务分析、模型分配和回复生成。 AudioGPT 核心功能 生成音乐 背景音效 音频生成字幕 文字生成音频 文字生成音频并模拟声音 根据图片生成音频 对音频进行inpaint(局部屏蔽) 根据音频和人脸照片合成视频 检测音频中的事件,以及开始和结束时间 单声道变双声道 通过文本描述检测特定声音发生的时间 抽取某种声音 去除背景噪音 多人混合声分离出单人声音 语音翻译

优秀的个人博客,低调大师

开源 AI 助手 Clawdbot 再度更名:OpenClaw

OpenClaw 是一个开源的本地运行 AI Agent 平台,致力于让用户在自己的设备上运行智能助理,而不依赖集中式 SaaS 服务。该项目由 Peter Steinberger 发起,最初只是一个周末实验性的 “WhatsApp Relay” 项目,但迅速获得社区关注,目前在 GitHub 上拥有超过 10 万颗 star,并在短时间内吸引了约 200 万访问量。 项目曾先后使用 “Clawdbot” 和 “Moltbot” 名称,最终选择 OpenClaw 作为长期品牌,强调其开源性与社区驱动的特质。新名称已经完成商标检索、域名购买及迁移准备。 平台核心特点 本地运行与隐私优先:OpenClaw 在用户选定的设备上运行(如笔记本、私有服务器或家庭实验室),用户数据保留在本地,避免依赖云端存储。 多平台集成:支持 WhatsApp、Telegram、Discord、Slack、Teams 等主流聊天应用作为交互渠道。 可扩展性与自动化:通过插件和技能系统扩展能力,目前已支持新渠道(如 Twitch 和 Google Chat)及多种模型。 最新版本亮点 新增通信插件:包括 Twitch 与 Google Chat。 模型支持扩展:支持 KIMI K2.5 和 Xiaomi MiMo-V2-Flash 等新型模型。 Web 聊天增强:可在聊天中发送图像。 安全性强化:引入 34 项安全相关提交以增强代码库防护,并发布可机器验证的安全模型。 OpenClaw 正在继续加强安全性与网关稳定性,并计划支持更多模型提供商。随着贡献者数量激增,项目在维护流程、全职开发支持等方面也在逐步完善。

资源下载

更多资源
腾讯云软件源

腾讯云软件源

为解决软件依赖安装时官方源访问速度慢的问题,腾讯云为一些软件搭建了缓存服务。您可以通过使用腾讯云软件源站来提升依赖包的安装速度。为了方便用户自由搭建服务架构,目前腾讯云软件源站支持公网访问和内网访问。

Spring

Spring

Spring框架(Spring Framework)是由Rod Johnson于2002年提出的开源Java企业级应用框架,旨在通过使用JavaBean替代传统EJB实现方式降低企业级编程开发的复杂性。该框架基于简单性、可测试性和松耦合性设计理念,提供核心容器、应用上下文、数据访问集成等模块,支持整合Hibernate、Struts等第三方框架,其适用范围不仅限于服务器端开发,绝大多数Java应用均可从中受益。

Sublime Text

Sublime Text

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。

WebStorm

WebStorm

WebStorm 是jetbrains公司旗下一款JavaScript 开发工具。目前已经被广大中国JS开发者誉为“Web前端开发神器”、“最强大的HTML5编辑器”、“最智能的JavaScript IDE”等。与IntelliJ IDEA同源,继承了IntelliJ IDEA强大的JS部分的功能。

用户登录
用户注册