Can you tell me how to convert MAC address to string in c.
Can you tell me how to convert MAC address to string in c.
Explore... Chat... Share...
Moderator: igrr
Piman wrote:Hi am not a coder and like to try things out for myself but I come to a point where I need help,
I am trying to send the data from an ESP 8266 to a raspberry PI server using an example found on the net which works fine, but trying to get it to send multiple values i.e.: temperature humidity and switch values, through one TCP connection without having to disconnect and reconnect for each value string. I would appreciate if somebody with a little more experience than myself can help me out in explaining on how this could be achieved and or provide examples of how this could be done Thank You For Your Time Andy.Code: Select all#include <ESP8266WiFi.h>
#include <Base64.h>
//AP definitions
#define AP_SSID "your AP SSID"
#define AP_PASSWORD "your AP password"
//IoT server definitions
#define IOT_USERNAME "admin"
#define IOT_PASSWORD "test"
#define IOT_IP_ADDRESS "192.168.1.5"
#define IOT_PORT 80
#define IOT_NODE "N8S0"
#define INPUT_PIN 2
#define USER_PWD_LEN 40
char unameenc[USER_PWD_LEN];
bool oldInputState;
void setup() {
Serial.begin(115200);
pinMode(INPUT_PIN, INPUT);
wifiConnect();
char uname[USER_PWD_LEN];
String str = String(IOT_USERNAME)+":"+String(IOT_PASSWORD);
str.toCharArray(uname, USER_PWD_LEN);
memset(unameenc,0,sizeof(unameenc));
base64_encode(unameenc, uname, strlen(uname));
oldInputState = !digitalRead(INPUT_PIN);
}
void loop() {
int inputState = digitalRead(INPUT_PIN);;
if (inputState != oldInputState)
{
sendInputState(inputState);
oldInputState = inputState;
}
}
void wifiConnect()
{
Serial.print("Connecting to AP");
WiFi.begin(AP_SSID, AP_PASSWORD);
while (WiFi.status() != WL_CONNECTED) {
delay(1000);
Serial.print(".");
}
Serial.println("");
Serial.println("WiFi connected");
}
void sendInputState(bool inputState)
{
WiFiClient client;
while(!client.connect(IOT_IP_ADDRESS, IOT_PORT)) {
Serial.println("connection failed");
wifiConnect();
}
String url = "";
String command = "";
if (inputState)
command = "ControlOn";
else
command = "ControlOff";
url = "/Api/IoT/Control/Module/Virtual/"+ String(IOT_NODE) + "/"+command; // generate IoT server node URL
Serial.print("POST data to URL: ");
Serial.println(url);
client.print(String("POST ") + url + " HTTP/1.1\r\n" +
"Host: " + String(IOT_IP_ADDRESS) + "\r\n" +
"Connection: close\r\n" +
"Authorization: Basic " + unameenc + " \r\n" +
"Content-Length: 0\r\n" +
"\r\n");
delay(100);
while(client.available()){
String line = client.readStringUntil('\r');
Serial.print(line);
}
Serial.println();
Serial.println("Connection closed");
}
It takes about 20-25 seconds for home assistant c[…]
I tried to upgrade tof my sonoff basic R2 with the[…]
a problem Perhaps you want to define "Probl[…]
Rebooting your router will not give you a faster I[…]
There are no other notifications from esptool.py i[…]
Using the Arduino IDE, you'll learn how to set up […]
In this project, you will post to Twitter using an[…]
In this project, we will build a water level contr[…]
I guess I'm late, but I had the same problem and f[…]
Last night I received my first D1 Minis for a lear[…]
Although I am aware that this is an old post, I fe[…]