- 博客(140)
- 收藏
- 关注
原创 编译固件 -- 自用
当我们对自己开发的产品代码进行编译的时候,我们应该先准备好编译环境,比如我们这里是海思的路由器WR3000H,这里我们就得到这个路径openwrt-hisilicon。
2024-07-22 19:31:43 133
原创 curl参数大全
实例:`curl -x http://proxyserver:port http://example.com`- 实例:`curl -G -d "key=value" http://example.com/api`- 实例:`curl -H "X-My-Header: 123" http://example.com`- 实例:`curl -X POST http://example.com/api/data`- 实例:`curl --trace-ascii http://example.com`
2024-07-22 14:11:07 267
原创 ApiPost7 用法介绍
HTTP请求是客户端(如浏览器)向服务器务的方式。- **概念**:GET请求用于从服务器检索数据。它向服务器查询信息,服务器响应该请求并返回数据。- **数据传输**:数据通过URL传递,附加在URL后面,形成查询字符串。- **缓存**:GET请求可以被浏览器缓存。- **长度限制**:URL长度通常有限制,因此GET请求的数据长度也有限制。- **可见性**:数据在URL中可见,因此不适合传输敏感信息。- **用途**:适用于请求服务器发送资源或执行不需要数据修改的查询。
2024-07-16 19:44:31 455
原创 lua入门(5) - 错误处理
Lua提供了xpcall函数,xpcall接收第二个参数——一个错误处理函数,当错误发生时,Lua会在调用桟展开(unwind)前调用错误处理函数,于是就可以在这个函数中使用debug库来获取关于错误的额外信息了。pcall接收一个函数和要传递给后者的参数,并执行,执行结果:有错误、无错误;通常在错误发生时,希望落得更多的调试信息,而不只是发生错误的位置。lua 里调用函数时,即使实参列表和形参列表不一致也能成功调用,多余的参数会被舍弃,缺少的参数会被补为 nil。实例中assert首先检查第一个参数,
2024-07-13 11:34:34 614
原创 lua入门(4) - 文件IO
若不带参数时io.lines() <=> io.input():lines();设置和获取当前文件位置,成功则返回最终的文件位置(按字节),失败则返回nil加错误信息。实现功能类似,相比简单模式少了 io.input() 和 io.output() ,还支持同时处理多个文件。简单模式在做一些简单的文件操作时较为合适。但是在进行一些高级的文件操作的时候,简单模式就显得力不从心。模式并返回一个迭代函数,每次调用将获得文件中的一行内容,当到文件尾时,将返回。这样的操作,使用完全模式则较为合适。
2024-07-12 17:30:55 595
原创 openWrt(3) - ubus (下)
OpenWrt ubus RPC daemon for backend server 是一组小型插件,在单独的命名空间中提供一组。)并不严格相关,因此将它们作为单独的项目实现是不值得的。RPCD 和所需的插件必须通过 OPKG 可用或安装。这些插件与任何特定软件(如。
2024-07-11 09:59:59 365
原创 openWrt入门(2) - ubus
在 Linux 系统中,查看进程状态时可能会看到 `S` 或 `S+` 这样的状态。- 进程正在睡眠状态,等待某个事件或资源。这是正常的系统行为,例如等待I/O操作完成或等待信号。- 进程处于可中断的睡眠状态,并且可以响应终端产生的停止信号。这意味着进程正在等待某些条件的发生,但如果收到特定的信号(如停止信号),它可以被中断。- 进程处于不可中断的睡眠状态,通常是在等待 I/O 操作完成。在这种状态下,进程不会响应大多数信号,直到它所等待的 I/O 完成。
2024-07-10 11:27:06 864
原创 beyond Compare连接 openWrt 和 VsCode
1. 先选中本机的工作目录(VsCode 存放文件夹)点击下图 右上角 浏览文件夹添加。
2024-07-10 11:09:32 597
原创 OpenWrt入门 (1) - 登录及ssh命令接入wifi
串口连接:适合于直接与硬件设备进行通信,简单但功能有限。适合简单的远程命令执行,但不安全,逐渐被 SSH 所取代。适合安全的远程访问、命令执行和文件传输,是目前最推荐使用的远程连接方式。在选择连接方式时,需要根据具体需求、安全性要求以及可用的资源来决定使用哪种方式。对于需要高安全性的场景,SSH 是首选。对于与硬件设备的直接通信,串口连接可能是必要的。而 Telnet 由于其安全性问题,现在很少使用,除非在一些特定的、不涉及敏感数据的场景中。
2024-07-09 11:26:11 1093
原创 lua入门(3) - 变量
a. 变量个数 > 值的个数 按变量个数补足nil。b. 变量个数 < 值的个数 多余的值会被忽略。,不会进行变量传递,
2024-07-08 10:48:49 339
原创 lua入门(2) - 数据类型
userdata 是一种用户自定义数据,用于表示一种由应用程序或 C/C++ 语言库所创建的类型,可以将任意 C/C++ 的任意数据类型的数据(通常是 struct 和 指针)存储到 Lua 变量中调用。
2024-07-05 17:59:03 946
原创 Qt项目天气预报(5) - 根据JSON刷新天气信息+城市匹配
我们使用如下api接入,当然需要自己去注册后生成自己的对应id才可以使用//专业天气v61。
2024-06-24 15:53:26 1054
原创 Qt项目天气预报(4) - json 数据解析
JSON(JavaScript Object Notation)是一种轻量级的数据交换格式。它易于人阅读和编写,同时也易于机器解析和生成。JSON是基于JavaScript的一个子集,尽管它是独立于语言的,且有多种语言支持。JSON常用于网络应用程序中的数据传输,尤其是在Web应用程序中与后端服务器通信。在Qt中生成JSON数据并将其保存到文件的一个基本示例涉及使用和类。以下是创建一个简单JSON对象并将其保存到文件的示例代码。
2024-06-22 19:06:51 305
原创 一文带你了解CAN协议 - 趋于完美的通信协议
1) 多主控制在总线空闲时,所有单元都可以发送消息(多主控制),而两个以上的单元同时开始发送消息时,根据标识符(Identifier 以下称为 ID)决定优先级。ID 并不是表示发送的目的地址,而是表示访问总线的消息的优先级。两个以上的单元同时开始发送消息时,对各消息 ID 的每个位进行逐个仲裁比较。仲裁获胜(被判定为优先级最高)的单元可继续发送消息,仲裁失利的单元则立刻停止发送而进行接收工作。2) 系统的柔软性与总线相连的单元没有类似于“地址”的信息。
2024-06-22 12:21:59 970
原创 网络通信架构
使用分别对应:在计算机网络和软件开发中,CS架构(Client-Server Architecture,客户端-服务器架构)和BS架构(Browser-Server Architecture,浏览器-服务器架构)是两种主要的应用程序架构。
2024-06-16 20:59:48 1023
原创 Qt项目天气预报(3) - qt的http编程获取天气数据
Qt中的HTTP编程主要涉及使用Qt的网络模块来进行HTTP请求和处理HTTP响应。Qt提供了一系列类来处理网络通信,其中最常用的类是以及相关的支持类。创建一个 QNetworkAccessManager 对象,并使用它发送HTTP请求。QNetworkAccessManager 对象会异步地处理请求,并返回一个 QNetworkReply 对象。return;});
2024-06-15 22:05:40 771
原创 Qt项目天气预报(2) - 重写事件函数
QMenu是Qt库中用于创建弹出式菜单的类,它通常出现在应用程序的顶部菜单栏、按钮的右键菜单或自定义上下文菜单中。//2.鼠标左键释放的时候获得鼠标当前值,对应的窗口位置也根据相对距离进行偏移。// 将窗口根据鼠标当前位置和偏移值进行移动(这个值是固定的,作为窗口移动的桥梁)//1.当鼠标左键被按下的时候记录鼠标/窗口当前值,还有鼠标与窗口的相对值。event->globalPos()-this->pos() - 作差求相对坐标。event->pos() -- 鼠标相对窗口的坐标 或者。
2024-06-15 21:11:41 969
原创 Qt绘图项目 - 简易表盘
/恢复到之前保存的位置。// 从135度开始。// 从135度开始。//保存原点: 三点钟方向。/* 中间经历了某种平移。//坐标系,平移到中心。//2.设置起始角度。
2024-06-13 11:38:17 340
原创 Qt绘图 - 渐变色
QRadialGradient 是 Qt 框架中用于创建径向渐变的类。径向渐变是一种从中心点向外部辐射的颜色渐变,通常在中心点有一种颜色,而向外围渐渐变化为另一种颜色。这种渐变非常适合用于模拟光源、阴影或创建圆形的立体感。QConicalGradient 是 Qt 框架中用于创建圆锥形渐变的类。圆锥渐变是一种渐变效果,其中颜色沿着圆锥的轮廓变化,类似于旋转颜色轮。这种渐变以其中心点为基点,颜色沿圆周分布,可以创建出富有动感的视觉效果。
2024-06-11 19:55:34 606
原创 一文带你入门 - Qt绘图QPainter
QPaintEvent 是 Qt 框架中一个重要的,专门用于处理绘图事件。当 Qt 视图组件需要重绘自己的一部分时,就会产生 QPaintEvent 事件。这通常发生在以下几种情况:1. 窗口第一次显示时:当窗口或控件第一次出现在屏幕上时,系统会生成一个 QPaintEvent 事件,通知窗口进行自身的绘制。2. 窗口大小改变时:当用户改变窗口的大小时,窗口的内容通常需要重新绘制以适应新的尺寸。
2024-06-11 18:45:38 1278
原创 手把手带你做一个自己的网络调试助手(4) - 优化完善
if(ui->comboBoxChildren->count() == 0) //当没有客户端接入得到时候让发送按钮不可选。
2024-06-11 13:06:24 991
原创 手把手带你做一个自己的网络调试助手(2) - TCP服务器完善
/activated - 修改/选择条目后触发 --> 更新comboBox的当前下标选项//用于匹配当前用户选择的客户端,并同步到全局的childIndex-->方便发送函数指定客户端。
2024-06-09 20:17:38 815
原创 手把手带你做一个自己的网络调试助手(1) - TCP服务器准备
通过 QNetworkInterface 类的 allAddresses 这一API 获得可用IP地址(包括IPv4 和 IPv6)然后通过QHostAddress类的 protocol 这一API 进行筛选,只读取IPv4的数据。
2024-06-09 15:55:46 462
原创 从零开始实现自己的串口调试助手(8)-循环发送
// 我们不能在qt的ui线程中延时,否则将导致页面刷新问题 //QThread::msleep(ui->spinBox->text().toInt());//设置下次发送时间间隔 //添加自动换行定时器 btnConTimer = new QTimer(this); connect(btnConTimer,&QTimer::timeout,this,&Widget::btnHandler);实现定时器控制槽函数线程实现:自定义线
2024-06-07 20:56:04 576
原创 从零开始实现自己的串口调试助手(7) -隐藏面板/刷新串口号/实现多文本
Q_OBJECT //这个宏里面存放需要的信号和槽函数 - 让整个类具备信号与槽的能力public:protected://重写鼠标被按下事件signals:在widget.cpp的构造函数中,绑定信号与槽//将多文本框的内容读取到发送框中//如果左边的HEX发送被勾选了,我们就HEX格式发送//将信息发送实现效果:可以看到要使用这种方法实现的话,需要构建9个槽函数,太啰嗦我们可以使用一下方法优化。
2024-06-06 21:08:15 347
原创 从零开始实现自己的串口调试助手(6) -换行问题
自动换行原因 --> 我们以append发送 会自动换行换个api 即可 --> 我们换成 insertPlainText。
2024-06-04 17:16:25 253
原创 从零开始实现自己的串口调试助手(5) -实现HEX显示/发送/接收
注意QString 没有处理HEX显示的相关API 需要使用 toUtf-8 来 转换位QByteArry 类型,HEX 显示 -- 其实就是 十六进制显示 --> a - 97(10) --> 61(16)利用其中的API 来处理HEX格式(toHex fromHex)if 勾选了HEX显示,我们接收的时候就需要使用HEX显示来拼接显示。01 - HEX发送的01,与HEX显示的接收没有=差别。接收框显示做 添加特殊判断 --> 是否HEX显示了。3031 -- 01 对的ASCLL。
2024-06-04 16:04:57 556
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人