hp-core: use mqtt lib
Signed-off-by: Thomas Klaehn <thomas.klaehn@perinet.io>
This commit is contained in:
parent
ec58e9e268
commit
27294df811
@ -3,10 +3,6 @@
|
||||
|
||||
extern crate alloc;
|
||||
|
||||
use embedded_io::{
|
||||
Read,
|
||||
Write
|
||||
};
|
||||
use blocking_network_stack::Stack;
|
||||
use esp_backtrace as _;
|
||||
use esp_hal::{
|
||||
@ -49,14 +45,7 @@ use esp_wifi::{
|
||||
WifiStaDevice,
|
||||
}
|
||||
};
|
||||
use mqttrust::encoding::v4::{
|
||||
encode_slice,
|
||||
Connect,
|
||||
Packet,
|
||||
Protocol,
|
||||
Publish,
|
||||
QoS
|
||||
};
|
||||
use mqtt::Mqtt;
|
||||
|
||||
use smoltcp::{
|
||||
iface::{
|
||||
@ -65,7 +54,6 @@ use smoltcp::{
|
||||
},
|
||||
wire::{
|
||||
DhcpOption,
|
||||
IpAddress,
|
||||
Ipv4Address
|
||||
}
|
||||
};
|
||||
@ -154,60 +142,24 @@ fn main() -> ! {
|
||||
|
||||
let mut rx_buffer = [0u8; 1536];
|
||||
let mut tx_buffer = [0u8; 1536];
|
||||
let mut socket = stack.get_socket(&mut rx_buffer, &mut tx_buffer);
|
||||
socket
|
||||
.open(IpAddress::Ipv4(Ipv4Address::new(192, 168, 178, 143)), 1883) // p5
|
||||
.unwrap();
|
||||
let socket = stack.get_socket(&mut rx_buffer, &mut tx_buffer);
|
||||
|
||||
|
||||
sleep_millis(1_000);
|
||||
println!("Trying to connect");
|
||||
|
||||
let connect = Packet::Connect(Connect {
|
||||
protocol: Protocol::MQTT311,
|
||||
keep_alive: 10,
|
||||
client_id: "tmp",
|
||||
clean_session: true,
|
||||
last_will: None,
|
||||
username: None,
|
||||
password: None,
|
||||
});
|
||||
let mut buf = [0u8; 1024];
|
||||
let len = encode_slice(&connect, &mut buf).unwrap();
|
||||
|
||||
let _ = match socket.write(&buf[..len]) {
|
||||
Ok(value) => value,
|
||||
Err(err) => panic!("Error connection mqtt: {:?}",err),
|
||||
};
|
||||
|
||||
println!("Connected to MQTT broker");
|
||||
|
||||
let packet = Publish {
|
||||
dup: false,
|
||||
qos: QoS::AtMostOnce,
|
||||
pid: None,
|
||||
retain: false,
|
||||
topic_name: "topic",
|
||||
payload: b"hello",
|
||||
}.into();
|
||||
let len = encode_slice(&packet, &mut buf).unwrap();
|
||||
let _ = match socket.write(&buf[..len]) {
|
||||
Ok(value) => value,
|
||||
Err(err) => panic!("Error publishing mqtt: {:?}",err),
|
||||
};
|
||||
// read back result (?!?)
|
||||
let len = match socket.read(&mut buf) {
|
||||
Ok(value) => value,
|
||||
Err(err) => panic!("Error reading socket: {:?}", err),
|
||||
};
|
||||
if len > 0 {
|
||||
println!("got {} bytes: {:02x?}", len, &buf[..len]);
|
||||
let address = Ipv4Address::new(192, 168, 178, 143);
|
||||
let port: u16 = 1883;
|
||||
let mut mqtt = Mqtt::new(socket, address, port);
|
||||
match mqtt.open() {
|
||||
Ok(()) => {},
|
||||
Err(err) => panic!("unable to open mqtt connection: {:?}", err),
|
||||
}
|
||||
|
||||
println!("Disconnecting");
|
||||
socket.disconnect();
|
||||
println!("Disconnected");
|
||||
|
||||
match mqtt.connect("stm32-c6") {
|
||||
Ok(_size) => {},
|
||||
Err(err) => panic!("unable to connect to mqtt broker: {:?}", err),
|
||||
}
|
||||
match mqtt.publish("testtopic", b"testpayload") {
|
||||
Ok(_size) => {},
|
||||
Err(err) => panic!("unable to publish to mqtt broker: {:?}", err),
|
||||
}
|
||||
mqtt.disconnect();
|
||||
|
||||
let lp_pin = LowPowerOutput::new(peripherals.GPIO1);
|
||||
let uart_cfg = Config::default();
|
||||
|
Loading…
x
Reference in New Issue
Block a user