1 Star 7 Fork 5

nicholas3388 / w800-liteos-sdk

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README
MIT

W800 LiteOS Cozylife SDK

W800开发板的LiteOS SDK,移植了OpenHarmony的liteos_m系统内核;并适配了Cozylife框架,可以快速开放并兼容Cozylife生态的各种产品,并且可以使用Cozylife App进行配网/远程控制。

适用于深圳四博智联生产的W800开发板,如下图所示: image_src

1. 开发环境设置

1.1 Windows环境

  1. 下载编译环境:链接:https://pan.baidu.com/s/1wL1PvbY3myPbG4dVCZsiOQ 提取码:6666
  2. 解压上面下载的编译环境,将SDK即本仓库所有内容下载到MSYS/home/Administrator/w800_liteos_sdk目录下,如果没有w800_liteos_sdk目录,则手动创建
  3. 进入第1步骤下载的目录中,双击打开msys.bat文件,弹出的控制台是一个Linux环境,使用cd命令进入w800_liteos_sdk目录下,执行make即可开始编译
  4. 编译完成后,可烧录固件生成在w800_liteos_sdk/bin/w800目录下,文件名是w800.fls,直接使用联盛德官方烧录工具烧写入w800开发板即可

烧写工具下载地址:https://www.winnermicro.com/html/1/156/158/558.html

1.2 Linux环境

文档中使用的Linux系统版本为Ubuntu20

  1. 下载csky工具链csky-abiv2-elf-gcc,本文档使用的工具链版本为csky-elfabiv2-tools-x86_64-minilibc-20210423.tar,可在平头哥芯片官方社区下载:点击进入社区下载
  2. 解压下载的工具链到某个目录下,比如toolchain目录,那么解压后编译工具位于该目录下的bin文件夹内,将该路径导入到PATH环境变量中,执行下面命令:export PATH=/user/toolchain/bin:$PATH,注意这里的toolchain路径需要根据你的系统路径修改。
  3. 下载本仓库代码,进入代码根目录直接执行make命令即可编译生成固件。

2. OpenHarmony的liteos_m内核分析与移植教程

请浏览本仓库的wiki页面:liteos_m内核分析

3. Demo示例使用方法

在目录app/main.c文件中,宏定义DEMO_CONSOLE默认设置为1,即生成的固件运行联盛德官方的Demo示例。

  1. 打开串口连接开发板,波特率115200
  2. 通过串口发送字符串内容:t-scan(),可以实现WiFi扫描,扫描到周围的WiFi热点(发送内容时记得加换行)
  3. 通过串口发送内容:t-connect("ssid","pwd"),可以实现设置w800为STA模式并连接指定的ssid,发送内容里面ssid和pwd表示连接的wifi名和密码,根据具体环境修改;
  4. 通过串口发送:t-webcfg(),可以实现web方式的WiFi配网。发送该命令后,w800进入AP模式并启动webserver。然后我们打开手机WiFi设置可以查找到w800创建的热点,热点名类似“softap_xxxx”,其中xxxx是模组MAC地址后四位,如下图所示;连接到该热点,打开浏览器,输入192.168.1.1即可访问到webserver的配网页面,页面中输入WiFi账号密码点“save”即可完成配网,如下图所示。
  5. 串口发送t-bt-on(),可以打开蓝牙;发送t-bt-off(),关闭蓝牙;只有打开蓝牙后,执行后续蓝牙命令才有效,否则w800无响应,例如打开蓝牙后,串口发送命令:t-ble-scan()可以执行蓝牙扫描功能,扫描周围蓝牙信号;

image_src

下面是配网页面:

image_src


手机端配网完成后,w800连接WiFi,输出连接成功信息,打印出本机IP,如下图所示 image_src


下面是蓝牙BLE扫描到的信号: image_src


4. Cozylife框架的使用

在目录app/main.c文件中,将宏定义DEMO_CONSOLE改为0,则UserMain函数将执行switch_template_main,这是将开发板初始化为一个Cozylife开关的主函数。

void UserMain(void)
{
#if DEMO_CONSOLE
	CreateDemoTask();
#else
	printf("\n <--- Use dohome library ---> \n");
	switch_template_main();
#endif
}

4.1 Cozylife框架简介

Cozylife是一套强大的智能家居系统,包括了Cozylife固件开发框架,手机App和云平台。使用Cozylife框架能快速开发智能终端产品,并能接入Cozylife云平台,使用Cozylife App控制。本仓库的SDK适配兼容了Cozylife框架,该框架以libdohomelib.a静态库的方式提供给开发者使用,开发者只需更改应用层即可修改设备为不同的Cozylife终端产品。

Cozylife代码(app目录下的代码)走读:

  • dohome_embed_templates: 该目录下是Cozylife应用层的代码,该代码中将设备设置成了一个WiFi+BLE的远程开关
  • doit_sdk_for_w800: 该目录是硬件适配层,里面包含了Cozylife适配不同硬件平台的代码,当需要移植到不同硬件平台时,主要修改该目录下的代码
  • include: 该目录包含了Cozylife所需的头文件

4.2 Cozylife对w800开发板外设的默认设置

在include目录下的doit_product_cfg.h文件中对设备进行外设和其他信息的设置。

  • 源码中将w800开发板的PB8管脚设置为配网指示灯,w800开发板的PB8连接了一个蓝光LED,所以当固件运行时处于配网状态时可以看到蓝光LED每秒闪烁一次
  • 代码将w800开发板PB5设置为开关的继电器控制管脚。当设备配网后,使用App远程控制开关设备时,可以使用万用表测量PB5脚,可以看到输出电平受远程控制,如果接入LED可以看到LED随着控制的变化。
  • 代码将w800开发板的PB9设置为物理开关管脚,PB9正好是开发板TypeC接口旁边的一个物理按键,当设备下载了该固件并配网后,按下PB9按键可以看到Cozylife手机App上的对应设备开关状态随按键改变。

上面的GPIO设置都可以根据具体应用场景修改。

4.3 Cozylife手机App的使用简介

Cozylife手机App可以在苹果应用商店/华为/小米应用市场等各大应用商店免费下载使用。点击下载Cozylife

当设备下载本SDK固件后,打开App后,点击主界面右上角的“+”按钮根据提示,进行添加设备配网(同时支持WiFi或蓝牙配网)操作即可,设备配网完成即可远程控制。

cozylife-img


5. 如何更换操作系统

该SDK默认使用LiteOS操作系统,仍然兼容原有的FreeRTOS系统。在MSYS开发环境中进入SDK的/src/liteos目录下执行make命令,会编译生成liteos的库文件,在根目录的bin/build/w800/lib目录下生成libos.a静态库文件,将该文件拷贝覆盖根目录的lib/w800目录下的同名文件即可更换系统。同样的,进入根目录src/freertos目录执行make编译生成libos.a文件后替换lib目录下的同名文件即可更换为FreeRTOS。


6. 关于W800开发板的更多教程

此W800开发板的更多教程请参考:点击查看W800更多教程


7. 相关仓库

相关仓库:LuaNode-w800

MIT License Copyright (c) 2022 nicholas3388 Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

简介

适用于深圳四博智联科技有限公司生产的W800开发板的,支持开源鸿蒙LiteOS的SDK。在联盛德官方SDK基础上加入了LiteOS的支持,可兼容FreeRTOS/LiteOS两种操作系统,并能很好使用开发板WiFi+BT各项功能 展开 收起
MIT
取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
C
1
https://gitee.com/nicholas3388/w800-liteos-sdk.git
git@gitee.com:nicholas3388/w800-liteos-sdk.git
nicholas3388
w800-liteos-sdk
w800-liteos-sdk
master

搜索帮助