巡线小车
这个项目是在大学中的第一个项目我就没有写在简历上。
这个巡线小车,电路上就是两个电机,两组发光二极管和光敏接收器,
还有一个电压比较器,再就是一些电容电阻。
从画原理图到封装pcb最后拿到板子和元器件进行焊接,
烧写程序都是一个人在大学跟着老师一点一点做的
智能小车
这个是一个裸机开发的,单片机程序,用的芯片就是stm32f103芯片。
主要实现的功能就是,红外遥控控制、ps2控制、WiFi、蓝牙控制、超声波跟随、巡线。
地盘是麦轮和阿克曼。
使用标准库开发底层的驱动,编程语言是c语言,使用keil软件编写烧录。
员工管理系统
1.需求分析
功能性分析(具体实现的功能):
管理员:添加用户、删除用户、查询所有用户信息、查询任何用户信息、历史记录
用 户:查询个人信息、修改密码、修改基本信息、历史记录
2.总体分析
用户
1.注册 2.登录 3.退出
chose 1: 用户名 密码 #注册成功返回(自动分配的)用户工号
chose 2: 用户名 密码 #登录成功与否
chose 3: 退出
1.查询信息 2.修改密码 3.修改个人信息 4.查询历史记录 5.退出
chose 1:姓名:
年龄:
性别:
密码:
工号:
工资:
部门:
chose 2: 旧密码:
新密码:
请确认新密码:
chose 3: 您可修改的选项如下:
姓名:
年龄:
性别:
chose 4:显示本次登录的历史记录
chose 5: 退出
管理员
1.注册 2.登录 3.退出
chose 2: 用户名 密码 #登录成功与否
chose 3: 退出
1.添加用户 2.删除用户 3.修改用户信息
4.查询用户信息 5.查询历史 6.退出
chose 1:姓名:
年龄:
性别:
密码:
工号:
工资:
部门:
chose 2: 按名字删除
按工号删除
chose 3: 您可修改的选项如下:
姓名:
年龄:
性别:
密码:
工号:
工资:
部门:
chose 4:请选择查询方式
1.所有用户信息
2.前10个用户
3.后10个用户
4.按输入条件查询(1-100) #前100个用户
chose 5: 请选择查询方式
1.所有历史记录
2.后50条历史信息
3.按输入条件查询(1-100) #前100条历史信息
chose 6: 退出
思路: 使用TCP搭建一个服务器 员工的所有信息都在服务器上的数据库中存着buff 的第0位判断模式
buff 第1位判断
1登录 2注册
3.添加用户 4.删除用户 5.修改用户信息
6.查询用户信息 7.查询历史 8.修改密码 9.退出
注册:服务器接收用户名和密码,
在数据库中插入用户名和密码,将自动生成的工号发给服务器登录:服务器接收用户名和密码,buff[0] = 1成功
在数据库中查询,匹配成功表示登录成功退出:此阶段就在客户端上实现退出,后期有什么想法在改
添加用户:添加成功buff
buff[0] 模式 1 管理员 2 普通用户
buff[1] 选项
buff[3] 成功失败
buff[4] 查询方式
buff[5] 删除方式
buff[6] 客户端的选项
buff[7] 要修改的工号
总结
这个员工管理系统,是跑在我们的开发板子上的,
我们的板子是跑的linux,将编译好的程序通过tftp去下载到板子上
在linux移植好的前提下,还要移植sqlite3轻型数据库
在运行的时候是使用的SecureCRT,进行查看程序执行的状态
没有使用qt去写图形管理界面,而是在虚拟终端上去执行程序,终端输入字符的方式去一步步执行
在实际工作中,板子到了客户手里,肯定是板子上电,服务器和客户端自动运行(修改脚本文件)
通过按键去进行操作,所以这个项目还是需要完善
物联仓储
HASS(终端节点)
比如1号仓库,hass板就相当于是放到仓库的终端节点,
hass板,是华清和阿里合作开发的教育板,是两个a7的核心,和两个m33的核心,
这个板子的上有屏幕按键,灯,还可以外接扩展设备,里边有各种各样的传感器,
比如大气压传感器,温湿度传感器,还有ap3216接近传感器,光照、电子罗盘,
内部集成了WiFi模块,它可以直接无线上网,可以和阿里云直接做通讯,
这个项目中我们把它当作一个终端的节点来用,
这个hass板子使用的是在vscode上安装对应的插件,hass板子上里边有阿里开发的操作系统,
可以使用python和c去开发,
由于对这个板子不了解,所以就使用的c开发,
直接创建c工程,基于hal层开发,(可以基于组件层开发)
FSMP1A(服务器)
HASS和我们的板子可以通过串口进行数据的传输,HASS内部设置的波特率是1500000
HASS和我们的板子也是可以进行网络通信的,因为HASS板内部有WiFi模块,
由于我们的FSMP1A板子是通过网线和Ubuntu进行通信的,如果将开发板的网口和路由器的接口接起来,
此时开发板就可以上网,
还有一种方式就是,将开发板的WiFi驱动移植上去,需要有一个usb转WiFi的模块插到usb接口上,
当板子可以上网了,他俩就可以进行网络通通信了(socket)
我的这个项目是,开发板和hass板进行串口通信的,
查看客户端给服务器传输数据
给板子移植一个网页服务器,当你点开网页的时候,可以看到服务器实时的数据,
也可以在网页端下发控制的指令
要让开发板提供网页,需要在开发板上跑一个网页服务器,boa,(在开发板上跑一个boa服务器,当打开网页的时候,boa服务器就会回传一个网页,
也可以通过网页下发指令传给hass板,hass板也可以实时传给网页数据,
也可以将开发板上的摄像头采集的环境信息显示到网页上,拍照、视频)
视频,就要用到视频流服务器,把视频流服务器,移植到板子上之后,图像最终就可以在网页端去显示
现在我们就可以直接控制开发板连接的扩展板去动作(上图没有扩展板的截图),
扩展板有灯、蜂鸣器、风扇、温湿度传感器、AP3216、四位共阴数码管。
当然也可以通过网页端去控制hass板的外设做动作,
底层的设备和上层的网页之间,一个是上传实时的数据,一个是下发控制指令
网页可以使用qt代替我这里没有代替
进一步升级
实现了上一步的基本功能,编写好驱动,网页和板子,和HASS板打通之后,
配合多线程,TCP/IP实现物联网云系统