- 博客(40)
- 收藏
- 关注
原创 esp32s3中使用双通道通信解决TCP粘包问题
在tcp_server端,接收到一帧数据之后必须马上回复至少一个字节,才能保证每帧数据不粘包,在使用esp32 idf例程中的tcp_server和tcp_client通信测试时发现,如果不回复操作,300ms以内的通信时延会导致tcp严重粘包,后续解析这些数据费时费力,换一种方式,使用udp广播通道来作为数据传输通道,使用tcp连接来做状态检测,这样就可以。可能跟lwip的回环读写机制有关,这严重打乱了双向通信逻辑。tcp状态监听服务如下。
2024-04-20 13:27:05 510
原创 esp32s3中设置静态IP地址
将esp32s3单片机作为AP热点,需要配置网关和静态IP地址,系统默认是192.168.4.1,为了实现自定义可以如下配置,并且根据MAC地址自定义SSID。
2024-04-20 12:57:21 126
原创 Linux qt上实现wifi扫描结果的解析处理
在arm linux上通常使用命令iwlist wlan0 scanning获取wifi扫描的结果信息,在qt中可以不断的查找关键字,然后截取关键信息,并计算偏移来完成整个结果的解析。自定义WifiManager类来管理wifi的扫描,连接,状态显示。返回格式如下,特别在返回众多cell和包含中文后解析处理较为繁琐。WifiManager.cpp实现文件。WifiManager.h头文件。
2024-02-23 12:20:57 701 4
原创 Ubuntu主机异常关机导致VMware虚拟机断电或强制退出后无法启动解决
重启电脑,按电脑屏幕上的提示点击任意键,进入MOK管理器EFI实用程序,选择Enroll MOK,然后选择continue,然后选择yes,然后输入密码,点击enter按键,电脑启动。进入vmware,打开虚拟机,正常启动。
2023-10-08 17:48:39 421
原创 基于STM32F030的电子开关系统
从待机模式唤醒后的代码执行等同于复位后的执行进入standby模式后,只能有Wake-Up脚和RTC唤醒,特别是唤醒后,程序将从最开始运行,也相当于软件复位。专门负责长按开关机,休眠低功耗,充放电管理和安全检查等工作,从而决定是否能够正常开机。在嵌入式系统中经常需要开发长按开关机的功能,并且能够应对恶劣环境导致的电容充放电。3.待机(standby)模式 (1.8v内核电源关闭),1.睡眠模式(CM3内核停止,外设仍然运行,芯片手册上提到的几种退出待机模式的事件,2.停止模式(所有时钟都停止,
2023-08-05 18:57:25 362
原创 单片机基于BNO055的九轴姿态控制
主要特征:输出融合传感器数据先进的三轴16位陀螺仪LGA封装28个引脚低功耗,并暂停提供模式电压范围:2.4V至3.6V工作温度:-40°C至+ 85°C加速度计特点:加速度范围:±2G /±4G /±8G /±16G低通滤波器带宽:1kHz时 -
2023-07-23 20:55:01 462
原创 单片机基于BQ28Z610的电池电量计算
所需要的电流很大瞬间可以把电压拉低,导致电量预计存在很大误差,只有当设备静止时才能。在传统无人机或机器人等设备的电池电量剩余预计中,一般都使用分压电阻的方法,采集大。比例电阻的电压从而推算出整体电池电压,用当前电压来粗略的代替当前电量,这里有个很。大的问题就是当主板电路系统中存在高功率器件,比如电机,舵机,继电器等瞬时功率很高。需要获取准确的电池剩余电量可以使用库仑计结合电池放电曲线来推算。支持低至 1mΩ 的电流感应电阻器,同时支持 1mA 电流测量。适用于电压、电流和温度的可编程保护等级。
2023-07-16 11:34:45 598
原创 单片机基于CR95HF的NFC读卡器方案
,支持ISO / IEC 14443 A和B,ISO / IEC 15693 (单或双用户)以及ISO / IEC 18092等协议,能管理阅读器模式的帧编码和转换,主要用在。与MCU提供众多通信接口,比如串口,I2C,SPI等等,并且使用复杂的框架库和交互协议。在物联网产品开发过程中,近距离与静态标签和动态标签无线通信的NFC读卡器比较丰富,CR95HF提供串口通信,简单字节的应答逻辑,方便快速与NFC标签完成交互。CR95HF是用于非接触式应用的集成收发器IC。,可作为13.56MHz空中接口的。
2023-07-08 11:18:42 656 1
原创 单片机基于ST25DV动态标签的无线通信
利用I2C有线链路,任何NFC智能手机或NFC/RFID HF专业读卡器以及MCU均可以访问存储在这些标签中的数据,并且支持掉电保存。这些标签的集成度和性价比极高,可提供丰富的功能集,适用于各种应用。此外,开发人员可从评估板、软件工具、移动应用和其他资源构成的完整生态系统中受益,从而加快应用开发速度。在物联网产品的开发过程中,物联网设备非接触式向外界提供可变的交换信息非常有必要,比如路由器向手机提供可配置的WiFi信息,巡检点向手机提供动态的传感器数据等等。
2023-07-01 17:57:32 651
原创 单片机基于AW9523的多路LED驱动控制
在一些智能玩具上经常需要多路LED的控制,并且能够提供渐变渐亮呼吸效果。16个I/O端口中的任何一个都可以配置为LED驱动器模式或GPIO模式。16个多功能IO,支持GPIO模式或LED驱动(电流源调光),通电后,所有16个I/O端口配置为默认GPIO输出,标准I2C接口,AD1/AD0选择I2C器件地址,所有配置为输入的I/O端口都会持续监控状态变化。此外,任何GPIO都可以单独配置为输入或输出。任意GPIO可配置为独立的输入或输出,中断功能,8μs防抖,低电平有效,具有关断模式,低电平有效,
2023-06-27 17:16:30 898
原创 单片机基于中断信号和超时分段处理的按键长短按检测
以stm32f2为例gpio_interrupt.c主要是检测一个被设定为配对wps功能的按键输入事件,在物联网产品开发中,经常需要按键检测,特别在同时处理长按和短按的需求下,尽量减少单片机的工作负担,可以在周期循环中,使用延时消抖,超时分段处理的方法来检测长短按事件,再处理不同的逻辑。下降沿中断触发,延时消抖,超时统计长按和短按。
2023-06-24 19:39:11 260
原创 单片机基于NEC协议的红外软编码和硬解码方案
2.命令格式 9ms低电平引导码+4.5ms高电平结果码+地址码+地址反码+命令码+命令反码 (经测试必须32BIT(4个字节))+560us低电平作为结束,经测试接收管自动反向,注意这四个字节为(A,~A,B,~B)。1.逻辑0为脉冲时间560us低电平+560us高电平,1.12ms周期 ,逻辑1为脉冲时间560us低电平+1690us高电平, 2.25ms周期。在物联网产品的开发过程中经常需要基于无线的简单交互通讯,红外通讯比较适合近距离低速的。NEC红外协议,GPIO口的输出时序,
2023-06-20 17:00:57 553
原创 单片机开机安全校验系统,MCU和EEPROM绑定启动
更进一步,当单片机校验正常启动以后,再与无线通信模组进行ID信息的交换,或者。比如第一次开机可以将mcu的唯一ID保存到空白eeprom中,当再次启动时。会读取eeprom固定地址的ID信息与自身ID是否匹配,匹配不上则让单片机。在物联网产品开发过程中,尤其在量产环节,为了防止固件泄露,抄板等发生,需要在硬件电路的协助下,让单片机程序做一层安全校验系统。system_verify.c单片机开机执行校验流程。不同的应答逻辑,双方达到匹配之后才可正常工作。enc.c简单的异或加解密。
2023-06-17 17:18:43 337
原创 openwrt使用mjpg-streamer定制开发智能目标检测识别系统
摄像头采集→ yuv422格式→ 转换rgb24 → 图像识别 → turbomjpeg压缩→ mjpeg显示,send_stream函数负责基于http协议封装议每一帧mjpeg,可以在此处自定义帧头帧尾实现。其将USB摄像头采集的图像通过HTTP或RTSP的推流方式推向客户端显示,编码格式是mjpeg,使用linux v4l2视频采集框架和c_detect函数实时检测目标。本文在图像采集环节对目标进行图像分类和检测识别,并将目标框选出来。其中图像识别采用基于haar特征的级联分类器用于目标检测。
2023-06-11 12:58:07 396
原创 openwrt中使用sshpass执行远程任务
开源项目sshpass可以使用明文密码文件做到免密执行,非常适合在物联网设备端访问控制端的系统,达到双向鉴权的效果。在物联网产品开发过程中,常规的ssh命令可以登陆远程设备并执行命令,但是需要在命令行输入密码,不是很方便。执行远程脚本 /etc/config/get_wifiboard_name.sh,明文密码文件位于 /etc/config/sshpass_config,登陆远程设备 root@ip,可以在线程中等待返回结果。
2023-06-09 12:26:58 597
原创 openwrt在allwinner r328平台开启中继脚本
2.start_repeater.sh使用wpa_supplicant启动sta模式中继指定热点。1.start_ap.sh使用hostapd启动热点。
2023-06-07 13:11:03 73
原创 openwrt在allwinner r328平台开启5G WIFI AP
3.start_ap.sh启动热点脚本。1.hostapd.conf配置。2.udhcpd.conf配置。
2023-06-06 12:57:04 588
原创 openwrt在命令行或脚本中实现毫秒级延时
可以通过头文件位于unistd.h的usleep函数实现毫秒级延时,再将其封装为。在Linux/openwrt等嵌入式系统中在命令行或者脚本中只能实现秒级延时,比如 xdelayms 100 #100ms delay。比如sleep命令。
2023-06-06 12:10:00 527
原创 openwrt在allwinner r328平台rootfs升级脚本
openwrt在allwinner r328平台rootfs升级脚本,可以快速部署验证。
2023-06-06 11:52:30 158
原创 openwrt中使用多线程检测按键的长短按事件
在Linux/openwrt系统中可以通过ioctrl的方式读取设备节点/dev/input/eventX,并且轮询读取input_event信息便可以检测到按键的触发情况。在物联网产品中经常需要检测按键的长按和短按,并由此触发相应事件。再结合多线程延时计数消抖来区分长短按事件。
2023-06-02 14:33:16 192 1
原创 openwrt中自定义配置文件解析
在Linux/openwrt等嵌入式系统中,使用到了大量配置文件,比如硬件配置,系统配置,应用程序。可以参考openwrt的uci命令系统,简易的自定义自己程序的配置文件解析,方便于在命令行或。这些配置信息通常都是以文本文件为载体,以键值对的形式存储于本地或远程文件系统中。测试配置文件./etc/config_file_rw.conf。应用程序内部即时读写配置参数。
2023-06-01 12:18:47 578
原创 openwrt对单片机程序加解密存储和传输
比如对整个二进制文件以16字节为段,每段进行AES编码,不足16字节需要补全后再编码,在物联网产品开发中,经常需要对单片机或其他嵌入式系统进行在线升级,原始二进制文件。在存储和传输的过程中非常不安全,可以对二进制文件进行高效的加密之后再使用,在新文件尾部使用额外两字节记录与原始文件的差值大小,方便解密还原使用。并在片内进行解密之后再执行各自的升级任务。交叉编译Makefile文件。
2023-05-30 22:53:13 163
原创 openwrt中开发ser2tcpclient(串口转tcp实现高速透传)
作为Linux/openwrt系统下串口转以太网服务端使用非常广泛, 并且非常适合作为被动监听连接场景下的物联网设备使用,本文开发的ser2tcpclient就是将串口转为tcp协议为主的客户端,方便在局域网中实现高速的点对点通信。2.无线网络管理器不断尝试搜索,连接,认证,握手,通信数据加解密,通信虚拟时间同步,双向数据透传和监听无线信号。网络连接的认证,握手,同步,加解密,双向数据透传管理。使用mavlink协议状态机接收mcu上报的数据帧。无线信号的配对,连接,认证,状态监听的管理。
2023-05-29 23:31:55 811
原创 openwrt使用ser2net构建控制器端到设备端到TV显示端的物联网解决方案
cmd_dispatcher_thread_func函数负责所有下发串口的任务,msg_upload_thread_func函数负责所有上传网络连接的任务。handle_tcp_fd_read函数负责tcp连接的监听数据读取任务,handle_dev_fd_read函数负责串口设备的监听数据读取任务。local_udp_client_init函数和handle_udt_platform_opts函数负责与TV显示端的udt监听服务通信。3.TV显示端使用udt的连接方式与多台设备端局域网高速通信。
2023-05-26 18:14:37 650
原创 openwrt使用dropbear屏蔽fingerprint询问
经常遇到fingerprint与本地缓存的不一致而导致命令行询问Y/N或者host key异常终止,在使用scp命令从主机下载文件到板子上或者从一块板子下载文件到另一块板子上,可以修改dropbear/cli-kex.c完全屏蔽询问。这样会堵塞应用程序自动执行,
2023-05-26 11:40:01 93
原创 openwrt中开启和监听中继模式自动化脚本
成功,可以在后台开启监听脚本fix_sta_ap_service.sh, 在前台提供执行脚本start_repeater.sh。在使用openwrt开启中继模式,需要为新的网络接口分配不同mac地址,需要监听中继模式首否。
2023-05-24 17:58:53 403
原创 openwrt中修改printk永久关闭内核打印
在物联网产品中主板mcu和wifi通信板上电启动,mcu会收到大量openwrt的启动信息,为了减少对mcu的干扰,可以通过修改内核的 printk.c完全禁止打印,同时也提高了系统。
2023-05-24 17:08:17 304
原创 openwrt中控制gpio引脚
在物联网产品开发中经常要控制一些led灯或者监听一些按键,可以使用内核的gpio export功能导出需要的引脚。
2023-05-23 18:25:10 488
原创 openwrt对mcu安全校验启动
比如openwrt每次开机获取主板的mcu id和自身的网卡macaddr,将二者通过组合新字符串后再使用md5校验做摘要算法,最后将结果存储在本地文件,每次开机做对比判断即可。在物联网产品开发中,mcu主板和wifi通信板通常是分开的,并且二者开机有先后顺序之分,为了保护系统安全可以增加开机校验流程。交叉编译Makefile文件。
2023-05-22 18:12:17 151 1
原创 openwrt中自动选择最优无线信道
人为的干预切换设备的信道效果甚微,并且面对大量设备时也力不从心,可以综合环境因素让设备开机或定时自动选择当前最优信道。在物联网产品运营的过程中,产品所处的环境非常复杂,各种无线信号相互干扰,
2023-05-18 21:46:49 1181
原创 openwrt中设置mac地址
以高通 ATHEROS AR93XX为例, 硬件mac地址存放于uboot的一个固定地址中.在对物联网产品开发测试的过程中,需要对无线射频芯片配置mac地址,在openwrt中可以开发setmac程序来配置.
2023-05-15 21:10:07 1584
原创 openwrt中使用udt通讯
并且当物联网设备突然断电后连接会在内核中挂起,出现超长等待, 使用udp虽然不会让通讯。在项目当中一般使用tcp作为网络通信连接,但需要经历多次握手和分手才能建立可靠连接,出现挂起现象但是数据不是按照队列方式发送,并且也不能确保收据收发的完整性,执行交叉编译 make -e os=LINUX arch=-DMIPS。在openwrt中创建udt的封装库libudt_trans.so。udt交叉编译修改udt4/src/Makefile。所以在面向物联网的产品使用开源项目。能比较好解决上述二者的缺陷.
2023-05-14 14:14:12 229
原创 多台openwrt设备在局域网中搜索发现
比如ip地址,设备数量,设备种类等等,可以在openwrt本地构建udp服务端来监听请求广播,然后回传给请求端信息即可.多台基于openwrt的物联网设备接入到同一台路由器下, 需要动态的获取这些设备的信息,openwrt udpserver本地程序。PC请求端以java为例。
2023-05-14 10:52:01 391 2
原创 openwrt对stm32/gd32单片机在线升级
对于stm32/gd32单片机出厂默认都自带了串口bootloader,可以通过串口连接PC升级程序,对于stm32有升级软件Flash Loader Demonstrator,对于gd32有升级软件GigaDevice ISP Programmer,前提要使单片机进入下载模式, BOOT0 = 1,BOOT1=0并复位即可.对于面向物联网的产品,比如采用Linux+RTOS双系统架构的soc+mcu方案, 也可以在系统内完成升级操作而无需拆机线刷.在上使用开源软件。
2023-05-13 23:13:04 844 2
CLRC663单片机驱动原理图
2023-10-10
QT完整自学例程序demo
2023-10-07
基于STM32的舵机机器人的遥控器主板原理图(包括多路并行ADC采集,摇杆控制,充放电管理,蓝牙通信).pdf
2023-09-16
基于STM32的舵机机器人主板原理图(包含底盘轮式驱动,上肢舵机控制,陀螺仪姿态控制,红外和压电感应).pdf
2023-09-16
XILINX ZYNQ UltraScale+ ZU2EV SCH核心板原理图
2023-07-24
Linux/Ubuntu CH340/CH341最新驱动程序
2023-07-24
ZYNQ UltraScale+ MPSoc ZU5EV核心板原理图
2023-07-12
单片机基于ST25DV动态标签的无线通信
2023-07-01
Makefile快速入门
2023-06-29
MPSoc之FPGA开发指南
2023-06-26
MPSoC之嵌入式Linux开发指南
2023-06-25
基于mjpeg-streamer定制开发智能目标检测识别系统
2023-06-11
全志R328智能音箱智能机器人核心板原理图
2023-06-06
AR9344 UBOOT可量产完整源码,自带编译工具链
2023-06-02
AR9331 UBOOT可量产完整源码,自带编译工具链
2023-06-02
openwrt对单片机程序加解密存储和传输
2023-05-30
ser2tcpclient串口转tcp实现高速透传
2023-05-29
ser2net定制tcp转串口转udt透传物联网解决方案
2023-05-26
openwrt对mcu安全校验启动
2023-05-22
openwrt对stm32gd32单片机在线升级.zip
2023-05-13
GD32F4XX硬件I2C高速读写数据.zip
2023-05-13
GD32F4XX串口空闲中断加DMA收发数据.zip
2023-05-13
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人