Dragonboard410C试用-环境监测器(1)

lucklili0806 2018-04-10 11:35:49
小编看到了一位来自于高通的幸运儿,结果页面由于其他原因不容易打开,所以我还是想发到在这里和大家分享一下吧并非抄袭,只为分享!
硬件方面,DragonBoard 410c是一款搭载Qualcomm Snapdragon 410(64位的四核处理器)的开发板,内置 8GB eMMC (支持标准microSD卡槽),内置wifi、蓝牙、和GPS模块,具有HDMI 输出及USB 接口 (3个),兼容96Boards消费版(CE)规范。
软件方面,DragonBoard 410c目前已经可以运行Android5.1、Ubuntu、Windows 10 IoT Core、Debian系统。









经过一段时间的等待,开发板送到博主手里,博主便面临了第一个问题,以往树莓派或者国产Pi这类开发板都是USB供电,但是龙板需要12V 2A的电源进行供电,而且电源插头还比较小,经过淘宝筛选,最终选定如下电源组合方案:网件路由器原装电源 + 万能DC转接头。东西到手后发现非常好用。
选定如下电源组合方案:网件路由器原装电源 + 万能DC转接头。东西到手后发现非常好用。

装系统

龙板装系统还是比较简单的,博主选用Debian系统,装新系统前使用了一会默认自带的Android,正好接到电视上,运行十分的流程,毫无卡顿的感觉。
1.TF卡安装
Mac终端登录到root用户
diskutil unmount /dev/disk1s1
dd bs=409600 if=debian.img | pv | dd bs=409600 of=/dev/rdisk1
这里加pv命令是为了能看见写入进度
当TF卡烧录完成之后,龙板断电,把TF卡插入龙板,将开发板背面的启动选择开关拨动为0-1-0-0,即将SD Boot拨动到ON位置,其他关闭,之后连接显示器、鼠标、键盘等外设,龙板上电开机,按照图形提示安装即可,步骤很少比较简单。
2.Fastboot线刷
博主是iOS程序猿,一些Android程序猿电脑估计Fastboot是必备的,博主这里现安装的
下载Google官方的Fastboot独立包:
platform-tools-latest-darwin.zip
platform-tools-latest-linux.zip
platform-tools-latest-windows.zip
之后解压缩到工作目录,并在终端里导入环境变量
export PATH=$PATH:工作目录/platform-tools
龙板Fastboot连接
首先需要确保开发板背面的启动选择开关处于0-0-0-0状态,然后需要通过usb连接到电脑。先启动时按住S4(音量 -)键再插电源,20左右fastboot devices看见设备。之后烧写bootloader、boot、root

顺便利用nBench来横向测评一下龙板、树莓派3、树莓派2的性能横向对比
龙板:

树莓派3:

树莓派2:

试用选题

起初博主是打算把之前做的机器人核心板用这个龙板来实现的,但是后来考虑时间很短,虽然三周,但是帝都的程序员加班大家懂的,难免保证不了开发时间,所以再三考虑,决定把选题修改为环境监测器,模拟要解决的情景就是上班族在下班回家的路上就可以通过手机查看家里的温湿度情况,然后控制空调,来预先调节好家里舒适的温度环境。

功能设计

针对上述情景,其实博主想做的就是一个最简单的闭环操作,检测到传感器检测到温湿度->反馈给开发板->开发板通过手机反馈给人->人操作空调调整温湿度->形成闭环。那么就设计功能如下
1.外网服务器,跑内网穿透服务端用;
2.开发板需实现温湿度采集,和控制空调,以及搭建Web服务器和运行内网穿透客户端;
3.后端服务接口,提供历史温湿度、实时温湿度;
4.iOS客户端,用来查看温湿度和控制空调;

查找资料

1.内网穿透之前就一直在用,这个就不过多说明了,Ngork和FRP都可以,博主选用的是FRP,服务于家里的Gen8塔式服务器和几个树莓派。
2.温湿度采集需要用到DHT11模块,之前这类模块可以很简单方便的在树莓派上使用因为有现成的驱动和程序,在龙板上需要自己写驱动,DHT11使用GPIO通信,故需要查找龙板的GPIO操作方法,以及Linux系统下与驱动相关的知识(设备树、内核编译等)。
3.遥控空调使用的是Linux下开源的LIRC软件,这是一个红外万能遥控器程序,需要与红外发射模块和红外接收模块配合使用,但是有一个困难跟上一条一样,就是树莓派内置了LIRC的设备驱动lirc_rpi,龙板上没有,也得自己想办法编写驱动。
到这里博主其实遇见了很多困难和问题,最主要的一点客观原因是,博主本质职iOS程序猿,接触硬件是兴趣因素比如我喜欢鼓捣玩或者做做机器人玩玩模型啥的,另一点接触硬件的原因就是第一份全职工作是开发智能家居,所以综上,博主属于那种软件程序猿,但是硬件懂一些懂的不特别深入的那种,这时候查阅高通文档的时候就遇见了一些困难,比如操作GPIO需要了解设备手册和原理图一类的,有时候搜索查阅文档就显得有些力不从心。

开发环境的搭建

这里博主在Gen8上虚拟化了一个Ubuntu来做编译内核和驱动用,之后再传到龙板上,因为毕竟服务器的编译速度和磁盘空间大很多。
下载内核源码,内核源码仓库地址:
kernel.git
使用Tag:debian-qcom-dragonboard410c-17.09
可以用git克隆下来自己检出代码,也可以直接下载源码压缩包
kernel-debian-qcom-dragonboard410c-17.09.tar.gz

下载编译工具:
gcc-linaro-6.3.1-2017.02-x86_64_aarch64-linux-gnu.tar.xz(这里博主机器上用的是老版本的)
下载DTC(设备树编译工具):
sudo apt-get install device-tree-compiler
git clone git://codeaurora.org/quic/kernel/skales
下载initrd镜像
打开http://builds.96boards.org/releases/dragonboard410c/linaro/debian/latest/
下载:initrd.img-4.9.56-linaro-lt-qcom
至此下载准备工作完成,把文件按照分类放到工作目录的根目录下,分别是gcc-linaro-4.8-2015.06-x86_64_aarch64-linux-gnu(编译工具)、image(镜像)、kernel-debian-qcom-dragonboard410c-17.09(内核源码)、skales(设备树编译工具)


(未完待续,如果喜欢请评论)
原文来源:https://zasper.me/2017/12/08/dragonboard410c%E8%AF%95%E7%94%A8-%E7%8E%AF%E5%A2%83%E7%9B%91%E6%B5%8B%E5%99%A8/
...全文
2050 1 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
感觉好厉害的样子,但是看不懂。。

2,851

社区成员

发帖
与我相关
我的任务
社区描述
本论坛以AI、WoS 、XR、IoT、Auto、生成式AI等核心板块组成,为开发者提供便捷及高效的学习和交流平台。 高通开发者专区主页:https://qualcomm.csdn.net/
人工智能物联网机器学习 技术论坛(原bbs) 北京·东城区
社区管理员
  • csdnsqst0050
  • chipseeker
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧