换电开发小结
1.方面
模块:
2G 通信:A9G 模块
4G 通信:移远 EC20,合宙 Air724UG
主控:勘智 K210,stm32F103C8T6,stm32F413RCT7(后期)
采集:SH367309,GPS 模块
外设:
通信:UART,CAN,RS485,SPI,IIC
传感器:温度传感器,重力传感器
显示:串口屏,SPI 屏
声音:喇叭
协议:
- 换电柜通讯协议
- CAN 通讯协议
- 换电网络通讯协议
2.历程
2019~2020:前期研发
- 3月~6月:换电柜整体设计,主板硬件设计,控制逻辑,初版定型,软件研发;
- 6月~9月:BMS 协议制定,协议测试,换电柜协议制定,平台设计与开发;
- 9月~12月:协议修订测试,OTA 测试,BMS 测试。
2020~2021:产品迭代
- 1月~3月:座式充电器设计开发,BMS 软件重新开发,BMS 板硬件重新设计(人员变更);
- 3月~6月:功能设计,业务规划,服务器端软件研发,微信端软件开发,测试,产品发布会;
- 6月~9月:工厂生产,产品装配,功能测试;
- 9月~12月:落地银川、运城,解决市场端问题,业务调整,软硬件更新。
2021~至今:产品迭代
- 1月~3月:市场端问题修复,新版本软硬件设计,寻求融资。
3.图画
4.程序
开发感想:
没有费脑的算法,或者特别难理解的协议或驱动实现;
麻烦的地方在于业务和逻辑的实现,比较绕人,需要清晰的业务设计和流程梳理;
其中最关键的在于前期设计,是否完善、合理,以及可扩展性。
明白自己在做什么很重要。
个人成长:
嵌入式开发 GET!
代码能力得到锻炼,但还需加强。
从前到后。
1.bootloader
1 |
|
2.application
校验
1 | //累加和 |
OTA 升级
4G 模块从服务器下载升级固件:curl 下载,curl 相关资料:
1 | //create an "easy handle", which is the handle to a transfer |
在 linux 上测试,只需包含 "curl/curl.h"
头文件即可,链接时加入参数 -lcurl
,测试代码:
1 |
|
- 读取下载文件
1 | char p[1024 * 50]; |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 飞椅档案!
评论