开发者学堂课程【平头哥物联网入门WI-FI方案开发实践:基于W800 SDK实战智能生活平台接入】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/766/detail/13480
基于W800 SDK实战智能生活平台接入
内容介绍
一、开发板介绍
二、环境搭建
三、上手演示
一、开发板介绍
1、专为 IOT 打造芯片
我们可以看到这张图中的中间的蓝色的开发版,就是我们的 W800 的开发版的版面,很好看,蓝色的背景上面有各种颜色的接口,那中间有一个二维码,这个二维码呢,它其实是一个开发板的 Mac 地址信息。同学们如果可以扫描它的话,可以拿到一个二维码信息。
那这个芯片,它使用的是一个连胜得的 W800芯片。那这款芯片呢?它是一个专门为 a lot 打造的芯片,可以适用于多种 Alo T应用场景,而且它的功能也非常强大,首先,它使用了32位的平头哥玄铁804处理器。最高可以支持240兆赫兹的频率。
那这个频率足以应对绝大多数的 a lot 应用场景。此外,它还是一款 WiFi 加蓝牙的双模 soc ,看到 WiFi 呢,就基本上支持了所有所有的主流 WiFi 协议,包括 H1802.11B11G ,但是他不支持1AC 和1AX,因为它目前只支持2.4G。
蓝牙也同时支持 BET。跟双模BEL最多支持到4.27。此外,我们也知道LG设备目前对安全已经越来越上升到一个高度,我们所以也内置的一个T,就是可信执行环境的一个安全引擎。
通过这个安全引擎,我们将我们的空间,为了安全空间和不安全空间,可以在安全空间内做一些更可靠的事情。此外,我们也包括了 SKS 的安全加密算法,帮助我们的程序算法能够更加安全地运行在这块板上。
2、丰富的板级资源
我们包括一路I2C、一路SPI、5路 UART、5路 PWM、还有最多18个 GPIO 接口,以及1路I2S 等等其他常见的接口。此外,我们也看到了,这个开发板上左右侧,有兼容接口,可以非常方便地将这块开发板跟生态来兼容和对接。
我们可以看到这个板子的左上方有三个板载按键,分别是两个启动按键,还有一个自定义按键的用户可以通过这两个启动按键来控制它进行不同的启动模式的制定。按键可以在代码中根据用户的需要去平和。就在板子的中间右边偏上的位置有两个micro USB 接口,那这两个 USB 接口,分别是用于日志的收发串口和at 指令窗口。
最后,我们在板子的中间偏下的位置有一个白色的三色 RGB LED 灯,它通过三路PWM脉冲宽度调制信号来对灯进行控制,我们可以通过开发对这个灯进行常见的呼吸灯、跑马灯等效果演示。关于它的具体开发介绍,在我们后面的分享中有。
二、环境搭建
1、环境搭建
我们针对不同的开发用户,我们提供了 Linux,Windows 的开发环境。Windows 我们是使用CDK平头哥坚持开发工具来进行开发的,Linux 是我们在 YOC 我们操作系统的基础上开发了一个针对 Linux开发环境的一个开发工具。
我们要搭建环境,自然少不了我们的 W800 的开发板套件,这个套件可以在我们的 OCC 的芯片开放社区,或者我们平头哥的淘宝店铺来买到。
最后一个,就是我们的刚刚说到了 OCC 芯片开放社区,在这个开放社区,我们包含了所有的开发资料、文档、原理图以及代码,那么大家在开发过程中如果遇到任何问题,我们都建议可以先去这个芯片开放社区的 W800 版块儿来进行资料搜索,与大家交流,我们相信大部分题都可以在这里得到解决。
2、CDK开发环境介绍
Windows 环境下我们针对 CDK ,总结了四个特点。
(1)图形化的开发界面
在 Windows 下,我们当然用一个图形化最友好的方式来让客户更快的上手,所以说我们第一个特点就是它便于上手,此外,我们还提供了图形化的参数配置方式。
不管是开发过程中、调试过程中所有的配置都是通过图形来配置,可以让大家在图形化界面中更高的、更高效地去开发和配置。之后是我们提供了三种的风格界面,从高分辨率、高饱和度、较低饱和度,我们提供了深蓝色、浅蓝色还有浅灰色三种界面,大家可以根据自己的开发习惯来随意切换开发界面。
(2)强大的调试工具
第二点是我们 CDK 可以提成了非常强大的调试工具,首先是我们集成了可视化的调试界面,在这个界面中,大家可以非常直观的看到我们程序的。
运行状况,我们资源的分配情况,以及当前某个变量某个内存区的地址的值。我们还可以支持软硬件断点,然后并且支持单步调试,绝大多数情况下都帮助客户解决开发过程中遇到的各种问题。
此外,我们还提供了一些 provider 以及 tracer 中工具,帮助大家更好地了解我们在系统运行。运行中一些资源性能分配情况以及提供对AR cos 操作系统的事件和任务的追踪呢。最后是我们集成了非常多的动态静态分析工具,包括动态的功耗分析,包括静态的代码检查分析。
(3)端云一体
第三点是我们有一个端于一体。这个端自然就是指的我们这个W800开发板。那云就是我们刚刚介绍到我们的 OCC 芯片开放社区,我们的所有的代码开发文档,以及用户的这个交互都是在我们的云上。
但是,我们把端和云结合在一起,通过我们的 CDK 可以非常方便地去获得云端的所有资源。此外,我们还可以去通过 CDK 快速对接云端的文档、云端的视频,还有用户的问答等各种开发信息跟开发资料。最后一点,我们用户不仅仅是开发,不仅是一个代码的索取者,那也可能是一个代码的贡献者。当你如果想把你的代码贡献出来,让大家使用的时候,你也可以通过 CDK 自助式的上传你的代码以及发布出去。
(4)组件超市
我们将我们的组件跟我们的上层解决方案,以及我们下层的超系统及药物,把它分成一个一个独立的模块儿。这样可以提升我们的代码负盈利。
此外,我们可以非常灵活地根据自己的需求来单独的上传,下载任意一个组件,就可以把它理解成是一个搭积木,当我需要这个功能,就把这个积木搭上来,如果不需要这个功能,我就把它拿掉,完全不影响我其他模块。最后一点,是我们的组件还包含了版本信息。不同的版本可能适用于不同的功能,或者是一个产品,您可以通过版本来选择你对应的组件以及你对应的产品,所以说而且并且支持向下兼容,一个老的产品依然可以用到我们这一个老的组件上。
3、CDK演示
首先,我们先打开 OCC 开放社区。在这里,我们从集成开发环境中去进入到 CDK 的界面,在这个界面下我们可以看到所有的一些介绍,包括概述,关键特性,技术特点,我们看到我们支持非常多的技术特点,回到页面的上方,点击下载按钮,可以进入到一个下载页面,在页面中我们选择最新版本的 CDK 工具,点击右边下载即可安装和下载。
安装完成过程中,我们打开 CDK ,点击上面的欢迎界面,进入到我们的一个欢迎菜单,然后我们点击新建工程,在搜索栏中,输入W800搜索。那这个就是我们刚刚介绍的一个端云一体的开发方式。我们搜索到达之后点击创建工程。
我们就可以将这个工程下载到本地。创建工程时,可以输入本地的工程名字,这里取名为 demo 以及一个工作空间,我们取名为 demo workspace 。
那么点击 OK 后就可以开始下载了,下载会出现一个进度条,那进度条长满之后,下载就完成了。我们跳过下载过程看到下载完成后,我们左边可以看到所有的工程文件,双击文件名,就能够打开这个工程的一个编辑主界面,然后右边的这个导航栏就是函数来,我们可以通过点击函数名快速跳转,我们右键点击工程名可以开始编译,然后在我们下方的输出窗口中,可以看到我们所有的编辑日志,我们大概需要一会儿时间,建议等编译完成之后,我们等点击菜单栏的烧录按钮,我们就可以开始烧录烧录,大概需要一到两分钟。
4、组建商店演示
首先我们点击 CDK ,然后进入我们一个组件商店的一个管理界面。在这个管理界面中,我们能看到我们所有的支持的组件。那我们现在只搜索标 Nash 这个组件,然后我们在塑造结果中点击安装就可以开始下载了。
我们可以看到这里有一个版本信息,可以选择不同的版本,下载完成之后,这个组件就会被下载到我们本地工程中,我们就能在工程中看到他呢。现在重新加载一下,确保它能够被我们组建工程师接到我们,点击 cabbage 我们就能看到了。在我们的产品中多了一个要依赖军组建,就说明下载成功.
当然 CDK 能支持的功能远不止这么多,大家在使用的过程中如果遇到任何问题,可以点击上面菜单栏的 help ,能够可以看到一个非常非常详细的一个 CDK 的一个开发文档,如果你还是不明白,欢迎你登录我们的 OCC 芯片开发社区,跟我们大家进行交流.
5、YoCTools 介绍
介绍一下使用 Linux 的一个开发环境,该如何去使用,这里我们就要提到针对Linux一个开发非常好的工具,叫 YoCTools 。那我们也总结出了四个非常重要的特点,第一个特点它是一个Linux的命令行,它是专门针对我们 OCRPOS 系统开发出来一个秘密航电系统,做非常多的适配和优化,非常适合我们在Linux下对我们的art环境进行。
此外,它是一个一站式的代码管理方式,我们通过 YoCTools 可以同时支持代码下载、代码编译、代码商务、代码上传等所有常见的功能,只要一个工具,帮助你从零到一开发整个解决方案。
第三点,是我们是一个金融的方式,我们的代码虽然可以通过 output 来下载。但同时我们的每一个组件,每一个方案也是一个单独的定仓库的用户,可以根据这些需要,通过 get 命令来对这个版本进行控制。
所以非常灵活,你可以选择,如果你不习惯,你依然可以用 get 常见的 get 命令来控制它,大大的提升用户开发的灵活性。
那最后一个,其实跟刚刚的 CDK 也很像,就是依然有一个组件超市的概念,我们每一个组件都可以单独的上传和下载,可以根据用户的需要灵活选择我是否要某个组件。那这个就是一个关于 YoCTools 的一个基本介绍。
6、YocTools 演示
我们在一个 Linux 开发命令下,首先创建一个 W800 SDK ,我们取一个名字,进入之后用wall sticker来初始化,初始化之后,我们本地会生成一个配置文件,先去编辑配置文件,要配置它的下载账号信息。这是一个默认的信息,我们先删掉它,然后把我们自己的账号拷贝过去。
考完之后我们就可以下载,只要一个命令,我们就可以把我们的解决方案组件以及卡板信息全部下达了。
本地很快,因为代码大小不大,很快可以下载成功。下载成功之后,我们可以看到目录结构很完整了,进入到我们的解决方案目录,在我们的目录下,点击 make就可以开始编译,编译过程根据你的 CPU 性能,大概需要两到三分钟,很快就会完成了。
等他编译完成之后,非常方便又是一个命令,立马就可以开始烧录。由于烧录时间会比较久,可能需要一到两分钟,这里不耽误大家时间,就快速播放,快速烧录完成。
就是一个介绍,可以看到非常简单,两条命令,一条命令下载,一条命令烧录,可以省掉大家非常多的时间,高效的来专注的开发过程,而不用在环境搭建上浪费了太多时间,所以我们相信 YocTools 真的是特别有助于我们的 Linux 的开发者。
三、上手演示
1、W800 实物连接
我们来给介绍大家介绍一下 W800 的实物连接,这张图左边是一个使用过程中的一个真实的连接情况,上面的 W800 的开发版就是我们在刚刚介绍的那块板子下面的一个 think light ,就是平头哥推出的一个专门针对于内置平衡颗芯片内核的 soc 的一个烧录器,通过这个烧录器可以方便的将固件烧录到我们卡上。
可以看到烧录器左边上边有一根 USB 线那这个 michael 线,它其实连接的是串口,可以通过一端连接到我们的板子上另外一端连到我们电脑上就可以跟我们的开发板进行串口的日志交互以及命令行交互非常方便高效,调试那下面这个 CK Link Lite 也是一端接到电脑的 USB ,那另外一个,通过 CK Link Lit 三根线来连接到开发版,就可以进行调试。为了帮助大家更好地去连接,我们右边又给出了一个连接示意图。
可以看到,上面是 W800 的开发板,分别有三个端口。一个是时钟端口,一个是数据端。还有就是执行力端口,这三个端口其实在板子的丝印图上都标记出来了,下面就是我们的三个 link 的端口,包括也是一个接地端口,一个数据端口,还有一个时钟端口。
那这三个端口其实在 sip 的这个上面的板子上能看到端口分别代表什么意思。只要按照这个图的形式将三根线连好上面那个绿灯会被点亮,这时候就可以通过对另一个开发板进行烧录和调试。这个就是一个简单的 W800 的一个实物连接图。
2、上手演示
首先,介绍一个串口的操作演示。我们上线后,连接好串口,就能够看到串口启动日志,然后命令行可以输入命令来进行交互。如果输入 help 指令,可以看到所有当前支持的命令。
比方说,可以通过 ping 来测试网络是否畅通,我们也可以通过 free 命令来查看我们当前的系统内存,还得通过命令来查看线程状态。当然这里还有很多命令,我们就不一一介绍了。
那这个是一个开发板实物演示,关于这个 APP,我们打开 APP ,搜索蓝牙设备等,它会搜索过程中。搜索完成后,找到了我们这个设备,然后点击添加,开始建立蓝牙连接很快尽力就会成功,连接成功之后就进入我们一个 demo 的一个显示页面,我们这里是一个灯泡的开关 demo ,我们可以通过开和关来打开灯泡。
那我们也可以通过调节亮度来我们调节之后,我们左边的开关灯泡就实时地被改变了。好的,那这个只是一个关于灯泡的,但它的实际功能远不止这么简单,可以通过 APP 进行更加复杂的逻辑设计以及代码编写,可以实现包括灯泡,包括空调、电风扇等所有物联网设备的开发和使用。
我们这里,因为这是一个简单的实际过程中,大家可以参考阿里云的云智能互联网来了解更多的信息。
今天的分享就到这里结束了,希望通过我的这次分享能够帮助大家零成本,轻松高效便捷的上市我们的W800开发板,真正助力平头哥1520计划实现一天上手,五天出原型,20天产品落地。