自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(58)
  • 资源 (5)
  • 收藏
  • 关注

原创 事件驱动框架-libeloop

1.介绍 简单且高效的事件驱动库实现,非常适合在嵌入式环境下使用,需要极少的资源占用支持定时器事件 支持文件描述符事件 可以在多线程中使用,每个线程都有一个事件循环 目前支持在linux下使用,使用epoll作为io复用器2.源码地址:https://github.com/huangyajie/libeloop3.使用示例一个简单的echo服务器//si...

2020-03-26 13:20:15 1109 4

原创 Miloco v0.1.7:Rockchip MPP+RGA 硬件加速支持

本文介绍了在Rockchip RK3566等设备上配置MPP+RGA硬件加速的方法,用于提升摄像头解码性能并降低CPU负载。关键步骤包括:Docker部署时挂载设备节点与库文件、服务端配置启用硬件加速、通过日志和系统文件验证MPP/RGA是否正常工作。实测在RK3566设备上可降低20%-30%的CPU负载,并提供了常见问题排查方法,如权限检查、路径确认等。项目地址:https://github.com/huangyajie/xiaomi-miloco

2026-02-07 13:42:00 658

原创 Miloco v0.1.6 :米家摄像头清晰度配置 + RTSP 音频传输

修改后重启服务生效。

2026-01-31 22:21:20 608

原创 Miloco 支持Home Assistant设备作为规则触发源

XiaomiMiloco项目迎来重大更新,现已支持HomeAssistant设备作为规则触发源。除原有的摄像头视觉触发外,新增对小米净水器、智能门锁等设备的支持,实现多维环境感知。用户仍可通过自然语言交互创建规则,如"水质差时发送通知",系统会自动匹配设备并生成结构化规则。该项目将大模型能力扩展到物理世界,为智能家居带来更智能的自动化体验。最新版本已发布,开发者可通过GitHub获取源码参与开发。

2026-01-02 18:45:02 629

原创 Miloco 深度打通 Home Assistant,实现设备级精准控制

小米Miloco v0.1.4版本实现了对HomeAssistant设备的全面支持,突破原有仅触发自动化的局限。新版本通过MCP协议赋能,让AI可直接获取和精准控制各类HA设备实体(如传感器、开关等),显著提升智能家居控制的灵活性与感知能力。用户可在设备管理界面同步HA实体,并通过AI智能推理实现"所言即所得"的自动化控制,无需预先编写自动化规则。该版本标志着从"执行者"到"全面掌控者"的进化,为智能家居玩家提供更精细化的控制体验。

2025-12-20 17:29:21 1506

原创 Miloco 添加 RTSP 协议支持

摘要:基于xiaomi-miloco v0.1.2版本开发的v0.7_camera_rtsp分支新增了RTSP协议支持功能,目前已提交PR#149等待官方合并。该功能支持外部RTSP摄像头接入(RTSPIn)和小米设备摄像头RTSP服务化(RTSPOut),已在Linux和macOS平台验证通过。当前存在WebUI仅支持H.265编码的预览限制,但AI功能不受影响。开发者可通过克隆指定分支进行测试,欢迎在PR页面反馈问题或建议。

2025-12-13 19:49:21 1638

原创 消息总线框架-libebus

简单且高效的消息总线实现,用于多进程间通信,非常适合嵌入式Linux下使用

2024-08-01 21:21:19 399

原创 协程框架-libeco

简单且高效的协程框架实现,由coroutine+socket+eloop 组成与实现

2024-07-24 21:34:04 281

原创 openwrt使用花生壳域名

1.编写一个oray.sh脚本#!/bin/shUSER="花生壳账户"PASS="花生壳密码"DOMAIN="花生壳域名"IP=`ifconfig pppoe-wan|awk -F "[: ]+" '/inet addr/{print $4}'`URL="http://${USER}:${PASS}@ddns.oray.com/ph/update?hostname=${DO...

2019-10-14 19:13:06 5603

原创 修改网络设备在路由器中显示名称

(1) 方法1:udhcpc -R -b -p /var/run/udhcpc.eth0.pid -i eth0 -x hostname:MYDEV(2) 方法2:直接修改hostname

2019-10-12 08:44:26 4815

原创 nodejs v6.0.0移植到R16平台

1.configureexport CC=arm-openwrt-linux-gcc export CXX=arm-openwrt-linux-g++export LD=arm-openwrt-linux-ldexport RAINLIB=arm-openwrt-linux-rainlibexport AR=arm-openwrt-linux-ar./configure --dest-cpu=...

2018-03-09 15:59:05 471

原创 shell参数扩展

最近在看openwrt里面的看脚本,用的太帅了,以下2个参数扩展的表达式大量使用,所有记录下来。${parameter:+expression} 如果parameter有值且不为空,则使用expression的值#!/bin/shpath1="/usr/bin"path2="/usr/sbin"path=${path1:+$path2}echo $path运行结果为:/usr/sb

2016-11-20 13:57:47 669

原创 git命令记录

1.git init 初始化一个版本库2.git add readme.txt 添加一个文件到版本库3.git commit -m "readme" 确认更改4.git check -- readme.txt  撤消息readme.txt的更改 未git add 前5.git reset HEAD readme.txt 把暂存区的修改回退到工作区。当我们用HEAD时,表示最新的版本

2016-10-27 09:33:46 416

原创 通过NDK生成交叉编译工具

$NDK/build/tools/make-standalone-toolchain.sh --arch=arm --platform=android-5 --install-dir=/tmp/android-toolchain  将会在/tmp/android-toolchain 中创建 sysroot 环境和工具链。如果不加 --install-dir 选项,则会创建 /tmp

2016-05-03 12:38:19 778

原创 Tkinter -- Grid布局

from Tkinter import *root = Tk()Label(root,text='user').grid(row=0)Label(root,text='pwd').grid(row=1)Entry(root).grid(row=0,column=1)Entry(root,show='*').grid(row=1,column=1)Button(root,text

2016-03-20 21:40:36 1371

原创 Tkinter -- Statusbar

from Tkinter import *root = Tk()label = Label(root,text='Ln20',bd=1,relief=SUNKEN,anchor=W) # anchor left align W -- WESTlabel.pack(side=BOTTOM,fill=X)root.mainloop()

2016-03-20 21:19:13 3212

原创 Tkinter -- Messagebox

from Tkinter import *import tkMessageBoxdef click(): if tkMessageBox.askyesno('info',"info"): print('click yes') else: print('click no')root = Tk()btn = Button(root,text

2016-03-20 21:10:49 4572

原创 Tkinter -- Toolbar

from Tkinter import *root = Tk()frame = Frame(root)nBtn = Button(frame,text="New")nBtn.pack(side=LEFT,padx=2,pady=2)oBtn = Button(frame,text="Open")oBtn.pack(side=LEFT,padx=2,pady=2)frame

2016-03-20 20:59:10 1546

原创 Tkinter -- Menu

from Tkinter import *def callback(): print("called")root = Tk()menu = Menu(root)root.config(menu = menu)fileMenu = Menu(menu)menu.add_cascade(label="File",menu=fileMenu) #add File menu

2016-03-20 20:46:29 538

原创 Tkinter -- Toplevel

from Tkinter import *root = Tk()root.title("root")top = Toplevel(bg='red')top.title("toplevel")root.mainloop()

2016-03-20 20:28:30 778

原创 Tkinter -- 事件与绑定

参考官网上示例,链接effbot.ort/tkinterbook from Tkinter import *import tkMessageBoxroot = Tk()def btnClick(ev): frame.focus_set() # must other is not work print "left buttn clicked at ",

2016-03-20 20:21:31 955

原创 Tkinter -- 通过config来配置控件属性

from Tkinter import *btn = Button(text='button',padx=10,pady=10)btn.config(bd=10,relief = RAISED)btn.config(cursor='gumby')btn.config(bg='green',fg='yellow')btn.config(font=("Times", 20, "bold"

2016-03-20 19:46:44 10149

原创 Tkinter -- 面向对象方式简单封装

from Tkinter import *class App: def __init__(self,root): frame = Frame(root) #container frame.pack() self.quitButton = Button(frame,text='quit',command = frame.quit)

2016-03-20 17:56:57 6188

原创 Tkinter -- 入门示例

from Tkinter import *root = Tk()label = Label(root,text='hello tk')label.pack() root.mainloop()

2016-03-20 17:43:25 569

原创 lua面向对象

lua面向对象的一种写法:local function _init(class,...) -- body local o = setmetatable({},{__index = class}) if o.__init__ then o:__init__(...) end return oendfunction class(base) -- body return s

2016-03-04 16:37:23 493

原创 perl在ARM上移植

1.选用的是perl-5.22.1版本2.先编译x86版本的程序,把根目录生成的generate_uudmap可执行文件保存下来3.进入Cross文件夹下,把config文件修改如下:################################################################################ This is the

2016-02-19 12:46:47 2746

原创 rsa数字签名实现

使用openssl库进行封装实现,代码如下:static int base64_decode(char *str,int str_len,char *decode,int decode_buffer_len){ int len=0; BIO *b64,*bmem; b64=BIO_new(BIO_f_base64()); BIO_set_flags(b64,

2016-02-19 12:37:20 6043 1

原创 live555在openwrt上移植

1.生成Makefile./genMakefiles openwrtconfig.openwrt 内容如下:CROSS_COMPILE= mipsel-openwrt-linux-COMPILE_OPTS = $(INCLUDES) -I. -O2 -DSOCKLEN_T=socklen_t -DNO_SSTREAM=1 -D_LARGEF

2016-01-21 12:18:10 1987

原创 gsoap在ubuntu14.04上编译

1.我使用的是gsoap-2.8.27这个版本,编译时依赖的库比较多,提前把这些库安装好,命令如下:apt-get install g++apt-get install flexapt-get install bison apt-get install opensslapt-get install libssl-devapt-get install libgtk2.

2015-12-20 15:31:12 938

原创 贪吃蛇

1.最近在了解ncurses这个字符终端处理库,使用这个库写了一个简单的贪吃蛇游戏w,s,a,d控制上下左右,代码如下:#include #include #include #include #include typedef struct _tagDirect{ int x; int y;}Direct;typedef struct _tagSnakeNod

2015-12-12 21:43:38 464

原创 堆的实现

1.堆是一棵完全二叉树,堆有两个性质,即结构性和堆序性,堆序性指的是,对于每个结点X,它的父亲中的关键字小于或等于X的关键字。2.完全二叉树很有规律,它可以用一个数组表示而不需要指针,对于数组中任意一个位置i上的元素,其左儿子在位置2i上,右儿子在2i+1上,它的父亲则在i/2位置上。具体的代码实现如下://// Heap.h// Heap//// Created by

2015-12-06 18:34:10 388

原创 快速排序

1.算法原理设要排序的数组是A[0]……A[N-1],首先任意选取一个数据(通常选用数组的第一个数)作为关键数据,然后将所有比它小的数都放到它前面,所有比它大的数都放到它后面,这个过程称为一趟快速排序。一趟快速排序的算法是:1)设置两个变量i、j,排序开始的时候:i=0,j=N-1;2)以第一个数组元素作为关键数据,赋值给key,即key=A[0];3)从j

2015-12-05 19:22:10 431

原创 双向循环链表的实现

1.主要实现创建、插入、删除、查找等操作,代码和用例如下://// DCList.h// DCList//// Created by Mac on 15/12/4.// Copyright © 2015年 Mac. All rights reserved.//#ifndef DCList_h#define DCList_h#include #include #

2015-12-04 21:15:25 504

原创 哈希表的实现

1.实现了创建、插入、查找等操作,代码如下://// HashTable.h// HashTable//// Created by Mac on 15/11/29.// Copyright © 2015年 Mac. All rights reserved.//#ifndef HashTable_h#define HashTable_h#include #incl

2015-11-29 16:18:07 492

原创 二叉查找树的实现

1.二叉查找树的定义对于树中的每个节点X,它的左子树中所有关键字值小于X的关键字值,而它的右子树中所有关键字值大于X的关键字值。2.主要实现插入,删除等操作,代码如下://// SerachTree.h// SearchTree//// Created by Mac on 15/11/24.// Copyright © 2015年 Mac. All rights re

2015-11-25 22:06:18 414

原创 队列的实现(数组)

1.主要实现了创建,入队,出队,销毁等操作,代码如下://// Queue.h// Queue//// Created by Mac on 15/11/22.// Copyright © 2015年 Mac. All rights reserved.//#ifndef Queue_h#define Queue_h#include #include #inclu

2015-11-22 23:15:50 514

原创 队列的实现(链式)

1.主要实现了创建,入队,出队,销毁等操作,代码如下://// QueueLink.h// Queue//// Created by Mac on 15/11/22.// Copyright © 2015年 Mac. All rights reserved.//#ifndef QueueLink_h#define QueueLink_h#include #inc

2015-11-22 23:13:39 453

原创 栈的实现(数组)

1.主要实现了创建、入栈、出栈、销毁等操作,代码如下://// Stack.h// StackArray//// Created by Mac on 15/11/22.// Copyright © 2015年 Mac. All rights reserved.//#ifndef Stack_h#define Stack_h#include #include #

2015-11-22 19:17:20 381

原创 栈的实现(链式)

1.主要实现了创建、入栈、出栈、销毁等操作,代码如下://// Stack.h// Stack//// Created by Mac on 15/11/22.// Copyright © 2015年 Mac. All rights reserved.//#ifndef Stack_h#define Stack_h#include #include #inclu

2015-11-22 16:29:48 383

原创 单链表的实现

1.实现创建、插入、删除、查找、遍历和销毁这几个操作。代码如下://// LinkList.h// LinkList//// Created by Mac on 15/11/22.// Copyright © 2015年 Mac. All rights reserved.//#ifndef LinkList_h#define LinkList_h#include

2015-11-22 15:05:33 371

S3C2440全套中文手册

S3C2440全套中文手册

2012-06-27

ARM9裸机———流水灯

基于TQ2440开发板写的流水灯!

2012-06-27

ARM9裸机———按键中断

基于TQ2440开发板写的,按键3通过中断来控制LED1

2012-06-27

ARM9裸机— 串口

基于TQ2440开发板写的简单和串口测试程序

2012-06-28

ARM9裸机———定时器

基于TQ2440开发板写的,通过定时器0 1S的定时实现LED1的闪烁

2012-06-27

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除