1,下载APM飞控程序编译环境(IDE)--“ArduPilot-Arduino-1.0.3-windows”,注意不要使用其他版本的Arduino编译环境。
2,下载一个APM飞控程序,例如:ArduPlane-2.75。另外“ArduPilot-Arduino-1.0.3-windows”文件夹与飞控程序文件夹放在一个文件夹中,文件夹的命名最好都是用英文。
3,使用“ArduPilot-Arduino-1.0.3-windows”时,打开该文件夹,直接双击“arduino”图标使用,无需安装。“ArduPilot-Arduino-1.0.3-windows”的设置:
tool-->board: Arduino mega 2560 or mega ADK
tool-->programmer: AVRISP mkII
ArduPilot-->: HAL board: Ardupilot mega 2.X(现在使用的APM2.0-2.5-2.6等)
File-->reference-->Sketchbook 选为要编译的飞控程序文件夹,每次更改后点OK,并关掉Arduino 1.0.3 再打开,这时再选File-->Sketchbook中一项进行编译。
例如,对File-->Sketchbook中ArduPlane进行编译,点击工具栏中“对号”图标开始编译,没有错误大约1分钟就能编译结束。编译完成之后将APM通过数据线连接到电脑上(编译时就连接也可以),选择Board-->serial-port 选择APM的接口。之后点击工具栏的“向右箭头”图标将编译好的程序写进APM,这样就完成了一次对APM飞控程序的刷新。
现在的APM飞控程序不经删减,编译后的大小很容易超过248KB(256KB总内存-8KB的Bootloader占用内存),当编译后大于248KB时不能上传到APM中否则会破坏APM的bootloader.
aver/pinpoint(github上2148个star)
韩国的一个公司开源的,有待评估使用情况,就是整体还不是JDK8,有些还是有点费劲,技术上采用agent的方式,对java友好
大众点评cat(github上1725个star)
看接入的公司还是挺多的,个人感觉是点评名气还可以,但是搭建起来有点费劲,很多东西都写死配置了,不灵活。整体设计的话,由于没有采用agent的方式,采用的是api手工埋点的方式,跟SNG的很像,好处的是跨语言,不好的地方就是对java来说用起来还需要包装一下
ky-walking(github上374个star)
开发团队加入了OneAPM,目前看使用的公司不多,整体技术采用agent方式,对java友好。提供了对dubbo等的支持,属于soa时代的产品
从技术架构上看,对于log的存储都使用了hbase,也都是自己实现了日志/监控数据的上报。pinpoint支持udp的方式,这个好一点。这类还是有点SOA时代的痕迹,更为符合大数据时代的做法是,监控数据丢给kafka,然后监控server来消费数据即可,这一点在cat中使用了consumer有点这个味道,但是没有彻底转型过来。
APM整体的功能结构,主要是 1.日志追踪,2.监控报警 3.性能统计。对于日志追踪,已经有spirng cloud zipkin了,这个对spring cloud体系结合的很好,确的就是监控报警和性能统计,可以采用agent的方式进行无侵入的监控,或者采用log appender的方式到kafka,之后再进行error的监控报警,以及把performance的数据log到日志,发送到kafka来进行统计。
inpoint
大众点评Cat--架构分析
透过CAT,来看分布式实时监控系统的设计与实现
ky-walking
skywalking用懂源码可以进大厂吗懂源码是可以进大厂的
源码也叫源代码、源程序,即编程者(程序员)编写的程序代码,一般都是用高级语言(basic、c等)构成。
源码的作用是程序员不必直接编写晦涩的机器语言,而以容易明白的高级语言代替,方便了程序的理解和修改。
源码经过编译,转换为微机可以执行的机器代码,即可以提高程序的运行效率,又可以保护编程者的版权利益!
msgstr 在你的程序里面是个字符串,根据不同的情况,得到不同的msgstr ,<br>alert msgstr <br>这句才是d出对话框,在这里msgstr是个参数!<br>alert "你好"<br>和这个是一样的道理,只不过msgstr 在这里是变量
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)