Горячее
Лучшее
Свежее
Подписки
Сообщества
Блоги
Эксперты
Войти
Забыли пароль?
или продолжите с
Создать аккаунт
Я хочу получать рассылки с лучшими постами за неделю
или
Восстановление пароля
Восстановление пароля
Получить код в Telegram
Войти с Яндекс ID Войти через VK ID
Создавая аккаунт, я соглашаюсь с правилами Пикабу и даю согласие на обработку персональных данных.
ПромокодыРаботаКурсыРекламаИгрыПополнение Steam

Пикабу Игры +1000 бесплатных онлайн игр

Погружайтесь в загадочный мир подводных приключений с игрой

Тайна морей - Затерянные сокровища: Три в ряд

Три в ряд, Казуальные, Головоломки

Играть
Это увлекательная головоломка с большим количеством уникальных уровней.

Блок пазл. Новый уровень

Казуальные, Головоломки, Логическая

Играть
Модное кулинарное Шоу! Игра в ресторан, приготовление блюд, декорирование домов и преображение внешности героев.

Кулинарные истории

Казуальные, Новеллы, Симуляторы

Играть
Поднимайтесь как можно выше по дереву, собирайте цветы и дарите их близким.
Вас ждут уникальные награды и 22 выгодных промокода!

Пикаджамп

Аркады, Казуальные, На ловкость

Играть
Болты и гайки - это головоломка, в которой вам нужно откручивать болты с досок! Ваша задача - выбрать правильный болт для откручивания, чтобы вы могли открутить все доски! Соревнуйтесь с друзьями и коллегами!

Болты и Гайки

Казуальные, Головоломки, Логическая

Играть

Топ прошлой недели

  • Oskanov Oskanov 8 постов
  • alekseyJHL alekseyJHL 6 постов
  • XpyMy XpyMy 1 пост
Посмотреть весь топ

Лучшие посты недели

Рассылка Пикабу: отправляем самые рейтинговые материалы за 7 дней 🔥

Нажимая кнопку «Подписаться на рассылку», я соглашаюсь с Правилами Пикабу и даю согласие на обработку персональных данных.

Спасибо, что подписались!
Пожалуйста, проверьте почту 😊

Новости Пикабу Помощь Кодекс Пикабу Реклама О компании
Команда Пикабу Награды Контакты О проекте Зал славы
Промокоды Скидки Работа Курсы Блоги
Купоны Biggeek Купоны AliExpress Купоны М.Видео Купоны YandexTravel Купоны Lamoda
Мобильное приложение

Sim800l

С этим тегом используют

Arduino Все
12 постов сначала свежее
18
ardublock
ardublock
2 года назад
ArduBlock

ArduBlock 2.0 - SIM800L Отправка и чтение SMS, ON / OFF - LED⁠⁠

ArduBlock 2.0 - SIM800L Отправка и чтение SMS, ON / OFF - LED YouTube, Ardublock, Arduino, Sim800l, Вертикальное видео, Видео, Видео ВК, Длиннопост
ArduBlock 2.0 - SIM800L Отправка и чтение SMS, ON / OFF - LED YouTube, Ardublock, Arduino, Sim800l, Вертикальное видео, Видео, Видео ВК, Длиннопост
Показать полностью 1 3
[моё] YouTube Ardublock Arduino Sim800l Вертикальное видео Видео Видео ВК Длиннопост
2
16
HUNY
HUNY
4 года назад

SIM800L + ESP8266 + Wi Fi IoT – SMS оповещение о пропадании интернета или отключении электричества⁠⁠

Привет Пикабу!

Продолжаю серию публикаций про различные проекты на базе ESP8266 без программирования с WiFi IoT.

Предыдущие мои публикации:

1)  "Температура за Вашим окном в кармане - это просто! Без программирования - за 30 минут. (ESP8266 + DS18B20 + WiFi-iot + NarodMON)"

2)  Подключаем дисплей LSD1602, датчики BME280 и DS18B20 к ESP8266 без программирования! WiFi IoT

3)  Подключаем MH-Z19B (датчик углекислого газа - CO2) к ESP8266 без программирования с WiFi IoT

В этом видео я покажу, как подключить  GSM модуля SIM800L к WiFi модулю ESP8266 и настройку SMS оповещение о пропадании интернета (потери пинга) и/или отключении электричества на объекте без программирования на базе проекта WiFi IoT.

Спасибо за внимание!

[моё] Nodemcu Esp8266 Gsm модуль Sim800l Sim800 Arduino Видео
10
itswoland
itswoland
5 лет назад
Arduino & Pi

Посылатель на Arduino в картинках ч1⁠⁠

Посылатель на Arduino в картинках ч1 Arduino, Sim800l, Dfplayer, Длиннопост
Посылатель на Arduino в картинках ч1 Arduino, Sim800l, Dfplayer, Длиннопост
Посылатель на Arduino в картинках ч1 Arduino, Sim800l, Dfplayer, Длиннопост

Во второй части будет уже не так похабно

Показать полностью 3
[моё] Arduino Sim800l Dfplayer Длиннопост
17
511
wisenheimer
6 лет назад
Arduino & Pi

GSM/GPRS/Wi-Fi+Blynk сигнализация на Arduino⁠⁠

GSM/GPRS/Wi-Fi+Blynk сигнализация на Arduino Сигнализация, Arduino, Esp8266, Sim800l, Gprs, Blynk, Длиннопост

Приветствую всех. В предыдущих частях я рассказал, как сделать GSM сигнализацию на ардуино. Затронул тему изготовления беспроводных датчиков для неё. Обещал сделать датчик, работающий по Wi-Fi. И в итоге так увлёкся, что переработал весь проект.


Итак, я решил, что мобильный GPRS это конечно хорошо, но будет ещё лучше, если сигнализация сможет подключаться к домашней Wi-Fi сети и общаться со смартфоном через интернет и мобильное приложение. Для этого мне понадобилась отдельная плата с Wi-Fi модулем. Я подключил к ардуине плату NodeMcu v3 с чипом esp8266. Управление сигнализацией реализовал со смартфона в приложении Blynk.


Для новой сигнализации спроектировал печатную плату, на которой могут разместиться:


- Arduino Nano V3.0

- NodeMcu v3 для выхода в интернет.

- SIM800L для мобильной связи.

- Радиомодуль NRF24L01 для приёма сигналов от беспроводных датчиков.

- ИК-приёмник

- Датчик температуры DS18B20.

- Термистор.

- Микроволновый датчик движения RCWL-0516.

- Зуммер.

- Микрофон.

- MOSFET транзисторы AO3400A для включения платы NodeMcu и внешних маломощных устройств.

- Разъёмы для подключения других датчиков

- Переключение на резервный источник питания


Кроме того, к свободным пинам могут подключаться любые другие ардуиновские датчики и модули.


Т.к. сигнализация модульная, можно выбрать ту конфигурацию, которая нужна именно Вам.


Связь может осуществляться через SIM800L или NodeMcu на выбор, либо с обоими модулями одновременно (рекомендуется). В последнем случае имеет два независимых канала связи, что более надёжно.

Ардуино и NodeMcu общаются по шине I2C. На плате выведены разъёмы для подключения датчиков по этой шине.

GSM/GPRS/Wi-Fi+Blynk сигнализация на Arduino Сигнализация, Arduino, Esp8266, Sim800l, Gprs, Blynk, Длиннопост

После сборки получаем неприметную коробочку, которую можно спрятать в недоступном месте. Идеально в сочетании с беспроводными датчиками.

GSM/GPRS/Wi-Fi+Blynk сигнализация на Arduino Сигнализация, Arduino, Esp8266, Sim800l, Gprs, Blynk, Длиннопост

Распиновка новой платы немного отличается от схемы предыдущего проекта. Поэтому я решил вынести прошивки в отдельный проект. Дальше будут выходить обновления только для этой платы. Новая версия скетча Signalka.ino подходит и для старого проекта. Ею можно обновляться. Необходимо лишь привести в соответствие номера зарезервированных пинов в файле https://github.com/wisenheimer/Signaling-Blynk/blob/master/l...


Прошивка для NodeMcu написана в среде Arduino IDE. Чтобы собрать проект, необходимо установить библиотеку для esp8266. Как это сделать, можете почитать, например, здесь https://habr.com/ru/post/371853/

Хочу обратить внимание, что с последней версией библиотеки у меня проект не заработал. Плата не хотела подключаться к серверам Blynk. Пришлось откатиться на версию 2.4.2. И проблема исчезла.


Для управления сигнализацией через плату NodeMcu нам надо создать в телефоне приложение Blynk. Это такой конструктор, в котором собирается мобильное приложение из готовых визуальных элементов - виджетов. За каждый виджет нужно платить местной валютой - энергией. Бесплатно даётся 2000 энергии. Если не уложиться в эту сумму, то дополнительную энергию можно докупить за реальные деньги. Мы же из соображений бережливости соберём приложение, которое стоит ровно 2000 энергии.


В статье я не буду затрагивать технические детали по созданию приложения Blynk, настройке и работе сигнализации. Всё это я изложил в файле описания проекта

https://github.com/wisenheimer/Signaling-Blynk/blob/master/R...

Перейдите туда, и следуя инструкции, создайте вот такое приложение:

GSM/GPRS/Wi-Fi+Blynk сигнализация на Arduino Сигнализация, Arduino, Esp8266, Sim800l, Gprs, Blynk, Длиннопост

После запуска и подключения к серверу Blynk увидим следующее:

GSM/GPRS/Wi-Fi+Blynk сигнализация на Arduino Сигнализация, Arduino, Esp8266, Sim800l, Gprs, Blynk, Длиннопост

В терминал будут выводиться сообщения сигнализации. Так же из него можно отправлять в сигнализацию команды управления (AT, СМС и DTMF команды).

Кнопки ALARM, GUARD и EMAIL в данной конфигурации означают флаги управления сигнализацией. Любой флаг можно включить и отключить из приложения нажатием на кнопку.


ALARM - флаг тревоги. Устанавливается в 1 при срабатывании одного из датчиков. Сбрасывается самостоятельно при завершении режима тревоги.

GUARD - флаг постановки на охрану.

EMAIL - флаг отправки сообщений сигнализации на указанную электронную почту. Так же включается и отключается из приложения.


Далее следует перечисление датчиков и их текущее показание. В данном примере у нас подключено два датчика:

18B20 - это датчик температуры DS18B20, распаянный на плате.

RADAR - микроволновый датчик движения RCWL-0516.


При срабатывании датчика на экране телефона появится сообщение тревоги

GSM/GPRS/Wi-Fi+Blynk сигнализация на Arduino Сигнализация, Arduino, Esp8266, Sim800l, Gprs, Blynk, Длиннопост

Если плата NodeMcu потеряет связь с сервером Blynk, то на телефон так же придёт сообщение.

GSM/GPRS/Wi-Fi+Blynk сигнализация на Arduino Сигнализация, Arduino, Esp8266, Sim800l, Gprs, Blynk, Длиннопост
GSM/GPRS/Wi-Fi+Blynk сигнализация на Arduino Сигнализация, Arduino, Esp8266, Sim800l, Gprs, Blynk, Длиннопост

Эти же сообщения отправятся на указанный вами в настройках e-mail.


Как видите, интерфейс очень простой. И при этом полностью функционален. Позволяет осуществлять полный контроль над сигнализацией. И при этом полностью бесплатен!

Можно было бы добавить графики и дополнительные визуальные плюшки. Для этого понадобилось бы докупить энергии. Каждый в праве доработать проект под себя. Я же ограничусь бесплатной версией.


Теперь несколько слов о том, как создать и подключить беспроводной Wi-Fi датчик.

В предыдущей своей статье я описал беспроводной датчик на ардуино с ИК-передатчиком.

Wi-Fi датчик представляет из себя тоже самое, только для связи мы используем радиомодули nRF24L01. Передающий в датчике, принимающий в сигнализации. Под этот модуль уже предусмотрено место на плате сигнализации. Учтите, что при его использовании будут заняты 9, 10, 11, 12 и 13 пины платы ардуино. По этой причине не возможно одновременное использование ИК и Wi-Fi приёмников.


Схема соединения выглядит следующим образом

GSM/GPRS/Wi-Fi+Blynk сигнализация на Arduino Сигнализация, Arduino, Esp8266, Sim800l, Gprs, Blynk, Длиннопост

Скетч проекта лежит по этой ссылке


https://github.com/wisenheimer/Signaling-Blynk/blob/master/n...


Там необходимо будет указать свои датчики, подключенные к ардуино.

В скетче задано два датчика. Вам нужно только вписать свои.

Sensor sens[SENS_NUM]=
{
Sensor(DOOR_PIN,DIGITAL_SENSOR, "DOOR", HIGH, 0),
Sensor(5, DIGITAL_SENSOR, "MOVE", LOW)
};

Первый датчик это геркон, второй - датчик движения.

Пин DOOR_PIN зарезервирован под геркон и соответствует 4 пину ардуины.


При срабатывании любого из этих датчиков по Wi-Fi будет отправлено сообщение RF_CODE, которое примет сигнализация, и включит режим тревоги.


Соответственно в скетче сигнализации нужно аналогично прописать беспроводной датчик


Sensor sens[SENS_NUM]={
Sensor(DOOR_PIN, DIGITAL_SENSOR,"DOOR",  HIGH, 0),
Sensor(DOOR_PIN, DS18B20,  "18B20", LOW, 10, 45),
Sensor(A7,  TERMISTOR,  "TERM",  LOW, 10, 45),
Sensor(6,  DIGITAL_SENSOR,"RADAR",LOW),
#if RF_ENABLE // Датчик с Wi-Fi модулем nRF24L01
Sensor( RF24_SENSOR, "Koridor",RF0_CODE),

Sensor( RF24_SENSOR, "Zal",RF1_CODE)

#endif
};

В примере заданы два беспроводных Wi-Fi датчика, где

RF24_SENSOR - тип датчика

"Koridor" и "Zal" - имена датчиков, которые будут выводиться в сообщениях

RF0_CODE и RF1_CODE - индивидуальные коды RF_CODE, которые отправляют датчики при срабатывании.


В будущем постараюсь добавить поддержку Blynk в прошивку ардуино с модемом SIM800L. Чтобы можно было обойтись без NodeMcu. Пока на всё это не хватает времени.


Скачать проект можно по ссылке https://github.com/wisenheimer/Signaling-Blynk

Показать полностью 9
[моё] Сигнализация Arduino Esp8266 Sim800l Gprs Blynk Длиннопост
168
174
wisenheimer
6 лет назад
Arduino & Pi

Проект GSM/GPRS сигнализации на Arduino ч.3⁠⁠

Всех с праздником. Продолжаем совершенствовать нашу сигнализацию. Согласитесь, что ей очень не хватает беспроводных датчиков. Один из подписчиков попросил добавить в сигнализацию ИК-передатчик для управления кондиционером. Мы решили этот вопрос несколько иначе, но сама идея передачи данных по ИК-каналу мне понравилась. Комплектующие стоят копейки. Имеется уже готовая библиотека IRremote, позволяющая принимать и отправлять данные по ИК-каналу. Минусом данной технологии можно считать только необходимость прямой видимости между передатчиком и приёмником. При этом ИК-приёмник отлично принимает отражённый от стен и потолка инфракрасный свет. Та что не обязательно, чтобы ик-диод был направлен непосредственно на него. Таким образом, если датчики и сигнализация расположены в одной комнате, можно неплохо сэкономить на комплектующих.

Для того, чтобы сигнализация могла принимать ИК-команды, в неё нужно добавить ИК-приёмник. Я использовал TSOP31238 на 38 кГц . Можно взять любой другой, желательно этой же частоты, т.к. она применяется чаще всего.


Первая ножка модуля - земля, вторая +5В, третья - информационный выход. Его соединяем с 11 пином Ардуины в сигнализации. У других ИК-приёмников распиновка может отличаться.

Проект GSM/GPRS сигнализации на Arduino ч.3 Сигнализация, Arduino, Sim800l, Gsm, Gprs, Ик-порт, Ик приёмник, Длиннопост

Далее открываем файл настроек проекта libraries/main_type/settings.h

Подключаем библиотеку ИК-датчика через дефайн, записав в него 1.

# define IR_ENABLE 1 // библиотека для ик приёмника

Затем добавляем ИК-датчик в массив датчиков:

Проект GSM/GPRS сигнализации на Arduino ч.3 Сигнализация, Arduino, Sim800l, Gsm, Gprs, Ик-порт, Ик приёмник, Длиннопост

где

IR_SENSOR - тип датчика

"IR_0" - уникальное имя датчика. Будет выводиться в отчётах. Пишите любое своё, например "OKNO" или "KOMNATA".

0x41038C7 - 32 разрядное кодовое слово, передаваемое беспроводным датчиком при срабатывании. Можно указать любое другое. Оно будет отправляться датчиком при тревоге. Соответственно это же слово нужно зашить в датчик.

Если ИК-датчиков несколько, можно настроить их на передачу разных слов, тогда в массиве каждый датчик нужно прописать отдельно. Это позволит их различать.


Прошиваем сигнализацию.


Теперь настало время собрать беспроводной ИК-датчик.


Для этого нам понадобится Ардуино Нано, ИК-диод, чем мощнее, тем лучше. Его нужно подключить к 3 пину Ардуины через ограничивающий резистор 33-220 Ом. Далее начиная с 4 пина подсоединяем любые датчики. Точно так же, как мы это делали в сигнализации. Оба проекта используют одни и те же библиотеки.

Проект GSM/GPRS сигнализации на Arduino ч.3 Сигнализация, Arduino, Sim800l, Gsm, Gprs, Ик-порт, Ик приёмник, Длиннопост

Затем открываем файл настроек settings.h

Задаём код, который будет отправляться на ИК-приёмник. Мы уже указывали его при настройке датчиков сигнализации. Код должен совпадать, чтобы сигнализация могла понять, кто сработал.

#define IR_CODE 0x41038C7

Далее указываем размер отправляемого слова в битах

#define IR_CODE_BIT_SIZE 32

В примере проекта к беспроводному датчику подключено два сенсора, геркон и датчик движения. Поэтому мы сначала задаём номера пинов для сенсоров, начиная с 4 (4 и 5 в данном случае). Затем записываем в массив сенсоров два датчика.

Проект GSM/GPRS сигнализации на Arduino ч.3 Сигнализация, Arduino, Sim800l, Gsm, Gprs, Ик-порт, Ик приёмник, Длиннопост

На этом настройка проекта завершена. Можно прошиваться.


При срабатывании подключенного сенсора Ардуина ИК-датчика начнёт отправлять указанное нами слово по ИК-каналу. Количество повторов отправки определено дефайном

# define ALARM_MAX_TIME 10

Отправка слова производится раз в секунду.

Сигнализация примет это слово, сравнит с заданным в своих настройках, и при совпадении сработает режим тревоги.


Иногда мощности питания от порта Ардуины не хватает ИК-диоду, чтобы послать сигнал на большое расстояние. Тогда следует питать его напрямую от источника питания через транзистор. Например по такой схеме.

Проект GSM/GPRS сигнализации на Arduino ч.3 Сигнализация, Arduino, Sim800l, Gsm, Gprs, Ик-порт, Ик приёмник, Длиннопост

Обновлённая прошивка с проектом для ИК-датчика IRsensor лежит здесь

https://github.com/wisenheimer/Arduino


Так же необходимо установить через Arduino IDE библиотеку IRremote

Проект GSM/GPRS сигнализации на Arduino ч.3 Сигнализация, Arduino, Sim800l, Gsm, Gprs, Ик-порт, Ик приёмник, Длиннопост

или скачать её по этой ссылке https://github.com/z3t0/Arduino-IRremote


PS

В проекте добавилась новая библиотека для работы с датчиками температуры на основе термистора. Все необходимые коэффициенты задаются в самой библиотеке.

----------------

В следующей части постараюсь показать беспроводной датчик c Wi-Fi модулем.


Всем добра.

Показать полностью 6
[моё] Сигнализация Arduino Sim800l Gsm Gprs Ик-порт Ик приёмник Длиннопост
7
678
wisenheimer
6 лет назад
Arduino & Pi

Проект GSM/GPRS сигнализации на Arduino ч.2⁠⁠

Проект GSM/GPRS сигнализации на Arduino ч.2 Сигнализация, Arduino, Sim800l, Gsm, Gprs, Смс-рассылка, Длиннопост

Приветствую моих читателей. В первой части https://pikabu.ru/story/proekt_gsmgprs_signalizatsii_na_ardu... я рассказал вам, как сделать простую GPRS сигнализацию на Ардуино. Проект продолжает развиваться. Сигнализация эксплуатируется около месяца, и уже можно подводить некоторые итоги. За это время не было ни одного случая отказа или зависания, как модуля SIM800L, так и самой Ардуины. Напомню, в моём проекте микроконтроллер питается напрямую от аккумулятора пониженным напряжением 4 В. К каким-то отказам, как опасались многие читатели, это не приводит. Мною был проведён эксперимент, чтобы узнать, как поведёт себя сигнализация при постепенном разряде батареи.

Так как Ардуина разряжала аккумуляторы очень медленно, я подключил её вместе с модемом к лабораторному источнику питания, выставил ограничение по току 2А, и проверил работу на различных значениях напряжения.

Что удалось выяснить. При 3,5 В и выше SIM800L работает штатно. С питанием 3,4 В иногда начинаются перезагрузки при входящих звонках. При снижении напряжения ниже 3,4 В отваливается сеть, могут начаться перезагрузки, но на AT команды модуль продолжает отвечать. Так он работает в плоть до 3В, после чего выключается.

Ардуина работает даже при напряжении 2,7 В, ниже которых отключается. Никаких сбоев отмечено не было.

Но этого нам не достаточно. Нужно было проверить работу при длительной разрядке аккумулятора. Так сказать в условиях, близких к боевым. Я отключил режим сна Ардуины, подключил дополнительную нагрузку к аккумулятору, включил Serial монитор, и отслеживал поведение сигнализации, периодически проверяя её работоспособность. Эксперимент продолжался более суток. Аккумулятор разрядился до 3,6 В. Сбоев замечено не было. Схема полностью работоспособна.  Ставьте ёмкий аккумулятор и не о чём не думайте.

Для справки. Номинальное напряжение питания чипа зависит от частоты его работы. Если программно понизить частоту до 10МГц или ниже, то питание напряжением от 2,7 до 5,5В для Atmega328p будет стандартным. Если кого-то не убедили результаты эксперимента, то они могут  поиграться с настройками частоты.


С этим разобрались, теперь поговорим о доработках проекта.


За прошедшие две недели проект претерпел некоторые изменения. Геркон теперь подтянут через резистор не к +5В, а к +4,2В батареи (см. фото). Что позволит сохранить на пине высокий уровень при отключении внешнего питания без программной подтяжки. Мне кажется это более надёжным решением. Резисторы можно использовать любого номинала, начиная с 2,2 кОм и выше.


Остальные доработки касаются программной части. Файл настроек settings.h получил новые опции. https://github.com/wisenheimer/Arduino/blob/master/libraries...


По рекомендации читателей, в проект был добавлен watchdog (WTD), который перезагрузит Ардуину в случае её зависания. Включен по умолчанию следующим дефайном:

Проект GSM/GPRS сигнализации на Arduino ч.2 Сигнализация, Arduino, Sim800l, Gsm, Gprs, Смс-рассылка, Длиннопост

Т. к. стандартный загрузчик Ардуино Нано не поддерживает watchdog, и в случае его срабатывания уходит в бесконечную перезагрузку, для его работы нужно либо сменить загрузчик на другой, либо поступить проще. Прошить Ардуину через программатор. В этом случае на Ардуине больше не будет загрузчика. И watchdog будет работать. Но вы уже не сможете прошивать Ардуину по USB. Если вас это не устраивает, не используйте watchdog.


В качестве программатора я применил Ардуино УНО с прошивкой ArduinoISP из примеров.


Следующее изменение касается способа доставки отчётов. Теперь сигнализация поддерживает SMS отправку сообщений. Ранее мы отправляли ответы сигнализации на e-mail при помощи GPRS. Теперь можно выбирать способ отправки. Для этого добавлен следующий дефайн:

Проект GSM/GPRS сигнализации на Arduino ч.2 Сигнализация, Arduino, Sim800l, Gsm, Gprs, Смс-рассылка, Длиннопост

По умолчанию включены оба варианта.


SET_FLAG_ONE(GPRS_ENABLE) разрешает отправку e-mail по GPRS.

SET_FLAG_ONE(SMS_ENABLE) разрешает отправку отчётов по SMS.


GPRS имеет более высокий приоритет. Если сигнализации не удалось установить GPRS соединение, и SMS режим разрешён, то сообщения будут отправлены по SMS, флаг GPRS_ENABLE  выключен, и в дальнейшем будет задействована только SMS отправка. Включить или выключить оба режима можно так же в ручную DTMF командой.

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


Следующим нововведением стало изменение списка DTMF команд:

Проект GSM/GPRS сигнализации на Arduino ч.2 Сигнализация, Arduino, Sim800l, Gsm, Gprs, Смс-рассылка, Длиннопост

Команды, не вошедшие в список, будут подставлены в USSD запрос и отправлены сотовому оператору. Так что можете в режиме DTMF напирать любые USSD команды. Например запрос баланса. В случае успеха ответ оператора вернётся в виде отчёта.


Админ так же может управлять модемом SIM800L при помощи АТ команд из его даташита http://www.mt-system.ru/sites/default/files/documents/sim800... .


Например, добавлять и удалять номера из телефонной книги. Для этого достаточно с телефона Админа отправить сигнализации SMS с текстом АТ команды.


Дальше хочу подробно рассказать, как добавлять в проект датчики.


Для начала необходимо определиться с количеством пинов, требуемых для ваших датчиков. Датчики у нас подключаются, начиная с 4 пина. Первым желательно выбрать геркон, т.к. он будет будить Ардуину, если она войдёт в режим энергосбережения при отключении внешнего питания.

Проект GSM/GPRS сигнализации на Arduino ч.2 Сигнализация, Arduino, Sim800l, Gsm, Gprs, Смс-рассылка, Длиннопост

В файле https://github.com/wisenheimer/Arduino/blob/master/libraries... описан класс Sensor и следующие типы датчиков:

Проект GSM/GPRS сигнализации на Arduino ч.2 Сигнализация, Arduino, Sim800l, Gsm, Gprs, Смс-рассылка, Длиннопост

DIGITAL_SENSOR - любой датчик с одним цифровым выходом, на котором может быть только два состояния, 0 или 1.

CHECK_DIGITAL_SENSOR - тоже самое, только с проверкой от ложного срабатывания. Если через 10 секунд датчик сбросил своё значение, то срабатывание считается ложным.  Применяется для тех датчиков, которые удерживают логическое значение на выходном пине при сохранении внешнего воздействия. Например датчик пламени.

ANALOG_SENSOR - любой датчик с аналоговым выходом. Например датчик газа MQ-2.

DHT11, DHT21, DHT22 - датчики температуры и влажности.


Конструктор класса имеет следующий вид:

Проект GSM/GPRS сигнализации на Arduino ч.2 Сигнализация, Arduino, Sim800l, Gsm, Gprs, Смс-рассылка, Длиннопост

В нашем файле настроек имеется целый массив таких классов для каждого датчика:

Проект GSM/GPRS сигнализации на Arduino ч.2 Сигнализация, Arduino, Sim800l, Gsm, Gprs, Смс-рассылка, Длиннопост

Очень важно указать точный размер массива, иначе проект не соберётся. В данном случае у меня имеется 6 датчиков, конструктор для каждого описан отдельно.


Например:

Sensor(DOOR_PIN, DIGITAL_SENSOR, "DOOR", HIGH, 0)

означает, что для датчика двери (геркона) задействован пин Ардуино DOOR_PIN (задан в том же в файле), тип датчика DIGITAL_SENSOR, название датчика, которое будет выводиться в отчётах - "DOOR" (можно заменить на любое другое слово), обычное состояние пина  HIGH (DOOR_PIN у нас подтянут к 4,2В), время подготовки датчика при включении питания в секундах, через которое он начнёт показывать правильные значения - 0 секунд.


Для аналогового датчика газа MQ-2:

Sensor(A0, ANALOG_SENSOR, "GAS", LOW, 120)

пин A0, тип датчика ANALOG_SENSOR, имя  "GAS", значение на пине LOW, на прогрев датчика и выход на номинальный режим работы отводится 120 секунд. До истечения этого времени после включения датчик не опрашивается, что бы не получать неверные значения.


Для датчика температуры DHT11

Sensor(DHT_PIN, DHT11, "DHT", LOW, 10, 35)

в конце появилась цифра 35, которая означает уровень в градусах, при превышении которого считается, что датчик сработал. В помещении стало слишком жарко.


Внимательный читатель уже заметил, что для разных датчиков описано разное количество параметров. Дело в том, что в языке С++ можно не писать все параметры функции, если в заголовке функции указаны их значения по умолчанию. Мы пишем только то, что не имеет значения по умолчанию, или мы хотим задать другое значение. Однако никто не запрещает указать все параметры конструктора класса.


Вы можете подключать к сигнализации любые датчики, не требующие отдельной библиотеки, лишь заполнив конструктор класса, и добавив его в массив Sensor sensors[]. И это будет работать. Если для датчика требуется отдельная библиотека, то её можно добавить точно так же, как в проект была добавлена библиотека stDHT.h для датчика DHT11, который имеет свой протокол для обмена данными. Или напишите мне, я добавлю.


На этом всё, спасибо за внимание.


Скачать проект можно как всегда по ссылке: https://github.com/wisenheimer/Arduino

Показать полностью 7
[моё] Сигнализация Arduino Sim800l Gsm Gprs Смс-рассылка Длиннопост
144
358
wisenheimer
6 лет назад
Arduino & Pi

Проект GSM/GPRS сигнализации на Arduino⁠⁠

Предлагаю вашему вниманию проект охранно-пожарной GSM/GPRS сигнализации на ардуино с резервным питанием от батареи. Мною ставилась цель создать простую в изготовлении сигнализацию для дома, состоящую из недорогих ардуиновских модулей и датчиков, управляемую с телефона. При этом затраты на обслуживание должны быть минимальными. А лучше чтобы их вообще не было! И мне удалось этого добиться.

Для вожделенной халявы пришлось отказаться от традиционных смс оповещений, и освоить отправку писем на электронную почту. При правильно подобранном тарифе, сигнализация не тратит денег с баланса. При этом мы получаем по e-mail всю информацию о работе сигнализации, сработавших датчиках, действиях пользователей. Такой роскоши не добиться с помощью платных смс. Управление сигнализацией реализовано на основе DTMF команд. Если у вас один оператор связи на основном телефоне и на сигнализации, с бесплатными звонками внутри сети, или имеется пакет бесплатных минут, то управление сигнализацией тоже будет бесплатным. В противном случае всегда можно отправить команду в течении первых 3-х секунд. И так же не платить. Заинтриговал? Тогда прошу под кат.

Первым делом составим техническое задание:

1) Оповещение звонком Админа при срабатывании датчика.

2) Отправка e-mail с подробностями.

3) Отправка e-mail о действиях пользователей.

3) Наличие резервного питания на случай отключения основного.

4) Управление сигнализацией при помощи DTMF команд и смс.


Для этого нам понадобится плата ардуино и недорогой, но функциональный GSM-модем SIM800L. Любой литиевый аккумулятор с модулем заряда. Датчики по вкусу.

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

В данном реализации были применены следующие сенсоры и модули:

1. Геркон NC типа, как датчик открытия двери.

2. Пироэлектрический инфракрасный датчик движения HC-SR501.

3. Датчик газа и дыма MQ-2.

4. Микроволновый датчик движения RCWL-0516. Видит сквозь препятствия и стены. Хорош для охраны дачи или частного дома. В квартире будут частые ложные срабатывания на соседей за стенкой или бегающих собачек и котиков.

5. Датчик пламени.

6. Датчик температуры и влажности DHT11.

7. Для подачи звуковых сигналов при выполнении команд использована пищалка (зуммер). В готовом изделии не обязателен.

8. Плата контроля заряда-разряда лития на основе микросхемы TP4056 с защитой от перезаряда и разряда.

9. Ардуино Nano V3. Можно заменить 5 вольтовой Ардуино pro mini.

10. В качестве GPRS GSM модема выбран недорогой, но хороший модуль SIM800L. Он имеет небольшие размеры. Умеет работать с DTMF командами, звонить, отправлять смс и e-mail. Смс дороги, а вот электронные письма можно слать практически бесплатно. Чем мы в дальнейшем и воспользуемся!


Датчиком открытия двери (окна) у нас служит нормально закрытый (NC тип) геркон. В случае отсутствия электричества наша ардуина будет отправлена в сон, и разбудить её смогут три вещи: сработавший геркон, появление внешнего питания (сеть), или сигнал RING с модема в случае звонка. Но это мы уже забежали вперёд.


Схема соединения.

Проект GSM/GPRS сигнализации на Arduino Сигнализация, Arduino, Sim800l, Gsm, Gprs, Длиннопост
Проект GSM/GPRS сигнализации на Arduino Сигнализация, Arduino, Sim800l, Gsm, Gprs, Длиннопост
Проект GSM/GPRS сигнализации на Arduino Сигнализация, Arduino, Sim800l, Gsm, Gprs, Длиннопост

Допустим мы всё собрали как надо. Чтобы сигнализация заработала, первым делом надо заполнить файл настроек, находящийся по следующему пути libraries/main_type/settings.h


В строке

Проект GSM/GPRS сигнализации на Arduino Сигнализация, Arduino, Sim800l, Gsm, Gprs, Длиннопост

за место 115200 необходимо указать скорость, на которой работает ваш модем. Как определить скорость работы модема, можно найти в интернете. Не буду на этом заострять внимание.


Далее перечисляются используемые датчики. Вам нужно оставить только те, которые вы используете. Остальные строчки сделать комментариями при помощи двойного слеша //

Проект GSM/GPRS сигнализации на Arduino Сигнализация, Arduino, Sim800l, Gsm, Gprs, Длиннопост

Можно оставить всё как есть. Не подключенные датчики на работу не повлияют.

Далее перечисляются пины, на которых висят наши модули. Первым у нас будет пин RING модема. Он соответствует пину 2 ардуино. Т.к. это обычное перечисление, номер следующего пина будет на один больше предыдущего, т. е. 2, 3, 4 и т. д. Если вы закомментировали какие-то модули выше, то их пины не будут учитываться в перечислении.

Проект GSM/GPRS сигнализации на Arduino Сигнализация, Arduino, Sim800l, Gsm, Gprs, Длиннопост

При сборке схемы модули подключаются начиная со 2-го пина друг за другом в том порядке, что указан в перечислении.

Далее нам надо настроить отправку e-mail.

Первым делом задаём SMTP сервер почты, к которой будет подключаться наш модуль SIM800L. Он прекрасно работает с яндекс почтой, с другими не тестировал. Советую завести там почтовый ящик, и слать через него. В этом случае настройки изменять не нужно.

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

Проект GSM/GPRS сигнализации на Arduino Сигнализация, Arduino, Sim800l, Gsm, Gprs, Длиннопост

Далее за место слов login и password впишите логин и пароль от вашей почты

Проект GSM/GPRS сигнализации на Arduino Сигнализация, Arduino, Sim800l, Gsm, Gprs, Длиннопост

Затем укажите полное название вашей почты и имя отправителя. В данном случае у нас указан отправитель SIM800L. Можете написать что-то своё.

Проект GSM/GPRS сигнализации на Arduino Сигнализация, Arduino, Sim800l, Gsm, Gprs, Длиннопост

Теперь впишите название почты получателя и его имя. На этот ящик будут приходить письма. Для отправки и получения можно указать один и тот же ящик. Тоже будет работать.

Проект GSM/GPRS сигнализации на Arduino Сигнализация, Arduino, Sim800l, Gsm, Gprs, Длиннопост

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

Проект GSM/GPRS сигнализации на Arduino Сигнализация, Arduino, Sim800l, Gsm, Gprs, Длиннопост

Поздравляю! На этом настройки закончены. Можно прошивать ардуину.


Как работает сигнализация.

Внимание! Сигнализация управляется только с номеров, записанных в телефонную книгу симкарты.

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

Администратор — единственный пользователь, который может отправлять DTMF и смс команды.

Для удалённого добавления пользователя в телефонную книгу Администратор должен отправить смс вида

AT+CPBW=,"+xxxxxxxxxxx",145,"USER"
где +xxxxxxxxxxx - номер телефона
USER - имя абонента

Модем настроен на поднятие трубки при звонке с номера Админа. Это сделано для возможности использовать DTMF команды. Звонки с других номеров будут сбрасываться.

Администратор может отправлять DTMF команды из списка ниже. Если команда принята, сигнализация сбросит звонок. Отчёт о выполнении команды придёт на почту. Любая команда представляет собой цифру и знак #, который означает завершение ввода. После этого модем завершит звонок и выполнит полученную команду.

Проект GSM/GPRS сигнализации на Arduino Сигнализация, Arduino, Sim800l, Gsm, Gprs, Длиннопост

Команды, не вошедшие в список, считаются USSD запросами. Например, мы хотим узнать баланс телефона. USSD запрос баланса нашего оператора *xxx#

где xxx — цифры.

Отправляем DTMF команду xxx#. Она будет подставлена в USSD запрос. Ответ оператора будет переслан на почту.


Порядок включения.

Подать питание на сигнализацию.

Дождаться прихода e-mail. Сигнализация загрузилась.

По умолчанию режим охраны выключен. При звонке любого зарегистрированного номера (кроме админа) сигнализация будет ставить/снимать с охраны и отправлять отчёт на почту. Звонок будет сброшен. При звонке с номера Администратора модем поднимает трубку и ждёт DTMF команду. Админ может поставить/снять с охраны сигнализацию командой 1# и 2# соответственно. После ввода команды звонок завершится сам.


Режимы работы:

Тревога.

При срабатывании одного из датчиков включится режим тревоги. На телефон Админа поступит звонок. Его надо сбросить. На почту будут отправлены показания сработавшего датчика. Продолжительность режима тревоги задана в файле настроек дефайном ALARM_MAX_TIME. По умолчанию 60 секунд. В течение этого времени идёт сбор статистики о сработавших датчиках. Когда время истечёт, информация будет отправлена на почту, а счётчики срабатываний обнулятся. Если датчики снова сработают, всё повторится.


Выключение сетевого питания. Режим низкого энергопотребления.

При пропадании электричества на 3 пине ардуины появится низкий уровень. Сигнализация переключится на питание от батареи. На почту придёт сообщение, что свет пропал Svet OFF. После этого, для экономии энергии батареи, ардуина уйдёт в сон, модем будет переведён в режим низкого энергопотребления.

Все датчики, питающиеся от сети, будут обесточены и перестанут работать. В моей реализации датчики питаются от внешнего источника. Все кроме геркона. Он не требует питания, поэтому работает всегда. При срабатывании геркона в режиме сна ардуины, она проснётся и перейдёт в режим тревоги. После того как режим тревоги завершится, ардуина снова уснёт.

При появлении электричества ардуина проснётся, переведёт модем в обычный режим работы, и отправит сообщение на почту Svet ON.


Поддерживаемые операторы.

Прошивка поддерживает основных российских операторов:

МТС, Билайн, Мегафон, Теле2. Если у вас другой оператор, и не отправляется e-mail, пишите в комментариях. Будем добавлять.


На этом всё. Скачать прошивку можно здесь https://github.com/wisenheimer/Arduino

Вопросы пишите в комментариях :)

Показать полностью 12
[моё] Сигнализация Arduino Sim800l Gsm Gprs Длиннопост
271
4063
kameas
kameas
6 лет назад
Рукодельники

Мини GPRS принтер для печати заказа в столовую⁠⁠

Всем привет, мы с коллегой расскажем вам как мы мучились 4 месяца сделали своими руками принтер, который печатает то что вы от него хотите, без лишних проводов (только питание)

Мини GPRS принтер для печати заказа в столовую Принтер, Своими руками, Sim800l, Arduino, Рукоделие с процессом, Длиннопост

Небольшая предыстория (и зачем это вообще нужно)

После переезда в новый офис мы были рады наличию столовой на первом этаже здания, но места в ней было немного, и все желающие отобедать там не умещались. Андрей предложил свою кандидатуру на роль курьера.


Как это работало:

- Ребята пишут заказ на бумажке с подписью
- Андрей собирает бумажки и относит их в столовую с деньгами
- Через 30 минут возвращается и забирает заказ
- Ребята располагаются на кухне в офисе и дружно обедают


Итого 4 итерации, 2 из которых - поход в столовую.

Мини GPRS принтер для печати заказа в столовую Принтер, Своими руками, Sim800l, Arduino, Рукоделие с процессом, Длиннопост

Андрей, как прирожденный программист, решил это дело оптимизировать - сделал сайт где можно оформить заказ обеда, который он в дальнейшем распечатает и отнесет в столовую. Система оплаты была заменена на депозиты, баланс можно посмотреть в личном кабинете также на сайте.

Мини GPRS принтер для печати заказа в столовую Принтер, Своими руками, Sim800l, Arduino, Рукоделие с процессом, Длиннопост

(единственный обед который я могу себе позволить)

Позднее Олегом было предложено сделать «штуку которая будет печатать заказ в столовой», Андрей поделился со мной этой идеей, в дальнейшем мы пришли к выводу что нужна нам все-таки не штука, а принтер, желательно с мобильным интернетом, т.к. в столовой не было wifi (безумие).


Непосредственно сам процесс начался с прототипирования, все необходимое было закуплено за один раз на али, а именно:
- Принтер JP-QR701-TTL

- Arduino uno 328

- GSM/GPRS модуль sim800l + дополнительная антенна для него


И мое скромное вложение:

- Блок питания от монитора (14в 2а)

- Понижающие DC-DC модули

- Конденсаторы и прочая мелочь

Мини GPRS принтер для печати заказа в столовую Принтер, Своими руками, Sim800l, Arduino, Рукоделие с процессом, Длиннопост

Немного поясню по выбору железа:

- Выбрали именно этот принтер т.к. у него в описании значилась поддержка русской кодировки CP866, что показалось нам убедительным

- Миллионы раз в процессе разработки мы пожалели о том что выбрали Arduino, но в последствии лично для меня это превратилось в челлендж "впихнуть не впихуемое", ибо памяти очень не хватало

- GSM модуль взяли самый дешевый и распространенный — чем востребованнее железка, тем больше топиков и готовых проектов с ней


Примеров реализации sim800 + принтер + Arduino в сети не оказалось, но не смотря на это - руками мы написали лишь ~20% кода для проекта, в остальном - использовали библиотеки где все уже было сделано за нас.

Мини GPRS принтер для печати заказа в столовую Принтер, Своими руками, Sim800l, Arduino, Рукоделие с процессом, Длиннопост

Общение с модулем sim800l происходит с помощью AT-команд через Serial-port, в ответ, если все в порядке - отвечает OK, если нет - ERROR, использовали мы документацию которая гуглится по названию SIM800HL_Hardware_Design_V2.01 (есть много разных, но эта на мой взгляд самая полная)


Модуль крайне привередлив к питанию, ему необходимо 3.5 - 4.4в, иначе работать будет не стабильно, или может вообще выключится, предварительно написав предупреждение.

Мини GPRS принтер для печати заказа в столовую Принтер, Своими руками, Sim800l, Arduino, Рукоделие с процессом, Длиннопост

(картинка с сайта codius.ru)


Для получения данных из всемирной, пока еще не заблокированной сети - есть несколько способов:

- HTTP соединение

- TCP соедниение


Мы будем использовать второй вариант, т.к. библиотека которую мы используем работает именно по этому принципу (ее пришлось немного доработать, об этом в части про спаривание принтера и модуля)


С модулем можно общаться напрямую через Serial-порт компьютера, используя программатор, но у нас есть ардуино, и мы использовали скетч для отладки что бы немного с ним пообщаться (идет в комплекте с библиотекой, появляется в Examples Arduino IDE).

Мини GPRS принтер для печати заказа в столовую Принтер, Своими руками, Sim800l, Arduino, Рукоделие с процессом, Длиннопост

Шаг первый: получить данные с api.


С момента подключения питания до успешного получения данных прошло 2 часа (но потом мы потерли скетч и примерно 2 дня пытались повторить то что мы сделали).


Сложности с sim800l которыми мы столкнулись, перед тем как у нас это получилось:

- Недостаточное питание: подавали 3.3в вместо 3.5, модуль обманчиво мигал, но сеть не находил

- Пришлось настраивать прокси, т.к. модуль не может в ssl (или может, уже позже мы нашли документацию SIM800 Series_SSL_Application Note_V1.00), и большинство адресов вообще не открывалось

- Мегафон ни в какую не хотел открывать адрес api, даже через прокси, сменили оператора - все заработало

Мини GPRS принтер для печати заказа в столовую Принтер, Своими руками, Sim800l, Arduino, Рукоделие с процессом, Длиннопост

Принтер JP-QR701-TTL - самая распространенная модель, цифры/буквы в названии могут быть другие, главное что бы был TTL а не RS232, иначе придется подключать схему MAX3232 для конвертирования RS232 -> TTL. когда мы распечатали тестовую страницу (нужно зажать на нем кнопку и подать питание) то в начале мы получили половину страницы, где нет кириллицы.


Дело как и в случае с GSM-модулем было в питании, подавали мы меньше 5в, ему же требуется 5-9в, увеличили напряжение - все заработало, но кириллицы не появилось.


Потратив несколько часов на поиски "как печатать на русском" мы наткнулись на статью 2013 года (не могу вставить ссылку из-за рекламы на сайте), где человечище с ником zhevak выложил ссылки на файл для прошивки принтера другими кодировками. Ссылки оказались не рабочими, но мы поняли куда рыть, и нашли свежую версию программы которой я делюсь с вами. Просто выбираем нужную - CP866, нажимаем ОК, и ждем ОК от программы, печатаем тестовую страницу - и все, вы восхитительны.


Для общения с принтером использовали библиотеку Adafruit

Мини GPRS принтер для печати заказа в столовую Принтер, Своими руками, Sim800l, Arduino, Рукоделие с процессом, Длиннопост

Шаг второй: отправить полученные данные на печать


Итак, самая интересная часть, имеем:

- Полностью рабочий принтер, печатает то что мы хотим

- Полностью рабочий gprs модуль

Нам нужно их спарить между собой.


Создаем 2 Software Serial для прокидывания команд примерно по такой схеме:
Принтер <= Arduino <=> sim800l


Действуем по этим шагам:

- Получаем данные уже с переносами строк

- Конвертируем данные из UTF-8 в CP866

- Отдаем данные на принтер


И тут мы сталкиваемся с несколькими проблемами:

- Памяти у Arduino не хватит что бы сохранить список заказов который мы получаем с сервера, как вариант - получать и отправлять данные частями, но это приводит нас к следующему:

- Модуль sim800 передает данные не пакетами, мы имеем поток который нужно успеть прочитать, перекодировать и отправить на печать прежде чем он пришлет нам новые данные, и последняя проблема:

- Мы понимаем что количество ненумерованных списков в этой статье почти переваливает за десяток


Решение (второй проблемы) оказалось гениальным и простым - уменьшаем скорость потока данных при инициализации до 300 (хотя в документации сказано что ниже 900 нельзя) и все работает. Пожалуйста не спрашивайте меня как и почему, главное что оно работает.


Несколько вещей которые обязательно нужно сделать для библиотеки GSM-модуля:

- В файле sim800.h который лежит в библиотеке для GSM-модуля смотрим на значения пинов (например SIM800_TX_PIN), тут 2 варианта - меняем их на те что нам нужны, либо просто подключаемся к тем что указаны

- Рядом, в файле gprs.h меняем baudRate = 9600 на baudRate = 300 не могу вспомнить сколько дней у нас ушло на то, что бы понять что данные передаются потоком, и что принтер просто не успевает их напечатать на более высокой скорости


Перед печатью данных с сервера мы вновь забыли проверить напряжение, результат нас одновременно обрадовал и удивил, т.к. мы получили печать страницы на башкирском языке (по крайней мере очень похоже)

Мини GPRS принтер для печати заказа в столовую Принтер, Своими руками, Sim800l, Arduino, Рукоделие с процессом, Длиннопост

Вот так выглядит печать в нормальном виде

Мини GPRS принтер для печати заказа в столовую Принтер, Своими руками, Sim800l, Arduino, Рукоделие с процессом, Длиннопост

Шаг третий: монтаж и сборка


С получением данных и печатью все, далее печать платы для повышающих модулей и подключение блока питания. БП кстати должен выдавать минимум 1.5 - 1.7а, из-за высокого потребления принтера в момент печати.

Мини GPRS принтер для печати заказа в столовую Принтер, Своими руками, Sim800l, Arduino, Рукоделие с процессом, Длиннопост

(шутка про фронтенд и бэкенд)

Мини GPRS принтер для печати заказа в столовую Принтер, Своими руками, Sim800l, Arduino, Рукоделие с процессом, Длиннопост

Изначально корпус решили напечатать на 3d принтере, но около месяца это все оставалось на уровне "надо-бы сделать", тогда я решил сделать корпус из пвх пластика, за идею спасибо @OgnennoeTV,  а за пластик - Юре.

Предварительно был сделан корпус из картона - что в дальнейшем очень помогло, указало на косяки при высчитывании размеров.

Мини GPRS принтер для печати заказа в столовую Принтер, Своими руками, Sim800l, Arduino, Рукоделие с процессом, Длиннопост

Далее были вырезаны детали из пластика и после подгонки - покрашены, хотели предварительно выровнять неровности но мы понимали что тогда это затянется еще на несколько дней (а мы уже очень хотели закончить)

Мини GPRS принтер для печати заказа в столовую Принтер, Своими руками, Sim800l, Arduino, Рукоделие с процессом, Длиннопост

Крепления были куплены в строительном магазине и с боков посажены на клей (потом все-таки поменяли на болты)

Мини GPRS принтер для печати заказа в столовую Принтер, Своими руками, Sim800l, Arduino, Рукоделие с процессом, Длиннопост

В момент сборки, на фото ниже - я представлял себя Робертом Фордом из мира дикого запада, который кряхтит над своим творением.

Мини GPRS принтер для печати заказа в столовую Принтер, Своими руками, Sim800l, Arduino, Рукоделие с процессом, Длиннопост

Предварительно согласовали с девушками из столовой формат печати, получили ОК и окончательно собрали принтер.

Мини GPRS принтер для печати заказа в столовую Принтер, Своими руками, Sim800l, Arduino, Рукоделие с процессом, Длиннопост
Мини GPRS принтер для печати заказа в столовую Принтер, Своими руками, Sim800l, Arduino, Рукоделие с процессом, Длиннопост

С момента выпуска принтера в "продакшн" прошло около месяца, в начале девушки в столовой были крайне удивлены черной коробке которая печатает им заказы, но потом привыкли, и даже выделили ей место.

Мини GPRS принтер для печати заказа в столовую Принтер, Своими руками, Sim800l, Arduino, Рукоделие с процессом, Длиннопост

Весь процесс занял примерно 4 месяца, но мы выделяли время только в выходные, и изредка - после работы.


По стоимости проект вышел примерно в 2.5к, с учетом наличия расходников, паяльника и прочего, и без учета человеко-часов.

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

Ссылка на скетч который использовали для Arduino: https://github.com/andrew72ru/remote_print

Показать полностью 20
[моё] Принтер Своими руками Sim800l Arduino Рукоделие с процессом Длиннопост
395
Посты не найдены
О Нас
О Пикабу
Контакты
Реклама
Сообщить об ошибке
Сообщить о нарушении законодательства
Отзывы и предложения
Новости Пикабу
RSS
Информация
Помощь
Кодекс Пикабу
Награды
Команда Пикабу
Бан-лист
Конфиденциальность
Правила соцсети
О рекомендациях
Наши проекты
Блоги
Работа
Промокоды
Игры
Скидки
Курсы
Зал славы
Mobile
Мобильное приложение
Партнёры
Промокоды Biggeek
Промокоды Маркет Деливери
Промокоды Яндекс Путешествия
Промокоды М.Видео
Промокоды в Ленте Онлайн
Промокоды Тефаль
Промокоды Сбермаркет
Промокоды Спортмастер
Постила
Футбол сегодня
На информационном ресурсе Pikabu.ru применяются рекомендательные технологии