
Оглавление:
2025 Автор: John Day | [email protected]. Последнее изменение: 2025-01-23 15:05

В этом руководстве я расскажу об измерении близости устройства и публикации значений в облачной платформе Thingsai, io с помощью датчика Холла и платы разработки esp32.
Датчик эффекта Холла - это устройство, которое используется для измерения величины магнитного поля. Его выходное напряжение прямо пропорционально напряженности магнитного поля через него. Датчики на эффекте Холла используются для определения приближения, позиционирования, определения скорости и измерения тока.
Шаг 1: КОМПОНЕНТЫ



Компоненты оборудования:
1. Датчик Холла
2. Плата разработки esp32
3. Перемычки.
Компоненты программного обеспечения:
1. Arduino IDE
2. ThingsIO. AI
Шаг 2: ПОДКЛЮЧЕНИЯ:

Датчик Холла ---------------------- esp32
Аут ------------------------------ вп.
Земля ----------------------------- Земля
Vcc ------------------------------ 3V3
Шаг 3: КОДИРОВКА:
#включают
#включают
#включают
int count = 0, я, м, j, k;
измерение int;
int outputpin = A0; // ds18b20
//////////////////////////////////////// ВСЕ ЗАЯВЛЕНИЯ
для ОБЛАКА //////////////////////////////
const char * host = "api.thingsai.io"; // ИЛИ host =
devapi2.thethingscloud.com
const char * post_url = "/ devices / deviceData"; // ИЛИ
/ api / v2 / thingscloud2 / _table / data_ac
const char * time_server =
"baas.thethingscloud.com"; // это для преобразования метки времени
const int httpPort = 80;
const int httpsPort = 443;
const char * server =
"api.thingsai.io"; // URL сервера
временная метка [10];
WiFiMulti WiFiMulti;
// Используйте класс WiFiClient для создания TCP-соединений
Клиент WiFiClient;
/////////////////////////////////////// TIMESTAMP
РАСЧЕТНАЯ функция ///////////////////////////////////////
int GiveMeTimestamp ()
{
беззнаковый длинный
тайм-аут = миллис ();
// Клиент WiFiClient;
в то время как
(client.available () == 0)
{
если (миллис () -
тайм-аут> 50000)
{
client.stop ();
возврат 0;
}
}
пока (client.available ())
{
Строка line =
client.readStringUntil ('\ r'); // indexOf () - функция для поиска чего-либо, возвращает -1, если не найдено
int pos =
line.indexOf ("\" отметка времени / ""); // ищем "\" отметку времени / "" от начала полученного ответа и копируем все данные после этого, это будет ваша отметка времени
если (pos> =
0)
{
int j = 0;для (j = 0; j <10; j ++)
{отметка времени [j] = строка [pos + 12 + j];
}
}
}
}
////////////////////////////////////////////////////////////////////////////////////////////////////////
установка void ()
{Serial.begin (115200);
задержка (10);
// Начнем с
подключение к сети Wi-Fi
WiFiMulti.addAP ("wifi_name", "wifi_password");
Serial.println ();
Serial.println ();Serial.print («Ждите WiFi…»);while (WiFiMulti.run ()! = WL_CONNECTED) {Serial.print (".");
задержка (500);
}Serial.println ("");Serial.println («WiFi подключен»);Serial.println ("IP-адрес:");
Serial.println (WiFi.localIP ());
задержка (500);
}
пустой цикл ()
{
int analogValue =
analogRead (вывод);
{
/////////////////////////////////////// ОТПРАВИТЬ ЗАПРОС И
ПОЛУЧИТЕ ОТВЕТ ///////////////////////
измерение int
= 0;
измерение =
hallRead ();Serial.print («Измерение датчика Холла:»);Serial.println (измерение);
задержка (1000);Serial.print («подключение к»);Serial.println (хост); // определенный потенциал роста: - host = devapi2.thethingscloud.com или 139.59.26.117
///////////////////////////////////// КОД TIMESTAMP КОД
/////////////////////////
Serial.println ("получить метку времени / n");
если
(! client.connect (сервер_времени, {
возвращение;
//*-*-*-*-*-*-*-*-*-*
}client.println ("GET / api / timestamp HTTP / 1.1"); // Что делает эта часть, я не понялclient.println ("Хост: baas.thethingscloud.com");client.println ("Контроль кеширования: без кеширования");client.println ("Почтальон-токен: ea3c18c6-09ba-d049-ccf3-369a22a284b8");
client.println ();
GiveMeTimestamp (); // вызовет функцию
который получит ответ с отметкой времени от сервера
Serial.println ("временная метка получена");
Serial.println (отметка времени);Serial.println («внутри ThingsCloudPost»);
Строка PostValue =
"{" device_id / ": 61121696007, \" slave_id / ": 2";
PostValue =
PostValue + ", \" dts / ":" + отметка времени;
PostValue =
PostValue + ", \" данные / ": {" близость / ":" + измерение + "}" + "}";Serial.println (PostValue);
/ * создаем экземпляр WiFiClientSecure * /
Клиент WiFiClientSecure;Serial.println («Подключиться к серверу через порт 443»);
если
(! client.connect (сервер, 443)) {Serial.println («Ошибка подключения!»);
} еще {Serial.println («Подключено к серверу!»);
/ * создать
запрос */
client.println ( POST
/ devices / deviceData HTTP / 1.1 ");client.println ("Хост: api.thingsai.io");//client.println("Connection: close ");client.println ("Content-Type: application / json");client.println ("управление кешем: без кеша");
client.println ( Авторизация:
Носитель eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9. IjVhMzBkZDFkN2QwYjNhNGQzODkwYzQ4OSI.kaY6OMj5cYlWNqC2PNTkXs9PfWlY6AG_m)client.print ("Длина содержимого:");client.println (PostValue.length ());
client.println ();client.println (PostValue);
////////////////////////////////// РАЗМЕЩЕНИЕ данных в
облако готово и теперь получаем форму ответа облачного сервера //////////////////
Serial.print ( Ожидание ответа
);
в то время как
(! client.available ()) {
задержка (50);
//Serial.print (".");
}
/ * если данные
доступны, затем получить и распечатать в Терминал * /
в то время как
(client.available ()) {
символ c =
client.read ();Serial.write (c);
}
/ * если сервер отключился, останавливаем клиента * /
если
(! client.connected ()) {Serial.println ();Serial.println («Сервер отключен»);client.stop ();
}
}
Serial.println ( ////////////////////// КОНЕЦ
///////////////////// );
задержка (3000);
}}
Шаг 4: РЕЗУЛЬТАТ:

Значения, считываемые с датчика, успешно отправляются в облако IOT, и создается график как зависимость расстояния от времени. При этом работа датчика анализируется и используется в соответствии с требуемыми областями применения.
Шаг 5: Полное руководство:

Это полный проект по измерению близости устройства с помощью датчика холла esp32 и облачной платформы thingsai.io. Спасибо
Рекомендуемые:
Visuino Как использовать индуктивный датчик приближения: 7 шагов

Visuino Как использовать индуктивный датчик приближения: в этом руководстве мы будем использовать индуктивный датчик приближения и светодиод, подключенный к Arduino UNO и Visuino для обнаружения приближения металла. Посмотрите демонстрационное видео
Сделайте датчик приближения с помощью Magicbit [Magicblocks]: 6 шагов
![Сделайте датчик приближения с помощью Magicbit [Magicblocks]: 6 шагов Сделайте датчик приближения с помощью Magicbit [Magicblocks]: 6 шагов](https://i.howwhatproduce.com/images/002/image-3505-j.webp)
Создание датчика приближения с Magicbit [Magicblocks]: в этом руководстве вы научитесь использовать датчик приближения с Magicbit, используя Magicblocks. Мы используем magicbit в качестве платы для разработки в этом проекте, основанном на ESP32. Поэтому в этом проекте можно использовать любую плату разработки ESP32
Воздушное пианино с ИК-датчиком приближения, динамиком и Arduino Uno (обновлено / часть 2): 6 шагов

Воздушное пианино с ИК-датчиком приближения, динамиком и Arduino Uno (обновлено / часть 2): это обновленная версия предыдущего проекта воздушного фортепиано?. Здесь я использую динамик JBL в качестве выхода. Я также добавил сенсорную кнопку для изменения режимов в соответствии с требованиями. Например, режим Hard Bass, Normal, High fr
Air Piano с ИК-датчиком приближения и Arduino Uno Atmega 328: 6 шагов (с изображениями)

Воздушное пианино с ИК-датчиком приближения и Arduino Uno Atmega 328: Обычно пианино, будь то электрическое или механическое, работает с простым механизмом нажатия кнопки. Но вот поворот: мы могли бы просто избавиться от необходимости использовать клавиши в пианино, используя некоторые датчики. И инфракрасные датчики приближения лучше всего подходят для этой цели, потому что
Модуль тактильного приближения - дешево и просто: 5 шагов (с изображениями)

Модуль тактильного приближения - дешево и просто: Бог, одаренный человеком, является важным аспектом нашей жизни. Но есть несчастные люди, которым не хватает способности визуализировать. Во всем мире около 37 миллионов слепых людей, более 15 миллионов