1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/zhou-wenqi-ipc-for-car

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Это зеркальный репозиторий, синхронизируется ежедневно с исходного репозитория.
Клонировать/Скачать
致用图传文档.md 7.7 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
15973154347 Отправлено год назад 0b46b79

使用说明

一、功能介绍:

1.保存图像:将图像自动保存于.exe 文件目录下的photo 文件夹 2.读取图像:可以读取设定大小的.png 图像; 3.导出视频:将保存的图片集转化成.avi 格式的视频; 导入视频:将视频转化成视频集并且显示在上位机,建议保存在photo-video 文件夹下; 4.开始播放:播放导入的视频,并将视频分解出来的图像保存在指定目录下; 5.下面的进度栏:拖动可以选择图片; 6.左下角的状态栏:显示像素点位置; 7.选择图片播放集:可以播放任意含有图片集合的文件中的图片。(图片命名需要遵循格式Pic1……Picn) 注意:由于在上位机中的图像处理使用的是丑牛下位机的源码,所以图像处理的大小是60*80。如果不使用上位机的处理,则勾选传二值图(带边界),遵循相关协议(在后面),则可实现显示单片机发来的带边界的图像。

二、交互协议:

图传协议:头帧CSU 尾帧USC 示例:

	unsigned short int len = sizeof(Image_Use)+6;//PIC二代需要发送一个表示发送包大小的帧
	seekfree_wireless_send_buff("CSU",3); //发送头帧CSU
	seekfree_wireless_send_buff(Image_Use[0],4800); //发送图像4800 个字节
	seekfree_wireless_send_buff("USC",3); //发送尾帧USC
二值图带边界转化协议:
    #define RED 1
    #define BLUE 2
    void PixleToIpc(){
        for(int i=0;i<60;i++){
            for(int j=0;j<80;j++){
                if((j==ImageDeal[i].LeftBorder||j==ImageDeal[i].RightBorder))
                        Ipc_Image[i][j]=RED;
                    else if(j==ImageDeal[i].Center)
                        Ipc_Image[i][j]=BLUE;
                    else
                        Ipc_Image[i][j] =Pixle[i][j];
                    }
                }
        }
//pico驱动中串口发送其实就是普通图像传输前后加一个帧
	unsigned short int len = sizeof(Image_Use)+6;//PIC二代需要发送一个表示发送包大小的帧
	seekfree_wireless_send_buff(&len,2);
    seekfree_wireless_send_buff("CSU",3);
    seekfree_wireless_send_buff(Image_Use[0],4800);
    seekfree_wireless_send_buff("USC",3);

简单讲一下:构造一个新的图像数组,当像素点位置是边界时,将该位置的灰度值置RED(1),当改像素点为中点时,将改出灰度值置BLUE(2)。遵循这个协议,上位机上即可显示出边界。

如果使用串口版本一代致用图传上位机

示波协议:参数一头帧”T”,尾帧”P”。参数而头帧”H”,尾帧”I”。

如果使用WIFI版本二代致用图传上位机

示波协议:参数一头帧”tT”,尾帧”pP”。参数而头帧”hH”,尾帧”iI”。

//也可以使用驱动中的发送函数,选择逐飞库或者芯片驱动库中一种发送即可  以下均为一代的发送示意 具体请参考二代历程中的驱动
示波:(串口版本)
seekfree_wireless_send_buff("T2P",3);  //曲线一    头T尾P
seekfree_wireless_send_buff("H1I",3);  //曲线一    头H尾I

示波:(WIFI版本)
seekfree_wireless_send_buff("tT2pP",5);
seekfree_wireless_send_buff("hH3iI",5);
SPI 发送:

SPI 发送模式发送的字节数大小必须为4 的倍数,且发送的数据必须在连续的一段内存中,所以需要把头帧尾帧和图像串成一个数组一次性发送,具体见历程。

三、配网教程

二代模块(具体可查阅PICOII硬件手册)

配网流程(二代除配网过程与一代不同)

上电,先按住 CONFIG 键不放,再按一下 RESET 键,等待状态指示灯变绿 手机或电脑打开 WiFI 搜索 Pico Link II ,密码: 88888888 连接成功后,打开浏览器地址栏输入 192.168.4.1 访问即可进入配网界面,配置好参数后按复位键复位,模块会把新配置的参数写进 Flash,掉电不丢失。

image-20230305191114204

先点查询配置,再填写配置信息,最后烧写。

一代模块(目前售卖为二代,配网请参考PICOLINK手册)

image-20230305120613315

如上图为图传功能基本界面。当我们要实现WIFI 图传时,勾选右上角的WIFI 传输框,配置好Pic-O link 参数,即可实现实时图传。

image-20230305121006158

这是示例中Pic-O link 参数配置,如需更改,先点击读取,可以查看目前参数,需要更改请更改后先点击配置,然后点击下载,显示成功,则配置成功。由于本次传输图像为60*80 并且包含6 字节的头帧尾帧,所以我们将字节数配置为4806。

PIC工作流程:
  1. 上电

  2. WiFI 扫描模式,指示灯显示当前状态->红

  3. WiFi 连接成功,指示灯显示当前状态->绿(闪的很快)

  4. 设置为udp client 模式,指示灯显示当前状态->蓝

  5. 进入和下位机的通信模式

  6. 传输数据时,指示灯显示当前状态->白网络连接情形

image-20230305185956205

image-20230305190016156

配网时,指示灯会变成黄色,接线如下图进入配网模式:把CS 和MOSI 短接,另一侧连接USB 转TTL 模块,使用5V 供电)

image-20230305190040036

以情形二为例:电脑连上任意WIFI,然后打开电脑热点。

image-20230305190059381

打开上位机会显示本机热点局域网的IP:192.168.137.1(大部分电脑都是这个IP):

image-20230305190133261

然后开始配置Pic-o link:

image-20230305190156310

可以看到网络名称和密码以及IP 都对应上了本机网络设置,端口必须设置为2333。下载成功之后即可插上小车,显示蓝灯则表示连接成功!

注意: 如果使用SPI 发送方式,请把模式置1,在此模式下不用设置字节数和波特率!!

四、可能遇见的问题

Q:为什么我的模块一直是黄灯 A:拔掉跳线帽 Q:为什么我的蓝灯再闪但是上位机没有收到任何字节数 A:采用电脑开热点的方式,检查网络名称和网络密码以及IP 地址是否正确,电脑端是否有显示存在设备连接。检查图像尺寸是否对应。若尺寸对应则多数情况是防火墙拦截导致的。在windows 中搜索“允许应用通过Windows 防火墙”进入后找到IPC for car 将“专用”和“公用”勾选即可。 Q:为什么TC264 用1 核十分卡顿。 A:可能由于双核调度或者内存管理问题,1 核发送过大数据会导致数据乱码,建议再0 核发送,1 核处理图像。或者用spi 发送协议在1 核发送。 Q:使用364摄像头新版库时,为什么图像发出来卡顿。

A:image-20230305190504567

新版摄像头库为了解决帧数减半的问题,将摄像头使用标志位去掉了。来自一位使用TC364 的车友反馈image-20230305190553946

把mt9v03x_finish_flag 的限制加上来会解决发送卡死问题。

Комментарий ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://gitlife.ru/oschina-mirror/zhou-wenqi-ipc-for-car.git
git@gitlife.ru:oschina-mirror/zhou-wenqi-ipc-for-car.git
oschina-mirror
zhou-wenqi-ipc-for-car
zhou-wenqi-ipc-for-car
master