Skip to content

Commit 5c6fe87

Browse files
committed
added bt
1 parent 7246b65 commit 5c6fe87

13 files changed

+3125
-38
lines changed

main/CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
11
idf_component_register(SRCS "iot.c"
2-
INCLUDE_DIRS "")
2+
INCLUDE_DIRS ".")

main/app.c

Lines changed: 94 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,94 @@
1+
float read_sensor()
2+
{
3+
return 42.0;
4+
}
5+
6+
void push_data()
7+
{
8+
printf("Pushing...\n");
9+
char ssid[33];
10+
char password[65];
11+
printf("DEBUG1\n");
12+
read_str_from_nvs("ssid", ssid, 32);
13+
printf("DEBUG2\n");
14+
read_str_from_nvs("password", password, 64);
15+
printf("DEBUG3\n");
16+
save_bool_to_nvs("wifi_enabled", true);
17+
printf("DEBUG4\n");
18+
connect_wifi(ssid, password);
19+
20+
bool wifi_connected = false;
21+
read_bool_from_nvs("wifi_connected", &wifi_connected);
22+
while (!wifi_connected)
23+
{
24+
read_bool_from_nvs("wifi_connected", &wifi_connected);
25+
printf("Waiting for wifi...\n");
26+
vTaskDelay(pdMS_TO_TICKS(1000));
27+
}
28+
printf("Connected!\n");
29+
30+
char existing_data[1000];
31+
read_str_from_fs(existing_data, 1000);
32+
33+
int suc = send_message(existing_data);
34+
if (!suc)
35+
{
36+
printf("Failed to push!\n");
37+
save_bool_to_nvs("wifi_enabled", false);
38+
disconnect_wifi();
39+
return;
40+
}
41+
save_str_to_fs("");
42+
printf("Pushed!\n");
43+
save_bool_to_nvs("wifi_enabled", false);
44+
disconnect_wifi();
45+
}
46+
47+
void read_loop()
48+
{
49+
int reading_interval = 1000;
50+
int push_interval = 7;
51+
int counter = 0;
52+
while (1)
53+
{
54+
if (exists_in_nvs("reading_interval"))
55+
{
56+
read_int_from_nvs("reading_interval", &reading_interval);
57+
}
58+
if (exists_in_nvs("push_interval"))
59+
{
60+
read_int_from_nvs("push_interval", &push_interval);
61+
}
62+
63+
float reading = read_sensor();
64+
printf("Reading: %f\n", reading);
65+
66+
char existing_data[1000];
67+
68+
read_str_from_fs(existing_data, 1000);
69+
char *new_data = malloc(2000);
70+
sprintf(new_data, "%s%f\n", existing_data, reading);
71+
save_str_to_fs(new_data);
72+
73+
if (counter >= push_interval)
74+
{
75+
counter = 0;
76+
xTaskCreate(push_data, "push_data", 2048, NULL, 10, NULL);
77+
}
78+
79+
counter++;
80+
vTaskDelay(pdMS_TO_TICKS(reading_interval));
81+
}
82+
}
83+
84+
void run()
85+
{
86+
if (exists_in_nvs("ssid"))
87+
{
88+
read_loop();
89+
}
90+
else
91+
{
92+
start_bluetooth();
93+
}
94+
}

0 commit comments

Comments
 (0)