Arduino - SIM800L |
SIM800L GSM модем с внешней антенной - это не дорогой, современный и достаточно функциональный GSM модем. Такие модемы используются в некоторых современных смартфонах. Индес L указывает на то что модем может работать в режиме пониженного энергопотребления
Для полдключения SIM800L к Arduino понадобится отдельный источник питания. Для стабильной работы модуля ему требуется около 4.0 вольт.
Характеристики SIM800L:
- Четыре диапазона GSM 850/900/1800/1900 МГц
- Интерфейс - UART (Rx, Tx, Gnd)
- Микро СИМ карта
- Напряжение питания 3,5 ... 4,5 В
- Рабочий температурный диапазон: -30 °C .. +80 °C
- Размеры: 22 мм x 18 мм
- Управление: АТ командами
.видео: https://youtu.be/HSoCFQ0DqBg
Описание
Схема достаточно проста, необходимо выполнить два основных требования: подать отдельно на модуль SIM800L отдельное питание в пределах 4,0 вольт, и согласовать шины последовательного порта (на схеме это сопротивления R1, R2, и R3.
Программ для охранной системы не включает ни одной специализированной библиотеки и имеет практически все необходимые функции и подпрограммы для создания своей индивидуальной охранной системы.
Систему команд сожно сделать любой. Я объясняю свой выбор тем, что трудно перепутать символ "R" с каким либо другим символом, а символ "-" мне показался более доступным при наборе на смартфоне, чем "=".
В программе введены массивы для инсталляции выводов Arduino NANO, описания этих выводов и хранения их значений. Это позволило сократить размер программы, упростить многие подпрограммы, но делает сам скрипт, наверное, мене читаемый. Однако массива позволяют лекго настроить всю систему в одном месте, буквально в терх строчках.
n_array | = | 11 | число записей в массивах описания выводов | |
Npin_pre[11] | хранит текущее состояние выводов [n_array] | |||
Npin_real[] | = | { 0, 1, 2, 4, 5, 6, 7, 9, 10, 11, 13}; | номера задействованных выводов | |
Npin_init[] | = | { 2, 2, 2, 0, 1, 0, 0, 1, -1, -1, 1}; | тип подключения каждого вывода |
Программа - скетч |
В архиве SIM800L_security_v2.10 /рус/ и SIM800L_security_v2.10 /eng/ |