Neoway M590 - GSM/GPRS modem
Нещодавно мені знадобилося організувати керування приладом за допомогою SMS з мінімальними фінансовими вкладеннями. Після пошуків найдешевшого варіанту, придбав у китайців модем Neoway M590. Це досить стара і проста залізяка. Придбав кіт-набір за $5.2. Сам модем і тримач картки був старий, тобто був у використанні, а решта компонентів і плата нові. Плата чогось дуже велика з купою вільного місця. Вірогідніше за все - для монтажу у якусь шафу. Модем має зовнішню антену. Neoway M590 виявився ненажерою. При підключенні до 5В мікрокомп`ютера просаджував напругу так, що світлодіод живлення у Raspberry Pi пригасав. Це при тому, що блок живлення 2А, а сам мікрокомп`ютер споживає не більше 0,6А. Raspberry Pi при цьому, на диво, не перезавантажувався. У подальшому живлення для модема було організовано окремо. Якщо заглянути у документацію до Neoway M590, ви знайдете інформацію про те що максимальній піковий струм може сягати 2А!
Схема підключення Neoway M590 до Raspberry Pi

Налаштування та перевірка UART
Для того, щоб використовувати виводи UART на Raspberry Pi, спочатку треба вимкнути їх застосування за замовчуванням. Для цього треба відредагувати файли: /boot/cmdline.txt і /etc/inittab Рекомендую спочатку виконати резервне копіювання цих файлів:
cp /boot/cmdline.txt /boot/cmdline.bak
cp /etc/inittab /etc/inittab.bak
Видаліть рядки "console=ttyAMA0,115200" та "kgdboc=ttyAMA0,115200" у файлі /boot/cmdline.txt за допомогою редактора nano:
nano /boot/cmdline.txt
Закоментуйте останнього рядка у файлі /etc/inittab. Поставте символ # перед T0:23:respawn:/sbin/getty -L ttyAMA0 115200 vt100
nano /etc/inittab
Перезавантажте систему:
reboot
Тепер RXD (GPIO15) і TXD (GPIO14) доступні для використання у якості UART. Встановимо програму консолі minicom, якщо вона у вас ще не встановлена:
apt-get install minicom
Запустимо програму консолі:
minicom -b 9600 -o -D /dev/ttyAMA0
Набрані в консолі символи мають передаватися на приєднаний пристрій, а інформація, надіслана пристроєм, має з`являтись у консолі. Якщо цього не відбувається і Ви впевнені у тому, що пристрій підключили вірно, перевірте чи правильно ви встановили швидкість з’єднання.
AT - команди
Повний перелік команд приведений у документації. Я наведу тільки деякі з них, які мають нам допомогти перевірити з`єднання з модемом, його роботу, та відправити і прочитати SMS.AT - Перевірка зв`язку з модемом. Має повернути "OK" AT+CCID - Повертає ID SIM карти. Якщо є проблеми з SIM картою повертає "ERROR" AT+COPS? - Повертає назву оператора мобільного зв`язку AT+CPAS - Повертає готовність модему. "0" - готовий.
AT+CMGF=1 - Встановлює текстовий режим вводу AT+CSMS=1 - Встановлює підтримку SMS "GSM03.40 and GSM03.41;SMS related AT commands support GSM07.05" Phase 2+ AT+CSCS="GSM" - Встановлює TE character set. Я буду відправляти SMS використовуючи тільки латинські символи. Якщо Вам потрібна кирилиця - читайте документацію по командам AT+CSCS та AT+CSMS.
AT+CMGS="номер телефону" - Відправлення SMS на вказаний номер телефону. Після цієї команди чекаємо на символ ">" після чого вводимо текст SMS який завершимо натисканням Ctrl-Z (символ з кодом 0x1A (26)).
AT+CMGL=type - Читати SMS.
Де type:
type=0 - (REC UNREAD): received unread SMS
type=1 - (REC READ): received read SMS
type=2 - (STO UNSENT): stored unsent SMS
type=3 - (STO SENT): stored sent SMS
type=4 - (ALL): all SMS
Скачати
Neoway M590 Hardware Design Manual V1.1Neoway M590 AT Command Sets V3.0
Приклад для Raspberry Pi на Python
Якщо щось не так, вибачте, на Python тільки почав писати.
Використання Neoway M590 - це не найкраще рішення, якщо немає можливості забезпечити потужне живлення, та це один з найменш затратних варіантів.
Успіхів.
Дивись також:
- Raspberry Pi — що це таке?
- Raspberry Pi — GPIO
- Raspberry Pi — UART
- Raspberry Pi — FT232
- Raspberry Pi — PWM і Сервопривод
- Raspberry Pi — DHT11
- Raspberry Pi - FM Transmitter
- Прошивка AVR мікроконтролерів за допомогою Raspberry Pi
- Raspberry Pi — LCD display 1602
- Raspberry Pi — WiFi
- Raspberry-Pi — I2C (TWI)
- Raspberry Pi - DS18B20
- Raspberry Pi Camera
- nRF24L01+ ATMEGA + Raspberry Pi
- BMP180 + Raspberry Pi + WH1602
- Wi-Fi Метео станція
- Raspbian. Apache + PHP + Python + MySQL
- Встановлюємо Raspbian на Raspberry Pi без клавіатури та монітору
- IR-дистанційне керування. Використання LIRC у Python
- Raspberry Pi. Raspbian. Відправлення пошти через аккаунт Gmail
- Neoway M590 – GSM/GPRS modem
- MPU-6050 – гіроскоп – акселерометр
- HMC5883L Магнітометр
- PWM контролер з інтерфейсом I2С на базі мікросхеми PCA9685
- Метеостанція на Raspberry Pi своїми руками
- Raspberry Pi. Live-stream video
Недавні записи
- CRSF to PWM
- U-FOC PC Monitor для Chrome browser
- Фільтрація Back-EMF. Безсенсорні BLDC мотори
- Text to speech. Українська мова
- LCD Display ST7567S (IIC)
- Розпізнавання мови (Speech recognition)
- Selenium
- Комп'ютерний зір (Computer Vision)
- Деякі думки про точність вимірювань в електроприводі
- Датчики Холла 120/60 градусів
Tags
bluetooth bldc nodemcu tim max1674 eeprom led avr hih-4000 brushless programmator mpu-6050 usart examples smd sensors piezo rs-232 motor html git meteo bme280 gps bkp encoder java-script raspberry-pi websocket esp8266 books solar eb-500 atmega mongodb gpio sms css pwm ethernet pmsm st-link capture dma stm32 watchdog lcd rfid python uart battery dc-dc soldering timer ssd1331 wifi nvic dht11 docker i2c 3d-printer adc bmp280 flash rtc servo barometer remap exti mpx4115a web flask ngnix usb displays foc ssd1306 mpu-9250 options
Архіви