A6 GPRS / GSM Shield

  1. Вступление
  2. Характеристики
  3. Предостережения
  4. Использование пинов на Arduino
  5. использование
  6. 2. Подключите антенну
  7. 3. Подключите к Arduino / Crowduino
  8. С инструментами последовательной отладки
  9. С Ардуино Леонардо

Вступление

Это A6 GPRS / GSM Shield, который использует новейший модуль A6 GSM / GPRS, модуль A6 является функциональным модулем GSM / GPRS. Он поддерживает сеть GSM / GPRS Quad-Band (850、9001800 / 1900). Кроме того, он поддерживает голосовые звонки, SMS-сообщения, службу данных GPRS и т. Д. Мы можем использовать его как простой телефон.
Модуль управляется AT-командой через UART и поддерживает логический уровень 3,3 В и 4,2 В.

Модель: ACS20950A

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

  • Рабочая температура от -30 + до + 80 ℃;
  • 1 кг пикового всасывания
  • Низкий ток в режиме ожидания
  • Рабочее напряжение 3,3 В - 4,2 В;
  • Напряжение питания> 3,4 В;
  • Средний ток в режиме ожидания на 3ma меньше;
  • Поддержка GSM / GPRS четырех диапазонов, в том числе 850 900, 1800, 1900 МГц;
  • Поддержка China Mobile и сети 2G GSM China Unicom по всему миру;
  • GPRS Class 10;
  • Чувствительность <-105;
  • Поддержка голосовых звонков;
  • Поддержка текстовых сообщений SMS;
  • Поддержка GPRS трафика данных, максимальная скорость передачи данных, загрузка 85,6 Кбит / с, загрузка 42,8 Кбит / с;
  • Поддерживает стандарт GSM07.07,07.05 AT-команд и расширенные команды Ai-Thinker;
  • Поддерживает два последовательных порта, последовательный порт для загрузки порта команд AT;
  • AT-команда поддерживает стандартный командный интерфейс AT и TCP / IP;
  • Поддержка цифрового аудио и аналогового аудио; поддержка кодирования речи HR, FR, EFR, AMR;
  • Поддержка ROHS, FCC, CE, CTA сертификации;
  • SMT 42PIN
  • Четырехдиапазонный: 850/900/1800/1900 МГц
  • GPRS multi-slot: 12, 1 до 12 могут быть настроены
  • GPRS мобильная станция: класс B
  • Совместим с GSM Phase 2/2 +: класс 4 (2 Вт при 850/900 МГц), класс 1 (1 Вт при 1800/1900 МГц)
  • Напряжение питания: 3,3 ~ 4,2 В 4,0 В тип.
  • Потребляемый ток: 1,3 мА при DRX = 5; 1,2 мА при DRX = 9
  • Управление AT-командами: Стандарт GSM07.07,07.05 AT-команды и расширенные команды Ai-Thinker
  • Набор инструментов для SIM-карты
  • GPRS Class 10: до 85,6 кбит / с (восходящий) и 42,8 кбит / с (нисходящий канал)
  • Поддержка PBCCH
  • Схема кодирования: CS 1, 2, 3, 4

Поддержка CSD: до 14,4 кбит / с Поддержка USSD

  • Стек: PPP / TCP / UDP / HTTP / FTP / SMTP / MUX

Предостережения

  • Убедитесь, что ваша SIM-карта разблокирована.
  • Продукт поставляется без изолирующего кожуха. Пожалуйста, соблюдайте меры предосторожности в отношении электростатического разряда, особенно в сухую погоду.
  • Он просто поддерживает скорость передачи 115200 бит / с.

Функция интерфейса

Блок питания - Vin подключен к внешнему источнику питания 5 ~ 9VDC
Интерфейс антенны - подключен к внешней антенне
Выбор последовательного порта - выберите программный последовательный порт или программный последовательный порт для подключения к GSM / GPRS Shield
Аппаратный серийный номер - D0 / D1 Arduino / Crowduino
Серийный номер программного обеспечения - D7 / D8 Arduino / Crowduino
UART A6 - контакты UART, пробой A6
Микрофон - для ответа на телефонный звонок
Спикер - ответить на телефонный звонок
GPIO, ШИМ и АЦП A ^ - GPIO, PWM и АЦП разводят контакты SIM808
Клавиша включения - включение питания для A6 Кнопка выключения - отключение питания для A6

Использование пинов на Arduino

D0 - не используется, если вы выбрали аппаратный последовательный порт для связи с GPRS + GSM + GPS Shield
D1 - не используется, если вы выбрали аппаратный последовательный порт для связи с GPRS + GSM + GPS Shield
D2 - не используется
D3 - не используется
D4 - не используется
D5 - не используется
D6 - не используется
D7 - используется, если вы выбрали программный последовательный порт для связи с GPRS + GSM + GPS Shield
D8 - используется, если вы выбираете программный последовательный порт для связи с GPRS + GSM + GPS Shield
D9 - используется для программного управления включением или выключением SIM808
D10 - не используется
D11 - не используется
D12 - не используется
D13 - не используется
D14 (A0) - не используется
D15 (A1) - не используется
D16 (A2) - не используется
D17 (A3) - не используется
D18 (A4) - не используется
D19 (A5) - не используется

использование

Установка оборудования

1. Вставьте Micro SIM-карту в держатель SIM-карты.

6-контактный держатель для SIM-карт. SIM-карты A6 GPRS / GSM поддерживают карты напряжением 1,8 В и 3,0 В, тип напряжения SIM-карты определяется автоматически.

2. Подключите антенну

На плате A6 GPRS / GSM Shield имеется миниатюрный коаксиальный радиочастотный разъем для подключения к антенне GSM. Разъем, присутствующий на A6 GPRS / GSM Shield, называется U.FL connecto . GSM антенна, поставляемая с GPRS Shield, имеет Разъем SMA (а не разъем RP-SMA) на нем. Топология подключения показана на схеме ниже:

3. Подключите к Arduino / Crowduino

Экран A6 GPRS / GSM, как и любой другой хорошо спроектированный экран, может устанавливаться в стек, как показано на фотографии ниже. Подключите Arduino к ПК с помощью USB-кабеля.

С инструментами последовательной отладки

1. Прежде чем использовать инструмент последовательной отладки, нам нужно выбрать последовательный порт.
Мужской - женский разъемный соединительный провод Подключите A6_RXD к MTXD и A6_TXD к MRXD с помощью разъемного соединительного провода женский-женский.

2. Скачать инструмент последовательной отладки , разархивируйте его и откройте файл sscom32E.exe.

нажмите «EXT»:

3.Давайте запуск модуля, нажмите и удерживайте кнопку питания более 2 секунд, если в окне последовательной отладки вы увидите следующую информацию, как это показано ниже. Этот модуль успешно запущен.

4. Теперь мы можем сделать телефонные звонки,
Нажмите на цифру «1», чтобы отправить команду AT, и вы увидите «OK» в окне приема, это означает, что связь через последовательный порт не вызывает проблем.

Вставьте гарнитуру в порт для гарнитуры, нажмите на цифру «15», чтобы отправить команду AT + SNFS = 0, если отображение «0k» означает успех в режиме наушников.

Нажмите на номер «15», чтобы отправить команду ATDXXXXXXXXX, «XXXXXXXX» - это номер телефона, по которому вы хотите позвонить, если отображается «OK», то начните набирать номер. Вы можете наслаждаться вызовом.

Конечно, не только эти функции, вы можете отправить некоторые другие команды для достижения различных функций

AT Команда Описание AT + CGATT = 1 Возврат OK, подключен к сети AT + CGACT = 1 Активируйте сеть, затем вы можете использовать команду tcp / ip AT + CIPSTART = "TCP" "121.41.97.28", 60000 TCPIP-соединение с сервером AT + CIPCLOSE Закрыть соединение TCP / IP AT + CMGF = 1 Отправить текстовое сообщение AT + CIPTCFG Конфигурация режима Passthrough AT + CIPTMODE Войдите в режим Passthrough

С Ардуино Леонардо

Приведенный ниже демонстрационный код предназначен для отправки SMS-сообщения Xduino / набора номера голосового вызова / отправки запроса http на веб-сайт и загрузки данных в pachube. Он был протестирован на Arduino Duemilanove, но будет работать на любом совместимом варианте. Обратите внимание, что в этом наброске используется программное обеспечение UART ATmega328P. Пожалуйста, выполните следующие шаги для запуска этого эскиза.

  1. Снимите экран A6 GPRS / GSM Shield и загрузите этот эскиз в свой Arduino.
  2. Отключите Xduino от USB-порта, чтобы отключить источник питания.
  3. Установите перемычки последовательного порта на A6 GPRS / GSM Shield в положение SWserial, чтобы использовать Soft Serial port Arduino.
  4. Подключите антенну к экрану A6 GPRS / GSM и вставьте SIM-карту.
  5. Установите щит GPRS на Arduino.
  6. Подключите Arduino к компьютеру через USB и запустите на компьютере любимое программное обеспечение последовательного терминала, выберите COM-порт для Arduino и настройте его на 115200.

  1. Введите команду в терминале для выполнения другой функции, в демонстрационной версии есть 4 функции:
    1. Если вы введете «t», демо-версия отправит SMS-сообщение на другой мобильный телефон, который вы установили (вам нужно установить номер в коде);
    2. Если вы введете «d», программа наберет вызов на другой мобильный телефон, который вы установили (вам также необходимо установить код);
    3. Если вы введете «h», он отправит http-запрос в веб-страницу, к которой вы хотите получить доступ (для этого нужно указать веб-адрес в коде), он вернет строку с веб-сайта, если она будет работать правильно;
    4. Если вы введете 's', он загрузит данные в pachube (подробнее вы можете обратиться к объяснению в коде). Я настоятельно рекомендую вам вводить 'h' перед вводом 's', поскольку при загрузке данных в pachube необходимо выполнить некоторые настройки, после выполнения функции отправки http-запроса настройка будет установлена.
  2. Если программа выдает ошибку в терминале после того, как вы набрали команду, не беспокойтесь, просто попробуйте ввести команду еще раз.
#include <String.h> unsigned char SigQ [50]; unsigned char SigQ1 [5] = {'a', 'a', 'a', 'a', 'a'}; int SIGQ = 0; void setup () {Serial1.begin (115200); // скорость передачи GPRS Serial.begin (115200); // задержка скорости передачи GPRS (500); // mySerial.println (&quot;AT + CPIN?"); // получаем сигнал Quality // delay (100); // pinMode (9, OUTPUT); // digitalWrite (9, LOW); // задержка (1000); // digitalWrite (9, HIGH); // задержка (1500); // digitalWrite (9, LOW); // ************************************************ ******* // GetSignalQuality (); // ************************************************ ******* for (int x = 0; x <20; x ++) {GetSignalQuality (); задержки (800); for (int i = 0; i <26; i ++) {if (SigQ [i] == 58) {int j = 0; int k = 0; я ++; я ++; while ((SigQ [i + j])! = 44) {if ((SigQ [i + j]> = '0' && SigQ [i + j] <= '9')) //> = 48 <= 57 {SigQ1 [j] = SigQ [i + j]; } j ++; // j = 1} SIGQ = SigQ1 [0] - '0'; if (j == 2) {SIGQ = SIGQ * 10 + SigQ1 [1] - '0'; } Serial.println (""); Serial.print ( "SIGQ:"); Serial.println (SIGQ); }} if (Serial1.available ()) Serial.write (Serial1.read ()); if (SIGQ> = 10) {перерыв; } if (x == 20) {Serial.print ("Качество сигнала низкое!"); }} задержка (2000); DialVoiceCall (); if (Serial1.available ()) Serial.write (Serial1.read ()); } void loop () {// после запуска программы вы можете использовать терминал для подключения серийного номера экрана gprs, // если вы введете 't' в терминал, программа выполнит SendTextMessage (), она покажет, как чтобы отправить смс-сообщение, // если в терминале введено «d», оно выполнит DialVoiceCall () и т. д. // GetSignalQuality (); задержки (500); переключатель if (Serial.available ()) (Serial.read ()) {case 't': SendTextMessage (); перерыв; case 'd': DialVoiceCall (); перерыв; case 'h': SubmitHttpRequest (); перерыв; case 's': Send2Pachube (); перерыв; case 'q': GetSignalQuality (); перерыв; } if (Serial1.available ()) Serial.write (Serial1.read ()); } /// SendTextMessage () /// эта функция предназначена для отправки смс-сообщения. Void SendTextMessage () {Serial1.print ("AT + CMGF = 1 \ r"); // Потому что мы хотим отправить SMS в текстовом режиме delay (100); Serial1.println ("AT + CMGS = \" + 8613016490443 \ ""); // отправлять смс-сообщение, будьте внимательны, необходимо добавить код страны перед задержкой номера мобильного телефона (100); Serial1.println ("GSM test message!"); // содержимое задержки сообщения (100); Serial1.println ((char) 26); // ASCII-код ctrl + z равен 26 задержке (100); Serial1.println (); } /// DialVoiceCall /// эта функция предназначена для набора голосового вызова void DialVoiceCall () {Serial1.println ("AT + SNFS = 0"); задержки (100); Serial1.println ("ATDxxxxxxxxxx;"); // набрать номер //mySerial.println("ATD + +8613826558615; "); // набрать задержку номера (100); Serial1.println (); } /// SubmitHttpRequest () /// эта функция отправляет http-запрос /// внимание: время задержки очень важно, оно должно быть установлено достаточно void SubmitHttpRequest () {Serial1.println ("AT + CSQ") ; задержки (100); ShowSerialData (); // этот код предназначен для отображения данных с экрана gprs, чтобы легко увидеть процесс отправки экрана gprs запроса http, и следующее также для этой цели. Serial1.println ( &quot;AT + CGATT?"); задержки (100); ShowSerialData (); Serial1.println ("AT + SAPBR = 3,1, \" CONTYPE \ ", \" GPRS \ ""); // установка SAPBR, тип соединения использует задержку gprs (1000); ShowSerialData (); Serial1.println ("AT + SAPBR = 3,1, \" APN \ ", \" CMNET \ ""); // установка APN, вторая необходимость - заполнение задержки локального сервера apn (4000); ShowSerialData (); Serial1.println ("AT + SAPBR = 1,1"); // установка SAPBR, для подробностей вы можете обратиться к AT-команде mamual delay (2000); ShowSerialData (); Serial1.println ( "AT + HTTPINIT"); // инициализировать задержку HTTP-запроса (2000); ShowSerialData (); Serial1.println ("AT + HTTPPARA = \" URL \ ", \" www.google.com.hk \ ""); // настройка httppara, вторым параметром является веб-сайт, для которого требуется задержка доступа (1000); ShowSerialData (); Serial1.println ("AT + HTTPACTION = 0"); // отправить задержку запроса (10000); // задержка очень важна, время задержки основывается на возврате с веб-сайта, если возвращаемые данные очень велики Время требуется дольше. (! MySerial.available ()) // пока; ShowSerialData (); Serial1.println ("AT + HTTPREAD"); // читать данные с веб-сайта, к которому вы обращаетесь с задержкой (300); ShowSerialData (); Serial1.println ( ""); задержки (100); } /// send2Pachube () /// /// эта функция предназначена для отправки данных датчика в pachube, вы можете увидеть новое значение в pachube после выполнения этой функции /// void Send2Pachube () {Serial1.println ( &quot;AT + CGATT?"); задержки (100); ShowSerialData (); Serial1.println ("AT + CSTT = \" CMNET \ ""); // запуск задачи и настройка APN, задержка (1000); ShowSerialData (); Serial1.println ("AT + CIICR"); // вызвать задержку беспроводного соединения (300); ShowSerialData (); Serial1.println ("AT + CIFSR"); // получить задержку по локальному IP-адресу (2000); ShowSerialData (); Serial1.println ( "AT + CIPSPRT = 0"); Задержка (3000); ShowSerialData (); Serial1.println ("AT + CIPSTART = \" tcp \ ", \" api.cosm.com \ ", \" 8081 \ ""); // запуск задержки соединения (2000); ShowSerialData (); Serial1.println ("AT + CIPSEND"); // начать отправку данных на удаленный сервер с задержкой (4000); ShowSerialData (); String влажность = "1031"; // эти 4-строчные коды имитируют реальные данные датчика, потому что в демонстрации не добавлен другой датчик, поэтому для замены используется 4-строковая переменная. String влажность = "1242"; // вы можете заменить эти четыре переменные на реальные данные датчика в вашем проекте String Temperature = "30"; // String barometer = "60.56"; // Serial1.print ("{\" метод \ ": \" put \ ", \" resource \ ": \" / feeds / 42742 / \ ", \" params \ ""); // вот канал, который вы применяете из задержки pachube (500); ShowSerialData (); Serial1.print (": {}, \" headers \ ": {\" X-PachubeApiKey \ ":"); // здесь вы должны заменить задержку pachubeapikey (500); ShowSerialData (); Serial1.print ("\" _ cXwr5LE8qW4a296O-cDwOUvfddFer5pGmaRigPsiO0 "); // задержка pachubeapikey (500); ShowSerialData (); Serial1.print (" jEB9OjK-W6vej56j5_jb5) (); Serial1.print ( "Z7_seZqLVjeCOmNbEXUva45t6FL8AxOcuNSsQS \"}, \ "тело \": "); задержки (500); ShowSerialData (); Serial1.print ("{\" версия \ ": \" 1.0.0 \ ", \" потоки данных \ ":"); задержки (500); ShowSerialData (); Serial1.println ("[{\" id \ ": \" 01 \ ", \" current_value \ ": \" "+ barometer +" \ "},"); задержки (500); ShowSerialData (); Serial1.println ("{\" id \ ": \" 02 \ ", \" current_value \ ": \" "влажность +" \ "},"); задержки (500); ShowSerialData (); Serial1.println ("{\" id \ ": \" 03 \ ", \" current_value \ ": \" "влажность +" \ "},"); задержки (500); ShowSerialData (); Serial1.println ("{\" id \ ": \" 04 \ ", \" current_value \ ": \" "+ температура +" \ "}]}, \" token \ ": \" lee \ "}" ); задержки (500); ShowSerialData (); Serial1.println ((char) 26); // задержка отправки (5000); // ожидание ответа, важно! время основано на условии интернета Serial1.println (); ShowSerialData (); Serial1.println ("AT + CIPCLOSE"); // закрыть задержку соединения (100); ShowSerialData (); } // *********************************************** ******** // GetSignalQuality (); // ************************************************ ******* void GetSignalQuality () {Serial1.println ("AT + CSQ"); // получаем сигнал Quality delay (100); int k = 0; while (Serial1.available ()! = 0) {SigQ [k] = Serial1.read (); Serial.write (SigQ [K]); к + = 1; }} void ShowSerialData () {while (Serial1.available ()! = 0) Serial.write (Serial1.read ()); }

Ресурс

Похожие

Zenfone Max Pro, 5 Selfie и 5 Selfie Pro: самые основные новые опции от ASUS в Бразилии
В прошлый четверг, 16 августа, ASUS Brasil представила новую линейку смартфонов Zenfone в Бразилии. Модели, которые мы уже знаем в MWC, такие как Зенфон 5 и Zenfone 5 Selfie , были официально оформлены в стране с конкурентоспособными ценами. Компания также принесла флагман
Использование математических формул LaTEX
[SPIP 1.8] вводит новый мощный функционал, позволяющий вставить в текст сложные математические формулы, используя синтаксис, определенный для TEX / LaTEX . Например, этот функционал позволяет показывать формулы вроде этой: вводя соответствующий код непосредственно в тексте, как вы делали в TEX. Важное
Обзор Apple iPhone 8 Plus
Целое десятилетие iPhone - веха, достойная празднования. И все же, запуск семейства iPhone 8 кажется одним из самых сдержанных в истории Apple. Никаких очередей, никаких задержек, очень мало суеты. Но, несмотря на знакомый дизайн и менее впечатляющие технические характеристики, iPhone 8 Plus по-прежнему способен преподнести приятные сюрпризы. Настолько, что это может быть телефон Apple, чтобы купить в этом году. БОЛЬШЕ:
Просмотр звонков в Google Analytics
... использованием нами файлов cookie. Я согласен DialogTech интегрируется с Получите глубокое представление об активности посетителей в Интернете и узнайте, какие события вызывают звонки клиентов Заказать демо → Использование Google Analytics и Universal Analytics Integration для вашего бизнеса Отслеживаете ли вы посетителей веб-сайтов и онлайн-взаимодействие с Google Analytics? Не
Microsoft Lumia 435 обзор
... самом низком сегменте. С рекомендованной розничной ценой 79 евро, этот телефон на первый взгляд является особенно интересным телефоном. Мы обсудим это в этом обзоре. «Смартфон, который даже ниже Lumia 530 по цене: это возможно?» Если честно, мы были немного удивлены, когда Microsoft анонсировала Lumia 435. Смартфон, который даже с точки зрения цены находится под чрезвычайно дешевой Lumia 530? Это возможно? Видимо так, потому что Lumia 435 сейчас продается за 79 евро.
5 вещей, которые должен делать каждый упрямый пользователь Windows 7
Windows 7 была выпущена еще в 2009 году. Это было семь лет назад, и с тех пор многое изменилось в мире технологий. Несмотря на это, Windows 7 остается самой популярной настольной операционной системой на планете. Это несмотря на то, что Microsoft настаивает на том, чтобы пользователи обновились до Windows 10. Кажется, что многие из вас хотят продолжать использовать Windows 7, и, честно говоря, есть много разных причин, которые могут иметь место. Возможно, нужное вам оборудование не
5-дюймовый HDMI LCD
Введение 5-дюймовый резистивный сенсорный ЖК-экран, интерфейс HDMI, разработанный для Raspberry Pi видео Начиная Аппаратное соединение Подключите ЖК-дисплей к Raspberry Pi: На Raspberry Pi Model A + / B + / 2 B / 3 B имеется 40 контактов, но на ЖК-дисплее только 26 контактов, поэтому следует обратить внимание на соответствующее подключение контактов к Pi. Подключите разъем HDMI к обоим интерфейсам HDMI
Quot;AT + CPIN?
Quot;AT + CGATT?
Quot;AT + CGATT?
«Смартфон, который даже ниже Lumia 530 по цене: это возможно?
435. Смартфон, который даже с точки зрения цены находится под чрезвычайно дешевой Lumia 530?
Это возможно?