本文來源電子發燒友社區,作者:FrankSmith, 帖子地址:https://bbs.elecfans.com/jishu_2296120_1_1.html
想進行tcpip通訊,首先得連接網絡。當然了,這個板子沒有以太網接口,得利用板子的WiFi接口了。這個項目提供了一些WiFi的功能,予以一一嘗試。
想進行tcpip通訊,首先得連接網絡。當然了,這個板子沒有以太網接口,得利用板子的WiFi接口了。這個項目提供了一些WiFi的功能,予以一一嘗試。
第一個指令是(wifi_scan)。
以下指令的輸入以及信息的輸出均在串口助手sscom中進行。
- wifi_scan
- ------>>>>>> Scan CMD
- # [WIFI] [IND] SCAN Done
- wifi_mgmr_scan_complete_callback: scan complete
- [APP] [EVT] SCAN Done 69207
- cached scan list
- ****************************************************************************************************
- index[00]: empty
- index[01]: empty
- index[02]: empty
- index[03]: empty
- index[04]: empty
- index[05]: empty
- index[06]: empty
- index[07]: empty
- index[08]: empty
- index[09]: empty
- index[10]: empty
- index[11]: empty
- index[12]: empty
- index[13]: empty
- index[14]: empty
- index[15]: empty
- index[16]: empty
- index[17]: empty
- index[18]: empty
- index[19]: empty
- index[20]: empty
- index[21]: empty
- index[22]: empty
- index[23]: empty
- index[24]: empty
- index[25]: empty
- index[26]: empty
- index[27]: empty
- index[28]: empty
- index[29]: empty
- index[30]: empty
- index[31]: channel 13, bssid 16:E9:B2:91:AD:E7, rssi -98, ppm abs:rel 0 : 0, auth WPA2-PSK/WPA-PSK, cipher: AES, SSID CMCC-uWN6-2
- index[32]: channel 13, bssid 14:E9:B2:91:AD:E7, rssi -87, ppm abs:rel 0 : 0, auth WPA2-PSK/WPA-PSK, cipher: AES, SSID CMCC-uWN6
- index[33]: channel 11, bssid 64:6E:97:C9:5A:D7, rssi -98, ppm abs:rel 0 : 0, auth WPA2-PSK/WPA-PSK, cipher: AES, SSID 3205
- index[34]: channel 11, bssid EC:17:2F:68:27:D4, rssi -84, ppm abs:rel 5 : 5, auth WPA2-PSK/WPA-PSK, cipher: AES, SSID TP-LINK_6827D4
- index[35]: channel 11, bssid 70:85:40:2B:AB:B7, rssi -79, ppm abs:rel 2 : 2, auth WPA2-PSK/WPA-PSK, cipher: TKIP/AES, SSID 468
- index[36]: channel 10, bssid 74:7D:24:48:97:62, rssi -98, ppm abs:rel 0 : 0, auth WPA2-PSK/WPA-PSK, cipher: TKIP/AES, SSID @PHICOMM_60
- index[37]: channel 10, bssid 92:3F:7B:61:27:AF, rssi -85, ppm abs:rel 2 : 2, auth WPA2-PSK/WPA-PSK, cipher: TKIP/AES, SSID iTV-iaLX
- index[38]: channel 11, bssid D0:76:E7:EF:03:71, rssi -98, ppm abs:rel10 :10, auth WPA2-PSK/WPA-PSK, cipher: AES, SSID ChinaNet-sefN
- index[39]: channel 10, bssid 68:DB:54:DF:35:E2, rssi -98, ppm abs:rel 0 : 0, auth WPA2-PSK/WPA-PSK, cipher: TKIP/AES, SSID 钂嬪
- index[40]: channel 10, bssid 30:3F:7B:61:27:AE, rssi -98, ppm abs:rel 4 : 4, auth WPA2-PSK/WPA-PSK, cipher: TKIP/AES, SSID ChinaNet-iaLX
- index[41]: channel 10, bssid 30:5F:77:80:93:DE, rssi -85, ppm abs:rel 0 : 0, auth WPA2-PSK, cipher: AES, SSID 鍖椾含鐑ら腑
- index[42]: channel 08, bssid 38:21:87:41:89:1D, rssi -98, ppm abs:rel35 :35, auth WPA2-PSK, cipher: AES, SSID midea_ac_0404
- index[43]: channel 08, bssid 24:8B:E0:5C:E0:D9, rssi -96, ppm abs:rel 7 : 7, auth WPA2-PSK/WPA-PSK, cipher: TKIP/AES, SSID liao150829
- index[44]: channel 10, bssid 50:D2:F5:74:BA:C2, rssi -61, ppm abs:rel 0 : 0, auth WPA2-PSK/WPA-PSK, cipher: TKIP/AES, SSID CYMY
- index[45]: channel 05, bssid 70:85:40:2B:AB:48, rssi -79, ppm abs:rel 0 : 0, auth WPA2-PSK/WPA-PSK, cipher: TKIP/AES, SSID 168
- index[46]: channel 05, bssid 70:85:40:2B:AB:FC, rssi -73, ppm abs:rel 2 : 2, auth WPA2-PSK/WPA-PSK, cipher: TKIP/AES, SSID 288
- index[47]: channel 03, bssid 2C:B2:1A:D0:3B:82, rssi -97, ppm abs:rel 0 : 0, auth WPA2-PSK/WPA-PSK, cipher: TKIP/AES, SSID fei
- index[48]: channel 03, bssid 70:85:40:2B:AB:45, rssi -52, ppm abs:rel 5 : 5, auth WPA2-PSK/WPA-PSK, cipher: TKIP/AES, SSID 368
- index[49]: channel 03, bssid 70:85:40:2B:AB:EF, rssi -43, ppm abs:rel13 :13, auth WPA2-PSK/WPA-PSK, cipher: TKIP/AES, SSID 268
- ----------------------------------------------------------------------------------------------------
- proc_hellow_entry: RISC-V rv32imafc.gj_lf686_demo_wifi
找到一個可以連接的無線路由器,ssid=268
使用這個項目提供的命令:(wifi_sta_connect)
- wifi_sta_connect 268 07342596999
- wifi_sta_connect 268 07342596999
- ----- BUG FIXME? NOT do STA enable again
- [WF] MM_ADD_IF_REQ Sending: STA
- 歵d_start idx=0
- [WF] MM_ADD_IF_REQ Done
- [WF] vif_index from LAMC is 0
- [WF][SM] Entering idle state
- [WF][SM] Action Connect
- ssid 268
- ssid len 3
- psk 07342596999
- psk len 11
- pmk
- pmk len 0
- channel band 0
- channel freq 0
- mac 00:00:00:00:00:00
- dhcp status: true
- [WF][SM] State Action ###idle### --->>> ###connecting###
- connecting using vif_idx 0
- ===start sm_get_bss_params===
- bssid[0] = 0xffff
- bssid[1] = 0xffff
- bssid[2] = 0xffff
- search ssid = 268
- result ssid index = -1
- ===end sm_get_bss_params===
- [WF][SM] Entering connecting state
- # [APP] [EVT] Connecting 707891
- Probe Response
- timestamp = 0x30ef47b10
- Probe Response
- timestamp = 0x30ef84cbd
- Probe Response
- timestamp = 0x30efc2998
- Probe Response
- timestamp = 0x30f03c5d3
- [ 710128][[32mINFO[0m: lf_adc.c: 260] offset = 2108
- proc_hellow_entry: RISC-V rv32imafc.gj_lf686_demo_wifi
- ===start sm_get_bss_params===
- bssid[0] = 0xffff
- bssid[1] = 0xffff
- bssid[2] = 0xffff
- search ssid = 268
- result ssid index = 0
- ===end sm_get_bss_params===
- wpa2/wpa3 pairwise ccmp:1,tkip:0,wep104:0,wep:40:0
- wpa2/wpa3 group ccmp:0,tkip:1,wep104:0,wep:40:0
- wpa2/wpa3 is_pmf_required:0
- AP Security mode: wep:0,wpa:1,wpa2:1,wpa3:0
- Probe Response
- timestamp = 0x30f26308d
- wpa2/wpa3 pairwise ccmp:1,tkip:0,wep104:0,wep:40:0
- wpa2/wpa3 group ccmp:0,tkip:1,wep104:0,wep:40:0
- wpa2/wpa3 is_pmf_required:0
- AP Security mode: wep:0,wpa:1,wpa2:1,wpa3:0
- wpa2/wpa3 pairwise ccmp:1,tkip:0,wep104:0,wep:40:0
- wpa2/wpa3 group ccmp:0,tkip:1,wep104:0,wep:40:0
- wpa2/wpa3 is_pmf_required:0
- AP Security mode: wep:0,wpa:1,wpa2:1,wpa3:0
- ------ 247 set default key 0x42018c08, key ptr 0x00000000
- [APP] [EVT] SCAN On Join 711659
- set key:sta_idx:0, inst_nbr:0, key_idx:0,cipher_suite:2,key_len:16
- set key:sta_idx:255, inst_nbr:0, key_idx:1,cipher_suite:1,key_len:32
- ind ix 0x4201eddc, chan_ctxt is 0x420183f4
- [RX] Connection Status
- [RX] status_code 0
- [RX] connect result: sm connect ind ok
- [RX] MAC 70:85:40:2B:AB:EF
- [RX] vif_idx 0
- [RX] ap_idx 0
- [RX] ch_idx 0
- [RX] qos 1
- [RX] acm 0
- [RX] assoc_req_ie_len 80
- [RX] assoc_rsp_ie_len 172
- [RX] aid 0
- [RX] band 0
- [RX] center_freq 2422
- [RX] width 0
- [RX] center_freq1 2422
- [RX] center_freq2 0
- [WF][SM] Exiting connecting state
- [WF][SM] State Action ###connecting### --->>> ###wifiConnected_ipObtaining###
- [WF][SM] Entering wifiConnected_ipObtaining state
- [WF][SM] DHCP Starting...0x42019e24
- [APP] [EVT] connected 711685
- -----------------> AABA Request:
- A-MSDU: Not Permitted
- Block Ack Policy: Immediate Block Ack
- TID: 0
- Number of Buffers: 64
- -----------------> AABA Response:
- A-MSDU: Not Permitted
- Block Ack Policy: Immediate Block Ack
- TID: 0
- Number of Buffers: 8
- [lwip] netif status callback
- IP: 192.168.88.7
- MK: 255.255.255.0
- GW: 192.168.88.254
- [WF][SM] Exiting wifiConnected_ipObtaining state
- [WF][SM] IP GOT IP:192.168.88.7, MASK: 255.255.255.0, Gateway: 192.168.88.254, dns1: 192.168.88.254, dns2: 0.0.0.0
- [WF][SM] State Action ###wifiConnected_ipObtaining### --->>> ###wifiConnected_IPOK###
- [WF][SM] Entering wifiConnected_IPOK state
- [APP] [EVT] GOT IP 715004
- [SYS] Memory left is 150312 Bytes
- proc_hellow_entry: RISC-V rv32imafc.gj_lf686_demo_wifi
在這些信息中,可以看見一條信息:
- [WF][SM] Exiting wifiConnected_ipObtaining state
- [WF][SM] IP GOT IP:192.168.88.7, MASK: 255.255.255.0, Gateway: 192.168.88.254, dns1: 192.168.88.254, dns2: 0.0.0.0
這標識已經連上路由器,并通過dhcp分配了IP地址為192.168.88.7。
電腦中打開一個cmd窗口,查看本機的ip地址。
- 無線局域網適配器 WLAN:
- 連接特定的 DNS 后綴 . . . . . . . : Realtek
- IPv4 地址 . . . . . . . . . . . . : 192.168.88.6
- 子網掩碼. . . . . . . . . . . . : 255.255.255.0
- 默認網關. . . . . . . . . . . . . : 192.168.88.254
- 以太網適配器 藍牙網絡連接:
- 媒體狀態. . . . . . . . . . . . : 媒體已斷開連接
- 連接特定的 DNS 后綴 . . . . . . . :
使用ping指令,看是否能連通開發板
- C:Usersjohn>ping 192.168.88.7
- 正在 Ping 192.168.88.7 具有 32 字節的數據:
- 來自 192.168.88.7 的回復: 字節=32 時間=5ms TTL=255
- 來自 192.168.88.7 的回復: 字節=32 時間=2ms TTL=255
- 來自 192.168.88.7 的回復: 字節=32 時間=4ms TTL=255
- 來自 192.168.88.7 的回復: 字節=32 時間=9ms TTL=255
- 192.168.88.7 的 Ping 統計信息:
- 數據包: 已發送 = 4,已接收 = 4,丟失 = 0 (0% 丟失),
- 往返行程的估計時間(以毫秒為單位):
- 最短 = 2ms,最長 = 9ms,平均 = 5ms
可以看見已經能ping通開發板。說明開發板已經掛在無線網絡上,并且項目提供了被ping通的功能。這在windows中被稱呼為文件和打印機共享(回顯請求 - ICMPv4-In)。windows中需要在防火墻中設置才能開啟這個功能。這個項目應該沒有防火墻吧。但是直接就提供了回顯請求功能了。這個功能應該能使得外部設備能知道這個開發板是否在線。
*********************************************************************************************
至此,初步探索結束。應該下一步可以在此基礎上開展工作了?
可惜理想很豐滿,現實很骨感。
首先,功能實現之前,先實現對功能得觸發。去看看項目得指令wifi_sta_connect是如何觸發?
找到wifi_sta_connect函數定義:
- static void wifi_sta_connect(char *ssid, char *password)
- {
- wifi_interface_t wifi_interface;
- wifi_interface = wifi_mgmr_sta_enable();
- wifi_mgmr_sta_connect(wifi_interface, ssid, password, NULL, NULL, 0, 0);
- }
以及函數引用
- case CODE_WIFI_ON_PROV_CONNECT:
- {
- printf("[APP] [EVT] [PROV] [CONNECT] %lldrn", aos_now_ms());
- printf("connecting to %s:%s...rn", ssid, password);
- wifi_sta_connect(ssid, password);
- }
這個引用在函數static void event_cb_wifi_event(input_event_t *event, void *private_data)里。。。
這是什么鬼。命令行不是在以下數據結構里嗎?
- const static struct cli_command cmds_user[] STATIC_CLI_CMD_ATTRIBUTE = {
- { "aws", "aws iot demo", cmd_aws},
- { "pka", "pka iot demo", cmd_pka},
- { "wifi", "wifi", cmd_wifi},
- { "sha", "sha iot demo", cmd_sha},
- { "trng", "trng test", cmd_trng},
- { "aes", "trng test", cmd_aes},
- { "cks", "cks test", cmd_cks},
- { "dma", "dma test", cmd_dma},
- { "exception_load", "exception load test", cmd_exception_load},
- { "exception_l_illegal", "exception load test", cmd_exception_l_illegal},
- { "exception_store", "exception store test", cmd_exception_store},
- { "exception_inst_illegal", "exception illegal instruction", cmd_exception_illegal_ins},
- /*Stack Command*/
- { "stack_wifi", "Wi-Fi Stack", cmd_stack_wifi},
- /*TCP/IP network test*/
- {"http", "http client download test based on socket", http_test_cmd},
- {"httpc", "http client download test based on RAW TCP", cmd_httpc_test},
- };
然后,全文件查找cli
- fd_console = aos_open("/dev/ttyS0", 0);
- if (fd_console >= 0) {
- printf("Init CLI with event Drivenrn");
- aos_cli_init(0);
- aos_poll_read_fd(fd_console, aos_cli_event_cb_read_get(), (void*)0x12345678);
- _cli_init();
- }
原來命令行有兩種模式,一種是直接解碼,一種是消息發送或者說事件方式。
以上函數中fd_console應該是默認的,燒錄代碼的串口吧?
看樣子在實現自己的功能代碼之前,還得有#include的相關知識。
特別提醒。這點一定注意。如果有相關知識會很順利學習這個開發板。
*******************************************************************************************************
如果板子還在我手上的話,也許下一步借助這個板子,先開始一段FreeRTOS
的學習吧。
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。
舉報投訴
-
躍昉科技
+關注
關注
0文章
71瀏覽量
2000 -
開發板試用
+關注
關注
3文章
301瀏覽量
2116
發布評論請先 登錄
相關推薦
有獎丨米爾 全志T536開發板免費試用
米爾與全志合作發布的新品基于全志T536應用處理器的MYD-LT536-GK開發板免費試用活動來啦~~米爾提供了3塊價值750元的MYD-LT536-GK開發板發起試用活動您不僅可以免
RISC-V廠商躍昉科技榮獲橫琴粵澳深度合作區“潛力獨角獸企業”認定
其未來巨大的發展潛力。 躍昉科技聚焦研發基于RISC-V架構的SoC芯片產品,已推出了SF1、BF2、GF3、GF5、NB2L、NB2 等六
追加名額丨米爾瑞芯微RK3576開發板有獎試用
米爾與瑞芯微合作發布的新品基于瑞芯微RK3576應用處理器的MYD-LR3576開發板免費試用活動加碼啦~~米爾追加了2塊價值849元的MYD-LR3576開發板發起
有獎丨米爾 瑞芯微RK3576開發板免費試用
米爾與瑞芯微合作發布的新品基于瑞芯微RK3576應用處理器的MYD-LR3576開發板免費試用活動來啦~~米爾提供了7塊價值849元的MYD-LR3576開發板發起試用活動您不僅可以免
躍昉科技正式加入openGauss社區
日前,躍昉科技簽署CLA(Contribution License Agreement,貢獻許可協議),正式加入openGauss社區,致力于推動openGauss RISC-V SIG的發展。
【作品合集】龍芯2K0300蜂鳥開發板試用精選
試用】3 體驗四大操作系統(Buildroot、Loongnix、Openharmony、OpenWRT)【龍芯2K0300蜂鳥板試用】
發表于 09-10 18:17
【龍芯2K0300蜂鳥板試用】+龍芯2K0300蜂鳥開發板快速上手
1. 前言
我非常感激社區和官方提供的這次開發板試用機會。這是一個難得的學習和實踐的機遇,尤其是在我對于這種新型架構一直抱有濃厚興趣卻未曾深入了解的情況下。我帶著一顆好奇和探索的心,準備投身于這個
發表于 08-04 14:19
【PHYTEC AM62x開發板試用】階段小結
/bsp-yocto-ampliphy-am62x-pd23.2.1/quickstart/index.html手冊完成了所有操作,從最初的# Quickstart到最后的# Pre-Built Binaries。根據這段時間的學習經歷做一個階段性的
發表于 07-20 18:09
點擊參與米爾NXP i.MX 93開發板有獎試用
米爾與NXP合作發布的新品基于NXPi.MX93應用處理器的MYD-LMX9X開發板免費試用活動來啦~~米爾提供了3塊價值678元的MYD-LMX9X開發板發起試用活動您不僅可以免費體
【昉·星光 2 高性能RISC-V單板計算機試用體驗】開箱及裝載Debian系統
上周收到了昉·星光 2高性能RISC-V單板計算機開發板,在此非常感謝賽昉科技提供的試用機會。開發板
發表于 01-24 00:32
評論