#esp8266 #networking #at #sockets #tcp-client #no-std

no-std esp-at-nal

ESP-AT 调制解调器的网络层客户端

7 个版本

0.3.0 2024 年 2 月 8 日
0.2.1 2023 年 4 月 19 日
0.2.0 2022 年 12 月 12 日
0.1.3 2024 年 2 月 8 日
0.1.2 2022 年 10 月 24 日

嵌入式开发 中排名第 305

每月下载量 25

MIT/Apache

145KB
3K SLoC

无 std 的 ESP-AT 网络层

License License Crates.io Actions Status

基于 ATAT 的 ESP-AT 实现 ESP-AT 的网络层/客户端,并基于 embedded-nal

目前,此软件包提供以下功能

示例

以下是一个使用模拟 AtClient 的简单示例

use std::str::FromStr;
use embedded_nal::{SocketAddr, TcpClientStack};
use esp_at_nal::example::ExampleTimer;
use esp_at_nal::wifi::{Adapter, WifiAdapter};
use crate::esp_at_nal::example::ExampleAtClient as AtClient;

let client = AtClient::default();
// Creating adapter with 1024 bytes TX and 256 RX block size
let mut adapter: Adapter<_, _, 1_000_000, 1024, 256> = Adapter::new(client, ExampleTimer::default());

// Joining WIFI access point
let state = adapter.join("test_wifi", "secret").unwrap();
assert!(state.connected);

// Creating a TCP connection
let mut  socket = adapter.socket().unwrap();
adapter.connect(&mut socket, SocketAddr::from_str("10.0.0.1:21").unwrap()).unwrap();

// Sending some data
adapter.send(&mut socket, b"hallo!").unwrap();

要查看在 Linux 上运行的真实世界示例,请查看 examples/linux.rs

# For logging
export RUST_LOG=trace

cargo run --example linux --features "atat/log" -- \
    /dev/ttyUSB0 115200 mywifi hellopasswd123

开发

任何形式的支持都受到高度赞赏。请随意创建问题和 PR。有关更多详细信息,请参阅 DEVELOPMENT

许可

许可协议为以下之一

每位贡献者同意其贡献涵盖这两种许可证。

依赖关系

~3MB
~55K SLoC