最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

個人適用的單片機長距離通訊方法(PC-20230910-Wingman)

2023-09-11 00:59 作者:季風(fēng)蒲靈  | 我要投稿

方法由四大部份構(gòu)成: 上位單片機

Air780E

frp

Godot服務(wù)器

Air780E可以事先刷入AT固件,只作為聯(lián)網(wǎng)和通訊之用。其默認(rèn)開啟聯(lián)網(wǎng)功能,常用的聯(lián)網(wǎng)指令如下: AT+CIPSTART=TCP,domain.name,port

AT+CIPSEND

> XX XX XX XX XX XX XX XX XX 1A

上述3條指令由單片機通過串口向Air780E發(fā)送,分別意為: 建立TCP連接

準(zhǔn)備傳送一段數(shù)據(jù)

在串口返回 “>” 符號后,以 十六進(jìn)制 開始像串口輸入數(shù)據(jù),最后以十六進(jìn)制 1A 結(jié)尾表示數(shù)據(jù)傳輸完畢

frp用于獲取在公網(wǎng)上的域名并將本地服務(wù)器端口映射到該公網(wǎng)域名上 Godot可以用于搭建一個簡易的服務(wù)器和圖形界面,其啟用TCP服務(wù)的腳本可參照如下:

extends Node

const HOST := "127.0.0.1"

const PORT := 114

var server := TCPServer.new()

var clientSet:Dictionary

func _ready():

if server.listen(PORT, HOST) == OK:

print("地面站網(wǎng)絡(luò)服務(wù)啟動")

else:

print_debug("地面站網(wǎng)絡(luò)服務(wù)",HOST,PORT,"啟動失敗")

func _process(delta):

for client in clientSet.keys():

client.poll()

# 處理數(shù)據(jù)

var dataLength:int = client.get_available_bytes()

if dataLength:

match client.get_data(dataLength):

[var err, var data]:

if err == OK and dataLength:

handle_data(client, data)

# 清理無效連接

if client.get_status() == StreamPeerTCP.STATUS_NONE:

clientSet.erase(client)

print("TCP連接數(shù):", clientSet.size())

continue

# 處理新增連接

if server.is_connection_available():

var client := server.take_connection()

clientSet[client] = client

print("TCP連接數(shù):", clientSet.size())

func handle_data(client:StreamPeerTCP, data:PackedByteArray):

print("<",data)

func put_data(client:StreamPeerTCP, data:PackedByteArray):

client.put_data(data)

print(">",data)

效果如下圖所示:

個人適用的單片機長距離通訊方法(PC-20230910-Wingman)的評論 (共 條)

分享到微博請遵守國家法律
阳谷县| 沅江市| 宜城市| 北票市| 四川省| 江门市| 嘉峪关市| 华亭县| 荥经县| 页游| 邵阳市| 池州市| 巧家县| 双柏县| 措美县| 娄烦县| 古田县| 涪陵区| 潞城市| 七台河市| 砚山县| 沙田区| 青铜峡市| 屯门区| 娄底市| 万山特区| 基隆市| 宣城市| 荥阳市| 铜山县| 涿州市| 略阳县| 保康县| 富川| 兴化市| 澎湖县| 吉安县| 东丽区| 那坡县| 维西| 电白县|