- 博客(23)
- 收藏
- 关注
原创 基于MQTT的客户端
客户端可以订阅感兴趣的主题,并接收发布到这些主题的消息。在客户端添加用户名和密码,在客户端授权中添加客户端ID和对应的主题,这里的客户端的用户名和密码,对应编写客户端时候使用到的SSL/TLS加密要求填写的用户名和密码。subscribe在服务器上创建的doorstate主题,通过mqtt.fx客户端向主题publish发布信息, 可以在subscribe订阅该主题看见对应的消息。点击user credentials, 填写对应的user name , password完成配置后,apply,连接成功后。
2024-04-08 21:21:05 376
原创 云服务器搭建简单网站
这里我使用的华为提供的最低配置服务器,4G,2G,40G外存的硬件配置。购买完成后,会分配一个弹性公网IP。这里需要注意一下供应商为了安全性,设置了安全组规则,只允许服务器数据流出,默认拒绝所有来自外部的请求。这里我是用的apache,它的作用:接收用户的HTTP请求,将相应的网页和资源发送给用户浏览器,实现用户和服务器之间的通信。web服务器软件apache默认根目录在/var/www/html/,编写绘制表格的html代码。新建ssh连接在主机输入公网IP,用户:root ,确定后连接。
2024-04-01 18:15:54 341
原创 DOSBOX(入门汇编的第一个程序详解)
我们可以看见MASM文件夹中有debug,edit,link,masm,lib.exe的可执行文件,分别是调试工具,编辑工具,链接工具,汇编,静态链接库工具。打开dosbox首先出现上面的图片,loading *** setting, 载入***.conf配置文件, 所以要想打开就挂载,就得修改.conf文件。过程:高级语言 ---->预处理(.s文件)----->编译(.asm---汇编语言)---->汇编(.obj)--->链接(可执行文件)经过上面的介绍, masm文件提供工具形成的对应的文件。
2024-04-01 17:38:35 519
原创 公网SSH远程连接Ubuntu[免费内网穿透]
这里操作按照cpolar官方给出的操作文档,现在嵌入式设备配置cpolar环境,开启对应的网络服务和端口号,eg: cpolar tcp 22,这是嵌入式设备开启一个进程,并且将内网下tcp服务的端口号映射到公网下,这是刷新cpolar官网下的隧道状态,可以看到映射的公网端口号和临时IP,根据这些信息可以完成公网下访问内网下的设备。1. 为嵌入式设备分配唯一的全局的IP地址,也就像我们平时租赁的服务器一样,通过TCP/IP协议可以直接访问,但是这种方法需要向网络运营商提交全局IP的申请,花费高。
2024-03-18 23:22:30 514
原创 滚筒测量装置
计算转动角度,图3也提及到向回转动的情况,使用cur_roll, pre_roll之间的差值完成判断,进行360度数的加减。分析了可能出现的情况,基本都都解决,在实际测量的时候,最差基本在1cm左右,满足题目的要求。这里使用roll,-180 0 180的范围,题目中所求的是滚动的距离,通过转化,求转动的角度和滚筒的周长来解题目。图二中提及的cmp函数,在图一中,说到用于判断转动方向和是否启动,这里给出代码。解决图1中提及到的转动方向判断,那么如何解决数据跳变问题,如下图3给方法。
2024-03-18 22:57:49 489
原创 ubuntu 虚拟串口通信
1.在dev目录下存放的设备文件,ttyS0是真实的串口设备文件,如果要用该设备进行串口通信,需要接入物理设备,并且要安装相应的设备驱动(CH340),比较麻烦,所以我们使用虚拟串口进行实验的完成,物理串口和虚拟串口都在用户自己编程写收发代码完成的,本质都是系统调用(read write)可以看到配置好的两个虚拟串口的路径:/dev/pts/2 /dev/pts/3 不要关闭该进程,认真看上面的串口通信代码 在运行程序需要传入main函数的参数 该参数就是虚拟串口的位置。所以执行下面的命令运行程序。
2023-05-30 16:11:35 1604
原创 AI绘画(Stable Diffusion WBUI)
因为时间有限,大概玩到着就差不多了,要去做其他重要的事情了,其他Stable Diffusion WBUI功能十分强大,上面介绍的是指冰山一角,看到youtube上的大神,实现图生产图,图片高清化 去码,以及AI换脸等功能,感兴趣的小伙伴,可以多多探索,如果遇到问题,可以在评论区留言,定会及时解答。同时提供了许多插件,比如完成汉化,载入骨架分析的插件等,通过骨架分析的插件,提取图片图片人物的框架,再通过模型分析使用者指定的关键词语,完成绘图。下面安装插件,填入网址,从git上面安装,完成汉化和骨架分析。
2023-05-06 19:11:16 1219 1
原创 FreeRTOS 学习总结
在这里可以介绍ARM 和 ST 以及cortex-M3之间的关系,ARM 是一种芯片设计架构,就和我们电脑使用的CPU一般都是x86架构也就是8086架构。全部的解释:在FreeRTOS中,启动OS时钟(滴答定时器)和所有任务的创建都是在启动函数vTaskStartScheduler()中完成的,包括Idle Task和用户定义的第一个任务(通常称为start_task),当vTaskStartScheduler()启动时,会首先创建Idle Task,然后再创建用户定义的第一个任务start_task。
2023-05-05 13:32:58 1282 1
原创 8086汇编疑问
如果请求的地址位于缓存行中,那么就称为“缓存命中”,缓存会立即返回该数据给CPU,无需从内存中获取。CPU向硬盘发送请求的过程是通过操作系统和硬盘控制器完成的。当CPU需要从硬盘读取数据时,它会发出一个系统调用,通知操作系统并提供所需数据的相关信息,例如要读取的数据的起始位置和长度等。因此,在运行可执行文件时,首先进行的是文件的解析和分段,并在需要时将每个段逐一载入内存中。同时也联想到高级语言通过编译和链接生成的可执行文件是存放在内存中,那么它是如何从硬盘到内存,内存读写硬盘是否占用cpu以及读写的细节?
2023-04-25 01:09:17 177
原创 蛇形矩阵(打标记法)
题目概述:给出一个不大于 9 的正整数 n,输出 n×n 的蛇形方阵。从左上角填上 1 开始,顺时针方向依次填入数字,如同样例所示。注意每个数字有都会占用 3 个字符,前面使用空格补齐。
2022-08-13 20:31:26 326
原创 第10届蓝桥杯B组C++省赛
A题:组队。思路:直接手算。答案:490.B题:年号子串思路:实际:就是将十进制数转化为26进制数。因为所求的数据较小, 直接手算。答案:BYQ.C题:数列求值。思路:迭代模拟, 注意循环条件放的位置。代码:#include <bits/stdc++.h>using namespace std;int main(){ int a = 1, b = 1, c = 1, d = 3; int i = 3; while(i++) .
2022-04-08 23:17:26 830 1
原创 曼哈顿距离分析法
公式:应用场景举例:思路,确定坐标的最大范围,因为是向上下,左右扩展,所以利用曼哈顿距离计算。代码int main(){ int ans = 0; for(int x = 0 - 2020; x <= 2020 + 2020; x++) { for(int y = 0 - 2020; y <= 2000 + 2020; y++) { //曼哈顿距离...
2022-04-08 10:16:04 410 3
原创 第11届蓝桥杯C++B组省赛
第一题,门牌号手撕就行了。代码:#include <bits/stdc++.h>using namespace std;int main(){ int cnt = 0; for(int i = 1; i <= 2020; i++) { string str = to_string(i); for(int j = 0; j < str.size(); j++) { ...
2022-04-08 10:04:36 839 2
原创 力扣3,5题,第二天。
3题,无重复最长字符子串思路:贪心算法。具体细节见代码中的注释。代码:class Solution {public: int lengthOfLongestSubstring(string s) { vector<int> v(140, 0); if(s.size() == 0) return 0; ...
2022-04-07 01:06:42 127 2
原创 力扣第7,11,12题,第一天。
12题整数转罗马数字。代码:class Solution {public: string intToRoman(int num) { //打表将每一位上的数字用罗马数字表示出来string dir[4][10] = { {"","I","II","III","IV","V","VI","VII","VIII","IX"}, {"","X","XX","XXX","XL","L","LX","LXX","LXXX","XC"}, {"","...
2022-04-07 00:54:46 872 1
原创 第十二届蓝桥杯B组C/C++
前言介绍B组里面的部分题。一、C题(直线)解题思路:利用循环枚举出每一个点, 然后利用点斜式判断直线是否唯一, 注意垂直与X轴的直线, 斜率不存在, 要在最后加上。细节:在计算斜率,和截距时可能出现小数, 要用二者差值的绝对值是否大于1e-8,判断二者是否不相同。可以把计算出的斜率存储在一个数组中,然后排序后在判断。代码:#include <bits/stdc++.h>using namespace std;vector<pa...
2022-03-29 01:05:18 1035 2
原创 P1012 [NOIP1998 提高组] 拼数(洛谷)
前言:讲述洛谷P1012 [NOIP1998 提高组] 拼数问题(c++),本人初学c++,不太会用封装,继承,以及创建类。保留了许多的c语言的语言。望读者见谅。解题方法:用了STL中的vector容器,和其提供的sort算法,也用了string类。以达到简化思路。提示:以下是本篇文章正文内容,下面案例可供参考一、解题思路利用string的比较, 即是string a + b 与string b + a 比较,然后用sort排序。举例:a = "32", b = "4...
2022-03-26 11:29:30 2540 3
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人