17 Star 59 Fork 24

Talkweb_OpenHarmony / Niobe

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
README.md 2.57 KB
一键复制 编辑 原始数据 按行查看 历史
aibin 提交于 2022-01-05 17:21 . 更新说明文档

Niobe开发板NFC碰一碰WiFi配网

本案例程序将演示怎么在拓维Niobe开发板上,使用NFC扩展板实现碰一碰配网。

软件设计

UML顺序图

image-20220105170242091

主要逻辑分析

开发板启动之后,程序会循环检测NFC标签内容,如果发现合法的wifi信息数据,使用wifi信息,连接指定的wifi。

  1. Niobe开发板启动,碰一碰程序循环检测NFC标签内容是否拥有合法的wifi信息。

  2. 使用带NFC功能的手机向NFC扩展板碰一碰,写入可用的wifi热点信息。

  3. Niobe碰一碰程序检测到合法的wifi热点信息,启动wifi连接。

编译调试

修改 BUILD.gn 文件

修改 applications/app/BUILD.gn 路径中的 BUILD.gn 文件,指定 app_wifi_nfc_example 参与编译。

# "TW305_Network_udpclient:network_udpclient_demo",
# "TW305_Network_udpserver:network_udpserver_demo",
# "TW306_Network_httpclient:network_httpclient_demo",
"TW401_APP_wifi_nfc:app_wifi_nfc_example",
# "TW402_APP_oled_u8g2:app_oled_u8g2_example",

运行结果

  • 示例代码编译烧录代码后,按下开发板的RESET/SW2按键,启动碰一碰程序;

  • 连接串口工具,查看串口日志;

  • 使用带NFC功能的手机,向NFC扩展板写入可用的WiFi热点信息,写入数据必须是NDEF文本格式,数据格式为JSON,数据格式如下所示:

    {"ssid":"HUAWEI_B311_A741","pwd":"12345678"}
  • 串口日志运行如下:

    ready to OS start
    
    sdk ver:Hi3861V100R001C00SPC025 2020-09-03 18:10:00
    
    FileSystem mount ok.
    wifi init success!
    hilog will init.
    hievent will init.
    hievent init success.
    hiview init success.
    entry wifi nfc example.
    
    nfctag: {"ssid":"HUAWEI_B311_A741","pwd":"12345678"} 
    
    wifi ssid: HUAWEI_B311_A741 , password: 12345678 
    
    RegisterWifiEvent errCode: 0
    
    EnableWifi errCode: 0
    
    AddDeviceConfig errCode: 0
    
    ConnectTo(1) errCode: 0
    
    No crash dump found!
    
    +NOTICE:SCANFINISH
    +NOTICE:CONNECTED
    OnWifiConnectionChanged 54, state = 1 
    
    info: bssid: A2:B9:EC:41:A7:C2, rssi: 0, connState: 0, reason: 0, ssid: HUAWEI_B311_A741
    
    g_wifiState: 1
    
    netifapi_dhcp_start: 0
    
    server :
    	server_id : 192.168.26.1
    	mask : 255.255.255.0, 1
    	gw : 192.168.26.1
    	T0 : 86400
    	T1 : 43200
    	T2 : 75600
    clients <1> :
    	mac_idx mac             addr            state   lease   tries   rto     
    	0       20579e6185a4    192.168.26.116  10      0       1       2       
    netifapi_netif_common: 0
    
    The Niobe connect wifi success. 
1
https://gitee.com/talkweb_oh/niobe.git
git@gitee.com:talkweb_oh/niobe.git
talkweb_oh
niobe
Niobe
master

搜索帮助