Bel-cable.ru

Блог инженера Электрика
2 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Как подключить и использовать модуль GSM SIM800L с Raspberry Pi (без батареи)

Как подключить и использовать модуль GSM SIM800L с Raspberry Pi (без батареи).

ⓘ Эта статья могла быть частично или полностью переведена с помощью автоматических средств. Приносим извинения за возможные ошибки.

SIM800L является GSM / GPRS модем, который широко используется в электронике из-за его очень низкой цене и широкой доступности. Это доступный способ отправить SMS с raspberry Pi или Arduino, подключиться в 3G или реализовать GPS.

Тем не менее, это почти невозможно найти удовлетворительные объяснения о его использовании и особенно о его связи.

Таким образом, в этом учебнике мы увидим, как подключить и питания SIM800L от малины (обратите внимание, что он также работает для Arduino), без внешнего питания или батареи!

Apps and online services

Hello, and welcome to another easy and step-by-step tutorial, this time we’re about to see how to send SMS/Text from the Arduino Uno board to your phone using SIM800L module, we gonna see how to send a simple text, then we’re going to send some data acquired from the DHT11.

HALT . Don’t forget that this type of modules require a SIM card, micro-Sim size, and make sure that the card doesn’t have a “Pin Code” put it in your phone first and remove the “SIM Lock”, and have enough credit to be able to send a SMS, this depends on your country providers.

We can now continue… There are several versions of the module but I used this one:

SIM800L EVB version SIM800L EVB version

It worked very well, and very easy, it can be powered directly from the Arduino, but I don’t recommend that, it’s sketchy… It’s better to power it using a Lithium battery and a converter.

This one comes also with a 3dBi antenna and its uFL-SMA converter, and it improves the signal reception and makes it a lot better.

It has 7 pins, I used two for power (5V/GND), and then TXD/RXD/GND for the UART communication, you may need or not to add the GND, it depends on your wiring.

Читайте так же:
Какие материалы не проводят электрический ток диэлектрики

You can communicate with the module using some AT Commands, we gonna see some of them.

N.B: For the power I’ll be using a 7.4V Li battery with a buck converter (actually a buck-boost), it’s more stable.

Notice also that the module has 2 LEDS, one for Power (ON/OFF), and one that blinks:

  • Blinks every 1s: Means it’s looking for signal reception.
  • Blinks every 2s: Means it’s communicating GPRS Data.
  • Blinks every 3s: Means it’s connected to network and ready.

In the test 1 we’re going to wire the module with Arduino Uno board, add a push button, the idea is that when we press the button, the Arduino will send a simple (String) SMS to a phone number via the SIM800l.

Wiring is easy, the Arduino is also powered by the “battery” or the 5VDC source, the button is always on HIGH level because I’m using the internal pull up, when pressed it goes low… then RX/TX with TXD/RXD (from Sim800l).

No special library is required… only SoftwareSerial and it’s already installed

Какой GSM модуль лучше всего использовать для интерактивного автоответчика

Сейчас на рынке продаются модули сотовой связи для связи в сетях 4G и 5G, которые имеют весьма впечатляющие возможности. Но автор проекта стремился сделать его максимально простым в изготовлении, поэтому и GSM модуль он стремился выбрать попроще. Поэтому он выбирал между модулями Ai-thinker A9 и SIM800L. Достоинством модуля Ai-thinker A9 является его очень низкое энергопотребление, но его существенными недостатками для данного проекта является то, что он не поддерживает обнаружение DTMF сигналов и его встроенный аудио вход работает не достаточно удовлетворительно. В связи с этим автор проекта выбрал GSM модуль SIM800L, который хоть и отличается «гигантским» энергопотреблением, но зато имеет отличный встроенный аудио вход чтобы автоматически воспроизводить голос и имеет встроенную поддержку обнаружения DTMF сигналов – нам это понадобится чтобы определять какую клавишу на телефоне нажал пользователь. Но главным недостатком этого модуля является, конечно же, энергопотребление, мы это еще обсудим далее в статье.

Читайте так же:
Блок розеток для шкафа apc

Обзор

Суть проекта заключается в загрузке данных датчика в облако используя мобильный интернет, а не Wi-Fi.

project_scheme

В предыдущем проекте мы создали сервер с базой данных для хранения показаний датчика.
В данном проекте мы будем загружать данные на этот сервер, хотя вы можете использовать любой другой сервис: ThingSpeak, IFTTT и др.

Если вы хотите в точности повторять наши действия, то вам следует сначала ознакомиться с предыдущим проектом.

Вот, непосредственно, суть проекта:

  1. Плата находится в спящем режиме;
  2. Затем она подключается к мобильному интернету;
  3. Плата выкладывает показания датчика на сервер и уходит в спящий режим.

В нашем случае время нахождения в спящем режиме – 60 секунд.

Мы будем использовать датчик BME280, однако код легко изменить под любой другой датчик.

Using SIM800L with Arduino (Updated 2020)

The SIM800L is a cheap and portable GSM breakout board with all the capabilities of the larger SIM900 shields. In this Arduino SIM800L tutorial, I will help you with using this nifty device. Sending and receiving texts with your Arduino have never been easier!

Arduino sim800L breakout board

Video Tutorial

SIM800L Introduction

Here are the features of the SIM800L breakout board:

  • 2G quad-band @ 850/900/1800/1900 MHz
  • Receive and make calls using the speaker and microphone outputs
  • Receive and send SMS
  • Connect to the Internet via GPRS
  • Listen to FM radio broadcasts
  • Accepts AT Commands

Read more information from the SIM800L Datasheet.

SIM800L Pinout

Go to SIM900 Tutorial if you have that module instead

Powering the Board

Power requirements is probably the most common issue with the SIM800L. This board draws a maximum of 2 A with an input voltage of 3.7 V to 4.2 V. This means you must not connect its pins directly to a 5 V Arduino! It doesn’t even run on 3.3 V. However, its TX and RX pins are 5V tolerant.

Some YouTube videos power their modules from the Arduino UNO’s power pins which really doesn’t work for me. When on USB port, the Arduino’s 5V pin can supply a maximum of 450 mA and when on its DC Jack, about 800 mA. However, these might explain why their modules work:

Читайте так же:
Высота розеток для ванной

    their Arduino’s have internal regulators that drop the voltage to

Some also use a diode to drop the 5 V voltage to

4.3 V (assuming a silicon diode). Maybe this would solve the voltage problem, but not the current problem.

The better approach is either to use a regulator or just have the SIM800L draw from a Li-Po battery.

If selecting a voltage regulator, I recommend the LM2596S regulator module.

The LM2596S can provide a maximum 3 A to its load. You simply use a higher voltage in its input then adjust the on-board potentiometer to have 3.7 to 4.4 V for the SIM800L. Take note that the input voltage must be at least 1.5 V higher than the output.

SIM800L and LM296S

A Li-Po battery works well too, since they provide 3.7 V. I recommend Li-Po battery with higher ampere-hour ratings so that it can provide the SIM800L’s current requirements. My network test project uses a battery to supply power to the SIM800L.

SIM800L and LiPo battery

Connecting the SIM800L to Network

If the power to the SIM800L is enough, the on-board LED starts blinking. If there’s not enough power, the LED blinks for about three seconds, then turns off.

The frequency of the blinking means something:

  • Every second: searching for a network.
  • Every three seconds: connected to a network.
  • Twice per second: connected through GPRS.

Here’s a video showing these LED indications:

Antennas are essential for this kind of module especially if your project is indoors. Without an antenna, there would not be enough transmitting power for the SIM800L to perform GSM services such as calls and SMS.

The image above is an outdoor whip antenna and I found this antenna to be more effective than the indoor helical antenna that comes with the SIM800L module:

Читайте так же:
Какие розетки лучше со шторками

Another type of antenna is the PCB antenna:

SIM800L PCB antenna

This type of antenna is cheaper and doesn’t take much space as that of the whip antenna. Performance wise, the PCB antenna can be as good as the whip if the design is correct.

My recommendation is to use both the indoor helical antenna and either the whip or PCB antenna.

If you are still having trouble with the SIM800L, I suggest you try out my network test project. This helps you test out if the module is really connecting to a network or is getting enough power.

SIM800L and AT Commands

Like other modems, the SIM800L communicates through AT Commands. The Arduino sends these commands serially to the SIM800L and the latter replies via the same serial port.

Некорректный GET-запрос на сервер

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

GET http://xxx.ru/d_command.php?UC=1111 HTTP/1.1
HOST: xxx.ru

Этот запрос не является корректным, однако его отлично «кушал» браузер и прокси сервер, с которого я отправлял запросы для отладки — именно поэтому я считал запрос верным.

Самое удивительное то, что SIM900 тоже отлично справлялся с «плохим» запросом (а отправлял запросы я тогда через TCP-IP стек). Однако, в один прекрасный день сервер начал отвечать на такие запросы ошибкой 404. Произошло это по так и не выясненным обстоятельствам, то ли хостинг-провайдер поменял алгоритмы обработки запроса (он открещивается от этого), то ли это сделал мобильный оператор. Но факт остаётся фактом. Тогда же я попробовал передать тот же запрос через HTTP — всё работало. Объясняется это тем, что внутренний HTTP протокол модуля SIM900 (как я уже говорил, по-сути встроенный браузер) умеет сам правильно «распарсивать» некорректные запросы и транслировать в сеть уже в правильном виде. Это еще один плюс (сомнительный, конечно же) использования HTTP, поскольку позволяет программисту некоторые неточности. А вообще, конечно, запрос должен быть написан правильно и выглядеть вот так:

Читайте так же:
Можно ли монтажной пеной заделать розетку

С таким корректным запросом SIM900 успешно обменивается и через TCP-IP стек, и через HTTP.

GSM/GPRS модуль SIM800L

Компактный GSM/GPRS модуль на основе SIM800L, производства компании SimCom. Модуль имеет встроенную антенну, и разъем для подключения внешней, для улучшения сигнала.

Питание рекомендуется в диапазоне 3.7В — 4.2В, так что питать его следует или от внешнего источника, или через dc-dc преобразователь, стандартные 5В от Arduino модуль сожгут, а с 3.3В может даже реагировать на некоторые AT команды, но подключиться к сети не сможет. Модуль управляется через UART, но из за особенностей рабочего напряжения, для Rx и Tx стоит использовать делитель напряжения, чтобы не повредить плату. SIM800L — версия с пониженным энергопотреблением, так что он предпочтительнее других версий, при использовании в проектах с питанием от аккумулятора.

Модуль автоматически ищет сеть при подаче питания. При нахождении сети светодиод начинает медленно мигать, при отсутствии сети — мигать быстро.

SIM800L поддерживает micro SIM карты 1.8В и 3В.

  • GPRS class 12 (85.6 кБс)
  • Напряжение: 3.7 — 4.2 В
  • Поддержка сети: 4х диапазонная сеть, 900, 1800, 1900
  • Размер: 2.5 см x 2.3 см
  • Встроенная антенна
  • Разъем для внешней антенны
  • SIM800 Manual 6.07MB

Рекомендуемые товары

Понижающий DC-DC преобразователь LM2596

Понижающий DC-DC преобразователь LM2596

Регулируемый понижающий DC-DC преобразователь на основе микросхемы LM2596S.

GSM / GPRS shield SIM900

GSM / GPRS shield SIM900

Плата расширения для Arduino, с поддержкой GSM / GPRS связи на базе модуля ..

Понижающий DC-DC преобразователь LM317

Понижающий DC-DC преобразователь LM317

Линейный регулируемый понижающий DC-DC преобразователь на основе микросхемы..

Светодиодный драйвер 4А LM2596-CC/CV

Светодиодный драйвер 4А LM2596-CC/CV

Светодиодный драйвер 4А LM2596-CC/CV — это модуль на базе понижающего DC-DC..

голоса
Рейтинг статьи
Ссылка на основную публикацию
Adblock
detector