- 博客(80)
- 资源 (15)
- 收藏
- 关注
原创 ML307R OpenCPU HTTP使用
1、使用函数cm_httpclient_ret_code_e cm_httpclient_create(const uint8_t *url, cm_httpclient_event_callback_func callback, cm_httpclient_handle_t *handle) 创建客户端,2、使用函数cm_httpclient_set_cfg(client, client_cfg)设置客户端参数。4、设置请求 类型、路径、数据长度、数据。4、发送请求(同步接口)
2024-06-29 17:16:14
878
原创 ML307R OpenCPU MQTT使用
在上面代码里面,__mqtt_manager_default_publish_cb回调函数里面实现接收服务器发布的消息,同时客户端会把消息再发布到服务器。在bsp_mqtt_client_init 函数里面实现MQTT 的初始化流程,1、__mqtt_client_init 函数创建MQTT 、设置回调函数等。2、cm_mqtt_client_connect函数 实现连接MQTT。4、cm_mqtt_client_subscribe 订阅主题。5、cm_mqtt_client_publish 发布主题。
2024-06-01 00:13:44
1114
4
原创 ML307R OpenCPU TCP使用
实现现象 平台下发数据,板子在收到数据之后,马上再发送到平台,通过串口助手可以看到已经接收到数据。ML307R TCP 是使用LWIP的标准的socket通信,具体TCP流程可以自行百度。实验目的:实现把接收的数据再发送到服务端。因为是4G,所以必须用外网的。
2024-05-28 16:19:55
1266
1
原创 ML307R OpenCPU UDP使用
实现现象 上电先发送hello,之后平台发送1234,然后板子发接收到的再上传给平台。ML307R UDP 是使用LWIP的标准的通信,具体UDP流程可以自行百度。实验目的:实现把接收的数据再发送到服务端。因为是4G,所以必须用外网的。
2024-05-28 15:21:13
652
1
原创 ML307R OpenCPU 网络初始化流程介绍
模组的IMEI/SN获取接口可在include\cmiot\cm_sys.h中查看,SIM卡IMSI/ICCID获取接口可以在include\cmiot\cm_sim.h中查看,PDP激活状态查询可以在include\cmiot\cm_modem.h中查看。注意在使用网络初始化的时候,需要在SConscript里面先添加模块,如下图。开机查询了SN和IMEI,之后等待网络成功,获取网络时间 ,获取模块信号强度。还有很多 ,可以在cm_modem.h里面查看到。2.1 获取模组IMEI。
2024-05-28 11:41:07
1188
原创 ML307R OpenCPU 数据保存文件系统fs使用
ab+,打开或新建一个二进制文件,可读,只允许在文件末尾追写 */< wb+,新建一个二进制文件,已存在的文件内容清空,允许读写 */< wb,新建一个二进制文件,已存在的文件内容清空,只允许写 */< ab,打开或新建一个二进制文件,只允许在文件末尾追写 */< rb+,打开一个二进制文件,文件必须存在,允许读写 */< rb,打开一个二进制文件,文件必须存在,只允许读 */封装了一个写的函数,传递要保存的数据,打开文件 #define FILENAME "DATA",宏定义文件,写数据之后再关闭。
2024-05-26 22:33:42
521
原创 ML307R OpenCPU GPIO使用
此函数第一个参数 cm_iomux_pin_e 是一个枚举,代表的是那个管脚,这个要和GPIO功能的管脚区分,比如我这里使用GPIO4 控制LED灯,可以查看 “第一个参数是cm_gpio_num_e 是指对应的GPIO,LED控制是使用了 GPIO4,既选择CM_GPIO_NUM_4。”手册 ,LED对应的引脚号是16,所以我们选择CM_IOMUX_PIN_16,而不是对应的GPIO4,这里需要注意。和cm_gpio_pull_e pull。第二个参数cm_gpio_level_e 对应的是设置的电平。
2024-05-26 21:54:24
1532
原创 ML307R OpenCPU 定时器osTimerNew使用
ML307R 里面的OS是使用标准的CMSIS-RTOS,所以使用CMSIS-RTOS相关的定时器函数。
2024-05-26 14:09:41
593
原创 ML307R OpenCPU UART使用
UART Demo示例可以在SDK:examples\uart\src\cm_demo_uart.c中查看。3.2 设置串口事件信息 事件里面添加了 接收到新的数据事件和 接收FIFO缓存溢出事件,这个在之后接收回调中处理。可以在UART Demo示例可以在SDK:examples\uart\src\cm_demo_uart.h中查看。从这里可以看到ML307R 是用户可用只有2个串口。3.4 注册串口事件 主要是串口接收。3.6 设置启用串口接收线程。以下是完整的串口代码。
2024-05-25 18:43:54
1196
原创 ML307R OpenCPU DEMO_SDK环境搭建
这是ML307R_OpenCPU_Standard_SDK,里面提供example,custom里面是一个空项目,我们自己可以在这个项目添加自己的程序。| docs | 文档 || tools | 编译工具脚本 || out | 编译输出目录 || prebuild | 预编译文件 |
2024-05-25 17:25:50
1921
1
原创 沁恒CH582触摸功耗测试 BleTouchKey
1、在BleTouchKey_Demo中 注释掉tmos_set_event( TouchKey_TaskID, NOTIFY_DATA_EVT);准备用沁恒的CH582 做个低成本的蓝牙锁控,正好ch582 支持14通道的触摸,可以节省一个触摸芯片,测试了下功耗,具体如下。这2部处理完成,就可以编译程序下载测是功耗了。我这边测试唤醒状态 6ma左右,睡眠状态18ua左右。2、把打印log 给屏蔽掉。
2023-10-11 10:42:17
935
1
原创 LPC1114 读取74HC165数据(级联)
1、74HC165简介74HC165是8位并行读取或串行输入移位寄存器,可在末级得到互补的串行输出(Q7和!Q7),当异步并行读取引脚(!PL)输入为低时,从D0到D7口输入的并行数据将被读取进寄存器内。而当异步并行读取引脚为高时,数据将在每个时钟脉冲的上升沿从引脚串行进入寄存器并将现有数据右移一位(以此类推)。利用这种特性,只要把Q7输出绑定到下一级的输入,即可实现移位寄存器位数的扩展。74HC165的时钟输入是一个“门控与”结构,CP(时钟脉冲)和CE(时钟允许)共同产生有效时钟输入。只有在CE(时
2021-05-29 23:53:01
2550
原创 QT5 之HTTP -GET/POST请求
1、添加network模块QT += core gui network2、头文件添加#include<QtNetwork/QNetworkReply>#include <QJsonObject>#include<QJsonArray>#include<QJsonDocument>//json#include <QSslConfiguration> //https#include <QtNetwork/QN
2020-08-03 23:37:37
5449
原创 ESP866 RTOS windows开发环境搭建 Hello world!
官方详细搭建地址一、工具链的下载并设置二、从 GitHub 上 获取ESP 8266_RTOS_SDK三、安装及配置环境四、编译及查看运行结果一、工具链的下载并设置工具链的下载地址工具链下载地址 本身默认的里面是ESP32的https://dl.espressif.com/dl/esp32_win32_msys2_environment_and_toolc...
2019-08-05 10:18:14
729
原创 ESP32 windows开发环境的搭建Hello world!
官方搭建详细步骤一、工具链的下载并设置二、从 GitHub 上获取 ESP-IDF三、安装及配置四、编译及查看运行结果一、工具链的下载并设置快速设置的方法是从 dl.espressif.com 下载集成在一起的工具链和 MSYS2 压缩文件:官方下载链接https://dl.espressif.com/dl/esp32_win32_msys2_environment_a...
2019-08-03 15:34:13
13313
7
原创 ESP32 固件更新OTA
乐鑫最新的代码下载地址一、esp32 OTA的配置我是在esp-idf\examples\system\ota\simple_ota_example例子上面修改的进入simple_ota_example文件夹里面make menuconfig 选择partition Table ->Factory app,two OTA definitions选择好之后保存退出。并且编...
2019-08-02 00:40:45
7322
原创 ESP32的MQTT使用
一、ESP32的MQTT函数介绍1、esp_mqtt_client_handle_t esp_mqtt_client_init(const esp_mqtt_client_config_t *config)函数描述:根据配置创建MQTT客户端句柄参数esp_mqtt_client_config_t的结构体如下typedef struct {mqtt_event_call...
2019-07-31 23:40:35
22160
5
原创 ESP32 的esp_http_client详解
说明:我使用的是esp-idf-V3.1.3 ,官方给我们封装好了 HTTP,使用起来还是很方便一、wifi连接在main函数里面主要是做了wifi连接的初始化和HTTP任务的创建,如下是main的全部内容void app_main(){ esp_err_t ret = nvs_flash_init(); if (ret == ESP_ERR_NVS_NO_FR...
2019-07-25 02:19:10
17156
5
原创 esp32 tcp client的使用
一、esp32 tcp 客户端使用步骤1、创建一个套接字描述符 使用socket(AF_INET, SOCK_STREAM ,0)函数2、设置本地端口等 使用bind(tcpsock,(struct sockaddr *)&Loacl_addr,sizeof(Loacl_addr));3、连接server 使用connect(tcpsock, (struct sock...
2019-07-22 00:44:12
6477
原创 ESP32 udp使用
一、UDP使用的步骤1.创建等链接套接字fd=socket()sock = socket(AF_INET,SOCK_DGRAM,0);参数说明:AF_INET --- IPV4的都是使用这个SOCK_DGRAM ----指明协议是UDP TCP的是SOCK_STREAM0...
2019-07-21 23:45:31
5359
6
原创 ESP32 ping 其它设备
一、esp32 ping函数简单介绍1、函数esp_ping_set_target设置ping 的各种参数,传入的第一个参数如下enum,主要是 IP地址,IP地址个数(esp32只支持ping 一个IP),接收超时 ,ping之间的间隔 ,回调函数等,typedef enum {PING_TARGET_IP_ADDRESS = 50, /**< target IP addr...
2019-07-20 19:42:43
3989
3
原创 ESP32扫描周围wifi及连接wifi
详细的wifi连接设置可以参考这里设置wifi连接的步骤1、WIFI和LWIP的初始化阶段a.主任务调用tcpip_adapter_init()创建LWIP核心任务并初始化与LWIP相关的工作b.主任务调用esp_event_loop_init()来创建系统事件任务,并初始化应用程序事件的回调函数。c.主任务调用esp_wifi_init()来创建Wi-Fi驱动程序任务并初始化...
2019-07-18 00:12:43
20235
3
原创 ESP32 3个串口使用
一、ESP32总共有3个串口,并且3个 串口管脚都是可以重映射的1、ESP32串口使用的基本步骤2、ESP32串口函数介绍3、例子代码二、ESP32串口使用的基本步骤 官网有详细串口说明设置通信参数波特率、数据位、停止位等 --设置参数 设置通讯-其他UART连接到的引脚 --设置具体的管脚及是否选择流控位 驱动器安装-为UART驱动程序分配ES...
2019-07-09 01:14:34
31519
5
原创 ESP8266 获取DHT11的温湿度接入阿里云服务器
使用了ESP8266的SDK开发 加入MQTT cJSON DHT111、阿里云简单使用2、代码简单介绍3、源代码1、阿里云简单使用介绍 阿里云物联网平台a、进入阿里云物联网平台,如果没有注册那么就要注册开通,否则直接登录就行,如下图、如果已经开通了直接登录就行, 进入管理控制台b、进入管理控制台之后就可以看到如果下图所示,再设备管理里面创建一个产品c、产品创建...
2019-06-23 00:07:10
9503
9
原创 LWIP 实现DHCP及DNS功能
一、实现DHCP1、定义#define LWIP_DHCP 12、调用dhcp_start(&enc28j60_netif); 启动DHCP3、检测DHCP是否成功4、在while中调用sys_check_timeouts();函数处理内核各种定时事件(1.4.1中才有这个函数,之前版本没有)5、实验结果(确保路由具有
2017-11-19 21:00:18
11040
原创 RL-TCPnet之TCP服务器(enc28j60)
参考安富莱的教程 上节的RL-TCPnet移植 一、’Socket和监听的关系 创建的一个socket只能创建一个监听。 创建的一个socket不能够监听多个 。 创建多个socket可以创建多个监听。 创建多个socket可以仅创建一个监听。二、API函数介绍1、函数tcp_get_socketU8 tcp_get_sock
2017-11-06 21:35:21
2292
原创 RL-TCPnet移植到enc28j60
参考安富莱的教程一、移植前的准备a、一个完整的STM32简单LED灯的工程b、编译环境Keil4.74c、查看RL-TCPnet要点,了解移植相关需求一、RL-TCPnet的底层提供了两种方式 中断和查询 ,我使用的是enc28j60 使用的是查询方式查询方式提供三个函数实现1、void init_ethernet(void) 初始化以太网控制器void
2017-11-05 21:28:46
1177
原创 FreeRTOS操作系统移植
参考安富莱的FreeRTOS教程学习的1、移植前准备一、开发环境MDK、STM32F103R8T6(我身边的板子是这个型号、学习用)二、简单工程里面不能有 SysTick,PendSV 和 SVC 三个系统中断的使用,因为 FreeRTOS 系统要使用这三个中断2、正式移植一、从官网下载FerrRTOS FreeRTOS下载地址 https://sourcefo
2017-02-26 22:44:03
7345
原创 单片机enc28j60的ARP实验
一、ARP的功能ARP的基本功能是使用目标主机的IP(网络地址)地址,查询对应的MAC(物理地址)地址,以保证底层连路上数据包通信的进行。二、ARP的种类ARP的种类包括两种:ARP请求包--通过以太网广播的方式发送的,用于向具有某个IP地址的主机发送请求,希望该主机返回其MAC地址。ARP应答包--收到ARP请求的主机会比对该数据包的IP地址与自己的IP地址是否符合,
2016-12-29 22:46:50
1371
原创 单片机采用RLE算法实现液晶屏显示图片
由于需要用到液晶屏(320*240)显示图片,而且图片的数量比较多(好几百张),并且图片要求保存到16M的SPI FLASH里面,显然如果不处理 16M的FLASH明显是放不下去。后来同事说可以用压缩算法RLE,并且用C#给我做了个小的软件,压缩图片得到RLE压缩后的数据。点击打开链接 ---------- 详细的RLE算法可以参考次连接http://blog.youkuaiyun.com/orbit/
2016-11-29 00:10:38
3529
转载 FM1702 13.56Mhz读卡器天线PCB设计
转载http://www.zlgmcu.com/Fmsh/technology.asp如图 1所示,13.56Mhz读卡器天线电路包括两大部分,其中黄色区域是信号接收电路;下面的蓝、绿、土黄色区域是信号发射电路。下面分别介绍两部分电路。 发射电路:信号发射部分可细分为EMC滤波电路、谐振与阻抗匹配电路、线圈三部分。其中:EMC滤波电路:主要是由LC低通滤波电路组成低
2016-11-01 09:38:33
14159
1
原创 Esp8266出现fatal exception问题如何处理?
发生“fatal exception”问题如何处理?可以在 (*.S) 文件中找出对应的地址,添加打印以便定位问题。Fatal exception (28):epc1=0x4025bfa6, epc2=0x00000000, epc3=0x00000000, excvaddr=0x0000000f, depc=0x00000000比如使用的是 user1.bin,那么就
2016-10-09 00:40:12
14907
3
5.8G模块设置距离 5820调参工具&协议
2024-05-03
ESP32 ping功能的实现代码
2024-05-01
ESP8266_NONOS_SDK-3.0可运行
2019-05-05
RL-TCPnet -TCP服务器
2017-11-06
ESP8266的SDK开发的PWM
2016-05-21
电子CAD实训教材.doc
2013-06-15
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人