国产精品天干天干,亚洲毛片在线,日韩gay小鲜肉啪啪18禁,女同Gay自慰喷水

歡迎光臨散文網(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)的評論 (共 條)

分享到微博請遵守國家法律
永州市| 安泽县| 栾城县| 西充县| 玉屏| 包头市| 安新县| 沙田区| 张家川| 东平县| 兴宁市| 江津市| 剑阁县| 中超| 炉霍县| 肇源县| 栾川县| 黄龙县| 台南县| 甘洛县| 红河县| 益阳市| 东海县| 平湖市| 乌拉特后旗| 四子王旗| 潜江市| 长顺县| 合川市| 岳普湖县| 东光县| 贵定县| 太谷县| 江孜县| 嘉义县| 临江市| 宁德市| 怀集县| 磐安县| 铜鼓县| 辽中县|