EdgeGateway_FSU 资料
 
 
 
 
 
 
Go to file
wangzhijiang efa5dc0b9f #comment add 2024-03-15 17:25:04 +08:00
CommonSH #comment add 2024-03-15 17:25:04 +08:00
DevicePortGet #comment add 2024-03-15 17:25:04 +08:00
EdgeGateway_FSU_App #comment add 2024-03-15 17:25:04 +08:00
bk #comment add 2024-03-15 17:25:04 +08:00
config #comment add 2024-03-15 17:25:04 +08:00
README.txt #comment add 2024-03-15 17:25:04 +08:00

README.txt

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

1.下载网络代码资源  https://github.com/htgd/wh_fsu#动环监控主机程序说明 20230814
2.添加对应库并编译; 20230818
3.添加端口 配置信息 及修改数据库数据库关于CfgTab_S_DevicePortFuncDef表为合并表导入 20230918
4.增加mslog库 20230920
5.将端口配置表信息 分离,方便支持每个端口支持多设备连接 20230926
6.添加cjson库相关资源
{
        "FsuCode":"11010110100001",
        "IdCodeContent":[
        {"IDCode": ".1.3.6.1.4.1.41475.1.1.4.1.1.0","Value": "112","Factor": "10"},
        {"IDCode": ".1.3.6.1.4.1.41475.1.1.4.1.3.0","Value": "130200","Factor": "100"},
        {"IDCode": ".1.3.6.1.4.1.41475.1.1.4.1.22.0","Value": "1234","Factor": "0.1"}
        ]
}
7.将端口配置表信息合并,依靠数据库列判断 20231008
8.在/etc/init.d/rcS  文件中增加两行 开机执行的代码,注意 rcS执行是放在inittab 文件里在profile之前执行profile  
cd /home/EdgeGateway_FSU_App
./EdgeGateway_FSU_App_Start.sh
9.支持ntpdate指令将Ubuntu系统下/etc/services文件复制到根文件系统etc目录下修改权限从别处根文件系统复制ntpdate到sbin目录下并修改权限202310
ln -s /usr/share/zoneinfo/Asia/Shanghai localtime  软连接 时区选择 ,也是从别的文件系统复制。

ntpdate ntp1.aliyun.com
ntpdate time.pool.aliyun.com
ntpdate time.windows.com
10.调整mqttClientApp
11.条件限定,相同编码子设备需在同一端口,暂定后续更改 202310
12.不同进程共享内存使用标准Posix 共享内存,不建议使用 System V 方式建立共享内存。 不建议shmget创建内存 建议shm_open 创建内存。kooloo add 202310
13.修改inittab文件初始化创建/dev/shm等相关文件 kooloo add 202310 新建 /dev/mqueue kooloo add 202311
14.调整文件系统,开机创建/tmp/mslog目录和/tmp/mslog/mslog_fsu.txt文件 kooloo add 202311
15.sysconf(_SC_PAGE_SIZE)或者sysconf(_SC_PAGESIZE)获取页大小,内存最小为一页,否则访问超过设定值的页读取异常 kooloo add 202311
16.再次确认 此编程数据类型int 是4字节long int 也是4字节最大是0x7FFFFFFFsizeof确认 kooloo add 202311
17.mq_open打开失败失败原因mq_open:Function not implemented 底层还不支持posix的消息队列。
解决方法是修改内核编译make menuconfig  -> General setup ->[ ]POSIX Message Queues ->[*]POSIX Message Queues.
18.注意根文件系统需要cd rootfs/ 然后 tar -vcjf rootfs.tar.bz2 *,这样才可以正常烧录,否则不会挂.,用sudo避免权限不够
19.软件调试增加一个Uart_passthroughApp主要是测试串口的读写以及串口桥接透传kooloo add 202312
20.时间戳转换 GetLocalTimeStr void GetLocalTimeStr(char* strDst); 202310 之前实现 此备注 
21.mslog库不能打印全部的cjson表缓冲区受限
mslog 宏定义 #define PRINT DebugPrint其中DebugPrint的DEBUG_STRING_MAX_LEN 缓冲区设置过小修改为1000k空间暂时无此问题 kooloo add 202311
22.cjson 库测试bug原因为有一个子节点被释放 kooloo add 202312 
/*  cJSON 填坑指南
 *  Cjson 使用注意事项 cJSON_Parse 、cJSON_Createxxx 后必须使用 cJSON_Delete 释放内存。
 *  一定要确认不在使用,不在任何节点使用,否则容易异常
 *  cJSON_Print 后必须使用 cJSON_free 释放内存。不可以乱用,容易造成异常 kooloo add 202312
 *  cJSON_DeleteItemFromObject 删除 cJSON_Createxxx 创建的对象后,不能再使用 cJSON_Delete 删除其节点数据。
 *  
 * 
 * /
23.修改CfgTab_SmartDevicePortFuncDef 将FuncConfigTypeID表和PollAddCollect合并用json表示
{"FuncCfgDefNumber":"2","FuncCfgDef:":[{"FuncCfgTypeID":"1","Add":"1"},{"FuncCfgTypeID":"1","Add":"2"}]}

之前是使用多行方式表示来实现不同ID和地址的功能实现 不需要修改 ,暂时不修改 kooloo add 202312 回滚到之前版本 
不支持相同子设备挂在不同接口上  kooloo add 202312 未做合并 如果在一起会重复覆盖 kooloo add 202312
24.调整json格式将子设备信号分类组数据完整修改后直接发送即可无需再次封装。202312
25.调整sqTable_init初始化分类个别进程初始化不需要json; 202312
26. AlarmReDiff和AlarmThreshold 新增 子设备的警告用判断参数,主要是温湿度等相关子设备使用,后续依据需要改变 kooloo add 202401
27.mqtt 数据打印消息与实际发送不一致是Mqmsgbuf缓冲区未自行截断得到一帧数据后如果数据长度没有之前的长则会打印出来所以要指定长度打印即可。kooloo add 20240109
28."ps -e -o pid,comm | grep DevicePortGetApp* | grep -v PID | grep -v grep"  主函数 进程管道时加*  kooloo add 20240109
29.数据说明1.发送数据是以子设备为单位,比如子设备的所有遥信或者遥测信号一起打包发送;2.服务器获取数据只判断接收到的IdCodeContent数组中的一个数据的子设备号和地址并处理后返回。3.服务器遥调数据不返回。
30.群方-华为太阳能整流模块S4875G 取名字过长 ,修改为 群方-太阳能模块S4875G 数据表读取有误,已经修改 kooloo add 20240130


硬件调试记录表 第一版
1.EC200G使用的是串口而不是USB接口需要实现底层而且所有口都是共用一个口建议直接用USB OTG方式挂载可以将蓝牙、wifi、4G、GNSS等在软件层分开不会有速度压力暂时先以串口使用如不能满足要求再更改。202311
2.RTL8306MB口MDIO口上拉原理图错误MDC未上拉。202311
高版本内核有RTL8366的驱动 4*GE+1*SGMII+1*RGMII
RTL8366SC-CG
LAYER 2 MANAGED 4+2-PORT 10/100/1000M SWITCH CONTROLLER

5*FE+1*(MII/RMII)
RTL8306MB-CG
SINGLE-CHIP 6-PORT 10/100M ETHERNET SWITCH CONTROLLER

3.核心板 RTC CR2012  容量38mAh大概能支持2个月左右。202311
4.内核移植 linux-imx 固件加载出错failed to load regulatory.db)问题处理
5.CAN口调试GD和核心板各挂一个CAN接口芯片两者以手拉手方式对外连接CAN0口CAN1正常收发驱动正常
发cansend can0 06081003#11.22.33.44.55.66.77.88 2023120501
CAN1口CAN2是以拓展方式使用暂时无法测试。
6.核心板OTG正常能正常烧录内核文件系统uboot等 202311
7.beep蜂鸣器高开低关与原子核心板电平相反调试时需要关闭或者断开。20231205
8.按键正常od -x /dev/input/event0 20231205
9.TF卡接口正常 20231205
10.NVCC_CSI DATA IO电压只有2.8V,CSI_DATA5和CSI_DATA6 高电平点亮 LED灯默认开 kooloo add 202312
11.WM8960芯片驱动注意原子版本2.4及以后IIC是挂在IIC1上现在原子开发板是2.4版本是挂在IIC1上要调整下设备树。把IIC1打开
12.EC200G-CN模块仅使用中国模块现在通信可UART口或者USB口建议直接USB挂在核心板上
EC200G的Reset引脚是接在CSI_DATA2引脚上此引脚上电为高电平即可。核心板可控建议将EC200G的reset脚和核心板复位按键连接在一起
EC200G的pwrkey引脚接的是CSI_HSYNC 引脚,此引脚上电设置为低,核心板可控。
EC200G-CN 连接的串口6能正常收发读取指令正常
但此接口的核心板TX不能和电脑侧的串口工具TX接在一起接在一起核心板和EC200G正常通信但是电脑无法控制EC200G电脑侧电压3.3V核心板2.8V接在一起后3.3V,电脑侧发无电平变化。不影响使用。
13.串口情况串口1调试口正常使用
串口2收发正常但串口2是接在485上485需要用自动收发控制无需软件干预
串口3到MCU上能正常收发下次预留测试点
串口4能发接收和WM8960的IIC1口干涉无法接收 ,(预留);
串口5能正常收发预留
串口7能正常收发预留
串口8能正常收发预留
14.网口RTL8306MB芯片暂时无法调通软件调试比较困难在无网络通信的情况下需要手动切换模式烧录测试内核和uboot效率太低建议在保证网口1正常通信的情况下选择一款非MIDO控制的多网口芯片。
15.与GD通信读取AI等GD未回数据GD软件接收异常已修改。
16.485透传速度较慢发115200可工作收38400可工作再高可能不工作硬件限制。
17.485透传数据超过245字节异常。