- 博客(96)
- 资源 (3)
- 收藏
- 关注
原创 转换生成指定MAC字符串
void mac_char_change_to_string(const char *source_mac, char *str_mac, int len){ int i = 0; uint8_t tmp_high, tmp_low; for (i = 0; i < len; i ++) { tmp_high = (*(source_mac + i)) >> 4; tmp_low = (*(source_mac.
2021-09-24 18:58:58 326
原创 IoT设备数据结构 ------ SENSOR类型
typedef struct{ base_para_t *bp; dev_type_para_t *dtp; hw_para_t *hwp; individual_para_t *sp; func_para_period_t *fpt; func_para_timer_t *fpt; func_para_limit_t *fpl; void (*callback())...
2021-08-11 23:41:45 1280
原创 ESP32 自定义组件(components)开发要点
1.文件中正常引用要使用到组件的头文件2.CMakelist.txt 内容idf_component_register(SRCS "xxx_file.c" INCLUDE_DIRS "include" PRIV_REQUIRES 组件名)PRIV_REQUIRES后面跟上要引用组件名字, 引导编译系统找到需要引用的组件头文件。3.component.mk文件# Component Makefile# (...
2021-08-05 00:04:34 3241
原创 树莓派 Raspberry 3B+ 开机自动启动服务
硬件:树莓派 Raspberry 3B+ 系统:Raspbian GNU/Linux 9 (stretch)内核:Linux raspberrypi 4.14.93-v7+ #1189 SMP, armv7l GNU/Linux开机启动脚本#!/bin/sh### BEGIN INIT INFO# Provides: serial# Require...
2021-08-04 23:57:51 444
原创 轻量级实时 IoT服务器, Linux USB 串口服务器 & 高速 WEB 服务器,实现浏览器秒级监控 <搭建开发及运行环境>
目标: 在Raspberry Pi 上,搭建 LINUX USB串口服务器、高速 WEB 服务器,实现浏览器秒级监控操作系统: Raspberry Lite OS,Linux raspberrypi 5.10.17-v7+
2021-07-11 09:09:05 430 3
原创 LINUX USB 多串口通讯之六: 搭建 nginx + php7.3 + sqlite3 WEB 服务器, ngrok 内网穿透 WEB 服务
目的:搭建 nginx + php7.3 + sqlite3 WEB 服务器硬件: RPI 3B+, NORDIC nRF52840 USB Dongle系统:Linux raspberrypi 4.19.118-v7+安装操作sudo apt-get updatesudo apt-get install nginx sudo apt-get install php7.3-fpm php7.3-cli php7.3-curl php7.3-gd php7.3-cgisudo a...
2020-11-11 14:47:43 289
原创 LINUX USB 多串口通讯之五: sqlite3 数据库操作
目的:sqlite3 数据库操作 (MVC 模式)硬件: RPI 3B+, NORDIC nRF52840 USB Dongle系统:Linux raspberrypi 4.19.118-v7+版本: sqlite3, version: 3.27.2备注: 程序按需完善中 ...文件: sq3-base.c#include <stdio.h>#include <stdlib.h>#include <sys/time.h>#incl...
2020-11-10 14:30:32 272
原创 LINUX USB 多串口通讯之四: 单守护进程及写系统日志
目的:守护进程及相关信息写入系统日志硬件: RPI 3B+, NORDIC nRF52840 USB Dongle系统:Linux raspberrypi 4.19.118-v7+文件: daemon-ttyacm.c#include <stdio.h>#include <stdlib.h>#include <errno.h>#include <unistd.h>#include <sys/types.h>#inc...
2020-11-06 14:44:35 345
原创 LINUX USB 多串口通讯之三: 多线程操作串口
目的:多线程操作串口硬件: RPI 3B+, NORDIC nRF52840 USB Dongle系统:Linux raspberrypi 4.19.118-v7+说明:目前为堵塞式操作,后续改为非阻塞式文件: ttyacm-channel-operation.c#include <stdio.h>#include <stdlib.h>#include <pthread.h>#include <unistd.h>#incl...
2020-10-30 14:14:22 979
原创 LINUX USB 多串口通讯之二: 动态获取当前所有 USB 串口设备通道名称
目的:通过读取 /dev 目录下 USB 串口设备列表,获取当前所有 USB 串口设备通道名称#include <stdio.h>#include <stdlib.h>#include <string.h>#include <sys/types.h>#include <dirent.h>const char path[] = "/dev/";const char usb_type[] = "ttyACM";
2020-10-02 17:42:39 779
原创 LINUX USB 多串口通讯之一: 字节数组数据转换为十六进制数据
目的:把串口通讯中的字节数据,转换为十六进制数据,利于后期存储于数据库,做数据测试分析#include <stdio.h>#include <stdlib.h>struct data_of_comm{ int len; unsigned char data[100];};void bytes_change_to_HEX_string(unsigned char * data,int len,struct data_of_comm *str){
2020-09-29 21:28:11 534
原创 NORDIC nRF52840 PWM Module 硬件功能实现
硬件: NORDIC nRF 52840 SoC软件: NORDIC nRF SDK Ver 15.2功能: nRF 52840 带3路PWM硬件模块,每个模块支持4通道,总共支持12路PWM通道PWM Module 工程配置于 sdk_config.h 文件nRF_Drivers 配置中使能 PWM_ENABLED于工程文件目录中添加 nrfx_pwm.c...
2020-09-18 10:55:51 2875
原创 EPSON RX8010SJ RTC 调试笔记之五, 时钟及日历解析
硬件: EPSON RX8010 SJ时钟及日历解板示例RX8010SJ RTC 时钟芯片,除周寄存器(WEEK Register) 外,其它涉及时间的寄存器,均采用 8421 BCD 来表示.BCD码(Binary-Coded Decimal),用4位二进制数来表示1位十进制数中的0~9这10个数码.如上图所示: 秒寄存器 (SEC Register) 被设置为 0x45, 对应例中的 45 秒值.秒寄存器(SEC Register)、分钟寄存器(MIN Register)
2020-09-15 12:21:04 1596
原创 EPSON RX8010SJ RTC 调试笔记之七, 频率停止检测功能(Frequency Stop Detection Function)和频率输出功能 (FOUT Function)
硬件: EPSON RX8010 SJ频率停止检测功能(Frequency Stop Detection Function):计时更新中断功能 (Time Update Interrupt Function) 于每秒或每分钟产生一个中断事件。中断信号输出为 IRQ1。功能函数
2020-09-14 14:20:47 1388
原创 EPSON RX8010SJ RTC 调试笔记之六, 计时更新中断功能 (Time Update Interrupt Function)
硬件: EPSON RX8010 SJ功能描述:计时更新中断功能 (Time Update Interrupt Function) 于每秒或每分钟产生一个中断事件。中断信号输出为 IRQ1。功能图涉及相关寄存器功能函数
2020-09-14 14:07:17 1169
原创 EPSON RX8010SJ RTC 调试笔记之五, 固定周期定时中断功能 (Fixed-cycle Timer Interrupt Function)
硬件: EPSON RX8010 SJ功能描述:固定周期定时中断功能 (Fixed-cycle Timer Interrupt Function) 产生一个循环周期的中断事件, 在 244.14uS ~ 65535 小时之间。此功能可在某一时刻停止,也可将其做为一个累加计时器。在此中断事件发生后,其对应的 IRQ 输出状态将被自动清除。涉及相关寄存器...
2020-09-12 11:30:21 1139 1
原创 EPSON RX8010SJ RTC 调试笔记之四, 报警中断功能 (Alarm Interrupt Function)
硬件: EPSON RX8010 SJ功能描述:报警中断功能 (Alarm Interrupt Function) 基于日期, 星期中第几天,小时和分钟数据设定,产生中断事件。当报警中断事件产生时,AF 标志位会被置 "1", 引脚 IRQ1 电平被置低为 "0" . 当报警中断触发后的 1.46mS (最大时间), AF 标志位和 IRQ1 输出状态会被改变.IRQ1="L" 会保持,除非给予强制中止指令涉及相关寄存器...
2020-09-08 11:52:49 1551 2
原创 NORDIC nRF52840 输入引脚初始化及中断操作
硬件: NORDIC nRF 52840 SoC软件: NORDIC nRF SDK Ver 15.2硬件中断触发: 低电平触发Step 1: 正确配置 GPIOTE Driver 通道数Step 2: GPIO 引脚初始化#define RX8010_IRQ1 16#define RX8010_IRQ2 17#define BUTTON_DETECTION_DELAY APP_TIMER_TICKS(50) /
2020-09-08 11:28:37 3130
原创 长程蓝牙控制器 (8DI, 8DO, 1路 RS485, 1路 I2C, RTC )
主要硬件: Nordic nRF52840 长程蓝牙 SoC , 外置棒式天线 内置高精度度 RTC 时钟 (EPSON RX8010SJ), 支持万年历时间, 两路中断报警输出 八通道隔离输入 八通道隔离输出 (输出总负载可达 240W, 单通道最大可达 100W) 1路 隔离 RS485 1 路 I2C 十针 J-TAG,SWD 程序下载接口软件: ...
2020-09-07 11:22:09 387
原创 EPSON RX8010SJ RTC 简要功能说明及性能参数
硬件: EPSON RX8010 SJ特别注意: 对于不用的功能和保留的位(reserved bit) 进行寄存器初始化是必要的!~12.1 功能描述1) 时钟功能该功能用来读取和设置年、月、日、小时、分钟、秒、星期等数据。年份的记录范围到 2099 年,能自动识别闰年。在通讯开始的时候,时钟和日历的数据保持不变,直到通讯结束后会被自动刷新。2) 固定周期定时中断功能固定周期定时中断会定期产生一个中断事件,其重复周期根据设定在 244.14 us 到 65535小时之间。当中断发
2020-08-09 20:04:21 4667
原创 EPSON RX8010SJ RTC 调试笔记 之三,I2C 寄存器表
硬件: EPSON RX8010 SJ** RX8010SJ I2C 寄存器表RX8010SJ I2C 寄存器说明
2020-08-09 17:47:39 1833
原创 EPSON RX8010SJ RTC 调试笔记 之二,操作流程图
硬件: EPSON RX8010 SJ1. 硬件上电复位2. 参数初始化 2.1 全功能2.2 仅使用时钟功能3. 设置时间和日历4. 读取时间和日历5. 设定固定周期定时器功能6. 设定报警中断功能
2020-08-09 17:32:35 1925
原创 EPSON RX8010SJ RTC 调试笔记 之一,I2C 地址及通讯时序
硬件: EPSON RX8010 SJ ,Nordic nRF5884 SoC1. EPSON RX8010 SJ I2C 地址: 0x64<特别注意: RX8010SJ 一次I2C 通讯周期须 < 0.95 秒;>2. RX8010SJ I2C 读写通讯时序2.1 I2C 写指定寄存器地址数据2.2I2C 读指定寄存器地址数据2.3I2C 读取没指定寄存器地址数据3. I2C 通讯示例3.1 向 0x20 寄存器中写入数据 0xA5...
2020-08-09 17:02:58 3736 2
原创 NORDIC 软硬件调试笔记
1. nRFgoStudio 找不到JLinkARM.dllSegger 第一次安装,会在注册表中添加安装路径字段,nRFgoStudio 根据此来寻找JLinkARM.dll。当卸载/更新Segger的时候,注册表的相关的字段是不会被修改的!如果卸载了第一个安装的Jlink版本,就会报错提示找不到相应的DLL。安装更新版本的Segger也是不可行的,因为它还是不会修改相关字段。故需要手工修改下面两个注册表项目到正确的安装路径:HKEY_LOCAL_MACHINE\SOFTWARE\S...
2020-07-23 11:58:19 445
原创 Raspberry Pi 与 Nordic nRF 52840 USB 通讯测试笔记
硬件: Raspberry Pi 3B+, Nordic nRF52840 SoC操作系统: Raspbian Lite, Nordic softDevice S140RPI 串口硬件查看$ ls /dev/ttyACM*$ dmesg | grep ttyACM*RPI 串口操作# 向串口写数据$ echo data > /dev/ttyACM0# 从串口读数据$ cat /dev/ttyACM0RPI 串口设置命令stty用法:stty [-F 设备.
2020-07-22 11:38:24 1184 1
原创 SENSIRION SCD30 二氧化碳传感器 I2C 通信参数及相关命令
SENSIRION SCD30 二氧化碳传感器I2C 地址: 0x61I2C 通信速率: 100KHz特别注意: SCD30 要求与其通信的 I2C Master 主机,必须支持 clock stretching 时钟延展 (12mS,150mS)SCD30 I2C 命令static const uint8_t SCD30_I2C_ADDRESS = 0x61;#define SCD30_CMD_START_PERIODIC_MEASUREMENT {0x00,0x10
2020-07-13 19:42:02 1938 1
原创 SENSIRION SCD30 二氧化碳传感器测量数据转换
硬件:Nordic nRF52840 SoC, SENSIRION SCD30软件: Nordic SDK V15.2, Keil V5.23SCD30 I2C 读取测量值命令, 0x0300参考代码float CO2Concentration,realValueOfTemperature,realValueOfHumidity;uint32_t tempCO2,tempTemp,tempHumi;uint8_t buffer[4];buffer[0] = 0x43;b
2020-07-13 17:04:18 1245
原创 NRF_LOG_INFO 打印输出浮点数 (float)
硬件: Nordic nRF5x软件: Nordic SDK V15.2, Keil v5.23nrf_log.h 中定义/** * @brief Macro to be used in a formatted string to a pass float number to the log. * * Use this macro in a formatted string instead of the %f specifier together with * @ref NRF_LOG
2020-07-13 16:22:45 3483
原创 NORDIC nRF52840 默认 NFC 引脚 (P0.09,P0.10) 改做普通 GPIO
硬件: Nordic nRF 52840 SoC软件: Nordic SDK V15.2于 system_nrf52840.h 文件中,定义#define CONFIG_NFCT_PINS_AS_GPIOS, P0.09,P0.10 做普通 GPIO 定义即可使用.
2020-06-29 09:14:30 2233
原创 长程蓝牙温湿度及光照度传感器 , 带四通道开关及指示灯(集成太阳能微能量采集功能)
硬件: Nordic nRF52840 长程蓝牙 SoC TE HTU21DF 数字温湿度传感器 ROHM BH1750FVI 光照度传感器 ANALOG ADP5092 集成MPPT和充电管理功能的超低功耗能量采集芯片软件: Nordic nRF SDK Ver 15.2实测通信距离: 300米+说明: 有少量样机可提供,有意者请来电沟通。...
2020-06-07 17:06:17 613 4
原创 经 byte[] 与 int 数据转换,于 Android 环境获取传感器实际测量值
传感器硬件: HTU31DF , BH1750 光照度传感器,ADP5092 太阳能微能量采集模块ADC : Nordic nRF52840 12位 ADC 单端采集软件环境: Android Java // 电池电压计算 // 单端电压检测电阻分压阻值为: 1500,180欧姆,ADC 转换公式:ADC值 = (Vp-Vn)*GAIN/REFERENCE * 2^(RESOLUTION-m), GAIN=1,REFERENCE=0.6,RESOLUTION=12
2020-05-25 13:04:00 315
原创 蓝牙广播包中自定义厂家数据的设置及获取
1. 蓝牙 perihperal 设备广播自定义数据设定蓝牙广播相关数据结构定义于 ble_advertising.h以下为相关数据结构关联示意图参考样例static void advertising_init(void){ uint32_t err_code; ble_advertising_init_t init; memset(&init, 0, sizeof(init)); char manufacture_data[].
2020-05-10 14:12:00 7578 9
原创 小规模长程蓝牙 Bluetooth 5 BLE 超低功耗物联网络评估测试
系统简要描述:基于蓝牙 Bluetooth 5 BLE 超低功耗技术, 以星形网络结构搭建; 蓝牙中央控制器节点采用主&从模式, 同时与19个蓝牙 BLE 节点保持联结,且与手机通过蓝牙通信。采用长程蓝牙芯片,有效通信距离达 300米 +传感器集成(uW)微瓦级太阳能能量采集及锂电池充放电模块...
2020-04-14 15:37:58 370
原创 Android: MPAndroidChart 图表框架使用笔记
资源:https://github.com/PhilJay/MPAndroidChart文档:https://javadoc.jitpack.io/com/github/PhilJay/MPAndroidChart/v3.1.0/javadoc/A powerfulAndroid chart view / graph view library, supporting line- b...
2020-03-18 17:40:59 1105
原创 Android App 开发过程中遇到的小坑记录
1.android studio源 换成阿里云 (解决gradle和插件下载同步问题)安卓项目默认编译较慢,主要原因是下载依赖资源包比较慢。可以配置阿里云镜像,加速下载。修改项目(Project) 中的build.gradlebuildscript { repositories { maven { url 'http://maven.aliyun.com/...
2020-03-18 16:52:20 296
原创 Nordic nRF5 SDK 学习笔记之十四, 蓝牙广播重要参数及回调函数
1. 样例代码/**@brief Function for handling advertising events. * @details This function will be called for advertising events which are passed to the application. * @param[in] ble_adv_evt Advertisin...
2019-12-26 14:45:01 2262 1
原创 Nordic nRF5 SDK 学习笔记之十三, SAADC
样例: ~\nRF5_SDK_15.2.0_9412b96\examples\peripheral\saadc1. ADC 功能块图2. ADC 计算公式3.于 sdk_config.h 中配置, 以及添加 nrfx_saadc.c 文件4.nrf_drv_saadc_init 初始化__STATIC_INLINE ret_code_t nrf_drv_saa...
2019-12-18 14:46:00 3665
原创 ANALOG ADP5092 微瓦级能量采集模块
功能基于 ANALOG ADP5092 制作的超低功耗能量采集模块,可采集微瓦级太阳能并储存于铁锂电池,适用于低功耗的无线传感器可采集输入电压工作范围:0.08 V 至 3.3 V 可对 16μW~600mW 能量进行高效转换 能量采集冷启动电压: 380 mV(典型值)ANALOG ADP5092 详细技术参数官方介绍https://www.analog.com/cn/prod...
2019-10-28 17:55:10 1796 5
转载 蓝牙 MESH 学习之一,蓝科讯通的 MESH 好文链接
感谢 蓝科讯通的 MESH 好文 ~~ 解密蓝牙mesh 第1篇, http://www.freqchina.com/plus/view.php?aid=1443解密蓝牙mesh 第2篇,http://www.freqchina.com/plus/view.php?aid=1444解密蓝牙mesh 第3篇,http://www.freqchina.com/plus/view.php?a...
2019-02-11 16:24:09 2031
原创 蓝牙工具 bluetoothctl 用法简介
硬件: 树莓派 Raspberry 3B+ 系统: Raspbian GNU/Linux 9 (stretch)内核: Linux raspberrypi 4.14.93-v7+ #1189 SMP, armv7l GNU/Linux1 启动蓝牙工具软件 bluetoothctl$ sudo bluetoothctl2. help 命令[bluetooth]# h...
2019-02-07 16:59:23 23441 6
RX8010SJ_en_manual.pdf
2020-08-10
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人