(Linux)MJPG_Streamer 网络监控
安装依赖 sudo apt-get install subversion libjpeg8-dev imagemagick libv4l-dev cmake git 安装mjpg-streamer git clone https://github.com/jacksonliam/mjpg-strea
(Linux)Arm64 中运行 X86_64 Docker镜像
今天不知咋的想起来在 aarch64 跑个 x86 的 Ubuntu Docker 镜像 -- 应急,毕竟有些交叉编译工具链还是需要 X86 平台,为了这个买个新主机那太浪费了。手头的斐讯 N1,4 核A53 还能再压榨压榨。在群里探讨成果,却被说:大年三十还在搞嵌入式啊。哎,我真是又笑又哭。 指令
(Linux)FFMPEG 哔哩哔哩推流直播
安装 ffmpeg apt install ffmpeg 目录依次推流脚本 #!/bin/bash PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin export PATH folders=( # 推流
(LIB)软件I2C
硬件IIC读取写入函数 HAL_I2C_Mem_Read(&hi2cx, DEV_ADD, REG_ADD, ADD_SIZE, &DATA, DATA_SIZE, HAL_MAX_DELAY); HAL_I2C_Mem_Write(&hi2c, DEV_ADD, REG_ADD, ADD_SIZE
(Linux)Docker 安装 Ubuntu 环境
安装 Docker For Desktop 获取镜像 docker --version docker-compose --version docker pull ubuntu:20.04 # 获取 ubuntu 镜像 docker image ls # 查看当前安装的Docker镜像 创建容器
(LIB)步进电机篇
中断控制方法和PID #include <MPU6050_tockn.h> #include <Wire.h> MPU6050 mpu6050(Wire); float value, gy; #
(ESP-IDF)蓝牙广播
使用流程 定义 PHY地址 设定广播参数 定义广播内容 开启bt_controller/bluedroid 配置广播参数并执行 注意事项 待完善 代码示例 #include <stdlib.h> #include "freertos/FreeRTOS.h"
(freeRTOS)事件组
使用流程 创建事件组句柄 定义事件组标志位 Task1:事件组标志位置 1 Task2:创建等待事件组事件;检测事件组标志位是否置 1 注意事项 待补充,纯属一个 Flag。 代码示例 #include <FreeRTOS.h> #include <task.h> #
(freeRTOS)软件定时器
使用流程 创建定时器句柄 启动定时器 注意事项 启动定时器后,延时一个周期再执行定时器回调,不会立刻执行。因此,当定时器句柄中的 pdTure 改成 pdFalse,这就是个延时任务。 延时任务执行一次之后,如果再次执行xTimerStart,会再次执行一次延时任务。 代码示例 #include "
类和对象
基本形式 #include <cstdio> class Rectangle { private: int leng; int wide; protected: public:
(freeRTOS)消息队列
这就是个往别的 Task 发送数据的,可以是任何数据。 使用流程 创建队列存数据 Task1:发数据到队列 Task2:等队列有数据,阻塞状态 特殊情况 条件:队列大小为 5。 Task1:每隔 1 秒往队列发送数据。 Task2:每隔 10 秒接收一次数据。 到了第 6 秒,队列已满。 会发生:
(freeRTOS)二进制信号量
二进制信号量和互斥锁所用的底层函数相同,xSemaphoreTake()和 xSemaphoreGive()。但不相似。 互斥锁中这两个函数分别扮演着开锁和关锁的角色。 而在二进制信号量中,却类似于 flag 的用法。具体如下: 使用流程 目的:Task2 等待 Task1 的信号并且执行任务 定义
CPP 面向对象大纲
类和对象 重载运算符和重载函数 继承 多态 抽象 封装
(freeRTOS)互斥锁
使用流程 此时有一个变量,存在多个任务,各自会针对该变量进行长达 10ms / 15ms 的处理。 给出一个互斥锁。 Task1:开锁->操作10ms->关锁 Task2:开锁->操作15ms->关锁 在 Task1/2 关锁前 Task2/1 无法对变量进行操作,此时 Task2/1 会进行阻塞
(freeRTOS)大纲
互斥锁(Mutex) 信号量(Semaphore) 消息队列(Queue) 软件定时器(Software Timer) 任务通知(Task Notifi
(Elec)MOSFET
NMOS 和 PMOS的区分 箭头朝向Gate栅极则是NMOS 背向Gate栅极则是PMOS 里面的二极管和箭头方向一致 NMOS是Gate大于Source阈值电压后导通,也就是大于Source 4V PMOS是Gate小于Source阈值电压后导通,也就是小于Source 4V MOSFET 对应
(WCH)WCH 工具链
MRS MAC Toolchain&OpenOCD使用说明 软件依赖于libusb库,请自行安装,可以使用brew install libusb,或者下载libusb源码,自行编译安装设置环境变量。 FLASH CMD [RISC-V] sudo ./openocd -f wch-riscv.cfg
(ESP-IDF)BLE mesh 基础知识
GAP && GATT GAP 设备发现、连接和身份验证等。 GATT 设备间数据传输和解释。 历史 Bluetooth SIG 组织于 2017 年发布蓝牙 Mesh 标准。 BLE Mesh 建立于物理层与链路层之上 [2402~2480Mhz;工作模式:Advertising && Conne
(Linux)玩客云配置
哔哩哔哩张大七 up 主写的 连接SSH后进行如下操作: 下面的命令逐行复制,然后鼠标右键粘贴就行。 1.更新: 更新软件列表 apt-get update 更新软件 apt-get upgrade 2.安装宝塔5.9版本: wget -O install.sh http://download.bt
(ESP-IDF)BLE 基础知识
官网 主要参考资料 蓝牙广播 包含 3 个广播信道[37 38 39]和 37 个数据信道 频段范围从2402Mhz~2480MHz 一个广播数据包最长 37 字节 [mac地址 x 6字节 + 用户使用 x 31字节] 用户使用的 31字节又包括若干个广播数据结构体[AD Structure] 每