LOADING

加载过慢请开启缓存 浏览器默认开启

zero two

20251215记录

2025/12/15

关于我使用开发板连接wifi但是没有分配地址去花一天解决为什么无法使用mqtt连接服务器的问题

居然不知道ping一下连通性。。主要是不太信任不熟悉的代码,比如那没有一点注释的mqtt代码,就一直以为是mqtt的问题。结果就是dhcp的问题。

阅读全文

DECA实践

2025/10/13
阅读全文

hispark_pegasus/hi3861/华为云/Mqtt

MQTT 接入所需条件

1. 接入凭证

  • Client ID
  • 用户名
  • 密码
    2. 接入信息
  • 域名/地址:在 MQTT 接入信息中查找域名,通过 ping 命令获取其 IP 地址。
  • 端口:使用 1883
    3. 主题
  • 在平台的“Topic 管理”中查找。
  • 常用类型:
    • 消息上报:用于上报设备消息。
    • 属性上报:用于上报设备属性。
      4. 连接与订阅
  • 设备端连接:使用 MQTT 客户端库,并填入上述的地址、端口、Client ID、用户名和密码进行连接。
  • 规则引擎
    • 在配置规则引擎时,会设置一个 Topic 作为消息转发的目标。
    • 设备端(如 PC)可以使用接入信息的 IP + 端口 + 这个 Topic 来订阅消息。
阅读全文

解决redhat echo $http_proxy无法找到文件地址的方法及redhat虚拟机终端按键哒哒哒声音的问题探讨

问题1:当echo的时候查找~/.bashrc文件,发现脚本会继续寻找bashrc.d目录下的proxy文件并进行运行,也就是启动bash的时候就会运行那个proxy.sh文件,而proxy.sh文件可能是之前旧的代理地址,只要删除里面的内容就好了。

问题2:redhat虚拟机终端按键哒哒哒的问题主要是虚拟机的问题,并不是自己键盘的问题,可以在搜索关键词进行寻找解决方案

阅读全文

20250702学习日记

日记 2025/7/2

今天对podman进行了更深入地学习,包括podman对pod的创建,然后使用映像文件将容器创建在pod里
还有创建网络,对pod的网络进行指定(只在创建时还是有点不方便的)

了解到一个pod迁移方式:
将现有 Pod 导出为 Compose 风格 YAML
你可以用 podman generate kube 从已有 Pod 自动导出配置文件,方便迁移或复用:

创建 Pod 和容器

podman pod create --name mypod
podman run -dt --pod mypod --name web nginx:alpine
podman run -dt --pod mypod --name sidecar busybox sh -c “while true; do echo hello; sleep 10; done”

生成 Kubernetes 风格 YAML

podman generate kube mypod > pod-compose.yaml
然后你可以用 pod-compose.yaml 作为配置模板修改后再部署:

podman play kube pod-compose.yaml

基础设施容器:
在Podman中,Pod创建时会自动生成一个名为“infra”的基础设施容器(也称Pause容器),它的核心作用是初始化并维护Pod的网络命名空间,使Pod内所有容器能共享同一个网络环境、IP地址,从而实现它们之间通过localhost互相通信。这个轻量级且对用户隐藏的容器几乎不占用资源,但其生命周期与Pod绑定,确保即使Pod内没有其他容器运行,网络环境也能保持存活,直到Pod被删除时一同销毁。这种设计简化了网络管理,提高了资源利用率,并提升了可维护性,其理念与Kubernetes中的Pause容器类似,都是为了解决多容器共享网络的问题。

阅读全文

podman在pod里创建容器的时候无法运行

问题:
podman run -d --pod myapp-pod --name mysql 00a697b8380c 无法运行
解决过程:

  1. 使用 podman logs <容器ID> 查看问题,发现错误信息:
    2025-07-02 12:53:55+00:00 [ERROR] [Entrypoint]: Database is uninitialized and password option is not specified
    你需要通过环境变量指定以下之一:
    - MYSQL_ROOT_PASSWORD
    - MYSQL_ALLOW_EMPTY_PASSWORD
    - MYSQL_RANDOM_ROOT_PASSWORD
    
  2. 原因是容器启动时未进行必要的初始化,特别是未设置 root 密码。
  3. 添加环境变量 MYSQL_ROOT_PASSWORD 重新运行容器:
    podman run -d --pod myapp-pod --name mysql -e MYSQL_ROOT_PASSWORD=root1573 00a697b8380c
    
阅读全文

安装reahat之后无法使用包管理器

如何使用红帽订阅管理器将 RHEL 系统注册并订阅到红帽客户门户网站?

  1. 运行注册命令:
    subscription-manager register
    
  2. 输入用户名:
    • 提示 Username: 时,输入您的红帽客户门户网站用户名。
    • 例如,如果您使用 GitHub 账号登录,则输入您的 GitHub 用户名。
  3. 输入密码:
    • 提示 Password: 时,输入您的密码。
  4. 刷新订阅:
    • 注册成功后,运行以下命令刷新本地订阅数据,使系统获取最新的订阅信息。
    subscription-manager refresh
    
阅读全文

windows打开此电脑转圈未响应

问题原因:
Windows 作为客户端挂载了虚拟机的 NFS 服务,但未正常卸载,导致网络连接或挂载点残留。
解决方案:
使用 net use 命令强制删除残留的挂载点。

net use X: /delete

说明:

  • X: 需替换为实际的挂载盘符。
  • 该命令会断开指定盘符的网络连接,并删除挂载点。
阅读全文

mit-6s081-lab02-sysinfo

像之前那样添加syscall,和$U/_sysinfotest

代码

kernel/syscall.h

#define SYS_sysinfo 23

kernel/syscall.c

extern uint64 sys_sysinfo(void);

[SYS_sysinfo] sys_sysinfo

kernel/sysproc.c

#include "sysinfo.h"

int sys_sysinfo(void) {
    struct sysinfo info;
    uint64 addr;
    struct proc *p = myproc();

    if (argaddr(0, &addr) < 0)
        return -1;

    info.freemem = kfreemem();
    info.nproc = nproc();

    if (copyout(p->pagetable, addr, (char *)&info, sizeof(info)) < 0)
        return -1;

    return 0;
}

kernel/kalloc.c

void *
kalloc(void)
{
  struct run *r;

  acquire(&kmem.lock);
  r = kmem.freelist;
  if(r)
    kmem.freelist = r->next;
  release(&kmem.lock);

  if(r)
    memset((char*)r, 5, PGSIZE); // fill with junk
  return (void*)r;
}
uint64
kfreemem(void)
{
struct run *r;
uint64 pages=0;
acquire(&kmem.lock);
for(r=kmem.freelist;r;r=r->next)
        pages++;
release(&kmem.lock);

return pages*PGSIZE;
}

kernel/proc.c

int
nproc(void)
{
        int count=0;
        struct proc* p;
        acquire(&pid_lock);
        acquire(&wait_lock);
        for(p=proc;p<&proc[NPROC];p++)
        {
                if(p->state!=UNUSED){
                        count++;
                }

        }
        release(&wait_lock);
        release(&pid_lock);

        return count;
}

然后输入sysinfotest

阅读全文

openharmony烧录/运行

OpenHarmony 2025/5/27

关键语句

  • 启动与加载失败
    ready to load at 0x10a000 ccccccccccload fail 0xc35a69a6 ready
    Wait SELoadr ACK overtime Wait connect success flag (hisilicon) overtime.
  • AT指令无返回

烧录问题

  • HiBurn 工具
    烧录时使用 OHOS_Image.bin 文件。文档中可能提到选择两个文件,但实际应选择一个整合好的文件,这可能是文档的疏漏。

AT指令问题

  • 运行环境
    AT指令需在特定工具(如 IPOP)下运行。
  • 发送格式
    发送AT指令后必须加回车,否则可能无反应。不同串口调试助手的处理方式可能不同。
阅读全文
avatar
lAn_rEd

Description
一个喜欢幻想的人

问答