From 8d7d4d898d238779fc2a08b9a553f27502890348 Mon Sep 17 00:00:00 2001 From: Vladan Popovic Date: Sat, 25 Jun 2022 18:35:35 +0200 Subject: [PATCH] initial mqtt connect --- Cargo.toml | 1 + src/main.rs | 13 ++++++++++++- 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/Cargo.toml b/Cargo.toml index 8af22bc..0150732 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -17,6 +17,7 @@ anyhow = "1.0.57" embedded-hal = "0.2.7" esp-idf-hal = "0.37.4" esp-idf-sys = { version = "0.31.5", features = ["binstart", "native"] } +mqtt-protocol = "0.11.2" nb = "1.0.0" [build-dependencies] diff --git a/src/main.rs b/src/main.rs index 11c0f6c..0ff7c55 100644 --- a/src/main.rs +++ b/src/main.rs @@ -10,6 +10,10 @@ use esp_idf_hal::prelude::*; use esp_idf_hal::peripherals::Peripherals; use esp_idf_hal::serial; +use mqtt::control::ConnectReturnCode; +use mqtt::packet::{ConnackPacket, ConnectPacket, PublishPacketRef, QoSWithPacketIdentifier}; +use mqtt::{Decodable, Encodable, TopicName}; + fn main() -> anyhow::Result<()> { esp_idf_sys::link_patches(); @@ -65,7 +69,14 @@ fn main() -> anyhow::Result<()> { let _ = mdm.tcp_set_quick_mode(false); let _ = mdm.tcp_set_manual_receive()?; let _ = mdm.tcp_connect("51.158.66.64", 9988)?; - let _ = mdm.tcp_send("aaaaa")?; + + let client_id = "e-bike-tracker"; + let mut conn = ConnectPacket::new(client_id); + conn.set_clean_session(true); + let mut buf = Vec::new(); + let _ = conn.encode(&mut buf)?; + + let _ = mdm.tcp_send(&mut buf)?; thread::sleep(Duration::from_millis(1000)); println!("+++++++++++++++++++++++++++++++++"); let size = mdm.tcp_receive_reply_len()?;