嵌入式开发38,39,40天(项目3:基于A8开发板的局域网聊天工具)
2016-09-06 20:14
232 查看
开篇前言:
其实想了很久要不要写这个项目出来,毕竟这个项目用到的特殊库相对比较多,这也是网上那么少嵌入式项目开发的视频一样,在嵌入式的世界里,就是为了开发某个项目而裁剪硬件,裁剪系统,把不需要的全部抛弃掉,而制作成一个特制的嵌入式产品。每个系列的产品都是独一无二的,可能你看起来表面一样,可能内部的从硬件到软件完全不同。但我看到很多人对聊天特别感兴趣,我还是决定把它放出来。从零说起。
视频展示:
http://player.youku.com/player.php/sid/XMTcxODI1NzE2MA==/v.swf项目目的:
基于开发板,在局域网内,实现网络聊天,纯linux-c编写。功能:
1)检索在线人数,并且显示ip到开发板上
2)对屏幕操作可以选择交谈对象
3)发送语音和表情
4)接收语音和表情
项目框架图:
编译环境搭建
1)显示jpg图片库2)录音库
详细过程看文档库移植步骤.txt
相关知识:
文件IO
LCD屏知识
网络编程:udp tcp 网络编程函数;自定通讯协议;
系统编程
线程概念
链表
编写框架:
1.图片载入,触摸点的描绘(发送表情的区域,单击,终端打印或“发送表情”的字坐标)2.上线广播,接收反馈信息,其它用户加入链表;
3.链表ip显示
表情命令:
1.sendto:
9b54
sendemoji xxx.jpg
广播命令:
sendto:broadcase
发送录音:
发送方:
1.sendto buf: send_record
2.sendto buf://
2.1 打开文件
2.2 读取文件
2.3 发送内容文件内容(发送校验码“1”)
3.sendto buf:send_record_end
3.1 关闭文件
接收方:
1.接收到“send_record”命令
2.写数据:
2.1 创建文件
2.2 接收数据(接收校验码比对“1”)
2.3 写文件
3.接收到“send_record_end”命令
3.1 关闭文件
代码可优化的地方:
1:udp的自定义的协议对接部分2:文件传输改为tcp协议
3:代码规范性,这也是我代码的最大问题。
4:可以加入聊天记录
5:使用内核链表存储用户信息
6:建立本地用户信息文件
7:自动获取本地IP功能,封装好
本次项目发现的问题:
1:udp的单播发送消息,路由可能会因为安全性而阻塞。2:udp广播,路由本基都会完全放行。
项目文档下载:
http://pan.baidu.com/share/link?shareid=3080466177&uk=2772267903相关文章推荐
- 嵌入式项目开发之步进电机---基于步进电机的遥控风扇
- 嵌入式软件开发培训笔记——boot原理与u-boot 基于Cortex_A8核的S5PC100芯片
- 介绍一个免费部分开源项目:基于ARM的嵌入式系统开发平台-CooCox
- 基于BeagleBone Black的嵌入式Linux开发之路(1)——开发板概述
- 基于tiny4412开发板的嵌入式linux开发环境
- 【EVB-335X-II试用体验】 基于Yocto的嵌入式的敏捷项目开发:以电子相册为例
- 基于.net开发平台项目案例集锦(转)
- 基于.net开发平台项目案例集锦
- 基于webwork spring hibernate 项目的开发
- 基于802.11b无线网站和EPXA1开发板的无线MAC开发平台
- 基于.net开发平台项目案例集锦
- 如何看待项目开发过程中基于度量结果的绩效考评
- 如何看待项目开发过程中基于度量结果的绩效考评
- 应用 Rational 工具简化基于 J2EE 的项目第 9 部分: 产品化开发与测试
- 基于.net开发平台项目案例集锦(备用)[转]
- 基于.net开发平台项目案例集锦
- 基于.net开发平台项目案例集锦
- 基于嵌入式操作系统VxWorks的图形界面开发
- 应用 Rational 工具简化基于 J2EE 的项目第 6 部分 :早期开发
- 基于动态表单技术的项目开发方法(一)