Оглавление:
- Шаг 1: блок-схема системы
- Шаг 2: Детали компонента
- Шаг 3: Принципиальная схема
- Шаг 4: рабочее видео и файл кода
- Шаг 5: Код программы
Видео: Мониторинг предприятия с помощью SMS-оповещений: 5 шагов
2024 Автор: John Day | [email protected]. Последнее изменение: 2024-01-30 11:53
Здесь я создаю мониторинг завода с оповещением по SMS. Для этой системы предупреждений сервер не требуется. Это очень дешевый и надежный проект.
Шаг 1: блок-схема системы
В современных теплицах требуется много измерений параметров.
для мониторинга и контроля хорошего качества и продуктивности растений. Но для достижения желаемых результатов в игру вступают некоторые очень важные факторы, такие как температура, влажность, свет и хорошая почва, которые необходимы для лучшего роста растений. Помня об этих параметрах, я построил автоматическую систему мониторинга предприятия через модуль GSM с использованием Arduino. Эта система очень эффективна для выращивания растений хорошего качества. Другой важной частью этого проекта является то, что он полностью автоматический и работает от низкого напряжения, например; Питание 5-12 В постоянного тока.
В настоящее время GSM-модуль широко используется для отправки SMS-сообщений с любыми данными. Здесь, в этом проекте, с помощью модуля SIM900A GSM мы можем хранить информацию о влиянии климата на растения. Система также должна демонстрировать климатические изменения, которые влияют на производительность и качество растений и т. Д. Основная цель создания этого проекта - создание системы автоматического мониторинга растений, в которой модуль GSM отправляет информацию о температуре, влажности, интенсивности света, почве. влага.
Поскольку я гражданин Индии, использовал модуль SIM900A (A означает азиатскую сеть), но вы можете использовать другой тип модуля SIM в зависимости от вашей страны. Коды AT могут отличаться.
Шаг 2: Детали компонента
------------------ Я измеряю четыре типа параметров, которые собираются
обсудить ниже: ------------------
Температура и влажность
Датчик DHT11 используется для измерения температуры и влажности. При высокой температуре и влажности корни растений повреждаются и растения плохо развиваются.
Интенсивность света
Интенсивность света - важный фактор для роста растений. Для определения силы света используется LDR (светозависимый резистор). Интенсивность света измеряется в люксах, поэтому для демонстрации используется определенный или пороговый уровень света 100 люкс.
Влажность почвы
Содержание влаги в почве очень важно для хорошего роста растений. Здесь датчик почвы используется для измерения содержания влаги в почве. Используя этот датчик, мы можем измерять данные о почве как в аналоговом, так и в цифровом виде.
СМС-уведомление:
Когда значение любого из вышеперечисленных параметров превышает определенный уровень или критический уровень, система автоматически отправляет SMS-сообщение владельцу или оператору с информацией о связанных параметрах, и когда значение снова возвращается в нормальный диапазон или ниже определенного уровня, система автоматически отправить SMS-сообщение владельцу или оператору с информацией о связанных данных.
Уведомление отправляется только один раз, пока условие не изменится, чтобы владелец или оператор не получал частые SMS. Следовательно, требуется меньший пакет SMS.
Шаг 3: Принципиальная схема
Все эти детали легко доступны на любом сайте интернет-магазина.
или у известного продавца запчастей для электроники. Спецификации всех компонентов доступны в Интернете. Если возникнут трудности, смело обращайтесь на мою почту.
Шаг 4: рабочее видео и файл кода
Финальное рабочее видео проекта
Шаг 5: Код программы
#включают
#включают
ЖК-дисплей LiquidCrystal (2, 3, 4, 5, 6, 7);
dht DHT; #define dht_dpin A1 #define LUX A0 #define грунт A3
поплавок вольт, люкс, значение; int output_value; внутренняя температура, влажность; int lightflag = 0; int humflag = 0; int почвенный флаг = 0; int tempflag = 0; int check; int test, test1; байтовая степень [8] = {0b00011, 0b00011, 0b00000, 0b00000, 0b00000, 0b00000, 0b00000, 0b00000};
установка void ()
{Serial.begin (9600); // Инициализируем последовательный порт для связи с GSM-модемом lcd.begin (16, 2); pinMode (почва, ВХОД); lcd.createChar (1, степень); lcd.setCursor (0, 0); lcd.print («Здоровье растений»); lcd.setCursor (0, 1); lcd.print («Мониторинг»); задержка (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print («АГРИ ПРОЕКТ»); lcd.setCursor (0, 1); lcd.print ("Автор С. К. ЧХАЯ"); задержка (1000); lcd.clear (); } void loop () {output_value = analogRead (почва); output_value = карта (output_value, 550, 0, 0, 100); значение = analogRead (ЛЮКС); вольт = (значение / 1023,0) * 5; люкс = ((2500 / Вольт) - 500) / 3,3; задержка (10000); // Даем достаточно времени GSM для регистрации в сети DHT.read11 (dht_dpin); lcd.clear (); lcd.setCursor (0, 0); lcd.print («Температура»); lcd.setCursor (0, 1); lcd.print (температура = DHT.температура); // Данные о температуре на ЖК-дисплее lcd.write (1); lcd.print («C»); задержка (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print («Влажность»); lcd.setCursor (0, 1); lcd.print (влажность = DHT.влажность); // Данные о влажности на ЖК-дисплее lcd.print ("%"); задержка (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print («Свет»); lcd.setCursor (0, 1); lcd.print (люкс); // Световые данные на ЖК-дисплее lcd.print ("LUM"); задержка (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print («Влага»); lcd.setCursor (0, 1); lcd.print (output_value); // Данные о почве на ЖК-дисплее lcd.print ("%"); задержка (1000); lcd.clear ();
если (температура 40) {SendSMS (); // SMS при высокой температуре} if (влажность 40) {SendSMS2 (); // SMS для высокой влажности} if (lux 100) {SendSMS4 (); // SMS для Light high} if (output_value == 950) {SendSMS7 (); // SMS для сухой почвы} else if (output_value! = 950) {SendSMS6 (); // SMS для влажной почвы}} void SendSMS () {if (tempflag == 0) {Serial.println ("AT + CMGF = 1"); задержка (500); Serial.println ("AT + CMGS = \" + 919979897404 / "\ r"); задержка (500); Serial.print («Высокая температура»); Serial.print («Темп»); Serial.print (температура); Serial.println («степень C»); Serial.println ((char) 26); lcd.setCursor (0, 0); lcd.print («Высокая температура»); задержка (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print («Температура»); lcd.setCursor (0, 1); lcd.print (температура); lcd.write (1); lcd.print («C»); задержка (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print («Отправка SMS»); задержка (1000); lcd.clear (); tempflag = 1; check = 0; test = 0; задержка (10); }} void SendSMS1 () {if (tempflag == 1) {Serial.println ("AT + CMGF = 1"); задержка (500); Serial.println ("AT + CMGS = \" + 919979897404 / "\ r"); задержка (500); Serial.print («Низкая температура»); Serial.print («Темп»); Serial.print (температура); Serial.println («степень C»); Serial.println ((char) 26); lcd.setCursor (0, 0); lcd.print («Низкая температура»); задержка (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print («Температура»); lcd.setCursor (0, 1); lcd.print (температура); lcd.write (1); lcd.print («C»); задержка (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print («Отправка SMS»); задержка (1000); lcd.clear (); tempflag = 0; check = 0; test = 0; задержка (10); }} void SendSMS2 () {if (humflag == 0) {Serial.println ("AT + CMGF = 1"); задержка (500); Serial.println ("AT + CMGS = \" + 919979897404 / "\ r"); задержка (500); Serial.print ("Влажность высокая"); Серийный отпечаток (влажность); Serial.println ("%"); Serial.println ((char) 26); lcd.setCursor (0, 0); lcd.print («Влажность высокая»); задержка (1000); lcd.setCursor (0, 1); lcd.print («Влажность»); lcd.print (влажность); lcd.print ("%"); задержка (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print («Отправка SMS»); задержка (1000); lcd.clear (); humflag = 1; check = 0; test = 0; задержка (10); }}
void SendSMS3 () {если (humflag == 1) {Serial.println ("AT + CMGF = 1"); задержка (500); Serial.println ("AT + CMGS = \" + 919979897404 / "\ r"); задержка (500); Serial.print («Низкая влажность»); Serial.print («Влажность»); Серийный отпечаток (влажность); Serial.println ("%"); Serial.println ((char) 26); lcd.setCursor (0, 0); lcd.print («Низкая влажность»); задержка (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print («Влажность»); lcd.setCursor (0, 1); lcd.print (влажность); lcd.print ("%"); задержка (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print («Отправка SMS»); задержка (1000); lcd.clear (); humflag = 0; check = 0; test = 0; задержка (10); }} void SendSMS4 () {if (lightflag == 0) {Serial.println ("AT + CMGF = 1"); // Для отправки SMS в текстовом режиме delay (500); Serial.println ("AT + CMGS = \" + 919979897404 / "\ r"); // Переход на номер телефона назначения delay (500); Serial.print («Хороший СВЕТ»); Serial.print («Интенсивность»); Serial.print (люкс); Serial.println («ЛЮКС»); Serial.println ((char) 26); // останавливающий символ Ctrl + Z lcd.setCursor (0, 0); lcd.print («Хороший свет»); задержка (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print («Интенсивность»); lcd.setCursor (0, 1); lcd.print (люкс); lcd.print («ЛЮКС»); задержка (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print («Отправка SMS»); задержка (1000); lcd.clear (); lightflag = 1; check = 0; test = 0; задержка (10); }} void SendSMS5 () {if (lightflag == 1) {Serial.println ("AT + CMGF = 1"); задержка (500); Serial.println ("AT + CMGS = \" + 919979897404 / "\ r"); задержка (500); Serial.print («СЛАБЫЙ СВЕТ»); Serial.print («Интенсивность»); Serial.print (люкс); Serial.println («ЛЮКС»); Serial.println ((char) 26); lcd.setCursor (0, 0); lcd.print («Низкая освещенность»); задержка (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print («Интенсивность»); lcd.setCursor (0, 1); lcd.print (люкс); lcd.print («ЛЮКС»); задержка (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print («Отправка SMS»); задержка (1000); lcd.clear (); lightflag = 0; check = 0; test = 0; задержка (10); }} void SendSMS6 () {если (почвенный флаг == 0) {Serial.println ("AT + CMGF = 1"); задержка (500); Serial.println ("AT + CMGS = \" + 919979897404 / "\ r"); задержка (500); Serial.print («Сухая почва»); Serial.print («Влага»); Serial.print (output_value); Serial.println ("%"); Serial.println ((char) 26); lcd.setCursor (0, 0); lcd.print («Сухая земля»); задержка (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print («Влага»); lcd.setCursor (0, 1); lcd.print (output_value); lcd.print ("%"); задержка (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print («Отправка SMS»); задержка (1000); lcd.clear (); почвенный флаг = 1; check = 0; test = 0; задержка (10); }} void SendSMS7 () {если (почвенный флаг == 1) {Serial.println ("AT + CMGF = 1"); задержка (500); Serial.println ("AT + CMGS = \" + 919979897404 / "\ r"); задержка (500); Serial.print («Мокрая почва»); Serial.print («Влага»); Serial.print (output_value); Serial.println ("%"); Serial.println ((char) 26); lcd.clear (); lcd.setCursor (0, 0); lcd.print («Мокрая почва»); задержка (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print («Влага»); lcd.setCursor (0, 1); lcd.print (output_value); lcd.print ("%"); задержка (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print («Отправка SMS»); задержка (1000); lcd.clear (); почвенный флаг = 0; check = 0; test = 0; задержка (10); }}
Рекомендуемые:
Мониторинг стиральной / сушильной машины с помощью ESP8266 и датчика ускорения: 6 шагов
Мониторинг стиральной / сушильной машины с помощью ESP8266 и датчика ускорения: стиральная / сушильная машина находится в подвале, и вы, как правило, кладете в нее кучу одежды, и после этого вы занимаетесь другой домашней работой. Вы не замечаете одежду, которая оставалась мокрой и впитывающейся в подвале на вашей машине
Мониторинг галлонов топливного бака с помощью электронной почты, SMS и pushbullet: 9 шагов (с изображениями)
Мониторинг галлонов топливного бака с помощью электронной почты, SMS и pushbullet. Предупреждение: ИНФОРМАЦИЯ ПО БЕЗОПАСНОСТИ: на случай, если кто-то захочет узнать, «безопасно ли строить / устанавливать это»; - Я отнес это в 2 разные нефтяные компании для обратной связи / по соображениям безопасности, и я провел это заместителем по пожарной безопасности C
PInt @ t10n: Интеллектуальная система мониторинга предприятия: 9 шагов
PInt @ t10n: Интеллектуальная система мониторинга предприятия: PI @ nt @ t10n Этот проект был создан в качестве теста для облака ibm iot. Мы используем esp-8266 для отправки и получения данных в облако ibm и из него. Связь между esp и облаком ibm происходит через MQTT. Для обработки всех данных и представления
Мониторинг предприятия и оповещения с помощью ESP8266 и AskSensors IoT Cloud: 6 шагов
Мониторинг растений и оповещения с помощью ESP8266 и AskSensors IoT Cloud: этот проект направлен на создание интеллектуальной системы мониторинга растений с использованием ESP8266 и платформы AskSensors IoT. Эта система может использоваться для отслеживания уровня влажности почвы для обеспечения объективных критериев для принятия решений об орошении. которые помогают обеспечить орошение
Система мониторинга предприятия IoT (с платформой IBM IoT): 11 шагов (с изображениями)
Система мониторинга предприятий IoT (с платформой IBM IoT): обзор Система мониторинга предприятий (PMS) - это приложение, созданное для людей, принадлежащих к рабочему классу и имеющих в виду зеленый палец. Сегодня работающие люди заняты больше, чем когда-либо; продвижение по карьерной лестнице и управление финансами