Модуль GSM GPRS SIM800L(SIM800L) MicroSIM з антеною
SIM800L GPRS GSM Module MicroSIM Card Core BOard Quad-band TTL Serial Port

Мініатюрний модуль GSM / GPRS стільникового зв'язку на основі компонента SIM800L, розробленого компанією SIMCom Wireless Solutions. Російськомовна версія сайту SIMCom. Стандартний інтерфейс управління компонента SIM800L надає доступ до сервісів мереж GSM / GPRS 850/900/1800 / 1900МГц для відправки дзвінків, СМС повідомлень і обміну цифровими даними GPRS. Поставляється з вбудованою антеною, також можна підключити додаткові антенидля поліпшення якості сигналу.
Управляти модулем можна за допомогою персонального комп'ютерачерез перетворювач інтерфейсу USB-UART або безпосередньо через UART модулем мікроконтролера самостійної розробки або Arduino, Raspberry Pi і аналогічними.
Компонент SIM800L має реалізований стек протоколу TCP / IP. Містить мікросхему MT6260SA компанії MediaTek і мікросхему приймача RFMD RF7176.
Завдяки функції відправки СМС повідомлень найбільш часто модуль GSM GPRS SIM800 MicroSIM з антеною використовується в диспетчеризації, бездротової сигналізації і в охоронних системах. При цьому в результаті різних подій відбувається відправлення повідомлень виду: "Аварійна зупинка ліфта 3 будинки №17", "Гараж відкритий", "Двері підвалу відкрита", "Відключено 220 з перевантаження", "Протікання системи опалення", "Опалювальний котел вимкнений" , "Температура в теплиці нижче норми".
До модулю GSM GPRS SIM800 MicroSIM підключаються динамік і мікрофон. З модуля можна здійснювати дзвінки і приймати.

Характеристики

живлення
Напруга, В
номінальне 4
діапазон 3,4-4,4
струм
в режимі очікування 0,7 мА
граничний 500 мА
Максимальна напруга високого рівняінтерфейсу UART 2,8 В
Швидкість UART 1200-115200 бод
Чотири діапазони EGSM900, DCS1800, GSM850, PCS1900
Потужність передачі в різних діапазонах
DCS1800, PCS1900 1 Вт
GSM850, EGSM900 2 Вт
Автоматично перевіряє наявність в чотирьох частотних діапазонах
Підтримує мережа 2G
Опір підключається динаміка 8 Ом
мікрофон електретний
Управляється командами AT через UART (3GPP TS 27.007, 27.005 SIMCOM enhanced AT Commands)
Автоматичне визначення швидкості передачі керуючих АТ команд
Відправлення та отримання GPRS даних (TCP / IP, HTTP, і т.д.)
Макс швидкість передачі GPRS даних 85,6 Кбод
Кодування CS-1, CS-2, CS-3 і CS-4
Підтримує GSM 07.10 протокол
Підтримка пакетної передачі широкомовного каналу управління (PBCCH) CSD на швидкостях 2.4, 4.8, 9.6 і 14.4 Кбод
Підтримка неструктурованих даних додаткових послуг USSD
Підтримує PAP (протокол ідентифікації пароля)
Підтримка годин реального часу RTC
Підтримує сімкарт харчуванням 3 і 1,8 В
Температура, ℃
повітря при роботі -30 ... 75
зберігання -45 ... 90
Розміри 25 х 25 мм

індикація

При включенні модуля GSM GPRS на платі швидко блимає світлодіод. При установці з'єднання з мобільним оператором частота миготіння знижується. Якщо зв'язок з мобільним оператором втрачена, то світлодіод знову блимає швидко.


Швидке мигання світлодіода говорить про пошук в ефірі сигналу станції мобільного зв'язку.

підключення

Назви деяких контактів і функції сигналів, ліній.

Для поліпшення якості сигналу приєднується антена. Перевищення вхідної напруги інтерфейсу UART призведе до псування модуля SIM800. Не існує перетворювача інтерфейсу USB-UART c вихідною напругою 2,8 В. Існуючі перетворювачі мають більш високу напругу на виході UART. Тому між виходом перетворювача і входом модуля GSM GPRS SIM800 встановлюється резисторний дільник напруги.

Залежно від вихідної напруги U_usbttl наявного у вас перетворювача інтерфейсу розраховуються номінали резисторів в дільнику за формулою, наведеною на малюнку. При розрахунках слід прагнути до величинам опорів порядку декількох кіло.

Перші кроки

Для перевірки працездатності пристрою досить мати ПК і симкарту з невеликим грошовим рахунком. Перевірку працездатності можна проводити за двома методами підключення модуля до ПК: через перетворювач інтерфейсів USB-UART або використовуючи Arduino UNO. Розглянемо метод перевірки без Arduino. Встановіть симкарту в модуль GSM GPRS, дотримуючись розташування контактів. З'єднайте ПК через перетворювач інтерфейсів USB-UART з пристроєм за схемою наведеної вище. Підключіть живлення номінальною напругою. Дочекайтеся орієнтуючись на мигання світлодіода підключення до мобільного оператора. Увімкніть на ПК термінальну програму. Дані в неї слід вводити великими буквами. Використовуючи термінальну програму відправте в модуль GSM GPRS SIM800 через порт підключення наступні команди.

АТ
Відповідь модуля ОК

AT + CSQ
Відповідь модуля + CSQ: 18,0 OK

Ця команда дає інформацію про рівень сигналу. Перше число - рівень сигналу, величина 18 означає -78 dbм. Друге число - кількість помилково прийнятих біт, величина "0" говорить про частку помилок менше 0,2%, що свідчить про хорошу зв'язку.


Спробуйте відправити в модуль команду ATI.

Якщо у вас немає перетворювача USB-UART, то можна використовувати Arduino UNO. З'єднайте контакт RX модуля SIM800L з контактом 11 цифрового сигналу Arduino UNO застосовуючи резисторний дільник напруги. Величини опорів резисторів потрібно обчислити заново враховуючи напруга живлення Arduino UNO. З'єднайте контакт TX модуля SIM800L з контактом 10 цифрового сигналу Arduino UNO. Завантажте в Ардуіно програму, текст якої наведено далі. Тут використовується бібліотека SoftwareSerial дозволяє реалізувати послідовний інтерфейсна будь-яких цифрових висновках Ардуіно за допомогою програмних засобів, Дублюючих функціональність UART.

#include
SoftwareSerial mySerial (10, 11); // RX, TX
void setup ()
{
// Open serial communications and wait for port to open:
Serial.begin (9600);
mySerial.begin (9600);
}
void loop () // run over and over
{
if (mySerial.available ())
Serial.write (mySerial.read ());
if (Serial.available ())
{
while (Serial.available ())
{
mySerial.write (Serial.read ());
}
mySerial.println ();
}
}

Текст програми та багато корисної інформації. Тепер ви можете відправляти AT команди через послідовний монітор Arduino.

На російськомовних і зарубіжних сайтах розміщені тексти програм Arduino за допомогою яких можна відправляти СМС, контролювати стан контактів датчика і відправляти на сайт час зміни стану контрольованих контактів, а на сайті зберігати прийняті дані у вигляді журналу.

GSM / GPRS модуль на основі SIM800L самостійно підключити просто. Виконайте кілька етапів і використовуйте сучасний компактний елемент в своїх цілях.

Корпорація SimCom пропонує користувачам компактний GSM / GPRS модуль на основі SIM800L. Поліпшити сигнал дозволяє вбудований роз'єм. Також можна скористатися антеною, яка йде в комплекті з цією модульною системою.

GSM / GPRS модуль SIM800L - опис

Детальний опис:

  • Харчування модуля проводиться за допомогою зовнішніх джерел або через DC-DC перетворюючі системи
  • Діапазон для харчування повинен бути в межах 3.7В - 4.2В. Варто відзначити, що 5В від Arduino небезпечні для роботи модуля, так як він приведений до поломки, а 3.3В допоможуть реагувати на команди користувача, але до мережі підключення буде відсутній
  • Управління відбувається через UART, але для Rx і Tx використовується дільник напруги, щоб не проводилася навантаження на плату
  • Низький рівень споживання енергії модуля SIM800L дозволяє його успішно використовувати для техніки з акумуляторним живленням
  • При подачі живлення модуль відразу ж починає шукати мережу. Коли вона знайдена, починає подавати сигнал світлодіод, повільно кліпаючи. Про відсутність мережі каже цей же світлодіод, але за допомогою швидкого миготіння лампочки
  • Модуль підтримує micro SIM карти 1.8В і 3В

GSM / GPRS модуль SIM800L - підключення

Для підключення, крім самого модуля, перетворювача і контролера Arduino UNO R3, знадобиться USB кабель, Батарея на 12В і з'єднувальні дроти. Виконайте наступні етапи:

  1. Спочатку подайте харчування до системи від батареї через DC-DC: від «мінуса» напруга повинна йти на Ардуіно в «GND», від «GND» в преосвітній елемент в «мінус» на вході
  2. Підключення потрібно проводити після того, як ви налаштуєте модуль, виставляючи вихідна напруга в допустимому діапазоні (3.7В - 4.2В)
  3. Всі контакти, які виходять від перетворювача, підключіть до SIM800L, дотримуючись полярності
  4. TX і RX контакти на модулі з'єднайте з 2-м і 3-м цифровими контактами відповідно на Ардуіно

Важливо: Якщо вам необхідно підключити два або три модуля до Ардуіно, тоді використовуйте інші коди, прописуючи їх в скетчі через SoftwareSerial.

Наочно в наступне відео представлено, як підключити модуль SIM800L до Ардуіно.

Відео: Підключення GSM модуля SIM800L до Arduino

Розглянемо як зв'язати Адруіно з GSM модулем SIM800L. Існують GSM Шілд спеціально для Ардуіно, але за ціною вони досить дорогі, тому вирішив придбати бюджетний варіант. Стаття може бути корисна також для підключення модуля SIM900, NEOWAY M590, і деяких стільникових телефонів. Незручний нюанс в тому, що цей модуль вимагає нестандартне для Ардуіно харчування 3.7В, тому живити довелося окремо через понижуючий перетворювач напруги.

підключення

Для підключення я використовував наступні компоненти:

  1. Контролер Arduino UNO R3 + USB кабель
  2. GSM модуль SIM800L (живлення від 3.7В до 4.2В)
  3. Перетворювач напруги понижуючий (DC-DC step-down converter)
  4. Батарея 12В (або будь-яке джерело живлення від 6В до 20В)
  5. з'єднувальні дроти

З'єднуємо Ардуіно з комп'ютером через USB кабель.

Даємо харчування до GSM модулю від батареї 12В через перетворювач:

  • від 12В "мінус" йде на Ардуіно в "GND", від "GND" в перетворювач напруги у "входить мінус".
  • від 12В "плюс" йде в перетворювач напруги у "входить плюс".

Виникає питання: чи можна подати живлення від самої Ардуіно від 5В? Безпосередньо не ризикував би. Але можна підібрати діод або стабілізатор напруги.

Перед підключенням до перетворювача напруги необхідно його налаштувати виставивши вихідна напруга на будь-який в діапазоні 3.7В - 4.2В. Від перетворювача напруги виходять контакти підключаємо до GSM модулю, дотримуючись полярності.

TX і RX контакти на GSM модулі з'єднуємо з 2 і 3 цифровими контактами на Ардуіно. Якщо необхідно підключити кілька GSM модулів до Arduino, то використовуйте інші Піни і прописуйте в скетчі через SoftwareSerial.

скетч

#include<SoftwareSerial.h> SoftwareSerial mySerial (2, 3); // RX, TX void setup () ( Serial.begin (19200); // Швидкість порту для зв'язку Arduino з комп'ютером Serial.println ( "Goodnight moon!"); mySerial.begin (19200); // Швидкість порту для зв'язку Arduino з GSM модулем mySerial.println ( "AT"); ) Void loop () (if (mySerial.available ()) Serial.write (mySerial.read ()); if ( Serial.available ()) mySerial.write ( Serial.read ()); )

Процедура для відправки СМС

void sms (String text, String phone) ( Serial. println ( "SMS send started"); mySerial. println ( "AT + CMGS = \" "+ phone +" \ ""); delay (1000); mySerial. print (text); delay (300); mySerial. print ((char) 26); delay (300); Serial. println ( "SMS send finish"); delay (3000); )

Процедуру додавати в кінець скетчу і викликати її з основного циклу так: sms (String ( "текст СМС на англ."), String ( "+ 791212345678"));

Перевірка

Включаємо харчування потім через монітор порту, виставивши швидкість 19200 і обов'язково опцію "новий рядок".

Вводите команду "ATI" і натисніть ENTER. Повинна з'явитися інформація від моделі модуля.

Пробував відправити на модуль Смску через безкоштовний сервісвід Теле2, приходять незрозумілі рядки. Пробував в модулі змінити кодування. Питання поки не вирішене.

Відео

GSM і GPRS модуль в проектах Ардуіно дозволяє підключатися до віддалених автономним пристроїв через звичайну стільниковий зв'язок. Ми можемо відправляти команди на пристрої і приймати інформацію від нього за допомогою SMS-команд або через інтернет-підключення, відкрите по GPRS. У цій статті ми розглянемо найбільш популярні модулі для Arduino, розберемося з підключенням і розглянемо приклади програмування.

Модулі GSM GPRS

GSM модуль використовується для розширення можливостей звичайних плат Ардуіно - відправка смс, здійснення дзвінків, обмін даними по GPRS. Існують різні види модулів, найбільш часто використовувані - SIM900, SIM800L, A6, A7.

Опис модуля SIM900

Модуль SIM900 використовується в різних автоматизованих системах. За допомогою інтерфейсу UART здійснюється обмін даними з іншими пристроями. Модуль забезпечує можливість здійснення дзвінків, обмін текстовими повідомленнями. Робота модуля релізі на компоненті SIM900, створеним фірмою SIMCom Wireless Solution.

Технічні характеристики:

  • Діапазон напруг 4,8-5,2В;
  • В звичайному режиміструм досягає 450 мА, максимальний струм в імпульсному режимі 2 А;
  • Підтримка 2G;
  • Потужність передачі: 1 Вт 1800 і 1900 МГц, 2 Вт 850 і 900 МГц;
  • Є вбудовані протоколи TCP і UDP;
  • GPRS multi-slot class 10/8;
  • Робоча температура від -30С до 75С.

За допомогою пристрою можна відстежувати маршрут транспорту спільно з ГЛОНАСС або GPS пристроєм. Можливість відправки смс-повідомлень використовується в бездротової сигналізації і різних охоронних системах.

Опис модуля SIM800L

Модуль виконаний на основі компонента SIM800L і використовується для відправки смс, реалізації дзвінків і обміну даними по GPRS. У модуль встановлюється мікро сім карта. Пристрій володіє вбудованою антеною і роз'ємом, до якого можна підключати зовнішню антену. Харчування до модуля надходить від зовнішнього джерелаабо через DC-DC перетворювач. Управління здійснюється за допомогою комп'ютера через UART, Ардуіно, Raspberry Pi або аналогічні пристрої.

Технічні характеристики:

  • Діапазон напруг 3,7 - 4,2В;
  • Підтримка 4х діапазонної мережі 900/1800/1900 Мгц;
  • GPRS class 12 (85.6 кБ / с);
  • Максимальний струм 500 мА;
  • Підтримка 2G;
  • Автоматичний пошук в чотирьох частотних діапазонах;
  • Робоча температура від -30С до 75С.

Опис модуля A6

Модуль A6 розроблений фірмою AI-THINKER в 2016 році. Пристрій використовується для обміну смс-повідомленнями і обміну даними по GPRS. Плата відрізняється низьким споживанням енергії і малими розмірами. Пристрій повністю сумісний з російськими мобільними операторами.

Технічні характеристики:

  • Діапазон напруг 4,5 - 5,5В;
  • Харчування 5В;
  • Діапазон робочих температур від -30С до 80С;
  • Максимальне споживання струму 900мА;
  • GPRS Class 10;
  • Підтримка протоколів PPP, TCP, UDP, MUX.

Модуль підтримує карти формату мікросім.

Опис модуля A7

A7 є новітнім модулем від фірми AI-THINKER. У порівнянні зі своїм попередником A6 має вбудований GPS, що дозволяє спрощувати конструкцію пристрою.

Технічні характеристики:

  • Діапазон робочих напруг 3,3-4,6В;
  • Напруга живлення 5В;
  • Частоти 850/900/1800/1900 Мгц;
  • GPRS Class 10: Макс. 85.6 кбіт;
  • Придушення луни і шумів.

Пристрій підтримує мікросім карти. Модуль підтримує обмін дзвінками, обмін смс-повідомленнями, передачу даних по GPRS, прийом сигналів по GPS.

Де купити GSM модулі для Ардуіно

Традиційно, перш ніж почати, кілька порад і корисних посилань на продавців Aliexpress.

Дуже якісний модуль KEYES SIM900 GSM GPRS Модуль SIM800C для Ардуіно від перевіреного постачальника
Шілд для розробки, сумісний з Ардуіно, на базі модуля SIM900 GPRS / GSM Недорогий модуль mini A6 GPRS GSM

Підключення GSM GPRS Шілд до Arduino

У цьому розділі ми розглянемо питання підключення GSM - модулів до плати адуіно. За основу майже у всіх прикладах береться Arduino Uno, але в більшості своїй приклади підуть і для плат Mega, Nano і т.д.

Підключення модуля SIM800

Для підключення потрібні плата Ардуіно, модуль SIM800L, понижуючий перетворювач напруги, дроти для з'єднання і батарея на 12В. Модуль SIM800L вимагає нестандартне для Ардуіно напруга в 3,7, для цього потрібен понижуючий перетворювач напруги.

Терморегулятори модуля SIM800 приведена на малюнку.

Плату Ардуіно потрібно підключити до комп'ютера через USB кабель. Батарею на 12 В підключити через перетворювач: 12В на землю Ардуіно, від землі в перетворювач в мінус, +12 в перетворювач в плюс. Виходи з модуля TX і RX потрібно підключити до пінам 2 і 3 на Ардуіно. Кілька модулів можна підключати до будь-яких цифрових пінам.

Підключення модуля A6

Модуль A6 коштує дешевше, ніж SIM900, і його дуже просто підключати до Ардуіно. Модуль живиться напругою 5В, тому для з'єднання не потрібні додатково знижують напругу елементи.

Для підключення будуть потрібні плата Ардуіно (в даному випадку розглянута Arduino UNO), GSM модуль А6, з'єднувальні дроти. Схема підключення приведена на малюнку.

Висновок RX з модуля GSM потрібно підключити до TX на платі Ардуіно, висновок TX підключити до піну RX на Ардуіно. Земля з модуля з'єднується з землею на мікроконтролері. Висновок Vcc на GSM модулі потрібно з'єднати з PWR_KEY.

Підключення за допомогою GSM-GPRS Шілд

Перед підключенням важливо звернути увагу на напруга живлення Шілд. Струм в момент дзвінка або відправки даних може досягати значень в 15-2 А, тому не варто живити Шилд безпосередньо від Ардуіно.

Перед підключенням до Ардуіно потрібно встановити сім-карту на GSM-GPRS Шилд. Також потрібно встановити джампери TX і RX, як показано на малюнку.

Підключення проводиться таким чином - перший контакт (на малюнку жовтий провід) з Шілд потрібно з'єднати з TX на Ардуіно. Другий контакт (зелений провід) підключається до RX на Ардуіно. Земля з Шілд з'єднується з землею з Аруін. Харчування на мікроконтролер надходить через USB кабель.

Макет з'єднання Шілд і плати Ардуіно зображений на малюнку.

Для роботи буде потрібно встановити бібліотеку GPRS_Shield_Arduino.

Для перевірки правильності зібраної схеми потрібно зробити наступне: з'єднати на Ардуіно RESET і GND (це призведе до того, що дані будуть передаватися безпосередньо від Шілд до комп'ютера), вставити сім-карту в Шилд і включити харчування Шілд. Плату Ардуіно потрібно підключити до комп'ютера і натиснути кнопку включення. Якщо все поєднано правильно, загориться червоний світлодіод і буде блимати зелений.

Короткий опис взаємодії через AT-команди

AT-команди - це набір спеціальних команд для модему, що складається з коротких текстових рядків. Щоб модем розпізнав подану йому команду, рядки повинні починатися з букв at. Рядок буде сприйматися, коли модем знаходиться в командному режимі. AT-команди можна відправляти як за допомогою комунікаційного програмного забезпечення, Так і вручну з клавіатури. Практичні всі команди можна розділити на 3 режиму - тестовий, в якому модуль відповідає, чи підтримує команду; читання - видача поточних параметрів команди; запис - відбудеться записування нових значень.

Список найбільш використовуваних AT-команд:

  • AT - для перевірки правильності підключення модуля. Якщо все справно, повертається OK.
  • A / - повтор попередньої команди.
  • AT + IPR? - отримання інформації про швидкість порту. Відповіддю буде + IPR: 0 OK (0 в даному випадку - автоматично).
  • AT + ICF? - настройка передачі. У відповідь прийде + ICF: біт, парність.
  • AT + IFC? - контроль передачі. Відповіддю буде + IFC: термінал від модуля, модуль від терміналу (0 - відсутній контроль, 1 - програмний контроль, 2 - апаратний).
  • AT + GCAP - показує можливості модуля. Приклад відповіді - + GCAP: + FCLASS, + CGSM.
  • AT + GSN - отримання IMEI модуля. Приклад відповіді 01322600XXXXXXX.
  • AT + COPS? - показує доступні оператори.
  • AT + CPAS - стан модуля. Відповідь + CPAS: 0. 0 - готовність до роботи, 3 - вхідний дзвінок, 4 - голосовий зв'язок, 2 - невідомо.
  • AT + CCLK? - інформація про поточний час і дату.
  • AT + CLIP = 1 - включення / вимикання АОН. 1 - включений, 0 - вимкнено.
  • AT + CSCB = 0 - прийом спеціальних смс-повідомлень. 0 - дозволено, 1 - заборонено.
  • AT + CSCS = "GSM" - кодування смс-повідомлення. Можна вибрати одну з наступних кодувань: IRA, GSM, UCS2, HEX, PCCP, PCDN, 8859-1.
  • AT + CMEE = 0 - отримання інформації про помилку.
  • AT + CPIN = XXXX - введення пін-коду сім-карти.
  • AT & F - скидання до заводських налаштувань.
  • AT + CPOWD = 1 - термінове (0) або нормальне (1) вимикання модуля.
  • ATD + 790XXXXXXXX - дзвінок на номер + 790XXXXXXXX.
  • ATA - відповідь на виклик.
  • AT + CMGS = "+ 790XXXXXXXX"> Test sms - відправка смс-повідомлення на номер + 790XXXXXXXX.

В даному випадку розглянуті основні команди для модуля SIM900. Для різних модулів команди можуть незначно відрізнятися. Дані для модуля будуть подаватися через спеціальну програму «термінал», яку потрібно встановити на комп'ютер. Також подавати команди модулю можна через монітор порту в Arduino IDE.

Скетчі для роботи з модулем GSM

Відправка СМС на прикладі SIM900

Перед тим, як відправити повідомлення, потрібно налаштувати модуль. В першу чергу потрібно перевести в текстовий формат передане повідомлення. Для цього існує команда AT + CMGF = 1. Потрібно перевести кодування на GSM командою AT + CSCS = »GSM». Це кодування найбільш зручна, так як там символи представлені в ASCII коді, який легко розуміє компілятор.

Потім потрібно набрати смс-повідомлення. Для цього посилається команда з номером абонента AT + CMGS = "+ 79XXXXXXXXX» r, у відповідь пропонується набрати текст смс. Потрібно виконати відправку повідомлення. Після закінчення потрібно відправити код комбінації Ctrl + Z, модуль дозволить відправку тексту адресату. Коли повідомлення буде відправлено, повернеться OK.

Взаємодія з модулем засноване на індексах, які присвоюються кожному новому повідомленням. За цим індексом можна вказати, яке з повідомлень видалити або прочитати.

Отримання смс. Для читання смс-повідомлення використовується команда AT + CNMI = 2,2,0,0,0. Коли на модуль прийде текстове повідомлення, він відправить в послідовний порт + CMTI: «SM», 2 (в даному випадку 2 - порядковий номер повідомлення). Щоб його прочитати, потрібно відправити команду AT + CMGR = 2.

Прийом голосового дзвінка. В першу чергу для розмови потрібно підключити до модуля динамік і мікрофон. При отриманні дзвінка буде показаний номер, з якого він зроблений. Для здійснення роботи потрібно включити бібліотеку GSM:

#include

Якщо сім-карта заблокована, потрібно ввести її пін-код. Якщо пін-код не потрібно, це поле потрібно залишити порожнім.

#define PINNUMBER ""

У setup () повинна бути проведена ініціалізація передачі даних на комп'ютер. Наступним кроком буде створення локальної змінної, щоб відстежити статус підключення до мережі. Скетч НЕ буде запущений, поки сім-карта не підключена до мережі.

boolean notConnected = true;

За допомогою функції gsmAccess.begin () відбувається підключення до мережі. При встановленні з'єднання повернеться значення GSM_READY.

vcs.hangCall (); - функція, що показує, що модем готовий приймати дзвінки.

getvoiceCallStatus () - визначає статус скетчу. Якщо хтось дзвонить, вона повертає значення RECEIVINGCALL. Для запису номера потрібно скористатися функцією retrieveCallingNumber (). Коли буде здійснений відповідь на дзвінок, повернеться TALKING. Потім скетч чекатиме символу нового рядка, Щоб перервати розмову.

Встановити GPRS-з'єднання і відправити дані на віддалений сервер

Спочатку потрібно встановити бібліотеку SoftwareSerial, яка дозволяє забезпечувати послідовну передачу інформації і зв'язати GSM-модуль і мікроконтролер Ардуіно.

Для відправки даних на сервер потрібно відправити наступні команди:

AT + SAPBR = 1,1 - відкриття Carrier.

Наступні три команди пов'язані з установкою налаштувань підключення до мережі.

AT + SAPBR = 3,1, \ "APN \", \ "internet.mts.ru \" - вибір оператора mts, ім'я точки доступу.

AT + SAPBR = 3,1, \ "USER \", \ "mts \" - вибір користувача mts.

AT + SAPBR = 3,1, \ "PWD \", \ "mts \"

AT + SAPBR = 1,1 - щоб установити.

AT + HTTPINIT - ініціалізація http.

AT + HTTPPARA = "URL", - URL адресу.

AT + HTTPREAD - очікування відповіді.

AT + HTTPTERM - зупинка http.

Якщо все виконано правильно, в моніторі порту будуть з'являтися рядки з АТ командами. Якщо відсутній зв'язок з модемом, то буде показувати по одному рядку. При успішній установці GPRS-з'єднання на модулі почне блимати світлодіод.

ESP8266 став справжньою новиною минулого року для всіх, хто займається створенням девайсів на Ардуіно. Дешевий мікроконтролер, з можливостями, що перевищують його дорогий аналог, і при цьому сумісний з АТ +.

Ардуіно не залишилися за бортом, і тепер цей модуль офіційно доданий до списків підтримуваних платою, а відповідно, все більше користувачів долучиться до китайського мк для wi-fi з'єднання. Але буває, що в системі необхідно відстежувати і місце розташування модуля, для чого однією плати esp8266 буде недостатньо. Тут і стане в нагоді esp8266 sim800l.

Для смарт-будинків і безлічі виробів потрібно отримувати повідомлення про місцезнаходження плати, будь то дистанційна двері або звичайний трекер. Ось лише короткий список виробів, які можна створити, поєднуючи esp8266 sim800:

  1. Розумний дім. Практично будь-яку техніку для розумних будинків можна налаштувати на певні патерни при наближенні об'єкта. Але навіщо встановлювати датчики руху, якщо можна просто прикріпити в wi-fi платі sim800, вшити в якийсь предмет одягу мк з акумулятором (благо, багато енергії не потрібно) і автоматично включати світло або відкривати двері при наближенні користувача.
  2. Різноманітні відстежують пристрої. Мова не йде про протизаконні жучках і інших пристроях, що порушують ваше право на недоторканність. Однак мк може працювати окремо від Ардуіно, а якщо до нього прикріпити sim800, загальні розміри пристрою не перевищать сірникову коробку. Просто оберніть все в металевий корпусі прикріпіть до ключів, в якості брелока. Відтепер знайти смартфон, ключі і навіть вашу машину на парковці буде в рази простіше.
  3. Робототехніка та суміжні напрямки. Тут можна довго говорити про розвиток сучасного віртуального інтелекту і нейросетях, але часто, щоб створювати карту місцевості і орієнтуватися в ній, железякам недостатньо датчиків. І якщо ви займаєтеся чимось подібним, то gps модуль стане в нагоді. Особливо він зручний в парі з дрона.

Коли ви визначитеся з кінцевою метою проекту, слід розібратися в нюансах питання. Підключення пристроїв до вищезгаданого микроконтроллеру таке ж, як у стандартних плат Ардуіно, різниця лише в кількості доступних пинов. GPS трекер вимагає для роботи від 3.7 до 4.2 вольт, на відміну від стандартних 5, видаються мікро контролером. Це слід враховувати при побудові схеми плати і відповідно підбирати допоміжні джерела живлення. Або встановлювати трансформатори і резистори, в залежності від того, що ви ще будете приєднувати до кінцевої системі.

Реєструючись в мережі, модулю буде потрібно приблизно 2А, але це його пікове споживання і надалі необхідна сила струму знизиться до 1-1.2 А.

Як тільки ви підключите трекер до системи, необхідно буде його запустити і відправити перші команди, найкраще підійдуть АТ і АТ +. Тільки після цих дій модуль, нарешті, почне посилати дані і відповідати на ваші запити, тому не варто турбуватися, якщо ви його під'єднали, діод мигає, але ніяких реакцій на скрипти немає. Вам просто необхідно активувати Sim800i при першому використанні, щоб він встиг зареєструватися в мережі.

Також не варто розглядати Sim800i, як альтернативу ESP8266, чим грішать багато користувачів на форумах. Якщо ви натикалися на подібні заяви, можете сміливо стверджувати, що автор в житті не працював з Ардуіно. В першу чергу, порівнювати допоміжну плату і мікроконтролер - безглуздо. Не кажучи вже про те, що один з пристроїв створено для координації, відправки та прийняття запитів по бездротового інтернету, а друге є GSM GPRS модулем. Відповідно, вони є хорошим доповненням один до одного, але ніяк не альтернативою.

Схема підключення sim800l до esp8266

Терморегулятори більш ніж стандартна. Пін з харчуванням підключаєте до джерела, здатному видавати напругу в межах 3.7-4.2 Вольт, або ж до трансформатора. TX йде до RX піну і навпаки. Як тільки ви виконаєте спайку і вирішите протестувати роботу модуля, підключивши джерело живлення, про правильність підключення просигналізує діоди. Далі залишається активувати модуль за описаним вище методом, і ви зможете використовувати АТ-команди для управління. Якщо захочете довантажити допоміжну бібліотеку або якісь вагомі медіа, варто ознайомитися з підключенням карти пам'яті до системи Ардуіно.

Для початку давайте протестуємо швидкість роботи порту і інформацію про модуль, для цього скористаємося «AT + IPR?» і «AT + CPAS» відповідно. Якщо все в порядку і інформація виводиться без помилок, то можна продовжити перевірку і протестувати рівень сигналу, а також операторів, яких може побачити модуль.

Найголовніше - Sim800i дозволяє дзвонити на вказані номери і приймати дзвінки, притому за допомогою базових бібліотек.

Це також відкриває простір для застосування систем з його участю. Якщо ви захочете написати певний скрипт, який запускає щось по входить дзвінку, То враховуйте, що модуль реагує на нього фразою «RING» в командному рядку.

Подібний функціонал дозволяє створювати сотні автономних систем управління, аж до того, що замість відбитків пальців або ключ-карт, ви можете відкривати двері по дзвінку на певний номер. Але, природно, для хорошого рівня захисту, варто прописати вайт-лист номерів.

Приклад реалізації підключення gsm модуля sim800l до мк esp8266

Після підключення і спайки по вищеописаним пінам, модуль повинен почати мигати. Як тільки відбудеться аутентифікація в мережі, діоди стануть рідше моргати.

Якщо зменшення частоти світлових сигналів не відбулося, то варто, за допомогою АТ-команд, упевнитися, сприйняв взагалі sim800I мережу вашого мобільного оператораі чи немає ніякої помилки. Також перевірте правильність терморегулятори і як встановлена ​​СІМ-карта з антеною, помилка може бути і в них.

Ну і, звичайно, піднесіть систему ближче до вікна, якщо перебуваєте в багатоповерховій будівлі, цілком можливо, вона просто не може зловити сигнал.