本文來源電子發(fā)燒友社區(qū),作者:FrankSmith, 帖子地址:https://bbs.elecfans.com/jishu_2296120_1_1.html
想進(jìn)行tcpip通訊,首先得連接網(wǎng)絡(luò)。當(dāng)然了,這個(gè)板子沒有以太網(wǎng)接口,得利用板子的WiFi接口了。這個(gè)項(xiàng)目提供了一些WiFi的功能,予以一一嘗試。
想進(jìn)行tcpip通訊,首先得連接網(wǎng)絡(luò)。當(dāng)然了,這個(gè)板子沒有以太網(wǎng)接口,得利用板子的WiFi接口了。這個(gè)項(xiàng)目提供了一些WiFi的功能,予以一一嘗試。
第一個(gè)指令是(wifi_scan)。
以下指令的輸入以及信息的輸出均在串口助手sscom中進(jìn)行。
- 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
找到一個(gè)可以連接的無線路由器,ssid=268
使用這個(gè)項(xiàng)目提供的命令:(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
這標(biāo)識(shí)已經(jīng)連上路由器,并通過dhcp分配了IP地址為192.168.88.7。
電腦中打開一個(gè)cmd窗口,查看本機(jī)的ip地址。
- 無線局域網(wǎng)適配器 WLAN:
- 連接特定的 DNS 后綴 . . . . . . . : Realtek
- IPv4 地址 . . . . . . . . . . . . : 192.168.88.6
- 子網(wǎng)掩碼. . . . . . . . . . . . : 255.255.255.0
- 默認(rèn)網(wǎng)關(guān). . . . . . . . . . . . . : 192.168.88.254
- 以太網(wǎng)適配器 藍(lán)牙網(wǎng)絡(luò)連接:
- 媒體狀態(tài). . . . . . . . . . . . : 媒體已斷開連接
- 連接特定的 DNS 后綴 . . . . . . . :
使用ping指令,看是否能連通開發(fā)板
- C:Usersjohn>ping 192.168.88.7
- 正在 Ping 192.168.88.7 具有 32 字節(jié)的數(shù)據(jù):
- 來自 192.168.88.7 的回復(fù): 字節(jié)=32 時(shí)間=5ms TTL=255
- 來自 192.168.88.7 的回復(fù): 字節(jié)=32 時(shí)間=2ms TTL=255
- 來自 192.168.88.7 的回復(fù): 字節(jié)=32 時(shí)間=4ms TTL=255
- 來自 192.168.88.7 的回復(fù): 字節(jié)=32 時(shí)間=9ms TTL=255
- 192.168.88.7 的 Ping 統(tǒng)計(jì)信息:
- 數(shù)據(jù)包: 已發(fā)送 = 4,已接收 = 4,丟失 = 0 (0% 丟失),
- 往返行程的估計(jì)時(shí)間(以毫秒為單位):
- 最短 = 2ms,最長 = 9ms,平均 = 5ms
可以看見已經(jīng)能ping通開發(fā)板。說明開發(fā)板已經(jīng)掛在無線網(wǎng)絡(luò)上,并且項(xiàng)目提供了被ping通的功能。這在windows中被稱呼為文件和打印機(jī)共享(回顯請(qǐng)求 - ICMPv4-In)。windows中需要在防火墻中設(shè)置才能開啟這個(gè)功能。這個(gè)項(xiàng)目應(yīng)該沒有防火墻吧。但是直接就提供了回顯請(qǐng)求功能了。這個(gè)功能應(yīng)該能使得外部設(shè)備能知道這個(gè)開發(fā)板是否在線。
*********************************************************************************************
至此,初步探索結(jié)束。應(yīng)該下一步可以在此基礎(chǔ)上開展工作了?
可惜理想很豐滿,現(xiàn)實(shí)很骨感。
首先,功能實(shí)現(xiàn)之前,先實(shí)現(xiàn)對(duì)功能得觸發(fā)。去看看項(xiàng)目得指令wifi_sta_connect是如何觸發(fā)?
找到wifi_sta_connect函數(shù)定義:
- 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);
- }
以及函數(shù)引用
- 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);
- }
這個(gè)引用在函數(shù)static void event_cb_wifi_event(input_event_t *event, void *private_data)里。。。
這是什么鬼。命令行不是在以下數(shù)據(jù)結(jié)構(gòu)里嗎?
- 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();
- }
原來命令行有兩種模式,一種是直接解碼,一種是消息發(fā)送或者說事件方式。
以上函數(shù)中fd_console應(yīng)該是默認(rèn)的,燒錄代碼的串口吧?
看樣子在實(shí)現(xiàn)自己的功能代碼之前,還得有#include的相關(guān)知識(shí)。
特別提醒。這點(diǎn)一定注意。如果有相關(guān)知識(shí)會(huì)很順利學(xué)習(xí)這個(gè)開發(fā)板。
*******************************************************************************************************
如果板子還在我手上的話,也許下一步借助這個(gè)板子,先開始一段FreeRTOS
的學(xué)習(xí)吧。
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。
舉報(bào)投訴
-
躍昉科技
+關(guān)注
關(guān)注
0文章
70瀏覽量
1921 -
開發(fā)板試用
+關(guān)注
關(guān)注
3文章
301瀏覽量
2092
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
RISC-V廠商躍昉科技榮獲橫琴粵澳深度合作區(qū)“潛力獨(dú)角獸企業(yè)”認(rèn)定
其未來巨大的發(fā)展?jié)摿Α?躍昉科技聚焦研發(fā)基于RISC-V架構(gòu)的SoC芯片產(chǎn)品,已推出了SF1、BF2、GF3、GF5、NB2L、NB2 等六
四核A53@2GHz+NPU開發(fā)板只要198元!還是國產(chǎn)+工業(yè)級(jí)
四核A53@2GHz+NPU開發(fā)板只要198元!還是國產(chǎn)+工業(yè)級(jí)
追加名額丨米爾瑞芯微RK3576開發(fā)板有獎(jiǎng)試用
米爾與瑞芯微合作發(fā)布的新品基于瑞芯微RK3576應(yīng)用處理器的MYD-LR3576開發(fā)板免費(fèi)試用活動(dòng)加碼啦~~米爾追加了2塊價(jià)值849元的MYD-LR3576開發(fā)板發(fā)起
有獎(jiǎng)丨米爾 瑞芯微RK3576開發(fā)板免費(fèi)試用
米爾與瑞芯微合作發(fā)布的新品基于瑞芯微RK3576應(yīng)用處理器的MYD-LR3576開發(fā)板免費(fèi)試用活動(dòng)來啦~~米爾提供了7塊價(jià)值849元的MYD-LR3576開發(fā)板發(fā)起試用活動(dòng)您不僅可以免
有獎(jiǎng)試用?。A-Eco-RA4E2-64PIN-V1.0開發(fā)板試用活動(dòng)開始報(bào)名
有獎(jiǎng)試用?。A-Eco-RA4E2-64PIN-V1.0開發(fā)板試用活動(dòng)開始報(bào)名
躍昉科技正式加入openGauss社區(qū)
日前,躍昉科技簽署CLA(Contribution License Agreement,貢獻(xiàn)許可協(xié)議),正式加入openGauss社區(qū),致力于推動(dòng)openGauss RISC-V SIG的發(fā)展。
【作品合集】龍芯2K0300蜂鳥開發(fā)板試用精選
試用】3 體驗(yàn)四大操作系統(tǒng)(Buildroot、Loongnix、Openharmony、OpenWRT)【龍芯2K0300蜂鳥板試用】
發(fā)表于 09-10 18:17
【龍芯2K0300蜂鳥板試用】+龍芯2K0300蜂鳥開發(fā)板快速上手
1. 前言
我非常感激社區(qū)和官方提供的這次開發(fā)板試用機(jī)會(huì)。這是一個(gè)難得的學(xué)習(xí)和實(shí)踐的機(jī)遇,尤其是在我對(duì)于這種新型架構(gòu)一直抱有濃厚興趣卻未曾深入了解的情況下。我?guī)е活w好奇和探索的心,準(zhǔn)備投身于這個(gè)
發(fā)表于 08-04 14:19
【PHYTEC AM62x開發(fā)板試用】階段小結(jié)
/bsp-yocto-ampliphy-am62x-pd23.2.1/quickstart/index.html手冊(cè)完成了所有操作,從最初的# Quickstart到最后的# Pre-Built Binaries。根據(jù)這段時(shí)間的學(xué)習(xí)經(jīng)歷做一個(gè)階段性的
發(fā)表于 07-20 18:09
點(diǎn)擊參與米爾NXP i.MX 93開發(fā)板有獎(jiǎng)試用
米爾與NXP合作發(fā)布的新品基于NXPi.MX93應(yīng)用處理器的MYD-LMX9X開發(fā)板免費(fèi)試用活動(dòng)來啦~~米爾提供了3塊價(jià)值678元的MYD-LMX9X開發(fā)板發(fā)起試用活動(dòng)您不僅可以免費(fèi)體
免費(fèi)!NXP i.MX 93開發(fā)板有獎(jiǎng)試用
米爾與NXP合作發(fā)布的新品基于NXPi.MX93應(yīng)用處理器的MYD-LMX9X開發(fā)板免費(fèi)試用活動(dòng)來啦~~米爾提供了2塊價(jià)值678
【昉·星光 2 高性能RISC-V單板計(jì)算機(jī)試用體驗(yàn)】開箱及裝載Debian系統(tǒng)
上周收到了昉·星光 2高性能RISC-V單板計(jì)算機(jī)開發(fā)板,在此非常感謝賽昉科技提供的試用機(jī)會(huì)。開發(fā)板
發(fā)表于 01-24 00:32
評(píng)論