OpenHarmony开源社区
直播中

ss

6年用户 8762经验值
擅长:电源/新能源 制造/封装 RF/无线
私信 关注
[经验]

怎样去控制基于TCP的鸿蒙Hi3861三色灯的亮灭呢

首先把整个demo跑起来的演示视频放上来,让大家看看最终实现的一个效果
这玩意,说简单也不简单,说复杂吧也不复杂。

这里先说一下demo源码如何使用:
这里我已经把整个demo源码作为附件上传了,大家把文件解压后放在源码目录中:applications/sample/wifi-iot/app文件夹下,然后修改该文件夹下的BUILD.gn,将其内容修改为:


这里我还是先按照老规矩说一下总体的大概思路:
1.PC和Hi3861开发板之间使用无线连接到同一个局域网中。
2.Hi3861作为客户端,PC作为服务端建立TCP连接。
3.Hi3861作为客户端接受到PC端发送的相应指令来进行相应的控制三色灯板的操作。
说完了大概思路,就可以说操作需要注意的一个点了:在把Hi3861烧好之后进行测试的时候,需要先开启服务端(这里我是直接拿linux下的netcat,小伙伴完全可以换成自己熟悉的,都可以),然后在reset一下Hi3861开发板

下面开始按照大概思路来分成三块讲解代码
1.PC和Hi3861开发板之间使用无线连接到同一个局域网中
1.1 首先定义了wifi需要的两个监听事件OnWifiConnectionChanged和OnWifiScanStateChanged

1.2 定义了一个打印wifi信息的辅助函数

1.3 开始真正的wifi连接流程


2.Hi3861作为客户端,PC作为服务端建立TCP连接。
2.1 先配置TCP协议

2.2 调用connect函数进行连接,这里确保连接之后,才可以

2.3 调用recv接口接收从PC服务端发来的消息

3.Hi3861作为客户端接受到PC端发送的相应指令来进行相应的控制三色灯板的操作。
3.1 先进行Hi3861控制三色开发板的基础设置

3.2 根据TCP协议接收到的信息,判断后选择GpioSetOutputVal进行三色灯开关控制


上述所有源码见附件,有什么问题欢迎留言交流
ps:分享一个调试中困扰了我好长时间的一个问题,就是在调试过程中Hi3861的无线很不稳定,连接上一会儿就会掉,然后又连接,我一度以为是代码的问题,苦苦探求,之后才发现问题的根源是我公司的同时使用的wifi太多了,把无线信道都占了,导致我使用的只支持2.4G的小破路由器根本不稳定,给大家分享这个坑,遇到的话直接跳过去,别重蹈我的覆辙了......

更多回帖

发帖
×
20
完善资料,
赚取积分