- 博客(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 支持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
原创 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
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅