Пятница, 22.11.2024
Завод горного оборудования
Меню сайта
Google_Translate
Категории раздела
Мои статьи [125]
Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0
Форма входа
Рейтинг@Mail.ru

Яндекс.Метрика
Главная » Статьи » Мои статьи

Как передать данные о радиации с RadSens на Народный мониторинг


Плата RadSens фирмы ClimateGuard со счетчиком СБМ-20

Подключение 
Устройство состоит из двух плат - плата RadSens v.4.01 фирмы ClimateGuard и плата NodeMCU v.3 (ESP8266).
Схема соединений проста. Контакты 3v3 и GND платы RadSens подключите соответственно к контактам 3v3 и G (GND) на плате NodeMCU v.3. Контакт SDA платы RadSens подключите к контакту D2 NodeMCU v.3, а контакт SCL платы RadSens подключите к контакту D1 NodeMCU v.3.

Если у вас это первое устройство IoT, то вам надо установить на компьютер среду Arduino IDE и настроить её для плат ESP8266. Также нужно установить драйвер COM порта. Обо всём этом написано на многих ресурсах в интернете.

Я использовал Windows 7 и среду Arduino IDE версии 1.8.19. Для Windows 10 нужно скачать версию 2.2.1 или новее.

Для работы скетча требуется библиотека CG_RadSens.h, её можно скачать с [1]. Щелкните по кнопке Code и в открывшемся списке выберите Download ZIP. Будет скачан архив RadSens-master.zip,  который содержит эту библиотеку. Также этот архив можно взять в Каталоге файлов на этом сайте. Для установки скачанного архива в меню Arduino IDE пройдите Скетч -> Подключить библиотеку -> Добавить .ZIP библиотеку. В открывшемся окне выберите скачанный zip-архив и нажмите Open (Открыть).

Скетч
Скетч проекта скомбинирован из двух скетчей. Первая половина скетча взята из I2C_rad_test.ino из папки примеров для библиотеки RadSens-master.zip фирмы ClimateGuard. Вторая половина взята из скетча на it-dump.ru. В нем на сервис narodmon.ru отправляются данные о температуре и влажности с датчика DHT22. Вместо данных о температуре и влажности отправляю на сервис данные об статическом и динамическом уровнях радиационного фона с датчика RadSens. Из скетча I2C_rad_test.ino удалил вывод диагностических сообщений, оставив только вывод данных о статическом и динамическом уровнях радиационного фона.

Скетч RadSens_Narodmon

#include <Arduino.h>
#include <ESP8266WiFi.h>
#include <ESP8266HTTPClient.h>
#include <Wire.h>
#include "CG_RadSens.h"

CG_RadSens radSens(RS_DEFAULT_I2C_ADDRESS); /*Constructor of the class ClimateGuard_RadSens1v2,
                                                           sets the address parameter of I2C sensor.
                                                           Default address: 0x66.*/
float dynval;  // Переменная для динамического значения интенсивности
float statval; // Переменная для статического значения интенсивности

// Настройки Wi-Fi
const char* ssid = "имя_вашей_сети";
const char* password = "пароль_вашей_сети";
const char* monhost = "narodmon.ru";
const int monPort = 8283;

void setup()
{
  Serial.begin(115200);
  Wire.begin(); // This function initializes the Wire library
  delay(1000);
  while (!radSens.init()) /*Initializates function and sensor connection. Returns false if the sensor is not connected to the I2C bus.*/
  {
    Serial.println("Sensor wiring error!");
    delay(1000);
  }

  // Подключение к Wi-Fi
  Serial.print("Connecting to ");                       // Отправка в Serial port
  Serial.println(ssid);                                 // Отправка в Serial port
  WiFi.begin(ssid, password);                           // Подключение к WiFi Сети
  while (WiFi.status() != WL_CONNECTED) {               // Проверка подключения к WiFi сети
    delay(500);                                         // Пауза
    Serial.print(".");                                  // Отправка в Serial port
  }

  Serial.println("");                                   // Отправка в Serial port
  Serial.println("WiFi connected.");                    // Отправка в Serial port
  Serial.print("IP address: ");                         // Отправка в Serial port
  Serial.println(WiFi.localIP());                       // Отправка в Serial port
  Serial.print("MAC: ");
  Serial.println(WiFi.macAddress());

  Serial.println("-------------------------------------\n");
  delay(5000);
}

void loop()
{
  Serial.print("Rad intensy dynamic: ");

  Serial.println(radSens.getRadIntensyDynamic()); /*Returns dynamic radiation intensity (recommended if measurement period T < 123 sec).*/
  dynval = radSens.getRadIntensyDynamic();
  //Serial.println(dynval);
  Serial.print("Rad intensy static: ");
  statval = radSens.getRadIntensyStatic();
  Serial.println(radSens.getRadIntensyStatic()); /*Returns static radiation intensity (recommended if measurement period T = 500 sec).*/
  //Serial.println(statval);
  Serial.print("Number of pulses: ");

  Serial.println(radSens.getNumberOfPulses()); /*Returns the accumulated number of pulses registered by the
                                                 module since the last I2C data reading.*/

  delay(2000);

  WiFiClient client;
  if (client.connect(monhost, monPort)) {
    Serial.println("monconnection");
    // send the HTTP GET request:
    client.print("#");
    client.print(WiFi.macAddress()); // отправляем МАС нашей ESP8266
    client.print("#");
    client.print("ESP8266-RadSens-ver.4.01 "); // введите название устройства
    client.print("#");
    //широта, долгота, высота местоположения прибора
    client.print("61.57304N#129.593553E\n");    // введите здесь свои координаты
    // Радиационный фон (динамический)
    client.print("#R1#");
    client.print(dynval);
    client.print("#Рад. фон (динамика)\n");
    // Радиационный фон (статический)
    client.print("#R2#");
    client.print(statval);
    client.print("#Рад. фон (статика)\n");
    // Отправляем конец телеграммы
    client.print("##");
  }
  else
  {
    Serial.println("connection failed");
    Serial.println("disconnecting.");
  }
  client.stop();
  delay(300000); // задержка 5 минут

}

Скачать скетч и библиотеку

Если при запуске скетча на ESP8266 выдаётся ошибка последовательного порта, то причина чаще всего в некачественном кабеле. Подберите качественный короткий кабель USB-Micro USB для подключения NodeMCU к компьютеру.

Если загрузка скетча прошла без ошибок и он начал работать, то на мониторе COM порта вы увидете примерно следующее:

Данные о уровнях радиации будут добавляться каждые 5 минут.

Запишите MAC адрес, он вам понадобится при подключении прибора к сервису narodmon.ru. MAC адрес - это запись наподобие такой 1a:2b:3c:4d:5e:6f.
Сервис narodmon.ru разрешает передавать данные не чаще, чем раз в 5 минут. Подождите минут 10, за это время пару раз будут переданы данные на Народный мониторинг.
Зарегистрируйтесь на narodmon.ru, если вы еще не зарегистрированы. Зайдите на narodmon.ru. В верхнем меню справа должна появиться кнопка Профиль. Щелкните по ней. В открывшемся списке выберите пункт Мои датчики. В верхнем меню окна слева щелкните по пункту Добавить. В окне Народный мониторинг введите записанный ранее MAC адрес вашего прибора и нажмите Продолжить.

После этого в пункте Мои датчики в окне Настройка датчиков и триггеров в верхней строке меню должно появиться название вашего прибора. Щелкните по названию вашего прибора. Если всё было сделано правльно, то должна открыться таблица с данными от вашего датчика RadSens. В ней две строки Рад. фон (динамика) и Рад. фон (статика).

Также на Яндекс-карте Народного мониторинга должен появиться ваш прибор. Щелкнув по названию, вы увидите текущие значения уровней радиации.
По умолчанию на Яндекс-карте отображаются данные с датчиков температуры воздуха. Для отображения вашего прибора в верхнем меню слева щелкните по кнопке Показ и выберите пункт радиация.

 

Если прибор появился на карте совсем не в том месте, где вы ожидали, то на сервисе есть возможность переместить прибор в нужное место. Для этого в нижней части окна Настройка датчиков и триггеров щелкните по пункту переместить прибор на карте.

Конструкция
Корпус прибора изготовлен из отрезка кабель-канала размером 40х25 мм. Как сделать корпус из кабель-канала описано на [3].
Кабель-канал хорошо режется острым ножом, пилкой из ножовочного полотна и даже ножницами.
На дне кабель-канала есть ряд отверстий для крепления кабель-канала к стене. Расположите плату RadSens светодиодом напротив этого отверстия так, чтобы можно было наблюдать за вспышками светодиода и прикрутите плату ко дну кабель-канала двумя болтиками М2,5. Рядом расположите плату NodeMCU. Она крепится двумя болтиками М3.
Для облегчения сгибания боковых стенок пилкой из ножовочного полотна или надфилем по линии сгиба сделайте пропил на небольшую глубину. Боковые стенки подклеены клеем из термопистолета. Напротив разъема microUSB сделайте отверстие для подключения кабеля. Я прожег его плоским жалом нагретого паяльника.


Устройство в сборе


Вид со снятой крышкой

После отладки скетча и настройки подключения к сервису narodmon.ru вы можете отключить прибор от компьютера и запитать его от блока питания с разъемом microUSB. Я расположил прибор на подоконнике. Выберите окно с прямой видимостью вашего WiFi роутера. В крайнем случае в качестве препятствия должна быть только одна стена. Эти меры  повысят качество WiFi сигнала и надежность подключения.

Через сутки бесперебойной работы RadSens вы можете сделать запрос на публикацию. После публикации данные о радиации с вашего датчика RadSens будут доступны и другим пользователям Народного мониторинга. Фон таблицы опубликованных датчиков окрашивается в светлозеленый цвет.

 

Скетч RadSens_Narodmon и библиотеку RadSens-master.zip вы можете скачать в Каталоге файлов на этом сайте.

Использованные ресурсы

1. https://github.com/climateguard/RadSens
2. it-dump.ru/метеостанция-с-отправкой-данных-на-ре/?ysclid=m1f03d7nph980756180
3. http://arv.radioliga.com/content/view/221/43/
4. https://a2ztechsolutionss.wordpress.com/2021/03/10/check-your-esp-8266-nodemcu-mac-address/
 

Категория: Мои статьи | Добавил: zgo (25.09.2024)
Просмотров: 55 | Теги: radiation, радиационный фон, narodmon.ru, динамический фон, радиация, ESP8266, статический фон, ClimateGuard, RadSens, NodeMCU | Рейтинг: 0.0/0
Всего комментариев: 0
Имя *:
Email *:
Код *:
Поиск
Друзья сайта
  • Создать сайт
  • Официальный блог
  • Сообщество uCoz
  • FAQ по системе
  • Инструкции для uCoz
  • Все проекты компании
  • Сайт завода zgo.ucoz.ru
  • Забайкальский край
    Дарасун
    Яндекс.Погода


    Хостинг Ucoz опять навязал видеорекламу, но обещает - "мы настроили систему так, чтобы в сутки на уникального посетителя приходилось не более двух показов."
    Совет, как не смотреть видеорекламу.

    Или используйте Uran - браузер от Ucoz без рекламы Скачать

    или подключите к браузеру блокировщик рекламы, например, Adblock Plus или uBlock Origin

    Универсальный декодер кириллицы



    Защита, контроль, управление.



    DONATE (поддержи автора)
    Все статьи авторские, при использовании прошу ссылаться на сайт
    Copyright Дарасунский завод горного оборудования © 2004 - 2024
    Бесплатный конструктор сайтов - uCoz