Как подключиться/позвонить в сеть PSTN с помощью Arduino?
За несколько месяцев я сделал сигнализацию для своего дома. Она очень простая: на базе магнитных датчиков DC-1561 (для окон и входных дверей), нескольких ИК-датчиков для комнат, кнопок, светодиодов и (конечно же) ArduinoNano v3. Просто!
Вопрос в том, что в последнее время я провожу мало времени дома и хотел бы, чтобы, когда я ухожу из дома, будильник звонил мне (при срабатывании) на мобильный телефон по телефонной сети общего пользования (PSTN), поскольку я живу на Кубе, и это самый простой и дешёвый способ (GSM-модемы/модули для меня очень дороги). Я не хочу оставлять никаких сообщений или аудиозаписей, просто звоню и принимаю звонок на свой мобильный телефон, используя разъём RJ-11 (в моей стране используется только 2 контакта) для подключения к Arduino/some_IC.
Я изучаю этот вопрос со вчерашнего дня и нашёл немало информации. Самый рекомендуемый/успешный из найденных мной (помните, я хочу продолжать использовать уже имеющуюся систему, просто добавить к Arduino возможность использовать метку через ТфОП) — это использование микросхемы (HT9200B), которая представляет собой генератор DTMF-кодов (как показано на рисунке) с последовательным и параллельным подключением, очевидно, совместимым с электронной логикой Arduino (5 В).

Но из всей информации, которую я нашёл, мне нравится подключать к этой микросхеме (HT9200B) динамик и воспроизводить DTMF-коды. Это не то, что мне нужно, а подключаться напрямую к телефонной линии и иметь возможность «звонить» с неё.
Есть ли у кого-нибудь идеи, ссылки, текущие проекты или что-нибудь еще, что может мне помочь?
@k.Cyborg, 👍0
Обсуждение1 ответ
Лучший ответ:
Как уже писали в комментариях, вы можете использовать любой модем RS232, который сможете найти. Они используют так называемые AT-команды — очень распространённый способ обмена командами с подобными периферийными устройствами. Подробнее об этом можно узнать в Википедии или в Google.
Главная проблема в том, что такие модемы довольно сложно найти (или, по крайней мере, их немного сложнее найти, и они, на мой взгляд, слишком дороги). Поэтому для одного из своих проектов я решил перейти на более дешёвую альтернативу. В интернете многие писали, что гораздо лучше иметь уже проверенный инструмент, чем разрабатывать свой собственный. Поэтому я купил вот такой мини-телефон:

Вам просто нужно открыть его, подключить клавиши (точнее, строки и столбцы клавиатуры) к Arduino и позволить ему творить чудеса.
Это решение дешевле (я потратил на него 4 евро, но если у вас старый телефон, оно становится бесплатным), чем покупка модема RS232, но требует больше усилий с вашей стороны.
Мне больше нравится ваше решение. Не могли бы вы дать ссылку, где вы купили телефон, показанный на картинке? Когда я ищу (Amazon, eBay и Aliexpress), я нахожу много предложений мобильных и стационарных телефонов, и я хотел бы купить ваш, потому что знаю, что он работает. Спасибо за совет!, @k.Cyborg
Это [этот](https://www.amazon.com/Owfeel-Hands-free-Telephone-Microphone-Headset/dp/B00F6POFL4)?, @k.Cyborg
Я купил его на eBay, но он точно такой же, как у вас. Просто учтите, что я не завершил проект, а что касается модема, то вам придётся немного повозиться с ним. С другой стороны, технически вы сможете также отправлять аудио и принимать DTMF-коды., @frarugi87
- Bluetooth-модуль HC-05 — команда INQ не работает
- Arduino IRremote перестает работать
- Можно ли подключить два электронных регулятора скорости к одному контакту заземления?
- ИК-пульт с Arduino
- avrdude ser_open() can't set com-state
- Загрузка Arduino Nano дает ошибку: avrdude: stk500_recv(): programmer is not responding
- Какое максимальное энергопотребление Arduino Nano 3.0?
- Как навсегда изменить скорость передачи данных ESP8266 (12e)?
Вам понадобится устройство FXO. Простейшее из них — модем., @Majenko
@Majenko А кто-нибудь конкретный? Вы работали с кем-то, кого могли бы мне порекомендовать?, @k.Cyborg
Сейчас их сложно найти. Вам понадобится внешний модем (с интерфейсом RS232 — найдите такой на eBay) и адаптер UART-RS232 (например, на базе MAX232)., @Majenko
https://www.ebay.com/sch/i.html?_nkw=external+modem+rs232, @Majenko
Хмм... Хорошо, предположим, что я уже купил модем и адаптер UART - RS232. Теперь: как мне использовать его с Arduino?, @k.Cyborg
Подключите передатчик Arduino через адаптер к приёмнику модема и наоборот. Затем отправьте что-то вроде «ATDT18005553827\n» с нужной скоростью передачи данных. Подождите около 10 секунд, затем отправьте «\n», чтобы отменить вызов., @Majenko
Что-то вроде SIM900, GSM-модема, работающего с 2G и GPRS (в моей стране работает без нареканий), с AT-командами? Я проведу небольшое исследование и нашёл подходящий вариант. Могу ли я проконсультироваться с вами?, @k.Cyborg
Это предшественник. Он использует набор AT-команд «Hayes», который позже унаследовали GSM-модемы., @Majenko
Мне подойдет что-то вроде этого: [модем](https://es.aliexpress.com/item/External-RS232-56K-Fax-Caller-ID-Conexant-Modem-with-Voice/32612595605.html) ?, @k.Cyborg
Конечно. Мне кажется, выглядит хорошо. Любой подойдёт. Все работают одинаково., @Majenko