本帖最后由 梁锐锋 于 2020-7-9 09:04 编辑
1. 方案概述
本次设计比赛我的设想方案是,利用麻雀一号传输图像的便捷性,实现一个以小车搭载的可移动式监控,以此用户可以体验到通过手机远程操控小车移动来实现全场景的监控。后期也可结合云端可以进一步拓展其功能,使得应用更智能。
2. 麻雀一号SDK入手总结
首先,就跳过环境搭建与烧录下载这些基本性问题,直接来说说自己入手经历吧。按着“SDK代码结构--->固件程序循行流程--->小试牛刀”这三步走下来,对程序的结构(案例都在哪里)、工程的组织编译方式(自己添加源文件怎么写脚本)、怎么自己添加MSH指令实现自定义功能(好玩)这三方面有相对深刻的印象。
SDK代码结构我总结为三个点——app应用程序与demo案例,rtthread的内核函数接口与第三方功能性组件,芯片硬件相关的驱动接口。
第一次接触到系统性的RTT工程代码,自然对它的程序运行的流程顺序有点疑惑与好奇,参考了下这条链接的介绍(STM32平台下运行)
https://blog.csdn.net/IT_B_O_Y/article/details/98877820 我自己通过重启串口的log内容关键词在VScode里面全局搜了下,大概理顺了程序从哪里开始到哪里结束。(以下按个人方式理解,会有偏颇)
第一步是进行系统的内存分区的检测(可能是bootloader程序段先执行的效果),然后第二步是跳到RTT的系统初始化与硬件外设初始化,最后一步则是程序从RTT系统初始化转跳到用户的主函数里面去。具体怎么转跳还没研究个清楚。
下面就来说下我是怎么实现我的入手Demo。
3. 小试牛刀——远程查看监控
整个过程是只用到test/mjpeg.c文件的代码,其原来是在局域网内实现实时查看监控,为了实现我的设计方案,我将其拓展到可远程登陆麻雀一号的视频流服务器,获取实时监控,为此须要内网穿透的软件工具,因为只是试验,我这里选用了有免费试用期的“云网穿”。
第一步按官方的指导文档,将自己麻雀一号创建的服务器IP地址和端口号作为内网IP地址、端口号。(记得麻雀一号要和PC链接同一个热点)
参考文档链接http://jiaocheng.xiaomy.net/
完成参数设定后,记得要在PC上打开工具软件并点击“启动”。
最后在手机浏览器访问映射域名便可访问到设定的内网端口,支持RTT,国产芯!!
|